if (plane->ec)
e_pixmap_image_clear(plane->ec->pixmap, 1);
+ if (!plane->is_fb && plane->unset_ec_pending)
+ {
+ plane->unset_ec_pending = EINA_FALSE;
+ e_plane_ec_set(plane, NULL);
+ INF("Plane:%p zpos:%d Done unset_ec_pending", plane, plane->zpos);
+ }
+
return EINA_TRUE;
}
_e_plane_update_fps(plane);
+ if (!plane->is_fb && plane->unset_ec_pending)
+ {
+ plane->unset_ec_pending = EINA_FALSE;
+ e_plane_ec_set(plane, NULL);
+ INF("Plane:%p zpos:%d Done unset_ec_pending", plane, plane->zpos);
+ }
+
return EINA_TRUE;
}
}
else
{
- _e_plane_renderer_unset(plane);
- e_plane_role_set(plane, E_PLANE_ROLE_NONE);
+ if (!plane->ec)
+ {
+ _e_plane_renderer_unset(plane);
+ e_plane_role_set(plane, E_PLANE_ROLE_NONE);
+ }
}
}
}
* we set the unset_candidate flags to the plane and measure to unset
* the plane at the e_output_commit.
*/
+ if (!plane->is_fb && plane->ec && plane->set_counter &&
+ evas_object_visible_get(plane->ec->frame))
+ {
+ if (!plane->unset_ec_pending)
+ {
+ INF("Plane:%p zpos:%d Set unset_ec_pending ", plane, plane->zpos);
+ plane->unset_ec_pending = EINA_TRUE;
+ }
+
+ if (ec)
+ return EINA_FALSE;
+ else
+ return EINA_TRUE;
+ }
+
+ if (plane->unset_ec_pending)
+ {
+ INF("Plane:%p zpos:%d Reset unset_ec_pending", plane, plane->zpos);
+ plane->unset_ec_pending = EINA_FALSE;
+ }
if (plane->ec_redirected && plane->ec) e_client_redirected_set(plane->ec, EINA_TRUE);