Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TrayItem.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TrayItem.java15
1 files changed, 8 insertions, 7 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TrayItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TrayItem.java
index 38f6f6ac1f..0e49decdae 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TrayItem.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TrayItem.java
@@ -261,7 +261,7 @@ long /*int*/ gtk_activate (long /*int*/ widget) {
int currEventType = 0;
if (currEvent != 0) {
currEventType = GDK.GDK_EVENT_TYPE (currEvent);
- GDK.gdk_event_free (currEvent);
+ gdk_event_free(currEvent);
}
GDK.gdk_event_free (nextEvent);
if (currEventType == GDK.GDK_BUTTON_PRESS && nextEventType == GDK.GDK_2BUTTON_PRESS) {
@@ -272,15 +272,16 @@ long /*int*/ gtk_activate (long /*int*/ widget) {
}
@Override
-long /*int*/ gtk_button_press_event (long /*int*/ widget, long /*int*/ eventPtr) {
- GdkEventButton gdkEvent = new GdkEventButton ();
- OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
- if (gdkEvent.type == GDK.GDK_3BUTTON_PRESS) return 0;
- if (gdkEvent.button == 3 && gdkEvent.type == GDK.GDK_BUTTON_PRESS) {
+long /*int*/ gtk_button_press_event (long /*int*/ widget, long /*int*/ event) {
+ int eventType = GDK.gdk_event_get_event_type(event);
+ int [] eventButton = new int [1];
+ GDK.gdk_event_get_button(event, eventButton);
+ if (eventType == GDK.GDK_3BUTTON_PRESS) return 0;
+ if (eventButton[0] == 3 && eventType == GDK.GDK_BUTTON_PRESS) {
sendEvent (SWT.MenuDetect);
return 0;
}
- if (gdkEvent.type == GDK.GDK_2BUTTON_PRESS) {
+ if (eventType == GDK.GDK_2BUTTON_PRESS) {
sendSelectionEvent (SWT.DefaultSelection);
} else {
sendSelectionEvent (SWT.Selection);

Back to the top