summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2017-02-28 11:37:15 -0500
committerChris Michael <cp.michael@samsung.com>2017-02-28 11:37:15 -0500
commit3d81843a3b254c03ecf6e5f40085573f4558403a (patch)
treedb6c657f09696c63987c3cddfcb5ef57b0f9b512 /src
parente725c0db95967d0488111d8db44c86e156bee4f6 (diff)
Revert "ecore-wl2: Only bind one shell"
Reverting this in favor of a better approach (using a priority list) as discussed on IRC. This reverts commit 0e93f03636ec10710547513fb865ef2703e937a4.
Diffstat (limited to 'src')
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_display.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c b/src/lib/ecore_wl2/ecore_wl2_display.c
index 4ca8ee90b0..cade757c77 100644
--- a/src/lib/ecore_wl2/ecore_wl2_display.c
+++ b/src/lib/ecore_wl2/ecore_wl2_display.c
@@ -8,7 +8,6 @@
8 8
9static Eina_Hash *_server_displays = NULL; 9static Eina_Hash *_server_displays = NULL;
10static Eina_Hash *_client_displays = NULL; 10static Eina_Hash *_client_displays = NULL;
11static Eina_Bool _shell_bound = EINA_FALSE;
12 11
13static Eina_Bool _cb_connect_idle(void *data); 12static Eina_Bool _cb_connect_idle(void *data);
14static Eina_Bool _cb_connect_data(void *data, Ecore_Fd_Handler *hdl); 13static Eina_Bool _cb_connect_data(void *data, Ecore_Fd_Handler *hdl);
@@ -153,13 +152,12 @@ _cb_global_add(void *data, struct wl_registry *registry, unsigned int id, const
153 ewd->wl.data_device_manager = 152 ewd->wl.data_device_manager =
154 wl_registry_bind(registry, id, &wl_data_device_manager_interface, ewd->wl.data_device_manager_version); 153 wl_registry_bind(registry, id, &wl_data_device_manager_interface, ewd->wl.data_device_manager_version);
155 } 154 }
156 else if ((!strcmp(interface, "wl_shell")) && (!_shell_bound)) 155 else if (!strcmp(interface, "wl_shell"))
157 { 156 {
158 ewd->wl.wl_shell = 157 ewd->wl.wl_shell =
159 wl_registry_bind(registry, id, &wl_shell_interface, 1); 158 wl_registry_bind(registry, id, &wl_shell_interface, 1);
160 _shell_bound = EINA_TRUE;
161 } 159 }
162 else if (((!strcmp(interface, "xdg_shell")) && (!_shell_bound)) && 160 else if ((!strcmp(interface, "xdg_shell")) &&
163 (!getenv("EFL_WAYLAND_DONT_USE_XDG_SHELL"))) 161 (!getenv("EFL_WAYLAND_DONT_USE_XDG_SHELL")))
164 { 162 {
165 Ecore_Wl2_Window *window; 163 Ecore_Wl2_Window *window;
@@ -170,8 +168,6 @@ _cb_global_add(void *data, struct wl_registry *registry, unsigned int id, const
170 XDG_V5_UNSTABLE_VERSION); 168 XDG_V5_UNSTABLE_VERSION);
171 xdg_shell_add_listener(ewd->wl.xdg_shell, &_xdg_shell_listener, NULL); 169 xdg_shell_add_listener(ewd->wl.xdg_shell, &_xdg_shell_listener, NULL);
172 170
173 _shell_bound = EINA_TRUE;
174
175 EINA_INLIST_FOREACH(ewd->windows, window) 171 EINA_INLIST_FOREACH(ewd->windows, window)
176 if ((window->type != ECORE_WL2_WINDOW_TYPE_DND) && 172 if ((window->type != ECORE_WL2_WINDOW_TYPE_DND) &&
177 (window->type != ECORE_WL2_WINDOW_TYPE_NONE)) 173 (window->type != ECORE_WL2_WINDOW_TYPE_NONE))
@@ -179,13 +175,12 @@ _cb_global_add(void *data, struct wl_registry *registry, unsigned int id, const
179 else 175 else
180 window->pending.configure = EINA_FALSE; 176 window->pending.configure = EINA_FALSE;
181 } 177 }
182 else if ((!strcmp(interface, "zxdg_shell_v6")) && (!_shell_bound)) 178 else if (!strcmp(interface, "zxdg_shell_v6"))
183 { 179 {
184 ewd->wl.zxdg_shell = 180 ewd->wl.zxdg_shell =
185 wl_registry_bind(registry, id, &zxdg_shell_v6_interface, 1); 181 wl_registry_bind(registry, id, &zxdg_shell_v6_interface, 1);
186 zxdg_shell_v6_add_listener(ewd->wl.zxdg_shell, 182 zxdg_shell_v6_add_listener(ewd->wl.zxdg_shell,
187 &_zxdg_shell_listener, NULL); 183 &_zxdg_shell_listener, NULL);
188 _shell_bound = EINA_TRUE;
189 } 184 }
190 else if ((eina_streq(interface, "www")) && 185 else if ((eina_streq(interface, "www")) &&
191 (getenv("EFL_WAYLAND_ENABLE_WWW"))) 186 (getenv("EFL_WAYLAND_ENABLE_WWW")))