[Xfce4-commits] <xfce4-panel:master> Don't double expose the panel's child widget (bug #6872).
Nick Schermer
noreply at xfce.org
Sun Jan 23 22:30:01 CET 2011
Updating branch refs/heads/master
to 23fa1aee1651f36c435c4867f09a718948d5c8fe (commit)
from f3063104180157e7dd029faeccb513ba34c737a4 (commit)
commit 23fa1aee1651f36c435c4867f09a718948d5c8fe
Author: Nick Schermer <nick at 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;
}
More information about the Xfce4-commits
mailing list