commit-classpath
[Top][All Lists]
Advanced

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

Little gtkWindow merge from libgcj


From: Mark Wielaard
Subject: Little gtkWindow merge from libgcj
Date: Fri, 12 Mar 2004 22:40:58 +0100

Hi,

Without this patch from libgcj our TestAWT program wouldn't work so I
add it to make it possible for people to at least try the new AWT
goodness out with 0.08.

2004-03-12  Thomas Fitzsimmons  <address@hidden>

       * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
       (connectJObject): Replace printf calls with g_assert statements.
       Move property-notify-event signal connection to ...
       (connectSignals): Connect property-notify-event signal.  Iterate
       through the vbox's children to find layout.

Cheers,

Mark
Index: jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
===================================================================
RCS file: 
/cvs/gcc/gcc/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c  22 Jan 2004 09:54:19 
-0000      1.19
+++ jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c  22 Jan 2004 20:17:43 
-0000      1.20
@@ -190,11 +190,8 @@
 
   children = gtk_container_get_children(GTK_CONTAINER(ptr));
   vbox = children->data;
+  g_assert (GTK_IS_VBOX(vbox));
 
-  if(!GTK_IS_VBOX(vbox))
-    {
-      printf("*** this is not a vbox\n");
-    }
   children = gtk_container_get_children(GTK_CONTAINER(vbox));
   do
   {
@@ -202,11 +199,7 @@
     children = children->next;
   }
   while (!GTK_IS_LAYOUT (layout) && children != NULL);
-
-  if(!GTK_IS_LAYOUT(layout))
-    {
-      printf("*** widget is not a layout ***");
-    }
+  g_assert (GTK_IS_LAYOUT(layout));
 
   gtk_widget_realize (layout);
 
@@ -216,9 +209,6 @@
 
   connect_awt_hook (env, obj, 1, GTK_WIDGET (ptr)->window);
 
-  g_signal_connect (G_OBJECT (ptr), "property-notify-event",
-                   G_CALLBACK (window_property_changed_cb), obj);
-
   gdk_threads_leave ();
 }
 
@@ -239,10 +229,16 @@
   /* Receive events from the GtkLayout too */
   children = gtk_container_get_children(GTK_CONTAINER(ptr));
   vbox = children->data;  
-  g_assert(GTK_IS_VBOX(vbox));
+  g_assert (GTK_IS_VBOX (vbox));
+
   children = gtk_container_get_children(GTK_CONTAINER(vbox));
-  layout = children->data;  
-  g_assert(GTK_IS_LAYOUT(layout));
+  do
+  {
+    layout = children->data;
+    children = children->next;
+  }
+  while (!GTK_IS_LAYOUT (layout) && children != NULL);
+  g_assert (GTK_IS_LAYOUT (layout));
 
   g_signal_connect (GTK_OBJECT (layout), "event", 
                    G_CALLBACK (pre_event_handler), *gref);
@@ -265,6 +261,9 @@
 
   g_signal_connect (G_OBJECT (ptr), "window-state-event",
                    G_CALLBACK (window_window_state_cb), *gref);
+
+  g_signal_connect (G_OBJECT (ptr), "property-notify-event",
+                   G_CALLBACK (window_property_changed_cb), *gref);
 
   gdk_threads_leave ();
 

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

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