path: root/src/lib/ecore_evas/ecore_evas_ews.c
diff options
authorGustavo Sverzut Barbieri <barbieri@gmail.com>2013-01-11 04:21:02 +0000
committerGustavo Sverzut Barbieri <barbieri@gmail.com>2013-01-11 04:21:02 +0000
commit7b8f400381fa784db4f9051c1f6f53cae6dbc475 (patch)
tree85ed0f54b6fa39d4e21d48cdbd22a6185f8c8527 /src/lib/ecore_evas/ecore_evas_ews.c
parentefl: fix out-of-tree build of examples. (diff)
efl/ecore_evas: avoid infinite loop building ews.
ews will load another engine inside it's constructor. If no module is found, then it will loop back to itself. avoid that. SVN revision: 82606
Diffstat (limited to 'src/lib/ecore_evas/ecore_evas_ews.c')
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/ecore_evas/ecore_evas_ews.c b/src/lib/ecore_evas/ecore_evas_ews.c
index 37f445612b..4b80c305bf 100644
--- a/src/lib/ecore_evas/ecore_evas_ews.c
+++ b/src/lib/ecore_evas/ecore_evas_ews.c
@@ -1096,10 +1096,14 @@ ecore_evas_ews_new(int x, int y, int w, int h)
Evas_Engine_Info_Buffer *einfo;
Ecore_Evas *ee;
int rmethod;
+ static Eina_Bool creating = EINA_FALSE;
if (_ecore_evas_ews_init() < 1) return NULL;
+ if (creating) return NULL; /* avoid recursive ecore_evas_new() with ews */
+ creating = EINA_TRUE;
if (!_ews_ee) _ews_ee = _ecore_evas_ews_ee_new();
+ creating = EINA_FALSE;
if (!_ews_ee)
ERR("Could not create EWS backing store");