Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 96379
Collapse All | Expand All

(-)Text.java (+16 lines)
Lines 38-43 Link Here
38
	int tabs = 8, lastEventTime = 0;
38
	int tabs = 8, lastEventTime = 0;
39
	int /*long*/ gdkEventKey = 0;
39
	int /*long*/ gdkEventKey = 0;
40
	boolean doubleClick;
40
	boolean doubleClick;
41
	boolean inMenu;
41
	
42
	
42
	static final int INNER_BORDER = 2;
43
	static final int INNER_BORDER = 2;
43
	static final int ITER_SIZEOF = OS.GtkTextIter_sizeof();
44
	static final int ITER_SIZEOF = OS.GtkTextIter_sizeof();
Lines 1022-1027 Link Here
1022
1023
1023
int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
1024
int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
1024
	if (cursor != null) setCursor (cursor.handle);
1025
	if (cursor != null) setCursor (cursor.handle);
1026
	if (inMenu) {
1027
		GdkEvent event = new GdkEvent ();
1028
		OS.memmove (event, gdkEvent, GdkEvent.sizeof);
1029
		if (event.type == OS.GDK_FOCUS_CHANGE && widget == focusHandle ()) {
1030
			/* Block the FocusOut event */
1031
			inMenu = false;
1032
			return 0;
1033
		}
1034
	}
1025
	return super.gtk_event_after (widget, gdkEvent);
1035
	return super.gtk_event_after (widget, gdkEvent);
1026
}
1036
}
1027
1037
Lines 1098-1103 Link Here
1098
	return result;
1108
	return result;
1099
}
1109
}
1100
1110
1111
int /*long*/ gtk_populate_popup (int /*long*/ widget, int /*long*/ menu) {
1112
	inMenu = true;
1113
	return 0;
1114
}
1115
1101
int /*long*/ gtk_popup_menu (int /*long*/ widget) {
1116
int /*long*/ gtk_popup_menu (int /*long*/ widget) {
1102
	int [] x = new int [1], y = new int [1];
1117
	int [] x = new int [1], y = new int [1];
1103
	OS.gdk_window_get_pointer (0, x, y, null);
1118
	OS.gdk_window_get_pointer (0, x, y, null);
Lines 1115-1120 Link Here
1115
		OS.g_signal_connect (handle, OS.insert_text, windowProc5, INSERT_TEXT);
1130
		OS.g_signal_connect (handle, OS.insert_text, windowProc5, INSERT_TEXT);
1116
		OS.g_signal_connect (handle, OS.delete_text, windowProc4, DELETE_TEXT);
1131
		OS.g_signal_connect (handle, OS.delete_text, windowProc4, DELETE_TEXT);
1117
		OS.g_signal_connect (handle, OS.activate, windowProc2, ACTIVATE);
1132
		OS.g_signal_connect (handle, OS.activate, windowProc2, ACTIVATE);
1133
		OS.g_signal_connect (handle, OS.populate_popup, windowProc3, POPULATE_POPUP);
1118
	} else {
1134
	} else {
1119
		OS.g_signal_connect (bufferHandle, OS.changed, windowProc2, CHANGED);
1135
		OS.g_signal_connect (bufferHandle, OS.changed, windowProc2, CHANGED);
1120
		OS.g_signal_connect (bufferHandle, OS.insert_text, windowProc5, INSERT_TEXT);
1136
		OS.g_signal_connect (bufferHandle, OS.insert_text, windowProc5, INSERT_TEXT);

Return to bug 96379