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 { --
