im.pidgin.pidgin: e7a18c70a00a0534e1e6f7956970e10d6d0b69ec

khc at pidgin.im khc at pidgin.im
Tue Oct 9 03:40:48 EDT 2007


-----------------------------------------------------------------
Revision: e7a18c70a00a0534e1e6f7956970e10d6d0b69ec
Ancestor: 83245b7ca93e546927c19472b74cf4dff6d1a96b
Author: khc at pidgin.im
Date: 2007-10-09T07:37:26
Branch: im.pidgin.pidgin

Modified files:
        pidgin/gtkconv.c

ChangeLog: 

compute the new size by adding the difference to the actual allocated size
instead of requested size, to work around the fact that after the user
manually resizes the gtkpaned it ignores the requested size, leading to
a perpetually growing window (because the window thinks it needs to grow
to accomodate the lower_hbox, except the gtkpaned doesn't allow it to grow,
so the top gtkimhtml is grown instead)

also included some commented out code to make auto resize always happen
even after the user manually resizes, not sure if we should enable that.


-------------- next part --------------
============================================================
--- pidgin/gtkconv.c	a209de287475b4c578ffbdacf600110b1cee714c
+++ pidgin/gtkconv.c	f7a7fb0616b56ab9f15990aab1c6eaa8c55e2483
@@ -4363,7 +4363,6 @@ entry_popup_menu_cb(GtkIMHtml *imhtml, G
 	gtk_menu_shell_insert(GTK_MENU_SHELL(menu), menuitem, 1);
 }
 
-
 static void resize_imhtml_cb(PidginConversation *gtkconv)
 {
 	GtkTextBuffer *buffer;
@@ -4404,7 +4403,14 @@ static void resize_imhtml_cb(PidginConve
 	if (diff > 0) {
 		gtk_widget_size_request(gtkconv->lower_hbox, &sr);
 		gtkconv->entry_growing = TRUE;
-		gtk_widget_set_size_request(gtkconv->lower_hbox, -1, diff + sr.height);
+
+		/* uncomment this to auto resize even after the user manually
+		   resizes
+		gtk_paned_set_position(GTK_PANED(gtkconv->lower_hbox->parent->parent),
+			-1);
+		*/
+		gtk_widget_set_size_request(gtkconv->lower_hbox, -1,
+			diff + gtkconv->lower_hbox->allocation.height);
 	}
 }
 


More information about the Commits mailing list