Change keyboard focus setting on visible/invisible events
[staging/xdg-launcher.git] / src / runxdg.cpp
index 8582023..e4ec1c9 100644 (file)
@@ -283,22 +283,22 @@ int RunXDG::init_wm (void)
 
   std::function< void(json_object*) > h_active = [this](json_object* object) {
     AGL_DEBUG("Got Event_Active");
-    t_ilm_surface s_ids[1] = { this->m_ivi_id };
-    ilm_setInputFocus(s_ids, 1, ILM_INPUT_DEVICE_KEYBOARD, ILM_TRUE);
   };
 
   std::function< void(json_object*) > h_inactive = [this](json_object* object) {
     AGL_DEBUG("Got Event_Inactive");
-    t_ilm_surface s_ids[1] = { this->m_ivi_id };
-    ilm_setInputFocus(s_ids, 1, ILM_INPUT_DEVICE_KEYBOARD, ILM_FALSE);
   };
 
-  std::function< void(json_object*) > h_visible = [](json_object* object) {
+  std::function< void(json_object*) > h_visible = [this](json_object* object) {
     AGL_DEBUG("Got Event_Visible");
+    t_ilm_surface s_ids[1] = { this->m_ivi_id };
+    ilm_setInputFocus(s_ids, 1, ILM_INPUT_DEVICE_KEYBOARD, ILM_TRUE);
   };
 
-  std::function< void(json_object*) > h_invisible = [](json_object* object) {
+  std::function< void(json_object*) > h_invisible = [this](json_object* object) {
     AGL_DEBUG("Got Event_Invisible");
+    t_ilm_surface s_ids[1] = { this->m_ivi_id };
+    ilm_setInputFocus(s_ids, 1, ILM_INPUT_DEVICE_KEYBOARD, ILM_FALSE);
   };
 
   std::function< void(json_object*) > h_syncdraw =