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

Commit c21569ae authored by Alan Viverette's avatar Alan Viverette
Browse files

Prevent reentrance in Dialog.findViewById()

BUG: 12063988
Change-Id: I58117949dde589bcdfcfe88ec90b4a6e8418fe2a
parent 5436b0cf
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -105,6 +105,9 @@ public class Dialog implements DialogInterface, Window.Callback,
    private boolean mShowing = false;
    private boolean mCanceled = false;

    /** Whether the execution path is currently in onCreate(). */
    private boolean mInOnCreate = false;

    private final Handler mHandler = new Handler();

    private static final int DISMISS = 0x43;
@@ -356,8 +359,10 @@ public class Dialog implements DialogInterface, Window.Callback,
    // internal method to make sure mcreated is set properly without requiring
    // users to call through to super in onCreate
    void dispatchOnCreate(Bundle savedInstanceState) {
        if (!mCreated) {
        if (!mCreated && !mInOnCreate) {
            mInOnCreate = true;
            onCreate(savedInstanceState);
            mInOnCreate = false;
            mCreated = true;
        }
    }