--- gnome-terminal/src/terminal-window.c	2006-07-08 17:15:22.000000000 -0500
+++ -	2006-07-08 17:23:37.349425000 -0500
@@ -67,7 +67,6 @@
   GList *tab_menuitems;
   GList *terms;
   TerminalScreen *active_term;
-  GtkRequisition vbox_requisition;
   GdkPixbuf *icon;
   GtkClipboard *clipboard;
   int old_char_width;
@@ -846,12 +845,11 @@
                     window->priv->notebook,
                     TRUE, TRUE, 0);  
 
-  gtk_widget_size_request(window->priv->main_vbox, &window->priv->vbox_requisition);
-  g_signal_connect_after (G_OBJECT (window->priv->main_vbox),
+  g_signal_connect (G_OBJECT (window->priv->main_vbox),
                           "size_request",
                           G_CALLBACK (size_request_callback),
                           window);
-  
+
   mi = append_menuitem (window->priv->menubar,
                         "", NULL,
                         NULL, NULL);
@@ -1533,9 +1531,6 @@
 
   profile = terminal_screen_get_profile (screen);
 
-  if (!GTK_WIDGET_REALIZED (widget))
-    gtk_widget_realize (widget); /* we need this for the char width */
-
   window->priv->active_term = screen;
 
   terminal_window_update_icon (window);
@@ -2143,31 +2138,23 @@
                              NULL, name, -1);
 }
 
-void
+static void
 size_request_callback (GtkWidget *widget,
                GtkRequisition *requisition,
                TerminalWindow *window)
 {
-  if (window->priv->vbox_requisition.height == requisition->height &&
-      window->priv->vbox_requisition.width == requisition->width)
+  if (widget->allocation.height == requisition->height &&
+      widget->allocation.width == requisition->width)
     return;
   if (!window->priv->active_term)
     return;
 
-  window->priv->vbox_requisition.height = requisition->height;
-  window->priv->vbox_requisition.width = requisition->width;
-
 #ifdef DEBUG_GEOMETRY
   g_fprintf (stderr, "vbox size-request callback with size %dx%d\n",
              requisition->width, requisition->height);
 #endif
 
-  if (GTK_WIDGET_MAPPED (window)) {
-    gtk_window_resize (GTK_WINDOW (window), requisition->width, requisition->height);
-  }
-  else {
-    gtk_window_set_default_size (GTK_WINDOW (window), requisition->width, requisition->height);
-  }
+  gtk_window_resize (GTK_WINDOW (window), requisition->width, requisition->height);
   update_geometry (window);
 }
 
