raster pushed a commit to branch master.

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

commit c91840ea54a398f56a513a9d02608f323d7e8f65
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Mon Feb 10 12:21:27 2014 +0900

    fix pager16 shadow inconssistency
    
    fixes T930
---
 src/bin/e_deskmirror.c | 32 +++++++++++++++++++++++---------
 1 file changed, 23 insertions(+), 9 deletions(-)

diff --git a/src/bin/e_deskmirror.c b/src/bin/e_deskmirror.c
index 9a1b6c3..ec9da27 100644
--- a/src/bin/e_deskmirror.c
+++ b/src/bin/e_deskmirror.c
@@ -269,9 +269,21 @@ _mirror_client_smart_add(Evas_Object *obj)
 static void
 _mirror_client_signal_cb(void *data, Evas_Object *obj EINA_UNUSED, const char 
*emission, const char *src)
 {
-   edje_object_signal_emit(data, emission, src);
-   edje_object_message_signal_process(data);
-   edje_object_calc_force(data);
+   Mirror_Border *mb = data;
+
+   if (((!strcmp(emission, "e,state,shadow,on")) ||
+        (!strcmp(emission, "e,state,shadow,off"))) &&
+       (!strcmp(src, "e")))
+     {
+        if (e_client_util_shadow_state_get(mb->m->ec))
+          edje_object_signal_emit(mb->frame, "e,state,shadow,on", "e");
+        else
+          edje_object_signal_emit(mb->frame, "e,state,shadow,off", "e");
+     }
+   else
+     edje_object_signal_emit(mb->frame, emission, src);
+   edje_object_message_signal_process(mb->frame);
+   edje_object_calc_force(mb->frame);
 }
 
 static void
@@ -279,7 +291,7 @@ _mirror_client_smart_del(Evas_Object *obj)
 {
    Mirror_Border *mb = evas_object_smart_data_get(obj);
    if (mb->m->comp_object && mb->m->ec)
-     e_comp_object_signal_callback_del_full(mb->m->ec->frame, "*", "*", 
_mirror_client_signal_cb, mb->frame);
+     e_comp_object_signal_callback_del_full(mb->m->ec->frame, "*", "*", 
_mirror_client_signal_cb, mb);
    evas_object_del(mb->frame);
    evas_object_del(mb->mirror);
    free(mb);
@@ -446,7 +458,7 @@ _mirror_client_new(Mirror *m)
      edje_object_signal_emit(mb->frame, "e,state,shadow,off", "e");
    if (m->comp_object)
      {
-        e_comp_object_signal_callback_add(mb->m->comp_object, "*", "*", 
_mirror_client_signal_cb, mb->frame);
+        e_comp_object_signal_callback_add(mb->m->comp_object, "*", "*", 
_mirror_client_signal_cb, mb);
         evas_object_event_callback_add(m->comp_object, EVAS_CALLBACK_DEL, 
_e_deskmirror_mirror_del_cb, m);
      }
    if (mb->m->ec->focused)
@@ -737,9 +749,11 @@ e_deskmirror_mirror_list(Evas_Object *deskmirror)
 }
 
 static void
-_mirror_copy_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void 
*event_info EINA_UNUSED)
+_mirror_copy_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info EINA_UNUSED)
 {
-   e_comp_object_signal_callback_del_full(data, "*", "*", 
_mirror_client_signal_cb, obj);
+   Mirror_Border *mb = data;
+
+   e_comp_object_signal_callback_del_full(mb->m->comp_object, "*", "*", 
_mirror_client_signal_cb, mb);
 }
 
 EAPI Evas_Object *
@@ -764,8 +778,8 @@ e_deskmirror_mirror_copy(Evas_Object *obj)
           edje_object_signal_emit(o, "e,state,shadow,off", "e");
         if (mb->m->comp_object)
           {
-             e_comp_object_signal_callback_add(mb->m->comp_object, "*", "*", 
_mirror_client_signal_cb, o);
-             evas_object_event_callback_add(o, EVAS_CALLBACK_DEL, 
_mirror_copy_del, mb->m->comp_object);
+             e_comp_object_signal_callback_add(mb->m->comp_object, "*", "*", 
_mirror_client_signal_cb, mb);
+             evas_object_event_callback_add(o, EVAS_CALLBACK_DEL, 
_mirror_copy_del, mb);
           }
         if (mb->m->ec->focused)
           edje_object_signal_emit(o, "e,state,focused", "e");

-- 


Reply via email to