discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=b6e94d02eda40d681bedbf315ce99802c4b9473c

commit b6e94d02eda40d681bedbf315ce99802c4b9473c
Author: Mike Blumenkrantz <zm...@samsung.com>
Date:   Thu Sep 5 10:09:27 2013 +0100

    don't recalc a gadcon on unpack if we're stopping, also don't recalc 
gadcons during stop when unpopulating
    
    this caused a lot of slowdown, and even possible crashes, during restarts
---
 src/bin/e_gadcon.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_gadcon.c b/src/bin/e_gadcon.c
index 9920633..f2d6031 100644
--- a/src/bin/e_gadcon.c
+++ b/src/bin/e_gadcon.c
@@ -611,7 +611,7 @@ e_gadcon_unpopulate(E_Gadcon *gc)
    if (gc->awaiting_classes)
      eina_hash_free(gc->awaiting_classes);
    gc->awaiting_classes = NULL;
-   if (gc->o_container) e_gadcon_layout_thaw(gc->o_container);
+   if (gc->o_container && (!stopping)) e_gadcon_layout_thaw(gc->o_container);
 }
 
 EAPI void
@@ -3765,7 +3765,8 @@ e_gadcon_layout_unpack(Evas_Object *obj)
    if (!sd) return;
    sd->items = eina_list_remove(sd->items, obj);
    _e_gadcon_layout_smart_disown(obj);
-   _e_gadcon_layout_smart_reconfigure(sd);
+   if (!stopping)
+     _e_gadcon_layout_smart_reconfigure(sd);
 }
 
 /* local subsystem functions */

-- 


Reply via email to