summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/org/gnu/emacs/EmacsService.java19
-rw-r--r--java/org/gnu/emacs/EmacsView.java7
-rw-r--r--java/org/gnu/emacs/EmacsWindow.java7
3 files changed, 12 insertions, 21 deletions
diff --git a/java/org/gnu/emacs/EmacsService.java b/java/org/gnu/emacs/EmacsService.java
index d05ebce75dc..f99d7a40067 100644
--- a/java/org/gnu/emacs/EmacsService.java
+++ b/java/org/gnu/emacs/EmacsService.java
@@ -481,25 +481,6 @@ public final class EmacsService extends Service
return String.valueOf (keysym);
}
- public void
- sync ()
- {
- Runnable runnable;
-
- runnable = new Runnable () {
- public void
- run ()
- {
- synchronized (this)
- {
- notify ();
- }
- }
- };
-
- syncRunnable (runnable);
- }
-
/* Start the Emacs service if necessary. On Android 26 and up,
diff --git a/java/org/gnu/emacs/EmacsView.java b/java/org/gnu/emacs/EmacsView.java
index aefc79c4fb7..f751eaaa3e4 100644
--- a/java/org/gnu/emacs/EmacsView.java
+++ b/java/org/gnu/emacs/EmacsView.java
@@ -168,7 +168,7 @@ public final class EmacsView extends ViewGroup
= Bitmap.createBitmap (measuredWidth,
measuredHeight,
Bitmap.Config.ARGB_8888);
- bitmap.eraseColor (0xffffffff);
+ bitmap.eraseColor (window.background | 0xff000000);
/* And canvases. */
canvas = new Canvas (bitmap);
@@ -507,7 +507,10 @@ public final class EmacsView extends ViewGroup
synchronized (this)
{
/* Recycle the bitmap and call GC. */
- bitmap.recycle ();
+
+ if (bitmap != null)
+ bitmap.recycle ();
+
bitmap = null;
canvas = null;
surfaceView.setBitmap (null, null);
diff --git a/java/org/gnu/emacs/EmacsWindow.java b/java/org/gnu/emacs/EmacsWindow.java
index ffc7476f010..9d907d2b481 100644
--- a/java/org/gnu/emacs/EmacsWindow.java
+++ b/java/org/gnu/emacs/EmacsWindow.java
@@ -129,6 +129,10 @@ public final class EmacsWindow extends EmacsHandleObject
/* Whether or not this window is fullscreen. */
public boolean fullscreen;
+ /* The window background pixel. This is used by EmacsView when
+ creating new bitmaps. */
+ public volatile int background;
+
public
EmacsWindow (short handle, final EmacsWindow parent, int x, int y,
int width, int height, boolean overrideRedirect)
@@ -183,6 +187,9 @@ public final class EmacsWindow extends EmacsHandleObject
/* scratchGC is used as the argument to a FillRectangles req. */
scratchGC.foreground = pixel;
scratchGC.markDirty (false);
+
+ /* Make the background known to the view as well. */
+ background = pixel;
}
public Rect