emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

feature/android 181453285c6: Update Android port


From: Po Lu
Subject: feature/android 181453285c6: Update Android port
Date: Fri, 19 May 2023 22:27:00 -0400 (EDT)

branch: feature/android
commit 181453285c67783ebf8eb269dc19fdb0e563af62
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Update Android port
    
    * java/org/gnu/emacs/EmacsView.java (swapBuffers): Restore
    missing damage rect code.
    (onDetachedFromWindow): Remove redundant synchronization.
---
 java/org/gnu/emacs/EmacsView.java | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/java/org/gnu/emacs/EmacsView.java 
b/java/org/gnu/emacs/EmacsView.java
index 10c1af9e19a..124ea5301bb 100644
--- a/java/org/gnu/emacs/EmacsView.java
+++ b/java/org/gnu/emacs/EmacsView.java
@@ -356,16 +356,23 @@ public final class EmacsView extends ViewGroup
 
     damageRect = null;
 
+    /* Now see if there is a damage region.  */
+
     synchronized (damageRegion)
       {
        if (damageRegion.isEmpty ())
          return;
 
+       /* And extract and clear the damage region.  */
+
+       damageRect = damageRegion.getBounds ();
+       damageRegion.setEmpty ();
+
        bitmap = getBitmap ();
 
        /* Transfer the bitmap to the surface view, then invalidate
           it.  */
-        surfaceView.setBitmap (bitmap, damageRect);
+       surfaceView.setBitmap (bitmap, damageRect);
       }
   }
 
@@ -545,20 +552,17 @@ public final class EmacsView extends ViewGroup
   {
     isAttachedToWindow = false;
 
-    synchronized (this)
-      {
-       /* Recycle the bitmap and call GC.  */
+    /* Recycle the bitmap and call GC.  */
 
-       if (bitmap != null)
-         bitmap.recycle ();
+    if (bitmap != null)
+      bitmap.recycle ();
 
-       bitmap = null;
-       canvas = null;
-       surfaceView.setBitmap (null, null);
+    bitmap = null;
+    canvas = null;
+    surfaceView.setBitmap (null, null);
 
-       /* Collect the bitmap storage; it could be large.  */
-       Runtime.getRuntime ().gc ();
-      }
+    /* Collect the bitmap storage; it could be large.  */
+    Runtime.getRuntime ().gc ();
 
     super.onDetachedFromWindow ();
   }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]