evas-software-generic: Allow future rendering calls if evas has to skip a frame

Summary: If we do not get a new_region_for_update from an engine, it
could mean that the engine has skipped a frame. In that case, we still
want to try and render any future frames. Before this commit, evas
would never try to re-render anything again once it hit a failed
frame. To fix this, we test for a valid returned region, and if we
don't get one, mark this frame as failed so we can try again.

NB: Thanks for the help Cedric !! :)

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2015-03-19 16:09:23 -04:00
parent 4935582355
commit 2725a248c9
1 changed files with 3 additions and 1 deletions

View File

@ -3376,8 +3376,10 @@ eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, i
surface = re->outbuf_new_region_for_update(re->ob,
*x, *y, *w, *h,
cx, cy, cw, ch);
if (!re->cur_rect)
if ((!re->cur_rect) || (!surface))
{
evas_common_tilebuf_free_render_rects(re->rects);
re->rects = NULL;
re->end = 1;
}
return surface;