discomfitor pushed a commit to branch master.

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

commit 5549c1b5302bebba3bcd494797e214357022adb5
Author: Mike Blumenkrantz <[email protected]>
Date:   Wed Jan 22 21:44:25 2014 -0500

    handle shaped overrides more accurately for theme and rendering
    
    overrides don't get to do shape exports for rendering, so this needs to be 
done during the initial shape check
---
 src/bin/e_comp_x.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index eb38dae..88a7ade 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -3594,12 +3594,20 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, 
E_Client *ec)
                             EC_CHANGED(ec);
                          }
                     }
+                  else
+                    {
+                       if (_e_comp_x_client_shape_rects_check(ec, rects, num))
+                         e_comp_object_damage(ec->frame, 0, 0, ec->w, ec->h);
+                    }
                   ec->shaped = 1;
                   ec->changes.shape_input = 0;
                   E_FREE(ec->shape_input_rects);
                   ec->shape_input_rects_num = 0;
                }
-             free(rects);
+             if (ec->comp_data->reparented || (!ec->shaped))
+               free(rects);
+             if (ec->shape_changed)
+               e_comp_object_frame_theme_set(ec->frame, 
E_COMP_OBJECT_FRAME_RESHADOW);
           }
         else
           {

-- 


Reply via email to