Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9abddd54 authored by Chris Craik's avatar Chris Craik
Browse files

Workaround possible use after delete

bug:9321162
Change-Id: Ic35af5b5925da56e9a143e6b33658831038f3b72
parent 8d8fc469
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ void DisplayList::destroyDisplayListDeferred(DisplayList* displayList) {

void DisplayList::clearResources() {
    mDisplayListData = NULL;
    mSize = 0; // TODO: shouldn't be needed, WAR possible use after delete

    mClipRectOp = NULL;
    mSaveLayerOp = NULL;
@@ -479,7 +480,7 @@ void DisplayList::replay(ReplayStateStruct& replayStruct, const int level) {
 */
template <class T>
void DisplayList::iterate(OpenGLRenderer& renderer, T& handler, const int level) {
    if (mSize == 0 || mAlpha <= 0) {
    if (mSize == 0 || mAlpha <= 0 || CC_UNLIKELY(!mSaveOp)) { // TODO: shouldn't need mSaveOp check
        DISPLAY_LIST_LOGD("%*sEmpty display list (%p, %s)", level * 2, "", this, mName.string());
        return;
    }