discomfitor pushed a commit to branch master.

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

commit b277a5630f918b2efa11d6e5fcbeec0ef5777d80
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Mon Jun 8 14:51:58 2015 -0400

    completely freeze all deskmirror object events/animations during hide
---
 src/bin/e_deskmirror.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/src/bin/e_deskmirror.c b/src/bin/e_deskmirror.c
index 617f719..11baad3 100644
--- a/src/bin/e_deskmirror.c
+++ b/src/bin/e_deskmirror.c
@@ -187,14 +187,40 @@ _e_deskmirror_smart_resize(Evas_Object *obj, Evas_Coord 
w, Evas_Coord h)
 static void
 _e_deskmirror_smart_show(Evas_Object *obj)
 {
+   Mirror *m;
+
    INTERNAL_ENTRY;
+   EINA_INLIST_FOREACH(sd->mirrors, m)
+     {
+        Mirror_Border *mb;
+
+        if ((!m->ec) || (!m->mirror)) continue;
+        mb = evas_object_smart_data_get(m->mirror);
+        if (!mb) continue;
+        edje_object_thaw(mb->frame);
+        edje_object_play_set(mb->frame, 1);
+        evas_object_show(mb->mirror);
+     }
    evas_object_show(sd->clip);
 }
 
 static void
 _e_deskmirror_smart_hide(Evas_Object *obj)
 {
+   Mirror *m;
+
    INTERNAL_ENTRY;
+   EINA_INLIST_FOREACH(sd->mirrors, m)
+     {
+        Mirror_Border *mb;
+
+        if ((!m->ec) || (!m->mirror)) continue;
+        mb = evas_object_smart_data_get(m->mirror);
+        if (!mb) continue;
+        edje_object_freeze(mb->frame);
+        edje_object_play_set(mb->frame, 0);
+        evas_object_hide(mb->mirror);
+     }
    evas_object_hide(sd->clip);
 }
 

-- 


Reply via email to