block compositor keybinds using more accurate x11 detection
authorMike Blumenkrantz <zmike@osg.samsung.com>
Mon, 20 Jul 2015 17:26:09 +0000 (13:26 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Mon, 20 Jul 2015 17:29:13 +0000 (13:29 -0400)
blocking based on event window here is only valid for true x11 compositors
and not just compositors with root windows

fixes keybind activation when running xwayland clients

src/bin/e_comp_canvas.c

index 70f6101..d494baf 100644 (file)
@@ -95,7 +95,7 @@ static Eina_Bool
 _e_comp_cb_key_down(void *data EINA_UNUSED, int ev_type EINA_UNUSED, Ecore_Event_Key *ev)
 {
    if (e_menu_grab_window_get()) return ECORE_CALLBACK_RENEW;
-   if (e_comp->root && (ev->event_window != e_comp->root))
+   if ((e_comp->comp_type == E_PIXMAP_TYPE_X) && (ev->event_window != e_comp->root))
      {
         E_Client *ec;
 
@@ -114,7 +114,7 @@ static Eina_Bool
 _e_comp_cb_key_up(void *data EINA_UNUSED, int ev_type EINA_UNUSED, Ecore_Event_Key *ev)
 {
    if (e_menu_grab_window_get()) return ECORE_CALLBACK_RENEW;
-   if (e_comp->root && (ev->event_window != e_comp->root)) return ECORE_CALLBACK_PASS_ON;
+   if ((e_comp->comp_type == E_PIXMAP_TYPE_X) && (ev->event_window != e_comp->root)) return ECORE_CALLBACK_PASS_ON;
    return !e_bindings_key_up_event_handle(E_BINDING_CONTEXT_MANAGER, E_OBJECT(e_comp), ev);
 }