# HG changeset patch # User Sadrul Habib Chowdhury # Date 1205609950 0 # Node ID 77b6ff5bdb076f5c044e687eb2e164eb3f49397e # Parent 53ffaf968813f8907d46eb585060b60390bc1eaa This should fix the 1px bug. If someone still sees this bug after this change, please let me know. diff -r 53ffaf968813 -r 77b6ff5bdb07 pidgin/gtkconv.c --- a/pidgin/gtkconv.c Thu Mar 13 18:06:57 2008 +0000 +++ b/pidgin/gtkconv.c Sat Mar 15 19:39:10 2008 +0000 @@ -533,9 +533,6 @@ account = purple_conversation_get_account(conv); if (check_for_and_do_command(conv)) { - if (gtkconv->entry_growing) { - gtkconv->entry_growing = FALSE; - } gtk_imhtml_clear(GTK_IMHTML(gtkconv->entry)); return; } @@ -592,9 +589,6 @@ g_free(buf); gtk_imhtml_clear(GTK_IMHTML(gtkconv->entry)); - if (gtkconv->entry_growing) { - gtkconv->entry_growing = FALSE; - } gtkconv_set_unseen(gtkconv, PIDGIN_UNSEEN_NONE); } @@ -2520,6 +2514,7 @@ } } +#if 0 /* This gets added as an idle handler when doing something that * redraws the icon. It sets the auto_resize gboolean to TRUE. * This way, when the size_allocate callback gets triggered, it notices @@ -2532,6 +2527,7 @@ gtkconv->auto_resize = FALSE; return FALSE; } +#endif static gboolean redraw_icon(gpointer data) @@ -4396,16 +4392,15 @@ if (wrapped_lines > lines) height += (oneline.height + pad_inside) * (wrapped_lines - lines); - gtkconv->auto_resize = TRUE; - g_idle_add(reset_auto_resize_cb, gtkconv); - diff = height - gtkconv->entry->allocation.height; + if (diff == 0) + return FALSE; gtk_widget_size_request(gtkconv->lower_hbox, &sr); - gtkconv->entry_growing = TRUE; gtk_widget_set_size_request(gtkconv->lower_hbox, -1, diff + gtkconv->lower_hbox->allocation.height); + return FALSE; } @@ -4736,7 +4731,7 @@ g_signal_connect_swapped(G_OBJECT(gtkconv->entry_buffer), "changed", G_CALLBACK(resize_imhtml_cb), gtkconv); - g_signal_connect_swapped(G_OBJECT(gtkconv->entry), "realize", + g_signal_connect_swapped(G_OBJECT(gtkconv->entry), "size-allocate", G_CALLBACK(resize_imhtml_cb), gtkconv); default_formatize(gtkconv);