Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 22117 Details for
Bug 96379
Celleditor loses focus when its context menu comes up
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Proof of concept patch
menufocus.txt (text/plain), 1.74 KB, created by
Billy Biggs
on 2005-05-31 22:53:35 EDT
(
hide
)
Description:
Proof of concept patch
Filename:
MIME Type:
Creator:
Billy Biggs
Created:
2005-05-31 22:53:35 EDT
Size:
1.74 KB
patch
obsolete
>Index: Text.java >=================================================================== >RCS file: /home/eclipse/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java,v >retrieving revision 1.131 >diff -u -r1.131 Text.java >--- Text.java 20 May 2005 16:03:36 -0000 1.131 >+++ Text.java 1 Jun 2005 02:33:31 -0000 >@@ -38,6 +38,7 @@ > int tabs = 8, lastEventTime = 0; > int /*long*/ gdkEventKey = 0; > boolean doubleClick; >+ boolean inMenu; > > static final int INNER_BORDER = 2; > static final int ITER_SIZEOF = OS.GtkTextIter_sizeof(); >@@ -1022,6 +1023,15 @@ > > int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) { > if (cursor != null) setCursor (cursor.handle); >+ if (inMenu) { >+ GdkEvent event = new GdkEvent (); >+ OS.memmove (event, gdkEvent, GdkEvent.sizeof); >+ if (event.type == OS.GDK_FOCUS_CHANGE && widget == focusHandle ()) { >+ /* Block the FocusOut event */ >+ inMenu = false; >+ return 0; >+ } >+ } > return super.gtk_event_after (widget, gdkEvent); > } > >@@ -1098,6 +1108,11 @@ > return result; > } > >+int /*long*/ gtk_populate_popup (int /*long*/ widget, int /*long*/ menu) { >+ inMenu = true; >+ return 0; >+} >+ > int /*long*/ gtk_popup_menu (int /*long*/ widget) { > int [] x = new int [1], y = new int [1]; > OS.gdk_window_get_pointer (0, x, y, null); >@@ -1115,6 +1130,7 @@ > OS.g_signal_connect (handle, OS.insert_text, windowProc5, INSERT_TEXT); > OS.g_signal_connect (handle, OS.delete_text, windowProc4, DELETE_TEXT); > OS.g_signal_connect (handle, OS.activate, windowProc2, ACTIVATE); >+ OS.g_signal_connect (handle, OS.populate_popup, windowProc3, POPULATE_POPUP); > } else { > OS.g_signal_connect (bufferHandle, OS.changed, windowProc2, CHANGED); > OS.g_signal_connect (bufferHandle, OS.insert_text, windowProc5, INSERT_TEXT);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 96379
: 22117