diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-08-04 16:11:00 -0400 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-08-04 16:10:47 -0400 |
commit | 514fefe2d46ef6a1fb97ed10a39b0771ddccd962 (patch) | |
tree | a0f78e57ea57c696d7fdc4625a83335a01a77ffa /src/lib/efl_wl/efl_wl.c | |
parent | ef5812188a0864b6c0f29cd55ec73c6564b54224 (diff) |
efl-wl: add handling for commit during canvas render
prevent release of pre-existing buffers during a render cycle
@fix
Diffstat (limited to '')
-rw-r--r-- | src/lib/efl_wl/efl_wl.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/efl_wl/efl_wl.c b/src/lib/efl_wl/efl_wl.c index fbb6b11829..111e244442 100644 --- a/src/lib/efl_wl/efl_wl.c +++ b/src/lib/efl_wl/efl_wl.c | |||
@@ -1345,7 +1345,8 @@ comp_surface_commit_state(Comp_Surface *cs, Comp_Buffer_State *state) | |||
1345 | { | 1345 | { |
1346 | //if (cs->subsurface) | 1346 | //if (cs->subsurface) |
1347 | //fprintf(stderr, "BUFFER(%d) COMMIT %d\n", wl_resource_get_id(buffer->res), wl_resource_get_id(cs->res)); | 1347 | //fprintf(stderr, "BUFFER(%d) COMMIT %d\n", wl_resource_get_id(buffer->res), wl_resource_get_id(cs->res)); |
1348 | if ((!cs->post_render_queue) && ((!cs->buffer[1]) || (!cs->buffer[1]->post_renders))) | 1348 | if ((!cs->c->rendering) && (!cs->post_render_queue) && |
1349 | ((!cs->buffer[1]) || (!cs->buffer[1]->post_renders))) | ||
1349 | comp_surface_buffer_detach(&cs->buffer[1]); | 1350 | comp_surface_buffer_detach(&cs->buffer[1]); |
1350 | } | 1351 | } |
1351 | else | 1352 | else |
@@ -3895,6 +3896,8 @@ comp_render_pre(Comp *c, Evas *e EINA_UNUSED, void *event_info EINA_UNUSED) | |||
3895 | { | 3896 | { |
3896 | Comp_Buffer *buffer; | 3897 | Comp_Buffer *buffer; |
3897 | //if (cs->subsurface) fprintf(stderr, "RENDER PRE\n"); | 3898 | //if (cs->subsurface) fprintf(stderr, "RENDER PRE\n"); |
3899 | |||
3900 | comp_surface_buffer_detach(&cs->buffer[1]); | ||
3898 | cs->buffer[1] = cs->buffer[0]; | 3901 | cs->buffer[1] = cs->buffer[0]; |
3899 | cs->buffer[0] = NULL; | 3902 | cs->buffer[0] = NULL; |
3900 | cs->render_queue = 0; | 3903 | cs->render_queue = 0; |