classpath-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cp-patches] RFC: prevent AWT Frame from closing unexpectedly


From: Robert Schuster
Subject: [cp-patches] RFC: prevent AWT Frame from closing unexpectedly
Date: Sat, 30 Apr 2005 02:37:26 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; de-AT; rv:1.7.7) Gecko/20050427

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,
this fixes an AWT Frame to close when someone clicks the 'X'. I followed
 http://www.gtk.org/tutorial/ch-gettingstarted.html#SEC-HELLOWORLD for
this. :$

> 2005-04-30  Robert Schuster  <address@hidden>
> 
>     *  native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c:
>     (window_delete_cb): Made the function return TRUE.


cu
Robert
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFCctNGG9cfwmwwEtoRAmO1AKCWX9plVYSIA6SC05kH9l/BMURKBwCfdUYi
k+M41rWLU+fNJ7OweV25YX0=
=BT6y
-----END PGP SIGNATURE-----
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c,v
retrieving revision 1.44
diff -u -r1.44 gnu_java_awt_peer_gtk_GtkWindowPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c   22 Apr 2005 
20:06:58 -0000      1.44
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c   30 Apr 2005 
00:33:51 -0000
@@ -56,7 +56,7 @@
                                        XEvent  *xevent,
                                        XPointer arg);
 
-static void window_delete_cb (GtkWidget *widget, GdkEvent *event,
+static gboolean window_delete_cb (GtkWidget *widget, GdkEvent *event,
                              jobject peer);
 static void window_destroy_cb (GtkWidget *widget, GdkEvent *event,
                               jobject peer);
@@ -465,7 +465,7 @@
     return False;
 }
 
-static void
+static gboolean
 window_delete_cb (GtkWidget *widget __attribute__((unused)),
                  GdkEvent *event __attribute__((unused)),
                  jobject peer)
@@ -476,6 +476,12 @@
                              (jint) AWT_WINDOW_CLOSING,
                              (jobject) NULL, (jint) 0);
   gdk_threads_enter ();
+
+  // Prevents that the Window dissappears ("destroy"
+  // not being signalled). This is necessary because it
+  // should be up to a WindowListener implementation
+  // how the AWT Frame responds to close requests.
+  return TRUE;
 }
 
 static void

reply via email to

[Prev in Thread] Current Thread [Next in Thread]