Remove promoting weak pointer off main thread.
If a Layer weak pointer is promoted on a thread other than the main
thread, it risks calling the destructor off the main thread. This causes
a lot of issues since there is no lock held in the Layer destructor. The
destructor expects to only ever get called on the main thread
The change here stores a raw pointer instead of a weak pointer. This
should be safe since BufferLayerConsumer lifecycle follows the Layer
lifecycle so the raw Layer pointer will never be invalid.
Test: Not easy to reproduce but no issues with this change
Fixes: 150879387
Change-Id: I51fbc2ca5052c5dbf8e875b557a034d40e4a0b39
2 files changed