]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gnu_java_awt_peer_gtk_GtkEvents.c (pre_event_handler): Discard GDK_ENTER_NOTIFY relat...
authorFernando Nasser <fnasser@redhat.com>
Fri, 16 Jan 2004 22:30:11 +0000 (22:30 +0000)
committerFernando Nasser <fnasser@gcc.gnu.org>
Fri, 16 Jan 2004 22:30:11 +0000 (22:30 +0000)
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c (pre_event_handler):
        Discard GDK_ENTER_NOTIFY related to ungrabs.

From-SVN: r75999

libjava/ChangeLog
libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c

index c1083e80c8776bcded11938d226bd343f16d9037..f181820539b65624ec5d05798356908deda734f2 100644 (file)
@@ -1,3 +1,8 @@
+2004-01-16  Fernando Nasser  <fnasser@redhat.com>
+
+       * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c (pre_event_handler):
+       Discard GDK_ENTER_NOTIFY related to ungrabs.
+
 2004-01-16  Fernando Nasser  <fnasser@redhat.com>
 
        * java/awt/EventQueue.java (pop): Prevent breaking the chain if pop
index 42f45b4ea0d40e610c395741d9818ae94f22581e..6004847c369a49ac72a5a99c1b02ec202ea497db 100644 (file)
@@ -960,16 +960,21 @@ pre_event_handler (GtkWidget *widget, GdkEvent *event, jobject peer)
        }
       break;
     case GDK_ENTER_NOTIFY:
-      (*gdk_env)->CallVoidMethod (gdk_env, peer, postMouseEventID,
-                                 AWT_MOUSE_ENTERED, 
-                                 (jlong)event->crossing.time,
-                                 state_to_awt_mods (event->crossing.state), 
-                                 (jint)event->crossing.x,
-                                 (jint)event->crossing.y, 
-                                 0,
-                                 JNI_FALSE);
+      /* We are not interested in enter events that are due to
+         grab/ungrab and not to actually crossing boundaries */
+      if (event->crossing.mode == GDK_CROSSING_NORMAL)
+        (*gdk_env)->CallVoidMethod (gdk_env, peer, postMouseEventID,
+                                   AWT_MOUSE_ENTERED, 
+                                   (jlong)event->crossing.time,
+                                   state_to_awt_mods (event->crossing.state), 
+                                   (jint)event->crossing.x,
+                                   (jint)event->crossing.y, 
+                                   0,
+                                   JNI_FALSE);
       break;
     case GDK_LEAVE_NOTIFY:
+      /* We are not interested in leave events that are due to
+         grab/ungrab and not to actually crossing boundaries */
       if (event->crossing.mode == GDK_CROSSING_NORMAL)
        (*gdk_env)->CallVoidMethod (gdk_env, peer,
                                    postMouseEventID,