OSDN Git Service

2004-01-26 Kim Ho <kho@redhat.com>
[pf3gnuchains/gcc-fork.git] / libjava / jni / gtk-peer / gnu_java_awt_peer_gtk_GtkWindowPeer.c
index 4d808e3..610fc14 100644 (file)
@@ -72,8 +72,6 @@ static jint window_get_new_state (GtkWidget *widget);
 static gboolean window_property_changed_cb (GtkWidget *widget,
                                            GdkEventProperty *event,
                                            jobject peer);
-static void menubar_resize_cb (GtkWidget *widget, GtkAllocation *alloc, 
-                               jobject peer);                                      
 
 /*
  * Make a new window.
@@ -402,15 +400,12 @@ Java_gnu_java_awt_peer_gtk_GtkFramePeer_setMenuBarPeer
   void *wptr;
   GtkWidget *mptr;
   GtkWidget *box;
-  jobject *gref = NSA_GET_GLOBAL_REF (env, obj);
-  
+
   wptr = NSA_GET_PTR (env, obj);
   mptr = NSA_GET_PTR (env, menubar);
   
   gdk_threads_enter ();
 
-  g_signal_connect (G_OBJECT (mptr), "size-allocate", 
-                    G_CALLBACK (menubar_resize_cb), *gref);    
   box = GTK_BIN (wptr)->child;             
   gtk_box_pack_start (GTK_BOX (box), mptr, 0, 0, 0);
  
@@ -426,11 +421,14 @@ Java_gnu_java_awt_peer_gtk_GtkFramePeer_getMenuBarHeight
 {
   GtkWidget *ptr;
   jint height;
+  GtkRequisition gtkreq;
   
   ptr = NSA_GET_PTR (env, menubar);
 
   gdk_threads_enter ();
-  height = ptr->allocation.height;
+  gtk_widget_size_request (ptr, &gtkreq);
+
+  height = gtkreq.height;
   gdk_threads_leave ();
   return height;
 }
@@ -733,26 +731,3 @@ window_property_changed_cb (GtkWidget *widget __attribute__((unused)),
 
   return FALSE;
 }
-
-static void menubar_resize_cb (GtkWidget *widget __attribute__((unused)), 
-                               GtkAllocation *alloc __attribute__((unused)), 
-                               jobject peer)
-{
-  static int id_set = 0;
-  static jmethodID postSizeAllocateEventID;
-  
-  if (!id_set)
-    {
-      jclass gtkframepeer = (*gdk_env)->FindClass (gdk_env,
-                                "gnu/java/awt/peer/gtk/GtkFramePeer");
-      postSizeAllocateEventID = (*gdk_env)->GetMethodID (gdk_env,
-                                                     gtkframepeer,
-                                                     "postSizeAllocateEvent",
-                                                     "()V");
-      id_set = 1;
-    }
-  gdk_threads_leave();
-  (*gdk_env)->CallVoidMethod (gdk_env, peer,
-                              postSizeAllocateEventID);
-  gdk_threads_enter();
-}