aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorPo Lu2024-05-04 11:36:09 +0800
committerPo Lu2024-05-04 11:36:09 +0800
commit139931fefb4cde3132ca68c3caa6ee9c4889c1b6 (patch)
tree0d34b5ae78706d4c1345ff8f70e865f3503ead4f /java
parent7a7dd87842fde85666208b1ce26882aa83d99107 (diff)
downloademacs-139931fefb4cde3132ca68c3caa6ee9c4889c1b6.tar.gz
emacs-139931fefb4cde3132ca68c3caa6ee9c4889c1b6.zip
Simplify management of Android handle IDs
* java/org/gnu/emacs/EmacsCursor.java (EmacsCursor): * java/org/gnu/emacs/EmacsGC.java (EmacsGC): * java/org/gnu/emacs/EmacsHandleObject.java (EmacsHandleObject): Remove HANDLE argument to constructor. * java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap): * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow): * java/org/gnu/emacs/EmacsInputConnection.java (EmacsInputConnection) <windowHandle>: Change type to long. * java/org/gnu/emacs/EmacsNative.java (EmacsNative) (sendConfigureNotify, sendKeyPress, sendKeyRelease, sendFocusIn) (sendFocusOut, sendWindowAction, sendEnterNotify) (sendLeaveNotify, sendMotionNotify, sendButtonPress) (sendButtonRelease, sendTouchDown, sendTouchUp, sendTouchMove) (sendWheel, sendIconified, sendDeiconified, sendContextMenu) (sendExpose, sendDndDrag, sendDndUri, sendDndText) (beginBatchEdit, commitCompletion, endBatchEdit, commitText) (deleteSurroundingText, finishComposingText, replaceText) (getSelectedText, getTextAfterCursor, getTextBeforeCursor) (setComposingText, setComposingRegion, setSelection) (performEditorAction, performContextMenuAction, getExtractedText) (requestSelectionUpdate, requestCursorUpdates, clearInputFlags) (getSurroundingText, takeSnapshot, getSelection): Accept handles as longs, rather than shorts. All callers changed. * java/org/gnu/emacs/EmacsService.java (queryTree): Return handles as longs rather than shorts. (viewGetSelection): Take long WINDOW, not short. * src/android.c (struct android_emacs_handle): New structure. (handle_class): New variable. (android_init_emacs_service, android_init_emacs_pixmap) (android_init_emacs_gc_class, android_init_emacs_cursor): Adjust to match signature changes in constructors. (android_init_emacs_handle): New function. (initEmacs): Initialize the handle class, its fields and metods. (sendConfigureNotify, sendKeyPress, sendKeyRelease, sendFocusIn) (sendFocusOut, sendWindowAction, sendEnterNotify) (sendLeaveNotify, sendMotionNotify, sendButtonPress) (sendButtonRelease, sendTouchDown, sendTouchUp, sendTouchMove) (sendWheel, sendIconified, sendDeiconified, sendContextMenu) (sendExpose, sendDndDrag, sendDndUri, sendDndText): Update for changes to handle type. (android_alloc_id, android_resolve_handle) (android_resolve_handle2): Remove functions; replace the second with a macro that accepts one fewer argument. All callers changed. (android_destroy_handle): Cease indexing the handle list for the handle object. (android_globalize_reference): New function. (android_create_window, android_create_gc, android_create_pixmap) (android_create_font_cursor): Call android_globalize_reference to convert global references into handles. (android_free_cursor, android_destroy_window): Cease verifying the handle type. (android_copy_area): Check destination object type rather than handle entry. (android_query_tree): Adjust for changes to return types. (likely): Define __builtin_expect variant unconditionally. * src/android.h (android_resolve_handle): New macro. * src/androidgui.h (android_handle): Define to intptr_t. * src/androidterm.c (deleteSurroundingText, finishComposingText) (performEditorAction, performContextMenuAction, getExtractedText) (getSelectedText, requestSelectionUpdate, requestCursorUpdates) (clearInputFlags, getSurroundingText) (android_get_surrounding_text_internal): Accept handles as longs, not jshorts.
Diffstat (limited to 'java')
-rw-r--r--java/org/gnu/emacs/EmacsActivity.java3
-rw-r--r--java/org/gnu/emacs/EmacsContextMenu.java3
-rw-r--r--java/org/gnu/emacs/EmacsCursor.java4
-rw-r--r--java/org/gnu/emacs/EmacsDialog.java6
-rw-r--r--java/org/gnu/emacs/EmacsGC.java4
-rw-r--r--java/org/gnu/emacs/EmacsHandleObject.java11
-rw-r--r--java/org/gnu/emacs/EmacsInputConnection.java2
-rw-r--r--java/org/gnu/emacs/EmacsNative.java88
-rw-r--r--java/org/gnu/emacs/EmacsPixmap.java4
-rw-r--r--java/org/gnu/emacs/EmacsService.java8
-rw-r--r--java/org/gnu/emacs/EmacsWindow.java6
-rw-r--r--java/org/gnu/emacs/EmacsWindowManager.java2
12 files changed, 66 insertions, 75 deletions
diff --git a/java/org/gnu/emacs/EmacsActivity.java b/java/org/gnu/emacs/EmacsActivity.java
index 28bb6e4c065..90be9a385cf 100644
--- a/java/org/gnu/emacs/EmacsActivity.java
+++ b/java/org/gnu/emacs/EmacsActivity.java
@@ -440,8 +440,7 @@ public class EmacsActivity extends Activity
440 if (!EmacsContextMenu.itemAlreadySelected) 440 if (!EmacsContextMenu.itemAlreadySelected)
441 { 441 {
442 serial = EmacsContextMenu.lastMenuEventSerial; 442 serial = EmacsContextMenu.lastMenuEventSerial;
443 EmacsNative.sendContextMenu ((short) 0, 0, 443 EmacsNative.sendContextMenu (0, 0, serial);
444 serial);
445 } 444 }
446 445
447 super.onContextMenuClosed (menu); 446 super.onContextMenuClosed (menu);
diff --git a/java/org/gnu/emacs/EmacsContextMenu.java b/java/org/gnu/emacs/EmacsContextMenu.java
index 0f52d45455f..365a7ec40af 100644
--- a/java/org/gnu/emacs/EmacsContextMenu.java
+++ b/java/org/gnu/emacs/EmacsContextMenu.java
@@ -121,8 +121,7 @@ public final class EmacsContextMenu
121 } 121 }
122 122
123 /* Send a context menu event. */ 123 /* Send a context menu event. */
124 EmacsNative.sendContextMenu ((short) 0, itemID, 124 EmacsNative.sendContextMenu (0, itemID, lastMenuEventSerial);
125 lastMenuEventSerial);
126 125
127 /* Say that an item has already been selected. */ 126 /* Say that an item has already been selected. */
128 itemAlreadySelected = true; 127 itemAlreadySelected = true;
diff --git a/java/org/gnu/emacs/EmacsCursor.java b/java/org/gnu/emacs/EmacsCursor.java
index 1049c03d7da..e5f22c23cfc 100644
--- a/java/org/gnu/emacs/EmacsCursor.java
+++ b/java/org/gnu/emacs/EmacsCursor.java
@@ -31,9 +31,9 @@ public final class EmacsCursor extends EmacsHandleObject
31 public final PointerIcon icon; 31 public final PointerIcon icon;
32 32
33 public 33 public
34 EmacsCursor (short handle, int glyph) 34 EmacsCursor (int glyph)
35 { 35 {
36 super (handle); 36 super ();
37 37
38 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) 38 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N)
39 { 39 {
diff --git a/java/org/gnu/emacs/EmacsDialog.java b/java/org/gnu/emacs/EmacsDialog.java
index 0d5b650f7d0..31b2969197e 100644
--- a/java/org/gnu/emacs/EmacsDialog.java
+++ b/java/org/gnu/emacs/EmacsDialog.java
@@ -93,7 +93,7 @@ public final class EmacsDialog implements DialogInterface.OnDismissListener
93 onClick (View view) 93 onClick (View view)
94 { 94 {
95 wasButtonClicked = true; 95 wasButtonClicked = true;
96 EmacsNative.sendContextMenu ((short) 0, id, menuEventSerial); 96 EmacsNative.sendContextMenu (0, id, menuEventSerial);
97 dismissDialog.dismiss (); 97 dismissDialog.dismiss ();
98 } 98 }
99 99
@@ -102,7 +102,7 @@ public final class EmacsDialog implements DialogInterface.OnDismissListener
102 onClick (DialogInterface dialog, int which) 102 onClick (DialogInterface dialog, int which)
103 { 103 {
104 wasButtonClicked = true; 104 wasButtonClicked = true;
105 EmacsNative.sendContextMenu ((short) 0, id, menuEventSerial); 105 EmacsNative.sendContextMenu (0, id, menuEventSerial);
106 } 106 }
107 }; 107 };
108 108
@@ -414,6 +414,6 @@ public final class EmacsDialog implements DialogInterface.OnDismissListener
414 if (wasButtonClicked) 414 if (wasButtonClicked)
415 return; 415 return;
416 416
417 EmacsNative.sendContextMenu ((short) 0, 0, menuEventSerial); 417 EmacsNative.sendContextMenu (0, 0, menuEventSerial);
418 } 418 }
419}; 419};
diff --git a/java/org/gnu/emacs/EmacsGC.java b/java/org/gnu/emacs/EmacsGC.java
index bb11f76c800..f956b230f8c 100644
--- a/java/org/gnu/emacs/EmacsGC.java
+++ b/java/org/gnu/emacs/EmacsGC.java
@@ -71,13 +71,13 @@ public final class EmacsGC extends EmacsHandleObject
71 /* The following fields are only set on immutable GCs. */ 71 /* The following fields are only set on immutable GCs. */
72 72
73 public 73 public
74 EmacsGC (short handle) 74 EmacsGC ()
75 { 75 {
76 /* For historical reasons the C code has an extra layer of 76 /* For historical reasons the C code has an extra layer of
77 indirection above this GC handle. struct android_gc is the GC 77 indirection above this GC handle. struct android_gc is the GC
78 used by Emacs code, while android_gcontext is the type of the 78 used by Emacs code, while android_gcontext is the type of the
79 handle. */ 79 handle. */
80 super (handle); 80 super ();
81 81
82 fill_style = GC_FILL_SOLID; 82 fill_style = GC_FILL_SOLID;
83 function = GC_COPY; 83 function = GC_COPY;
diff --git a/java/org/gnu/emacs/EmacsHandleObject.java b/java/org/gnu/emacs/EmacsHandleObject.java
index 8534f08519c..cbd579bac5b 100644
--- a/java/org/gnu/emacs/EmacsHandleObject.java
+++ b/java/org/gnu/emacs/EmacsHandleObject.java
@@ -33,14 +33,9 @@ public abstract class EmacsHandleObject
33 /* Whether or not this handle has been destroyed. */ 33 /* Whether or not this handle has been destroyed. */
34 volatile boolean destroyed; 34 volatile boolean destroyed;
35 35
36 /* The handle associated with this object. */ 36 /* The handle associated with this object, set in
37 public short handle; 37 android_globalize_reference. */
38 38 public long handle;
39 public
40 EmacsHandleObject (short handle)
41 {
42 this.handle = handle;
43 }
44 39
45 public void 40 public void
46 destroyHandle () throws IllegalStateException 41 destroyHandle () throws IllegalStateException
diff --git a/java/org/gnu/emacs/EmacsInputConnection.java b/java/org/gnu/emacs/EmacsInputConnection.java
index 054eca66cf3..5b409fa1f57 100644
--- a/java/org/gnu/emacs/EmacsInputConnection.java
+++ b/java/org/gnu/emacs/EmacsInputConnection.java
@@ -48,7 +48,7 @@ public final class EmacsInputConnection implements InputConnection
48 private EmacsView view; 48 private EmacsView view;
49 49
50 /* The handle ID associated with that view's window. */ 50 /* The handle ID associated with that view's window. */
51 private short windowHandle; 51 private long windowHandle;
52 52
53 /* Number of batch edits currently underway. Used to avoid 53 /* Number of batch edits currently underway. Used to avoid
54 synchronizing with the Emacs thread after each 54 synchronizing with the Emacs thread after each
diff --git a/java/org/gnu/emacs/EmacsNative.java b/java/org/gnu/emacs/EmacsNative.java
index acf9e4b204b..b2764edad10 100644
--- a/java/org/gnu/emacs/EmacsNative.java
+++ b/java/org/gnu/emacs/EmacsNative.java
@@ -108,92 +108,92 @@ public final class EmacsNative
108 108
109 /* Send an ANDROID_CONFIGURE_NOTIFY event. The values of all the 109 /* Send an ANDROID_CONFIGURE_NOTIFY event. The values of all the
110 functions below are the serials of the events sent. */ 110 functions below are the serials of the events sent. */
111 public static native long sendConfigureNotify (short window, long time, 111 public static native long sendConfigureNotify (long window, long time,
112 int x, int y, int width, 112 int x, int y, int width,
113 int height); 113 int height);
114 114
115 /* Send an ANDROID_KEY_PRESS event. */ 115 /* Send an ANDROID_KEY_PRESS event. */
116 public static native long sendKeyPress (short window, long time, int state, 116 public static native long sendKeyPress (long window, long time, int state,
117 int keyCode, int unicodeChar); 117 int keyCode, int unicodeChar);
118 118
119 /* Send an ANDROID_KEY_RELEASE event. */ 119 /* Send an ANDROID_KEY_RELEASE event. */
120 public static native long sendKeyRelease (short window, long time, int state, 120 public static native long sendKeyRelease (long window, long time, int state,
121 int keyCode, int unicodeChar); 121 int keyCode, int unicodeChar);
122 122
123 /* Send an ANDROID_FOCUS_IN event. */ 123 /* Send an ANDROID_FOCUS_IN event. */
124 public static native long sendFocusIn (short window, long time); 124 public static native long sendFocusIn (long window, long time);
125 125
126 /* Send an ANDROID_FOCUS_OUT event. */ 126 /* Send an ANDROID_FOCUS_OUT event. */
127 public static native long sendFocusOut (short window, long time); 127 public static native long sendFocusOut (long window, long time);
128 128
129 /* Send an ANDROID_WINDOW_ACTION event. */ 129 /* Send an ANDROID_WINDOW_ACTION event. */
130 public static native long sendWindowAction (short window, int action); 130 public static native long sendWindowAction (long window, int action);
131 131
132 /* Send an ANDROID_ENTER_NOTIFY event. */ 132 /* Send an ANDROID_ENTER_NOTIFY event. */
133 public static native long sendEnterNotify (short window, int x, int y, 133 public static native long sendEnterNotify (long window, int x, int y,
134 long time); 134 long time);
135 135
136 /* Send an ANDROID_LEAVE_NOTIFY event. */ 136 /* Send an ANDROID_LEAVE_NOTIFY event. */
137 public static native long sendLeaveNotify (short window, int x, int y, 137 public static native long sendLeaveNotify (long window, int x, int y,
138 long time); 138 long time);
139 139
140 /* Send an ANDROID_MOTION_NOTIFY event. */ 140 /* Send an ANDROID_MOTION_NOTIFY event. */
141 public static native long sendMotionNotify (short window, int x, int y, 141 public static native long sendMotionNotify (long window, int x, int y,
142 long time); 142 long time);
143 143
144 /* Send an ANDROID_BUTTON_PRESS event. */ 144 /* Send an ANDROID_BUTTON_PRESS event. */
145 public static native long sendButtonPress (short window, int x, int y, 145 public static native long sendButtonPress (long window, int x, int y,
146 long time, int state, 146 long time, int state,
147 int button); 147 int button);
148 148
149 /* Send an ANDROID_BUTTON_RELEASE event. */ 149 /* Send an ANDROID_BUTTON_RELEASE event. */
150 public static native long sendButtonRelease (short window, int x, int y, 150 public static native long sendButtonRelease (long window, int x, int y,
151 long time, int state, 151 long time, int state,
152 int button); 152 int button);
153 153
154 /* Send an ANDROID_TOUCH_DOWN event. */ 154 /* Send an ANDROID_TOUCH_DOWN event. */
155 public static native long sendTouchDown (short window, int x, int y, 155 public static native long sendTouchDown (long window, int x, int y,
156 long time, int pointerID, 156 long time, int pointerID,
157 int flags); 157 int flags);
158 158
159 /* Send an ANDROID_TOUCH_UP event. */ 159 /* Send an ANDROID_TOUCH_UP event. */
160 public static native long sendTouchUp (short window, int x, int y, 160 public static native long sendTouchUp (long window, int x, int y,
161 long time, int pointerID, 161 long time, int pointerID,
162 int flags); 162 int flags);
163 163
164 /* Send an ANDROID_TOUCH_MOVE event. */ 164 /* Send an ANDROID_TOUCH_MOVE event. */
165 public static native long sendTouchMove (short window, int x, int y, 165 public static native long sendTouchMove (long window, int x, int y,
166 long time, int pointerID, 166 long time, int pointerID,
167 int flags); 167 int flags);
168 168
169 /* Send an ANDROID_WHEEL event. */ 169 /* Send an ANDROID_WHEEL event. */
170 public static native long sendWheel (short window, int x, int y, 170 public static native long sendWheel (long window, int x, int y,
171 long time, int state, 171 long time, int state,
172 float xDelta, float yDelta); 172 float xDelta, float yDelta);
173 173
174 /* Send an ANDROID_ICONIFIED event. */ 174 /* Send an ANDROID_ICONIFIED event. */
175 public static native long sendIconified (short window); 175 public static native long sendIconified (long window);
176 176
177 /* Send an ANDROID_DEICONIFIED event. */ 177 /* Send an ANDROID_DEICONIFIED event. */
178 public static native long sendDeiconified (short window); 178 public static native long sendDeiconified (long window);
179 179
180 /* Send an ANDROID_CONTEXT_MENU event. */ 180 /* Send an ANDROID_CONTEXT_MENU event. */
181 public static native long sendContextMenu (short window, int menuEventID, 181 public static native long sendContextMenu (long window, int menuEventID,
182 int menuEventSerial); 182 int menuEventSerial);
183 183
184 /* Send an ANDROID_EXPOSE event. */ 184 /* Send an ANDROID_EXPOSE event. */
185 public static native long sendExpose (short window, int x, int y, 185 public static native long sendExpose (long window, int x, int y,
186 int width, int height); 186 int width, int height);
187 187
188 /* Send an ANDROID_DND_DRAG event. */ 188 /* Send an ANDROID_DND_DRAG event. */
189 public static native long sendDndDrag (short window, int x, int y); 189 public static native long sendDndDrag (long window, int x, int y);
190 190
191 /* Send an ANDROID_DND_URI event. */ 191 /* Send an ANDROID_DND_URI event. */
192 public static native long sendDndUri (short window, int x, int y, 192 public static native long sendDndUri (long window, int x, int y,
193 String text); 193 String text);
194 194
195 /* Send an ANDROID_DND_TEXT event. */ 195 /* Send an ANDROID_DND_TEXT event. */
196 public static native long sendDndText (short window, int x, int y, 196 public static native long sendDndText (long window, int x, int y,
197 String text); 197 String text);
198 198
199 /* Send an ANDROID_NOTIFICATION_CANCELED event. */ 199 /* Send an ANDROID_NOTIFICATION_CANCELED event. */
@@ -241,48 +241,48 @@ public final class EmacsNative
241 /* Input connection functions. These mostly correspond to their 241 /* Input connection functions. These mostly correspond to their
242 counterparts in Android's InputConnection. */ 242 counterparts in Android's InputConnection. */
243 243
244 public static native void beginBatchEdit (short window); 244 public static native void beginBatchEdit (long window);
245 public static native void endBatchEdit (short window); 245 public static native void endBatchEdit (long window);
246 public static native void commitCompletion (short window, String text, 246 public static native void commitCompletion (long window, String text,
247 int position); 247 int position);
248 public static native void commitText (short window, String text, 248 public static native void commitText (long window, String text,
249 int position); 249 int position);
250 public static native void deleteSurroundingText (short window, 250 public static native void deleteSurroundingText (long window,
251 int leftLength, 251 int leftLength,
252 int rightLength); 252 int rightLength);
253 public static native void finishComposingText (short window); 253 public static native void finishComposingText (long window);
254 public static native void replaceText (short window, int start, int end, 254 public static native void replaceText (long window, int start, int end,
255 String text, int newCursorPosition, 255 String text, int newCursorPosition,
256 TextAttribute attributes); 256 TextAttribute attributes);
257 public static native String getSelectedText (short window, int flags); 257 public static native String getSelectedText (long window, int flags);
258 public static native String getTextAfterCursor (short window, int length, 258 public static native String getTextAfterCursor (long window, int length,
259 int flags); 259 int flags);
260 public static native String getTextBeforeCursor (short window, int length, 260 public static native String getTextBeforeCursor (long window, int length,
261 int flags); 261 int flags);
262 public static native void setComposingText (short window, String text, 262 public static native void setComposingText (long window, String text,
263 int newCursorPosition); 263 int newCursorPosition);
264 public static native void setComposingRegion (short window, int start, 264 public static native void setComposingRegion (long window, int start,
265 int end); 265 int end);
266 public static native void setSelection (short window, int start, int end); 266 public static native void setSelection (long window, int start, int end);
267 public static native void performEditorAction (short window, 267 public static native void performEditorAction (long window,
268 int editorAction); 268 int editorAction);
269 public static native void performContextMenuAction (short window, 269 public static native void performContextMenuAction (long window,
270 int contextMenuAction); 270 int contextMenuAction);
271 public static native ExtractedText getExtractedText (short window, 271 public static native ExtractedText getExtractedText (long window,
272 ExtractedTextRequest req, 272 ExtractedTextRequest req,
273 int flags); 273 int flags);
274 public static native void requestSelectionUpdate (short window); 274 public static native void requestSelectionUpdate (long window);
275 public static native void requestCursorUpdates (short window, int mode); 275 public static native void requestCursorUpdates (long window, int mode);
276 public static native void clearInputFlags (short window); 276 public static native void clearInputFlags (long window);
277 public static native SurroundingText getSurroundingText (short window, 277 public static native SurroundingText getSurroundingText (long window,
278 int left, int right, 278 int left, int right,
279 int flags); 279 int flags);
280 public static native TextSnapshot takeSnapshot (short window); 280 public static native TextSnapshot takeSnapshot (long window);
281 281
282 282
283 /* Return the current value of the selection, or -1 upon 283 /* Return the current value of the selection, or -1 upon
284 failure. */ 284 failure. */
285 public static native int[] getSelection (short window); 285 public static native int[] getSelection (long window);
286 286
287 287
288 /* Graphics functions used as replacements for potentially buggy 288 /* Graphics functions used as replacements for potentially buggy
diff --git a/java/org/gnu/emacs/EmacsPixmap.java b/java/org/gnu/emacs/EmacsPixmap.java
index c621e2de3c5..bd4e085994e 100644
--- a/java/org/gnu/emacs/EmacsPixmap.java
+++ b/java/org/gnu/emacs/EmacsPixmap.java
@@ -51,9 +51,9 @@ public final class EmacsPixmap extends EmacsHandleObject
51 private long gcClipRectID; 51 private long gcClipRectID;
52 52
53 public 53 public
54 EmacsPixmap (short handle, int width, int height, int depth) 54 EmacsPixmap (int width, int height, int depth)
55 { 55 {
56 super (handle); 56 super ();
57 57
58 if (depth != 1 && depth != 24) 58 if (depth != 1 && depth != 24)
59 throw new IllegalArgumentException ("Invalid depth specified" 59 throw new IllegalArgumentException ("Invalid depth specified"
diff --git a/java/org/gnu/emacs/EmacsService.java b/java/org/gnu/emacs/EmacsService.java
index 8e459ce4cdc..ced9f599960 100644
--- a/java/org/gnu/emacs/EmacsService.java
+++ b/java/org/gnu/emacs/EmacsService.java
@@ -514,10 +514,10 @@ public final class EmacsService extends Service
514 vibrator.vibrate (duration); 514 vibrator.vibrate (duration);
515 } 515 }
516 516
517 public short[] 517 public long[]
518 queryTree (EmacsWindow window) 518 queryTree (EmacsWindow window)
519 { 519 {
520 short[] array; 520 long[] array;
521 List<EmacsWindow> windowList; 521 List<EmacsWindow> windowList;
522 int i; 522 int i;
523 523
@@ -529,7 +529,7 @@ public final class EmacsService extends Service
529 529
530 synchronized (windowList) 530 synchronized (windowList)
531 { 531 {
532 array = new short[windowList.size () + 1]; 532 array = new long[windowList.size () + 1];
533 i = 1; 533 i = 1;
534 534
535 array[0] = (window == null 535 array[0] = (window == null
@@ -846,7 +846,7 @@ public final class EmacsService extends Service
846 } 846 }
847 847
848 public static int[] 848 public static int[]
849 viewGetSelection (short window) 849 viewGetSelection (long window)
850 { 850 {
851 int[] selection; 851 int[] selection;
852 852
diff --git a/java/org/gnu/emacs/EmacsWindow.java b/java/org/gnu/emacs/EmacsWindow.java
index 961292af527..16ff00070c4 100644
--- a/java/org/gnu/emacs/EmacsWindow.java
+++ b/java/org/gnu/emacs/EmacsWindow.java
@@ -170,11 +170,9 @@ public final class EmacsWindow extends EmacsHandleObject
170 public boolean preserve, previouslyAttached; 170 public boolean preserve, previouslyAttached;
171 171
172 public 172 public
173 EmacsWindow (short handle, final EmacsWindow parent, int x, int y, 173 EmacsWindow (final EmacsWindow parent, int x, int y,
174 int width, int height, boolean overrideRedirect) 174 int width, int height, boolean overrideRedirect)
175 { 175 {
176 super (handle);
177
178 rect = new Rect (x, y, x + width, y + height); 176 rect = new Rect (x, y, x + width, y + height);
179 pointerMap = new SparseArray<Coordinate> (); 177 pointerMap = new SparseArray<Coordinate> ();
180 178
@@ -205,7 +203,7 @@ public final class EmacsWindow extends EmacsHandleObject
205 }); 203 });
206 } 204 }
207 205
208 scratchGC = new EmacsGC ((short) 0); 206 scratchGC = new EmacsGC ();
209 207
210 /* Create the map of input method-committed strings. Keep at most 208 /* Create the map of input method-committed strings. Keep at most
211 ten strings in the map. */ 209 ten strings in the map. */
diff --git a/java/org/gnu/emacs/EmacsWindowManager.java b/java/org/gnu/emacs/EmacsWindowManager.java
index 49f0ebd5841..23dc71dbd29 100644
--- a/java/org/gnu/emacs/EmacsWindowManager.java
+++ b/java/org/gnu/emacs/EmacsWindowManager.java
@@ -145,7 +145,7 @@ public final class EmacsWindowManager
145 } 145 }
146 } 146 }
147 147
148 EmacsNative.sendWindowAction ((short) 0, 0); 148 EmacsNative.sendWindowAction (0, 0);
149 } 149 }
150 150
151 public synchronized void 151 public synchronized void