# HG changeset patch # User Sadrul Habib Chowdhury # Date 1174967502 0 # Node ID 9214184b9d10d1afc6e323b7d05711cb4fc6a0cb # Parent 92fa7d6e75b00dab9dcf509bdde42629c1a16044# Parent 5c88d2887cc1648f2d6a7217f4c3421bfeb7268a merge of '58f408c6a0eb5c8b0411d8ac4754a14bef441062' and 'fba53203d9fe0ebd98157bdc6c7faeb2b149908b' diff -r 5c88d2887cc1 -r 9214184b9d10 finch/libgnt/gntbox.c --- a/finch/libgnt/gntbox.c Tue Mar 27 03:08:31 2007 +0000 +++ b/finch/libgnt/gntbox.c Tue Mar 27 03:51:42 2007 +0000 @@ -352,11 +352,6 @@ GntBox *box = GNT_BOX(widget); int wchange, hchange; - if (widget->priv.width != width && !GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_GROW_X)) - return FALSE; - if (widget->priv.height != height && !GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_GROW_Y)) - return FALSE; - if (!box->list) return TRUE; @@ -387,13 +382,21 @@ gnt_widget_get_size(GNT_WIDGET(i->data), &tw, &th); if (box->vertical) { - if (!gnt_widget_confirm_size(i->data, tw - wchange, th)) - return FALSE; + if (!gnt_widget_confirm_size(i->data, tw - wchange, th)) { + /* If we are decreasing the size and the widget is going + * to be too large to fit into the box, then do not allow + * resizing. */ + if (wchange > 0 && tw >= widget->priv.width) + return FALSE; + } } else { - if (!gnt_widget_confirm_size(i->data, tw, th - hchange)) + if (!gnt_widget_confirm_size(i->data, tw, th - hchange)) { + if (hchange > 0 && th >= widget->priv.height) + return FALSE; return FALSE; + } } } #if 0 @@ -562,17 +565,6 @@ { b->list = g_list_append(b->list, widget); widget->parent = GNT_WIDGET(b); - - if (b->vertical) - { - if (!GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_GROW_X)) - GNT_WIDGET_UNSET_FLAGS(GNT_WIDGET(b), GNT_WIDGET_GROW_X); - } - else - { - if (!GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_GROW_Y)) - GNT_WIDGET_UNSET_FLAGS(GNT_WIDGET(b), GNT_WIDGET_GROW_Y); - } } void gnt_box_set_title(GntBox *b, const char *title) diff -r 5c88d2887cc1 -r 9214184b9d10 finch/libgnt/gntwidget.c --- a/finch/libgnt/gntwidget.c Tue Mar 27 03:08:31 2007 +0000 +++ b/finch/libgnt/gntwidget.c Tue Mar 27 03:51:42 2007 +0000 @@ -75,11 +75,13 @@ static gboolean gnt_widget_dummy_confirm_size(GntWidget *widget, int width, int height) { + gboolean shadow; if (width < widget->priv.minw || height < widget->priv.minh) return FALSE; - if (widget->priv.width != width && !GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_GROW_X)) + shadow = gnt_widget_has_shadow(widget); + if (widget->priv.width + shadow != width && !GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_GROW_X)) return FALSE; - if (widget->priv.height != height && !GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_GROW_Y)) + if (widget->priv.height + shadow != height && !GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_GROW_Y)) return FALSE; return TRUE; } diff -r 5c88d2887cc1 -r 9214184b9d10 libpurple/connection.c diff -r 5c88d2887cc1 -r 9214184b9d10 libpurple/example/nullclient.c diff -r 5c88d2887cc1 -r 9214184b9d10 libpurple/plugins/Makefile.am diff -r 5c88d2887cc1 -r 9214184b9d10 libpurple/plugins/perl/common/Makefile.PL.in diff -r 5c88d2887cc1 -r 9214184b9d10 pidgin/Makefile.am diff -r 5c88d2887cc1 -r 9214184b9d10 pidgin/gtkutils.c