devilhorns pushed a commit to branch master.

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

commit b7f3a81f59f91b3da07088477aa1e9305da3e755
Author: Derek Foreman <der...@osg.samsung.com>
Date:   Mon Mar 9 16:37:02 2015 -0400

    Send modifiers to wayland clients on focus in
    
    Summary:
    If we don't update the modifiers on focus in we can end up with stuck
    modifiers if a modifier is held when starting a client.
    
    Reviewers: zmike, devilhorns
    
    Reviewed By: devilhorns
    
    Subscribers: cedric
    
    Differential Revision: https://phab.enlightenment.org/D2124
---
 src/bin/e_comp_wl.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index c4fa5d5..8bfdd71 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -427,11 +427,20 @@ _e_comp_wl_client_focus(E_Client *ec)
    /* send keyboard_enter to all keyboard resources */
    wc = wl_resource_get_client(ec->comp_data->surface);
    serial = wl_display_next_serial(e_comp->wl_comp_data->wl.disp);
+
+   e_comp_wl_input_keyboard_modifiers_serialize(e_comp->wl_comp_data);
+
    EINA_LIST_FOREACH(e_comp->wl_comp_data->kbd.resources, l, res)
      {
         if (wl_resource_get_client(res) != wc) continue;
         wl_keyboard_send_enter(res, serial, ec->comp_data->surface,
                                &e_comp->wl_comp_data->kbd.keys);
+        wl_keyboard_send_modifiers(res, serial,
+                                   e_comp->wl_comp_data->kbd.mod_depressed,
+                                   e_comp->wl_comp_data->kbd.mod_latched,
+                                   e_comp->wl_comp_data->kbd.mod_locked,
+                                   e_comp->wl_comp_data->kbd.mod_group);
+
         ec->comp_data->focus_update = 0;
      }
 }

-- 


Reply via email to