Ecore_X(cb): Make sync_magic_send more like the xlib version and use
authordevilhorns <devilhorns@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 21 Sep 2011 11:39:08 +0000 (11:39 +0000)
committerdevilhorns <devilhorns@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 21 Sep 2011 11:39:08 +0000 (11:39 +0000)
xcb_send_event directly.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@63516 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore_x/xcb/ecore_xcb_sync.c

index 98476fa..633f1bd 100644 (file)
@@ -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();
 }