comparison src/gtkimhtml.c @ 1527:11977dd0fd29

[gaim-migrate @ 1537] fix trailing text on redraw committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Sat, 03 Mar 2001 06:58:43 +0000
parents a5c87ada5143
children b0f8f1865419
comparison
equal deleted inserted replaced
1526:190cef255530 1527:11977dd0fd29
547 { 547 {
548 GList *b; 548 GList *b;
549 GtkIMHtmlBit *bit; 549 GtkIMHtmlBit *bit;
550 GtkAdjustment *vadj; 550 GtkAdjustment *vadj;
551 gfloat oldvalue; 551 gfloat oldvalue;
552 gint oldy;
552 553
553 vadj = GTK_LAYOUT (imhtml)->vadjustment; 554 vadj = GTK_LAYOUT (imhtml)->vadjustment;
554 oldvalue = vadj->value / vadj->upper; 555 oldvalue = vadj->value / vadj->upper;
556 oldy = imhtml->y;
555 557
556 gtk_layout_freeze (GTK_LAYOUT (imhtml)); 558 gtk_layout_freeze (GTK_LAYOUT (imhtml));
557 559
558 g_list_free (imhtml->line); 560 g_list_free (imhtml->line);
559 imhtml->line = NULL; 561 imhtml->line = NULL;
580 g_free (li); 582 g_free (li);
581 } 583 }
582 gtk_imhtml_draw_bit (imhtml, bit); 584 gtk_imhtml_draw_bit (imhtml, bit);
583 } 585 }
584 586
585 if (GTK_LAYOUT (imhtml)->bin_window && (imhtml->y < GTK_WIDGET (imhtml)->allocation.y))
586 gdk_window_clear (GTK_LAYOUT (imhtml)->bin_window);
587
588 gtk_widget_set_usize (GTK_WIDGET (imhtml), -1, imhtml->y + 5); 587 gtk_widget_set_usize (GTK_WIDGET (imhtml), -1, imhtml->y + 5);
589 gtk_adjustment_set_value (vadj, vadj->upper * oldvalue); 588 gtk_adjustment_set_value (vadj, vadj->upper * oldvalue);
589
590 if (GTK_LAYOUT (imhtml)->bin_window && (imhtml->y < oldy)) {
591 GdkGC *gc;
592 GdkColormap *cmap;
593
594 gc = gdk_gc_new (GTK_LAYOUT (imhtml)->bin_window);
595 cmap = gtk_widget_get_colormap (GTK_WIDGET (imhtml));
596
597 gdk_color_alloc (cmap, imhtml->default_bg_color);
598 gdk_gc_set_foreground (gc, imhtml->default_bg_color);
599
600 gdk_draw_rectangle (GTK_LAYOUT (imhtml)->bin_window, gc, TRUE,
601 0, imhtml->y - GTK_LAYOUT (imhtml)->vadjustment->value,
602 GTK_WIDGET (imhtml)->allocation.width,
603 oldy - imhtml->y);
604
605 gdk_gc_unref (gc);
606 }
590 607
591 gtk_layout_thaw (GTK_LAYOUT (imhtml)); 608 gtk_layout_thaw (GTK_LAYOUT (imhtml));
592 } 609 }
593 610
594 static void 611 static void