From 3047830763a5e3f9e58042f5eda5013d8965821e Mon Sep 17 00:00:00 2001 From: Karl Tomlinson Date: Wed, 7 Nov 2012 10:52:36 +1300 Subject: [PATCH] b=806583 don't draw the entry background outside its widget r=roc --HG-- extra : transplant_source : %1D1%E5x6%22%C2%9A%1E%B5%A6%81%1E%B0%B5%BF%D8J%13k --- widget/gtk2/gtk2drawing.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/widget/gtk2/gtk2drawing.c b/widget/gtk2/gtk2drawing.c index 0e47afc9a15..a5f07b0c737 100644 --- a/widget/gtk2/gtk2drawing.c +++ b/widget/gtk2/gtk2drawing.c @@ -1606,8 +1606,13 @@ moz_gtk_entry_paint(GdkDrawable* drawable, GdkRectangle* rect, if (theme_honors_transparency) { g_object_set_data(G_OBJECT(widget), "transparent-bg-hint", GINT_TO_POINTER(TRUE)); } else { - gdk_draw_rectangle(drawable, style->base_gc[bg_state], TRUE, - cliprect->x, cliprect->y, cliprect->width, cliprect->height); + GdkRectangle clipped_rect; + gdk_rectangle_intersect(rect, cliprect, &clipped_rect); + if (clipped_rect.width != 0) { + gdk_draw_rectangle(drawable, style->base_gc[bg_state], TRUE, + clipped_rect.x, clipped_rect.y, + clipped_rect.width, clipped_rect.height); + } g_object_set_data(G_OBJECT(widget), "transparent-bg-hint", GINT_TO_POINTER(FALSE)); }