From 3e0ac4e03813beae253743467fd76d02d686ba28 Mon Sep 17 00:00:00 2001 From: devilhorns Date: Wed, 21 Sep 2011 11:39:08 +0000 Subject: [PATCH] Ecore_X(cb): Make sync_magic_send more like the xlib version and use xcb_send_event directly. git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@63516 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/ecore_x/xcb/ecore_xcb_sync.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore_x/xcb/ecore_xcb_sync.c b/src/lib/ecore_x/xcb/ecore_xcb_sync.c index 98476fa..633f1bd 100644 --- a/src/lib/ecore_x/xcb/ecore_xcb_sync.c +++ b/src/lib/ecore_x/xcb/ecore_xcb_sync.c @@ -55,9 +55,21 @@ _ecore_xcb_sync_finalize(void) void _ecore_xcb_sync_magic_send(int val, Ecore_X_Window win) { + xcb_client_message_event_t ev; + LOGFN(__FILE__, __LINE__, __FUNCTION__); - ecore_x_client_message32_send(win, 27777, XCB_EVENT_MASK_NO_EVENT, - 0x7162534, (0x10000000 + val), win, 0, 0); + + memset(&ev, 0, sizeof(xcb_client_message_event_t)); + ev.response_type = XCB_CLIENT_MESSAGE; + ev.format = 32; + ev.window = win; + ev.type = 27777; + ev.data.data32[0] = 0x7162534; + ev.data.data32[1] = (0x10000000 + val); + ev.data.data32[2] = win; + + xcb_send_event(_ecore_xcb_conn, 0, win, XCB_EVENT_MASK_NO_EVENT, + (const char *)&ev); // ecore_x_flush(); } -- 2.7.4