discomfitor pushed a commit to branch master.

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

commit 62328e0c90d120bc2d8ed966823295c0675ff4f8
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Fri Feb 13 15:48:00 2015 -0500

    remove wl override clients from focus stack
    
    no more client cursor clients in winlist hoorayyyyy
---
 src/bin/e_comp_wl_input.c                 | 5 +++++
 src/modules/wl_desktop_shell/e_mod_main.c | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/src/bin/e_comp_wl_input.c b/src/bin/e_comp_wl_input.c
index 1a01532..0d86402 100644
--- a/src/bin/e_comp_wl_input.c
+++ b/src/bin/e_comp_wl_input.c
@@ -1,3 +1,4 @@
+#define EXECUTIVE_MODE_ENABLED
 #define E_COMP_WL
 #include "e.h"
 #include <sys/mman.h>
@@ -57,12 +58,16 @@ _e_comp_wl_input_pointer_cb_cursor_set(struct wl_client 
*client, struct wl_resou
    sid = e_comp_wl_id_get(wl_resource_get_id(surface_resource), pid);
    if (!(ec = e_pixmap_find_client(E_PIXMAP_TYPE_WL, sid)))
      {
+        Eina_List *l;
+
         ec = e_client_new(NULL, e_pixmap_new(E_PIXMAP_TYPE_WL, sid), 1, 0);
         ec->lock_focus_out = ec->layer_block = ec->visible = ec->override = 1;
         ec->new_client = 0;
         ec->icccm.title = eina_stringshare_add("noshadow");
         evas_object_pass_events_set(ec->frame, 1);
         ec->client.w = ec->client.h = 1;
+        l = e_client_focus_stack_get();
+        e_client_focus_stack_set(eina_list_remove(l, ec));
      }
    /* ignore cursor changes during resize/move I guess */
    if (e_client_action_get()) return;
diff --git a/src/modules/wl_desktop_shell/e_mod_main.c 
b/src/modules/wl_desktop_shell/e_mod_main.c
index eb8e789..ba8d531 100644
--- a/src/modules/wl_desktop_shell/e_mod_main.c
+++ b/src/modules/wl_desktop_shell/e_mod_main.c
@@ -1,3 +1,4 @@
+#define EXECUTIVE_MODE_ENABLED
 #define E_COMP_WL
 #include "e.h"
 #include "e_desktop_shell_protocol.h"
@@ -1311,6 +1312,7 @@ _e_xdg_shell_cb_popup_get(struct wl_client *client, 
struct wl_resource *resource
    ec->netwm.type = E_WINDOW_TYPE_POPUP_MENU;
    ec->comp_data->set_win_type = EINA_TRUE;
    evas_object_layer_set(ec->frame, E_LAYER_CLIENT_POPUP);
+   e_client_focus_stack_set(eina_list_remove(e_client_focus_stack_get(), ec));
 
    /* set this client as a transient for parent */
    _e_shell_surface_parent_set(ec, parent_resource);

-- 


Reply via email to