Avert race condition between window attachment and buffer swap
authorPo Lu <luangruo@yahoo.com>
Fri, 26 Jan 2024 03:24:51 +0000 (11:24 +0800)
committerPo Lu <luangruo@yahoo.com>
Fri, 26 Jan 2024 03:24:51 +0000 (11:24 +0800)
commit16831e290ed29f5f70dfe144ec63c583527485e8
treeeecc1f3de356aa04a82f4687d7dac4303282ea77
parent65829b27ca4898ff0905a8124980243977a1382f
Avert race condition between window attachment and buffer swap

* java/org/gnu/emacs/EmacsView.java (swapBuffers): Synchronize
such that code cannot execute between the bitmap's being loaded
and being transferred to surfaceView.
(onDetachedFromWindow): Recycle bitmap after the surface view is
reset.

* java/org/gnu/emacs/EmacsWindow.java (recreateActivity):

* src/android.c (android_init_emacs_window)
(android_recreate_activity):

* src/androidfns.c (Fandroid_recreate_activity)
(syms_of_androidfns): New functions for debugging window
attachment.

* src/androidgui.h: Update prototypes.
java/org/gnu/emacs/EmacsView.java
java/org/gnu/emacs/EmacsWindow.java
src/android.c
src/androidfns.c
src/androidgui.h