Fix the elm_shutdown bug in _elm_shutdown_config.
authorJaehwan Kim <jae.hwan.kim@samsung.com>
Tue, 19 Mar 2013 10:53:53 +0000 (19:53 +0900)
committerJaehwan Kim <jae.hwan.kim@samsung.com>
Tue, 19 Mar 2013 10:53:53 +0000 (19:53 +0900)
When the elm_shutdown is used after elm_config_all_flush, the segment fault occur.
It's why it uses ecore_x in _prop_all_update_cb after removing it.

ChangeLog
NEWS
src/lib/elm_config.c

index 1c269a0..eec4abf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 2013-03-18  WooHyun Jung
 
         * Focus highlight should be reconfigured when theme is changed.
+
+2013-03-19  Jaehwan Kim
+
+        * Fix the elm_shutdown bug in _elm_shutdown_config.
+        When the elm_shutdown is used after elm_config_all_flush, the segment fault occur.
+        It's why it uses ecore_x in _prop_all_update_cb after removing it.
diff --git a/NEWS b/NEWS
index 63bacf9..fe6990b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,6 +25,7 @@ Fixes:
    * Entry: Fixed a bug with text appending.
    * List : Focus_next should be executed only when access mode is enabled.
    * Focus highlight should be reconfigured when theme is changed.
+   * Fix the elm_shutdown bug in _elm_shutdown_config.
         
 Elementary 1.7.5
 
index 9a11b2c..ce3a723 100644 (file)
@@ -2123,6 +2123,17 @@ _elm_config_init(void)
 void
 _elm_config_sub_shutdown(void)
 {
+#ifdef HAVE_ELEMENTARY_X
+   if (_prop_all_update_timer)
+     {
+        ecore_timer_del(_prop_all_update_timer);
+        _prop_all_update_timer = NULL;
+        _prop_all_update_cb(NULL);
+     }
+   if (_prop_change_delay_timer) ecore_timer_del(_prop_change_delay_timer);
+   _prop_change_delay_timer = NULL;
+#endif
+
 #define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
    if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
        ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
@@ -2255,17 +2266,6 @@ _elm_config_profile_set(const char *profile)
 void
 _elm_config_shutdown(void)
 {
-#ifdef HAVE_ELEMENTARY_X
-   if (_prop_all_update_timer)
-     {
-        ecore_timer_del(_prop_all_update_timer);
-        _prop_all_update_timer = NULL;
-        _prop_all_update_cb(NULL);
-     }
-   if (_prop_change_delay_timer) ecore_timer_del(_prop_change_delay_timer);
-   _prop_change_delay_timer = NULL;
-#endif
-
 #define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
    if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
        ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||