}
EAPI Eina_Bool
-efl_canvas_output_lock(Efl_Canvas_Output *output EINA_UNUSED)
+efl_canvas_output_lock(Efl_Canvas_Output *output)
{
- return EINA_FALSE;
+ output->lock++;
+ return EINA_TRUE;
}
EAPI Eina_Bool
efl_canvas_output_unlock(Efl_Canvas_Output *output EINA_UNUSED)
{
- return EINA_FALSE;
+ return !!(--output->lock);
}
{
// Avoid processing not ready output until they are
if (!out->output) continue ;
+ // Locked output are output that should not yet be rendered
+ // because the tick/vsync for it doesn't allow it yet.
+ if (out->lock > 0) continue ;
/* phase 6. Initialize output */
if (out->changed)