Updating branch refs/heads/master to 23fa1aee1651f36c435c4867f09a718948d5c8fe (commit) from f3063104180157e7dd029faeccb513ba34c737a4 (commit)
commit 23fa1aee1651f36c435c4867f09a718948d5c8fe Author: Nick Schermer <n...@xfce.org> Date: Sun Jan 23 22:26:29 2011 +0100 Don't double expose the panel's child widget (bug #6872). We chain the expose event to GtkWindow wich on his turn exposes the container child in GtkContainer. Because we draw (alpha background and background color) on the window, the child needs to be exposed after this, so drop the first expose event and only expose the child in PanelWindow. panel/panel-base-window.c | 9 +++------ 1 files changed, 3 insertions(+), 6 deletions(-) diff --git a/panel/panel-base-window.c b/panel/panel-base-window.c index 1da04a2..6c7434f 100644 --- a/panel/panel-base-window.c +++ b/panel/panel-base-window.c @@ -446,19 +446,16 @@ panel_base_window_expose_event (GtkWidget *widget, gdouble height = widget->allocation.height; const gdouble dashes[] = { 4.00, 4.00 }; GTimeVal timeval; - gboolean result; GdkPixbuf *pixbuf; GError *error = NULL; cairo_matrix_t matrix = { 1, 0, 0, 1, 0, 0 }; /* identity matrix */ - result = (*GTK_WIDGET_CLASS (panel_base_window_parent_class)->expose_event) (widget, event); - if (!GTK_WIDGET_DRAWABLE (widget)) - return result; + return FALSE; /* create cairo context and set some default properties */ cr = gdk_cairo_create (widget->window); - panel_return_val_if_fail (cr != NULL, result); + panel_return_val_if_fail (cr != NULL, FALSE); cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE); cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); cairo_set_line_width (cr, 1.00); @@ -599,7 +596,7 @@ panel_base_window_expose_event (GtkWidget *widget, cairo_destroy (cr); - return result; + return FALSE; } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits