summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2015-10-01 10:25:57 -0400
committerChris Michael <cp.michael@samsung.com>2015-12-03 10:22:37 -0500
commit6b1419e3a025171641d8dbc5fb82e3c7549533ab (patch)
treef7bbe5ae589fcad49304018b6cac14f2f9ba7ee5
parent82a8d008fa8d55e451ec13063cc1b0f46c0cb85c (diff)
downloadelementary-6b1419e3a025171641d8dbc5fb82e3c7549533ab.tar.gz
elementary: Port elementary config code to use Ecore_Wl2 library
Signed-off-by: Chris Michael <cp.michael@samsung.com>
-rw-r--r--src/lib/elm_config.c24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/lib/elm_config.c b/src/lib/elm_config.c
index 29ef12de6..f64e4262c 100644
--- a/src/lib/elm_config.c
+++ b/src/lib/elm_config.c
@@ -31,6 +31,10 @@ Eio_Monitor *_eio_monitor = NULL;
Eina_Hash *_elm_key_bindings = NULL;
+#ifdef HAVE_ELEMENTARY_WL2
+Ecore_Wl2_Display *_elm_wl_display = NULL;
+#endif
+
const char *_elm_engines[] = {
"software_x11",
"fb",
@@ -3316,6 +3320,10 @@ _elm_config_sub_shutdown(void)
#ifdef HAVE_ELEMENTARY_X
if (ecore_x_display_get()) ecore_x_shutdown();
#endif
+#ifdef HAVE_ELEMENTARY_WL2
+ if (_elm_wl_display) ecore_wl2_display_disconnect(_elm_wl_display);
+ ecore_wl2_shutdown();
+#endif
ELM_SAFE_FREE(_eio_monitor, eio_monitor_del);
ELM_SAFE_FREE(_config_change_delay_timer, ecore_timer_del);
}
@@ -3350,7 +3358,7 @@ _elm_config_file_monitor_cb(void *data EINA_UNUSED,
void
_elm_config_sub_init(void)
{
-#if defined(HAVE_ELEMENTARY_X) || defined(HAVE_ELEMENTARY_WAYLAND)
+#if defined(HAVE_ELEMENTARY_X) || defined(HAVE_ELEMENTARY_WL2)
const char *ev = getenv("ELM_DISPLAY");
#endif
@@ -3385,7 +3393,7 @@ _elm_config_sub_init(void)
ecore_x_init(NULL);
}
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
Eina_Bool init_wl = EINA_FALSE;
Eina_Bool have_wl_display = !!getenv("WAYLAND_DISPLAY");
@@ -3413,7 +3421,17 @@ _elm_config_sub_init(void)
}
if (init_wl)
{
- ecore_wl_init(NULL);
+ if (!ecore_wl2_init())
+ {
+ ERR("Could not initialize Ecore_Wl2");
+ goto end;
+ }
+ _elm_wl_display = ecore_wl2_display_connect(NULL);
+ if (!_elm_wl_display)
+ {
+ ERR("Could not connect to Wayland Display");
+ goto end;
+ }
}
#endif
char buf[PATH_MAX];