Fri, 18 May 2007 12:48:03 +0000
Fix #1100.
| pidgin/gtkstatusbox.c | file | annotate | diff | comparison | revisions |
--- a/pidgin/gtkstatusbox.c Fri May 18 12:27:31 2007 +0000 +++ b/pidgin/gtkstatusbox.c Fri May 18 12:48:03 2007 +0000 @@ -2334,11 +2334,16 @@ buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(status_box->imhtml)); + height = 0; wrapped_lines = 1; gtk_text_buffer_get_start_iter(buffer, &iter); - gtk_text_view_get_iter_location(GTK_TEXT_VIEW(status_box->imhtml), &iter, &oneline); - while (gtk_text_view_forward_display_line(GTK_TEXT_VIEW(status_box->imhtml), &iter)) + do { + gtk_text_view_get_iter_location(GTK_TEXT_VIEW(status_box->imhtml), &iter, &oneline); + height += oneline.height; wrapped_lines++; + if (wrapped_lines > 4) + break; + } while (gtk_text_view_forward_display_line(GTK_TEXT_VIEW(status_box->imhtml), &iter)); lines = gtk_text_buffer_get_line_count(buffer); @@ -2350,8 +2355,8 @@ pad_bottom = gtk_text_view_get_pixels_below_lines(GTK_TEXT_VIEW(status_box->imhtml)); pad_inside = gtk_text_view_get_pixels_inside_wrap(GTK_TEXT_VIEW(status_box->imhtml)); - height = (oneline.height + pad_top + pad_bottom) * lines; - height += (oneline.height + pad_inside) * (wrapped_lines - lines); + height += (pad_top + pad_bottom) * lines; + height += (pad_inside) * (wrapped_lines - lines); gtk_widget_set_size_request(status_box->vbox, -1, height + PIDGIN_HIG_BOX_SPACE); }