Only hold a weak pointer on SurfaceComposerClients

Each process maintains an array of active SurfaceComposerClient
objects, so that they can be reused as new surfaces are parceled
across.  When a SurfaceComposerClient is disposed, it will remove
itself from this list.  However, because the list maintains a strong
reference on the object, a reference cycle is created, and the
client is never deleted.

This patch changes the list to maintain weak pointers on the clients
instead.

Change-Id: I93dc8155fe28b4e350366a3400cdf22a8c77cdd3
1 file changed
tree: 1ec94fe723478624448f6874db3aaf563864de15
  1. awt/
  2. camera/
  3. cmds/
  4. include/
  5. libs/
  6. opengl/
  7. vpn/
  8. MODULE_LICENSE_APACHE2
  9. NOTICE