2015-08-18 07:06:40 -07:00
|
|
|
#ifdef HAVE_CONFIG_H
|
|
|
|
# include <config.h>
|
|
|
|
#endif
|
|
|
|
|
2018-09-12 05:39:14 -07:00
|
|
|
#ifdef NEED_RUN_IN_TREE
|
|
|
|
# include "../../static_libs/buildsystem/buildsystem.h"
|
|
|
|
#endif
|
|
|
|
|
2015-08-18 07:06:40 -07:00
|
|
|
#include "ecore_wl2_private.h"
|
|
|
|
|
|
|
|
/* local variables */
|
|
|
|
static int _ecore_wl2_init_count = 0;
|
|
|
|
|
|
|
|
/* external variables */
|
2016-05-05 07:45:59 -07:00
|
|
|
Eina_Bool no_session_recovery;
|
2015-08-18 07:06:40 -07:00
|
|
|
int _ecore_wl2_log_dom = -1;
|
|
|
|
|
2015-08-18 07:08:38 -07:00
|
|
|
/* public API variables */
|
2016-05-05 07:45:59 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_CONNECT = 0;
|
|
|
|
EAPI int ECORE_WL2_EVENT_DISCONNECT = 0;
|
2015-08-18 07:08:38 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_GLOBAL_ADDED = 0;
|
|
|
|
EAPI int ECORE_WL2_EVENT_GLOBAL_REMOVED = 0;
|
2015-09-23 09:39:18 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_FOCUS_IN = 0;
|
|
|
|
EAPI int ECORE_WL2_EVENT_FOCUS_OUT = 0;
|
2015-09-25 07:30:06 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_DND_ENTER = 0;
|
2015-09-25 07:37:06 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_DND_LEAVE = 0;
|
2015-09-25 07:41:08 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_DND_MOTION = 0;
|
2015-09-25 07:47:46 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_DND_DROP = 0;
|
2015-09-29 06:56:53 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_DND_END = 0;
|
2016-04-21 10:55:45 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_DATA_SOURCE_END = 0;
|
|
|
|
EAPI int ECORE_WL2_EVENT_DATA_SOURCE_DROP = 0;
|
|
|
|
EAPI int ECORE_WL2_EVENT_DATA_SOURCE_ACTION = 0;
|
2015-09-29 07:06:50 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_DATA_SOURCE_TARGET = 0;
|
|
|
|
EAPI int ECORE_WL2_EVENT_DATA_SOURCE_SEND = 0;
|
2015-09-30 09:03:50 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_WINDOW_CONFIGURE = 0;
|
2015-12-11 08:24:32 -08:00
|
|
|
EAPI int ECORE_WL2_EVENT_SYNC_DONE = 0;
|
2016-09-22 00:13:48 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_OFFER_DATA_READY = 0;
|
2016-10-04 11:19:51 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_SEAT_NAME_CHANGED = 0;
|
2016-10-05 06:36:19 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_SEAT_CAPABILITIES_CHANGED = 0;
|
2016-10-06 13:43:12 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_DEVICE_ADDED = 0;
|
|
|
|
EAPI int ECORE_WL2_EVENT_DEVICE_REMOVED = 0;
|
2017-01-11 09:22:01 -08:00
|
|
|
EAPI int ECORE_WL2_EVENT_WINDOW_CONFIGURE_COMPLETE = 0;
|
2017-05-12 09:08:32 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_SEAT_KEYMAP_CHANGED = 0;
|
|
|
|
EAPI int ECORE_WL2_EVENT_SEAT_KEYBOARD_REPEAT_CHANGED = 0;
|
|
|
|
EAPI int ECORE_WL2_EVENT_SEAT_SELECTION = 0;
|
2017-06-07 07:33:54 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_OUTPUT_TRANSFORM = 0;
|
2017-06-09 07:50:01 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_WINDOW_ROTATE = 0;
|
2017-06-09 08:01:03 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_WINDOW_ROTATION_CHANGE_PREPARE = 0;
|
|
|
|
EAPI int ECORE_WL2_EVENT_WINDOW_ROTATION_CHANGE_PREPARE_DONE = 0;
|
|
|
|
EAPI int ECORE_WL2_EVENT_WINDOW_ROTATION_CHANGE_REQUEST = 0;
|
|
|
|
EAPI int ECORE_WL2_EVENT_WINDOW_ROTATION_CHANGE_DONE = 0;
|
2017-06-13 09:01:30 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_AUX_HINT_ALLOWED = 0;
|
2017-07-28 12:44:43 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_AUX_HINT_SUPPORTED = 0;
|
|
|
|
EAPI int ECORE_WL2_EVENT_AUX_MESSAGE = 0;
|
2017-06-27 06:17:36 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_WINDOW_SHOW = 0;
|
2017-06-27 06:26:55 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_WINDOW_HIDE = 0;
|
2017-06-27 06:41:03 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_WINDOW_ACTIVATE = 0;
|
2017-06-27 06:46:55 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_WINDOW_DEACTIVATE = 0;
|
2017-08-08 06:53:52 -07:00
|
|
|
EAPI int ECORE_WL2_EVENT_WINDOW_ICONIFY_STATE_CHANGE = 0;
|
2018-01-30 13:19:43 -08:00
|
|
|
EAPI int ECORE_WL2_EVENT_WINDOW_OFFSCREEN = 0;
|
2015-08-18 07:08:38 -07:00
|
|
|
|
2016-03-24 10:19:42 -07:00
|
|
|
EAPI int _ecore_wl2_event_window_www = -1;
|
|
|
|
EAPI int _ecore_wl2_event_window_www_drag = -1;
|
|
|
|
|
2018-01-26 12:32:10 -08:00
|
|
|
static Eina_Array *supplied_modules = NULL;
|
|
|
|
static Eina_Array *local_modules = NULL;
|
|
|
|
|
2018-01-26 11:00:35 -08:00
|
|
|
static Eina_Bool
|
|
|
|
_ecore_wl2_surface_modules_init(void)
|
|
|
|
{
|
2018-01-26 12:32:10 -08:00
|
|
|
const char *mod_dir;
|
|
|
|
|
2018-09-12 05:39:14 -07:00
|
|
|
#ifdef NEED_RUN_IN_TREE
|
2019-10-22 07:42:54 -07:00
|
|
|
# if defined(HAVE_GETUID) && defined(HAVE_GETEUID)
|
2018-09-12 05:39:14 -07:00
|
|
|
if (getuid() == geteuid())
|
2019-10-22 07:42:54 -07:00
|
|
|
# endif
|
2018-09-12 05:39:14 -07:00
|
|
|
{
|
|
|
|
char path[PATH_MAX];
|
|
|
|
//when running in tree we are ignoring all the settings
|
|
|
|
//and just load the intree module that we have build
|
|
|
|
if (bs_mod_get(path, sizeof(path), "ecore_wl2/engines","dmabuf"))
|
|
|
|
{
|
|
|
|
Eina_Module *local_module = eina_module_new(path);
|
|
|
|
EINA_SAFETY_ON_NULL_RETURN_VAL(local_module, EINA_FALSE);
|
2018-10-10 01:22:57 -07:00
|
|
|
|
|
|
|
if (!eina_module_load(local_module))
|
|
|
|
{
|
2018-10-10 05:07:36 -07:00
|
|
|
ERR("Cannot load module %s", path);
|
2018-10-10 01:22:57 -07:00
|
|
|
eina_module_free(local_module);
|
|
|
|
local_module = NULL;
|
|
|
|
return EINA_FALSE;
|
|
|
|
}
|
2018-09-12 05:39:14 -07:00
|
|
|
return EINA_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
2019-04-29 06:58:05 -07:00
|
|
|
supplied_modules =
|
|
|
|
eina_module_arch_list_get(NULL, PACKAGE_LIB_DIR"/ecore_wl2/engines",
|
|
|
|
MODULE_ARCH);
|
2018-01-26 12:32:10 -08:00
|
|
|
eina_module_list_load(supplied_modules);
|
|
|
|
|
|
|
|
mod_dir = getenv("ECORE_WL2_SURFACE_MODULE_DIR");
|
|
|
|
if (mod_dir)
|
|
|
|
{
|
2019-04-29 06:58:05 -07:00
|
|
|
local_modules =
|
|
|
|
eina_module_list_get(NULL, mod_dir, EINA_TRUE, NULL, NULL);
|
2018-01-26 12:32:10 -08:00
|
|
|
eina_module_list_load(local_modules);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!supplied_modules && !local_modules)
|
|
|
|
return EINA_FALSE;
|
|
|
|
|
|
|
|
return EINA_TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
_ecore_wl2_surface_modules_unload(void)
|
|
|
|
{
|
|
|
|
eina_module_list_unload(supplied_modules);
|
|
|
|
eina_module_list_unload(local_modules);
|
2018-01-26 11:00:35 -08:00
|
|
|
}
|
|
|
|
|
2015-08-18 07:06:40 -07:00
|
|
|
/* public API functions */
|
|
|
|
EAPI int
|
|
|
|
ecore_wl2_init(void)
|
|
|
|
{
|
|
|
|
if (++_ecore_wl2_init_count != 1) return _ecore_wl2_init_count;
|
|
|
|
|
|
|
|
/* try to initialize Eina */
|
|
|
|
if (!eina_init()) return --_ecore_wl2_init_count;
|
|
|
|
|
|
|
|
/* try to create Eina logging domain */
|
|
|
|
_ecore_wl2_log_dom =
|
|
|
|
eina_log_domain_register("ecore_wl2", ECORE_WL2_DEFAULT_LOG_COLOR);
|
|
|
|
if (_ecore_wl2_log_dom < 0)
|
|
|
|
{
|
|
|
|
EINA_LOG_ERR("Cannot create a log domain for Ecore Wl2");
|
|
|
|
goto eina_err;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* try to initialize Ecore */
|
|
|
|
if (!ecore_init())
|
|
|
|
{
|
|
|
|
ERR("Could not initialize Ecore");
|
|
|
|
goto ecore_err;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* try to initialize Ecore_Event */
|
|
|
|
if (!ecore_event_init())
|
|
|
|
{
|
|
|
|
ERR("Could not initialize Ecore_Event");
|
|
|
|
goto ecore_event_err;
|
|
|
|
}
|
|
|
|
|
2018-01-26 11:00:35 -08:00
|
|
|
if (!_ecore_wl2_surface_modules_init())
|
|
|
|
{
|
|
|
|
ERR("Could not load surface modules");
|
|
|
|
goto module_load_err;
|
|
|
|
}
|
|
|
|
|
2015-08-18 07:08:38 -07:00
|
|
|
/* handle creating new Ecore_Wl2 event types */
|
2017-12-18 18:14:37 -08:00
|
|
|
ECORE_WL2_EVENT_CONNECT = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_DISCONNECT = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_GLOBAL_ADDED = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_GLOBAL_REMOVED = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_FOCUS_IN = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_FOCUS_OUT = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_DND_ENTER = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_DND_LEAVE = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_DND_MOTION = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_DND_DROP = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_DND_END = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_DATA_SOURCE_END = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_DATA_SOURCE_DROP = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_DATA_SOURCE_ACTION = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_DATA_SOURCE_TARGET = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_DATA_SOURCE_SEND = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_WINDOW_CONFIGURE = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_SYNC_DONE = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_OFFER_DATA_READY = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_SEAT_NAME_CHANGED = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_SEAT_CAPABILITIES_CHANGED = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_DEVICE_ADDED = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_DEVICE_REMOVED = ecore_event_type_new();
|
|
|
|
_ecore_wl2_event_window_www = ecore_event_type_new();
|
|
|
|
_ecore_wl2_event_window_www_drag = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_WINDOW_CONFIGURE_COMPLETE = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_SEAT_KEYMAP_CHANGED = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_SEAT_KEYBOARD_REPEAT_CHANGED = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_SEAT_SELECTION = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_OUTPUT_TRANSFORM = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_WINDOW_ROTATE = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_WINDOW_ROTATION_CHANGE_PREPARE = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_WINDOW_ROTATION_CHANGE_PREPARE_DONE = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_WINDOW_ROTATION_CHANGE_REQUEST = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_WINDOW_ROTATION_CHANGE_DONE = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_AUX_HINT_ALLOWED = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_AUX_HINT_SUPPORTED = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_AUX_MESSAGE = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_WINDOW_SHOW = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_WINDOW_HIDE = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_WINDOW_ACTIVATE = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_WINDOW_DEACTIVATE = ecore_event_type_new();
|
|
|
|
ECORE_WL2_EVENT_WINDOW_ICONIFY_STATE_CHANGE = ecore_event_type_new();
|
2018-01-30 13:19:43 -08:00
|
|
|
ECORE_WL2_EVENT_WINDOW_OFFSCREEN = ecore_event_type_new();
|
2017-12-18 18:14:37 -08:00
|
|
|
|
2016-10-25 12:07:09 -07:00
|
|
|
if (!no_session_recovery)
|
|
|
|
no_session_recovery = !!getenv("EFL_NO_WAYLAND_SESSION_RECOVERY");
|
2015-08-18 07:08:38 -07:00
|
|
|
|
2015-08-18 07:06:40 -07:00
|
|
|
return _ecore_wl2_init_count;
|
|
|
|
|
2018-01-26 11:00:35 -08:00
|
|
|
module_load_err:
|
|
|
|
ecore_event_shutdown();
|
|
|
|
|
2015-08-18 07:06:40 -07:00
|
|
|
ecore_event_err:
|
|
|
|
ecore_shutdown();
|
|
|
|
|
|
|
|
ecore_err:
|
|
|
|
eina_log_domain_unregister(_ecore_wl2_log_dom);
|
|
|
|
_ecore_wl2_log_dom = -1;
|
|
|
|
|
|
|
|
eina_err:
|
|
|
|
eina_shutdown();
|
|
|
|
return --_ecore_wl2_init_count;
|
|
|
|
}
|
2015-08-18 07:15:01 -07:00
|
|
|
|
|
|
|
EAPI int
|
|
|
|
ecore_wl2_shutdown(void)
|
|
|
|
{
|
|
|
|
if (_ecore_wl2_init_count < 1)
|
|
|
|
{
|
2019-07-31 04:34:56 -07:00
|
|
|
EINA_LOG_ERR("Ecore_Wl2 shutdown called without Ecore_Wl2 Init");
|
2015-08-18 07:15:01 -07:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (--_ecore_wl2_init_count != 0) return _ecore_wl2_init_count;
|
|
|
|
|
|
|
|
/* reset events */
|
2017-03-09 16:14:35 -08:00
|
|
|
ecore_event_type_flush(ECORE_WL2_EVENT_CONNECT,
|
|
|
|
ECORE_WL2_EVENT_DISCONNECT,
|
|
|
|
ECORE_WL2_EVENT_GLOBAL_ADDED,
|
|
|
|
ECORE_WL2_EVENT_GLOBAL_REMOVED,
|
|
|
|
ECORE_WL2_EVENT_FOCUS_IN,
|
|
|
|
ECORE_WL2_EVENT_FOCUS_OUT,
|
|
|
|
ECORE_WL2_EVENT_DND_ENTER,
|
|
|
|
ECORE_WL2_EVENT_DND_LEAVE,
|
|
|
|
ECORE_WL2_EVENT_DND_MOTION,
|
|
|
|
ECORE_WL2_EVENT_DND_DROP,
|
|
|
|
ECORE_WL2_EVENT_DND_END,
|
|
|
|
ECORE_WL2_EVENT_DATA_SOURCE_END,
|
|
|
|
ECORE_WL2_EVENT_DATA_SOURCE_DROP,
|
|
|
|
ECORE_WL2_EVENT_DATA_SOURCE_ACTION,
|
|
|
|
ECORE_WL2_EVENT_DATA_SOURCE_TARGET,
|
|
|
|
ECORE_WL2_EVENT_DATA_SOURCE_SEND,
|
|
|
|
ECORE_WL2_EVENT_WINDOW_CONFIGURE,
|
|
|
|
ECORE_WL2_EVENT_SYNC_DONE,
|
|
|
|
ECORE_WL2_EVENT_OFFER_DATA_READY,
|
|
|
|
ECORE_WL2_EVENT_SEAT_NAME_CHANGED,
|
|
|
|
ECORE_WL2_EVENT_SEAT_CAPABILITIES_CHANGED,
|
|
|
|
ECORE_WL2_EVENT_DEVICE_ADDED,
|
|
|
|
ECORE_WL2_EVENT_DEVICE_REMOVED,
|
2017-05-12 09:08:32 -07:00
|
|
|
ECORE_WL2_EVENT_WINDOW_CONFIGURE_COMPLETE,
|
|
|
|
ECORE_WL2_EVENT_SEAT_KEYMAP_CHANGED,
|
|
|
|
ECORE_WL2_EVENT_SEAT_KEYBOARD_REPEAT_CHANGED,
|
2017-06-07 07:33:54 -07:00
|
|
|
ECORE_WL2_EVENT_SEAT_SELECTION,
|
2017-06-09 07:27:54 -07:00
|
|
|
ECORE_WL2_EVENT_OUTPUT_TRANSFORM,
|
2017-06-09 07:50:01 -07:00
|
|
|
ECORE_WL2_EVENT_WINDOW_ROTATE,
|
2017-06-09 07:39:00 -07:00
|
|
|
ECORE_WL2_EVENT_WINDOW_ROTATION_CHANGE_PREPARE,
|
2017-06-09 07:42:31 -07:00
|
|
|
ECORE_WL2_EVENT_WINDOW_ROTATION_CHANGE_PREPARE_DONE,
|
2017-06-09 07:45:06 -07:00
|
|
|
ECORE_WL2_EVENT_WINDOW_ROTATION_CHANGE_REQUEST,
|
2017-06-13 09:01:30 -07:00
|
|
|
ECORE_WL2_EVENT_WINDOW_ROTATION_CHANGE_DONE,
|
2017-06-27 06:17:36 -07:00
|
|
|
ECORE_WL2_EVENT_AUX_HINT_ALLOWED,
|
2017-07-28 12:44:43 -07:00
|
|
|
ECORE_WL2_EVENT_AUX_HINT_SUPPORTED,
|
|
|
|
ECORE_WL2_EVENT_AUX_MESSAGE,
|
2017-06-27 06:26:55 -07:00
|
|
|
ECORE_WL2_EVENT_WINDOW_SHOW,
|
2017-06-27 06:41:03 -07:00
|
|
|
ECORE_WL2_EVENT_WINDOW_HIDE,
|
2017-06-27 06:46:55 -07:00
|
|
|
ECORE_WL2_EVENT_WINDOW_ACTIVATE,
|
2017-08-08 06:53:52 -07:00
|
|
|
ECORE_WL2_EVENT_WINDOW_DEACTIVATE,
|
2018-01-30 13:19:43 -08:00
|
|
|
ECORE_WL2_EVENT_WINDOW_ICONIFY_STATE_CHANGE,
|
|
|
|
ECORE_WL2_EVENT_WINDOW_OFFSCREEN);
|
2015-08-18 07:15:01 -07:00
|
|
|
|
|
|
|
/* shutdown Ecore_Event */
|
|
|
|
ecore_event_shutdown();
|
|
|
|
|
|
|
|
/* shutdown Ecore */
|
|
|
|
ecore_shutdown();
|
|
|
|
|
|
|
|
/* unregister logging domain */
|
|
|
|
eina_log_domain_unregister(_ecore_wl2_log_dom);
|
|
|
|
_ecore_wl2_log_dom = -1;
|
|
|
|
|
2018-01-26 12:32:10 -08:00
|
|
|
_ecore_wl2_surface_modules_unload();
|
|
|
|
|
2015-08-18 07:15:01 -07:00
|
|
|
/* shutdown eina */
|
|
|
|
eina_shutdown();
|
|
|
|
|
|
|
|
return _ecore_wl2_init_count;
|
|
|
|
}
|
2016-10-25 12:07:09 -07:00
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_wl2_session_recovery_disable(void)
|
|
|
|
{
|
|
|
|
no_session_recovery = EINA_TRUE;
|
|
|
|
}
|