From 46b0d6adf0c8f73a95388a4fb41749faa4392b5a Mon Sep 17 00:00:00 2001 From: Christopher Michael 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. SVN revision: 63516 --- .../ecore/src/lib/ecore_x/xcb/ecore_xcb_sync.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_sync.c b/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_sync.c index 98476fa014..633f1bde20 100644 --- a/legacy/ecore/src/lib/ecore_x/xcb/ecore_xcb_sync.c +++ b/legacy/ecore/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(); }