elm engine - restore explicit use of ELM_ENGNE env var
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Tue, 10 Feb 2015 10:48:21 +0000 (19:48 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Tue, 10 Feb 2015 10:50:14 +0000 (19:50 +0900)
this fixes a deprecation of elm engine done just before 1.13 release
that ends up breaking "make doc" and also will make ELM_ENGINE env var
stop working (the latter was intentional). but since this is relied on
for things like make doc - keep the env var and haveit set preferred
engine and let people migrate away from using the engine var EXCEPT
for things like the shot engine

@fix

src/lib/elm_config.c
src/lib/elm_win.c

index 9fa9c0df87ddf4446afb8182aa637903df33ad11..1d6aa75494e61b0ee4a90204a0f484fc24a1eca1 100644 (file)
@@ -1909,6 +1909,8 @@ _env_get(void)
           eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_DDRAW);
         else
           ERR("Unknown engine '%s'.", s);
+        if (_elm_config->engine)
+          eina_stringshare_replace(&_elm_preferred_engine, _elm_config->engine);
      }
 
    s = getenv("ELM_VSYNC");
@@ -3202,7 +3204,6 @@ _elm_config_init(void)
    _profile_fetch_from_conf();
    _config_load();
    _env_get();
-   ELM_SAFE_FREE(_elm_preferred_engine, eina_stringshare_del);
    ELM_SAFE_FREE(_elm_accel_preference, eina_stringshare_del);
    _translation_init();
    _config_apply();
index 1fa38e7216c8a26bd0154f65446eab6fd3c6579d..ce368db06b8857a555d49917a408c9c201421fa8 100644 (file)
@@ -3171,8 +3171,7 @@ _elm_win_constructor(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_Type t
           }
 #endif
 #ifdef HAVE_ELEMENTARY_X
-        else if (!elm_config_engine_get() &&
-                 !elm_config_preferred_engine_get() &&
+        else if (!_elm_preferred_engine &&
                  getenv("DISPLAY") && !getenv("ELM_ENGINE"))
           {
              if (_accel_is_gl())
@@ -3188,8 +3187,7 @@ _elm_win_constructor(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_Type t
           }
 #endif
 #ifdef HAVE_ELEMENTARY_WAYLAND
-        else if (!elm_config_engine_get() &&
-                 !elm_config_preferred_engine_get() &&
+        else if (!_elm_preferred_engine &&
                  getenv("WAYLAND_DISPLAY") && !getenv("ELM_ENGINE"))
           {
              if (_accel_is_gl())
@@ -3208,6 +3206,8 @@ _elm_win_constructor(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_Type t
           {
              if (_accel_is_gl())
                {
+// add all engines with selected engine first - if any
+                  enginelist[p++] = ENGINE_GET();
 
 // add all engines with gl/accelerated ones first - only engines compiled
 #ifdef HAVE_ELEMENTARY_X