diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 26ce07b02..ac1402010 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -1401,6 +1401,24 @@ _e_comp_intercept_show_helper(E_Comp_Object *cw) } return; } + if ((!cw->updates) && (!cw->ec->input_only) && (!cw->ec->ignored)) + { + int pw, ph; + + pw = cw->ec->client.w, ph = cw->ec->client.h; + if ((!pw) || (!ph)) + e_pixmap_size_get(cw->ec->pixmap, &pw, &ph); + cw->updates = eina_tiler_new(pw, ph); + if (!cw->updates) + { + cw->ec->changes.visible = !cw->ec->hidden; + cw->ec->visible = 1; + EC_CHANGED(cw->ec); + return; + } + } + if (cw->updates) + eina_tiler_tile_size_set(cw->updates, 1, 1); if (cw->ec->new_client) { /* ignore until client idler first run */ @@ -1491,17 +1509,6 @@ _e_comp_intercept_show(void *data, Evas_Object *obj EINA_UNUSED) #endif cw->redirected = 1; evas_object_color_set(cw->clip, ec->netwm.opacity, ec->netwm.opacity, ec->netwm.opacity, ec->netwm.opacity); - - if ((!cw->ec->input_only) && (!cw->ec->ignored)) - { - int w, h; - - w = cw->ec->client.w, h = cw->ec->client.h; - if ((!w) || (!h)) - e_pixmap_size_get(cw->ec->pixmap, &w, &h); - cw->updates = eina_tiler_new(w, h); - eina_tiler_tile_size_set(cw->updates, 1, 1); - } } _e_comp_intercept_show_helper(cw);