[Xfce4-commits] <xfce4-panel:master> Add some more checks in the 4.6 macro.
Nick Schermer
noreply at xfce.org
Sun Mar 14 20:16:02 CET 2010
Updating branch refs/heads/master
to 35e82f15d72109ec0c39d72035b7eab3134a29fc (commit)
from 097baaf3c366822485774e9fa87289f0ce288719 (commit)
commit 35e82f15d72109ec0c39d72035b7eab3134a29fc
Author: Nick Schermer <nick at xfce.org>
Date: Sun Mar 14 19:52:49 2010 +0100
Add some more checks in the 4.6 macro.
libxfce4panel/xfce-panel-macros-46.h | 16 +++++++++++-----
1 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/libxfce4panel/xfce-panel-macros-46.h b/libxfce4panel/xfce-panel-macros-46.h
index 6aac770..d36678e 100644
--- a/libxfce4panel/xfce-panel-macros-46.h
+++ b/libxfce4panel/xfce-panel-macros-46.h
@@ -356,12 +356,15 @@ enum /*< skip >*/
guint message, \
GtkWidget *plug) \
{ \
- GdkEventClient event; \
+ GdkEventClient event; \
+ GdkWindow *window; \
+ gint result; \
\
g_return_if_fail (GTK_IS_PLUG (plug)); \
g_return_if_fail (XFCE_IS_PANEL_PLUGIN (xpp)); \
g_return_if_fail (GDK_IS_WINDOW (gtk_widget_get_window (plug))); \
g_return_if_fail (_xpp_atom != GDK_NONE); \
+ g_return_if_fail (GTK_WIDGET_REALIZED (xpp)); \
\
event.type = GDK_CLIENT_EVENT; \
event.window = gtk_widget_get_window (plug); \
@@ -371,12 +374,15 @@ enum /*< skip >*/
event.data.s[0] = message; \
event.data.s[1] = 0; \
\
+ window = gtk_plug_get_socket_window (GTK_PLUG (plug)); \
+ g_return_if_fail (GDK_IS_WINDOW (window)); \
+ \
gdk_error_trap_push (); \
- gdk_event_send_client_message ((GdkEvent *) &event, \
- GDK_WINDOW_XID (gtk_plug_get_socket_window (GTK_PLUG (plug)))); \
+ gdk_event_send_client_message ((GdkEvent *) &event, GDK_WINDOW_XID (window)); \
gdk_flush (); \
- if (gdk_error_trap_pop () != 0) \
- g_warning ("Failed to send provider-signal %d", message); \
+ result = gdk_error_trap_pop (); \
+ if (G_UNLIKELY (result != 0)) \
+ g_warning ("Failed to send provider-signal %d: X error code %d", message, result); \
} \
\
static void \
More information about the Xfce4-commits
mailing list