summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2015-03-05 11:31:30 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2015-03-05 11:31:30 -0500
commitac67dc68aee0cc78e700845b06edd2a3d712cc1a (patch)
tree294e1f60f4c35b74a44ae840878f5931658b86b8
parentada4c48cc46259a180c33cb04a7b96af5a03cd00 (diff)
downloadelementary-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.c26
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;
}
}