summaryrefslogtreecommitdiff
path: root/rs/java/android/renderscript/ProgramFragmentFixedFunction.java
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2013-06-14 11:32:22 -0700
committerCraig Mautner <cmautner@google.com>2013-06-15 10:52:45 -0700
commit8f303ad97007a9b38d6d927353c1fba812879ae5 (patch)
tree7776a5be8ea602c18eb9078962e4dd129c0d6546 /rs/java/android/renderscript/ProgramFragmentFixedFunction.java
parent5f73a7df6dccd61ee2596ece7e9e3c66a7a58339 (diff)
Complete doDie() before executing addView().
If WindowManager.addView() is called soon after WindowManager.removeView() then the MSG_DIE in the ViewRootImpl mHandler queue may not have had time to execute. This will cause WindowManagerGlobal to throw an exception since the DecorView is being added before it has been removed. This fix detects that situation by saving all Views that are queued up for ViewRootImpl.doDie(). If addView() is called for one of these Views then doDie() is called immediately and not called when MSG_DIE eventually makes its way through the queue. This change also makes doDie() non-reentrant by only allowing it to carry out its functions the first time it is called. This keeps dispatchDetachedWindows() from causing destruction by recursively calling back into doDie(). This is usually caused by calling dismissDialog() from within dispatchDetachedWindow(). Fixes bug 9404689. Fixes bug 9406261. Change-Id: Id4fc8054e273215d82366428fef51b9ba98385fe
Diffstat (limited to 'rs/java/android/renderscript/ProgramFragmentFixedFunction.java')
0 files changed, 0 insertions, 0 deletions