diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2015-03-05 11:31:30 -0500 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2015-03-05 11:31:30 -0500 |
commit | ac67dc68aee0cc78e700845b06edd2a3d712cc1a (patch) | |
tree | 294e1f60f4c35b74a44ae840878f5931658b86b8 | |
parent | ada4c48cc46259a180c33cb04a7b96af5a03cd00 (diff) | |
download | elementary-ac67dc68aee0cc78e700845b06edd2a3d712cc1a.tar.gz |
cnp should only attempt to get wl win for wl engine canvases
fixes abort() on missing wl ee interface
-rw-r--r-- | src/lib/elm_cnp.c | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/lib/elm_cnp.c b/src/lib/elm_cnp.c index c5daef718..5f15461a8 100644 --- a/src/lib/elm_cnp.c +++ b/src/lib/elm_cnp.c @@ -3560,27 +3560,25 @@ _wl_elm_widget_window_get(Evas_Object *obj) { Ecore_Evas *ee; Evas *evas; + const char *engine_name; if (!(evas = evas_object_evas_get(obj))) return 0; if (!(ee = ecore_evas_ecore_evas_get(evas))) return 0; - while(!win) + engine_name = ecore_evas_engine_name_get(ee); + if (!strcmp(engine_name, ELM_BUFFER)) { - const char *engine_name = ecore_evas_engine_name_get(ee); - if (!strcmp(engine_name, ELM_BUFFER)) - { - ee = ecore_evas_buffer_ecore_evas_parent_get(ee); - if (!ee) return 0; - win = ecore_evas_wayland_window_get(ee); - } - else - { - /* In case the engine is not a buffer, we want to check once. */ - win = ecore_evas_wayland_window_get(ee); - if (!win) return 0; - } + ee = ecore_evas_buffer_ecore_evas_parent_get(ee); + if (!ee) return 0; + win = ecore_evas_wayland_window_get(ee); + } + else if (!strncmp(engine_name, "wayland", sizeof("wayland") - 1)) + { + /* In case the engine is not a buffer, we want to check once. */ + win = ecore_evas_wayland_window_get(ee); + if (!win) return 0; } } |