attempt to fix bug 5313580

the working theory here is that a Surface object has become non-promotable
because it lost its last reference; later Surface::readFromParcel is called
the previous surface is found in the cache, but can't be promoted. this causes
a new Surface object to be created which will promptly try to connect to the
CPU_API -- this in turn will fail because the previous (now dead) surface is
still connected.

To fix this, we make sure to disconnect from the SurfaceTexture when
Surface[TextureClient] is destroyed.

Change-Id: I422234868a05d7b7d283e9d5a85f7ab79e65d8a9
2 files changed
tree: ce462990108fdb5d645661ffccad80d38311ff39
  1. cmds/
  2. include/
  3. libs/
  4. opengl/
  5. services/
  6. MODULE_LICENSE_APACHE2
  7. NOTICE