Fix crash in frame deletion on Android
* java/org/gnu/emacs/EmacsWindow.java (destroyHandle): Invalidate the input focus in the UI thread, as is proper.
This commit is contained in:
parent
e34ea5db5f
commit
e3dc0ea254
1 changed files with 8 additions and 2 deletions
|
@ -271,20 +271,26 @@ private static class Coordinate
|
|||
}
|
||||
}
|
||||
|
||||
EmacsActivity.invalidateFocus (4);
|
||||
|
||||
/* This is just a sanity test and is not reliable since `children'
|
||||
may be modified between isEmpty and handle destruction. */
|
||||
if (!children.isEmpty ())
|
||||
throw new IllegalStateException ("Trying to destroy window with "
|
||||
+ "children!");
|
||||
|
||||
/* Remove the view from its parent and make it invisible. */
|
||||
EmacsService.SERVICE.runOnUiThread (new Runnable () {
|
||||
@Override
|
||||
public void
|
||||
run ()
|
||||
{
|
||||
ViewManager parent;
|
||||
EmacsWindowManager manager;
|
||||
|
||||
/* Invalidate the focus; this should transfer the input focus
|
||||
to the next eligible window as this window is no longer
|
||||
present in parent.children. */
|
||||
EmacsActivity.invalidateFocus (4);
|
||||
|
||||
if (EmacsActivity.focusedWindow == EmacsWindow.this)
|
||||
EmacsActivity.focusedWindow = null;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue