devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=116af14649b23ad6bed716dd758a5c124ffcfd89

commit 116af14649b23ad6bed716dd758a5c124ffcfd89
Author: Chris Michael <cp.mich...@samsung.com>
Date:   Tue Jul 14 14:18:21 2015 -0400

    e-comp-wl: Update keyboard and modifier state AFTER we send them to clients
    
    Signed-off-by: Chris Michael <cp.mich...@samsung.com>
---
 src/bin/e_comp_wl.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 56881df..ac69028 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -863,7 +863,7 @@ _e_comp_wl_cb_key_down(void *event)
      exit(0);
 #endif
 
-   end = (uint32_t *)cdata->kbd.keys.data + (cdata->kbd.keys.size / 
sizeof(*k));
+   end = (uint32_t *)cdata->kbd.keys.data + cdata->kbd.keys.size;
 
    for (k = cdata->kbd.keys.data; k < end; k++)
      {
@@ -879,9 +879,6 @@ _e_comp_wl_cb_key_down(void *event)
      }
    *k = keycode;
 
-   /* update modifier state */
-   e_comp_wl_input_keyboard_state_update(keycode, EINA_TRUE);
-
    if ((ec = e_client_focused_get()))
      {
         if (ec->comp_data->surface && (!e_client_action_get()) && 
(!e_comp->input_key_grabs))
@@ -904,7 +901,8 @@ _e_comp_wl_cb_key_down(void *event)
           }
      }
 
-   /* e_comp_wl_input_keyboard_modifiers_update(); */
+   /* update modifier state */
+   e_comp_wl_input_keyboard_state_update(keycode, EINA_TRUE);
 }
 
 static void
@@ -922,15 +920,12 @@ _e_comp_wl_cb_key_up(void *event)
    keycode = (ev->keycode - 8);
    if (!(cdata = e_comp->wl_comp_data)) return;
 
-   end = (uint32_t *)cdata->kbd.keys.data + (cdata->kbd.keys.size / 
sizeof(*k));
+   end = (uint32_t *)cdata->kbd.keys.data + cdata->kbd.keys.size;
    for (k = cdata->kbd.keys.data; k < end; k++)
      if (*k == keycode) *k = *--end;
 
    cdata->kbd.keys.size = (const char *)end - (const char 
*)cdata->kbd.keys.data;
 
-   /* update modifier state */
-   e_comp_wl_input_keyboard_state_update(keycode, EINA_FALSE);
-
    ec = e_client_focused_get();
    if ((ec) && (ec->comp_data->surface) && (!e_client_action_get()) && 
(!e_comp->input_key_grabs))
      {
@@ -952,7 +947,8 @@ _e_comp_wl_cb_key_up(void *event)
           }
      }
 
-   /* e_comp_wl_input_keyboard_modifiers_update(); */
+   /* update modifier state */
+   e_comp_wl_input_keyboard_state_update(keycode, EINA_FALSE);
 }
 
 static void

-- 


Reply via email to