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
This commit is contained in:
Gustavo Sverzut Barbieri 2013-01-11 04:21:02 +00:00
parent f8fde3d560
commit 7b8f400381
1 changed files with 4 additions and 0 deletions

View File

@ -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");