diff options
Diffstat (limited to 'libsn')
-rw-r--r-- | libsn/sn-xmessages.c | 16 |
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); } } |