summaryrefslogtreecommitdiff
path: root/libsn
diff options
context:
space:
mode:
Diffstat (limited to 'libsn')
-rw-r--r--libsn/sn-xmessages.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/libsn/sn-xmessages.c b/libsn/sn-xmessages.c
index 249c15b..61577e8 100644
--- a/libsn/sn-xmessages.c
+++ b/libsn/sn-xmessages.c
@@ -185,6 +185,13 @@ sn_internal_broadcast_xmessage (SnDisplay *display,
dest = &xevent.xclient.data.b[0];
dest_end = dest + 20;
+ if (src == message)
+ {
+ /* first byte is nul */
+ *dest = '\0';
+ ++dest;
+ }
+
while (dest != dest_end &&
src != src_end)
{
@@ -192,9 +199,12 @@ sn_internal_broadcast_xmessage (SnDisplay *display,
++dest;
++src;
}
-
- sn_internal_send_event_all_screens (display, PropertyChangeMask,
- &xevent);
+
+ XSendEvent (xdisplay,
+ target_xwindow,
+ False,
+ PropertyChangeMask,
+ &xevent);
}
}