summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/gtk
diff options
context:
space:
mode:
authorBogdan Gheorghe <gheorghe>2009-04-06 19:46:07 +0000
committerBogdan Gheorghe <gheorghe>2009-04-06 19:46:07 +0000
commitd56ed52c6c46e9354b94cdb88a72921d9e8ccd4a (patch)
treebca7125564c7c0d068fd3229abcc117c28514757 /bundles/org.eclipse.swt/Eclipse SWT/gtk
parentce281cb196b10adcbca7d0a8e66ab94ce171eb76 (diff)
downloadeclipse.platform.swt-d56ed52c6c46e9354b94cdb88a72921d9e8ccd4a.tar.gz
eclipse.platform.swt-d56ed52c6c46e9354b94cdb88a72921d9e8ccd4a.tar.xz
eclipse.platform.swt-d56ed52c6c46e9354b94cdb88a72921d9e8ccd4a.zip
246408 Parent Composite gets MouseEntered event when mouse enters a control
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java4
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java4
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java5
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java4
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java4
5 files changed, 21 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
index dbb7f314d6..fd6e3b63dd 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
@@ -2181,6 +2181,10 @@ public void setVisibleItemCount (int count) {
visibleCount = count;
}
+boolean checkSubwindow () {
+ return false;
+}
+
boolean translateTraversal (GdkEventKey keyEvent) {
int key = keyEvent.keyval;
switch (key) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java
index 24659c87c2..98ab37ac21 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java
@@ -1378,6 +1378,10 @@ void showWidget () {
if (scrolledHandle == 0) fixStyle (handle);
}
+boolean checkSubwindow () {
+ return true;
+}
+
boolean translateMnemonic (Event event, Control control) {
if (super.translateMnemonic (event, control)) return true;
if (control != null) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
index 6f3b1c9114..8a5b4683b7 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
@@ -2628,6 +2628,7 @@ int /*long*/ gtk_enter_notify_event (int /*long*/ widget, int /*long*/ event) {
if (display.currentControl == this) return 0;
GdkEventCrossing gdkEvent = new GdkEventCrossing ();
OS.memmove (gdkEvent, event, GdkEventCrossing.sizeof);
+ if (gdkEvent.subwindow != 0 && checkSubwindow ()) return 0;
if (gdkEvent.mode != OS.GDK_CROSSING_NORMAL && gdkEvent.mode != OS.GDK_CROSSING_UNGRAB) return 0;
if ((gdkEvent.state & (OS.GDK_BUTTON1_MASK | OS.GDK_BUTTON2_MASK | OS.GDK_BUTTON3_MASK)) != 0) return 0;
if (display.currentControl != null && !display.currentControl.isDisposed ()) {
@@ -2641,6 +2642,10 @@ int /*long*/ gtk_enter_notify_event (int /*long*/ widget, int /*long*/ event) {
return 0;
}
+boolean checkSubwindow () {
+ return false;
+}
+
int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
GdkEvent event = new GdkEvent ();
OS.memmove (event, gdkEvent, GdkEvent.sizeof);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java
index d97b0f49a5..f9adfb2b49 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java
@@ -251,6 +251,10 @@ void createHandle (int index) {
}
}
+boolean checkSubwindow () {
+ return false;
+}
+
void createWidget (int index) {
super.createWidget (index);
if ((style & SWT.CALENDAR) != 0) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java
index 7180778e24..6840a2adee 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java
@@ -1127,6 +1127,10 @@ public void setValues (int selection, int minimum, int maximum, int digits, int
OS.g_signal_handlers_unblock_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED);
}
+boolean checkSubwindow () {
+ return false;
+}
+
boolean translateTraversal (GdkEventKey keyEvent) {
int key = keyEvent.keyval;
switch (key) {