Not init sub module if it is inited already. 60/117560/2 accepted/tizen/unified/20170519.200902 submit/tizen/20170519.132143 tizen_4.0.m1_release
authorShinwoo Kim <cinoo.kim@samsung.com>
Mon, 6 Mar 2017 11:45:22 +0000 (20:45 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Thu, 18 May 2017 05:33:49 +0000 (14:33 +0900)
The screen-reader is enabled again without disabled,
if the screen-reader is terminated abnormally, and launched again by at-spi-bus-launcher.

Change-Id: Ic4f7ee446f741325c3e0073a17ebad0e609d1d8a

src/e_mod_main.c

index 5635948..81806bd 100644 (file)
@@ -204,10 +204,13 @@ _on_name_release_cb(void *data EINA_UNUSED, const Eldbus_Message *msg, Eldbus_Pe
    DEBUG("On_name_release_cb");
 }
 
+static Eina_Bool _submodules_inited = EINA_FALSE;
 static int
 _e_mod_submodules_init(void)
 {
    INFO("Init subsystems...");
+   if (_submodules_inited) return 0;
+   _submodules_inited = EINA_TRUE;
 
    if (_e_mod_atspi_config_init())
      goto fail;
@@ -223,6 +226,7 @@ fail_gestures:
    _e_mod_atspi_config_shutdown();
 fail:
    ERROR("Module initialization failed.");
+   _submodules_inited = EINA_FALSE;
    return -1;
 }
 
@@ -230,6 +234,9 @@ static void
 _e_mod_submodules_shutdown(void)
 {
    INFO("Shutdown subsystems...");
+   if (!_submodules_inited) return;
+   _submodules_inited = EINA_FALSE;
+
    _atspi_gesture_shutdown();
    g_gesture_navi = EINA_FALSE;
    _e_mod_atspi_config_save();
@@ -237,7 +244,6 @@ _e_mod_submodules_shutdown(void)
    _e_mod_atspi_gestures_shutdown();
 }
 
-
 static Eldbus_Message *
 _sc_enable(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg)
 {