From: Taekyun Kim Date: Tue, 20 Oct 2015 06:51:06 +0000 (+0900) Subject: pepper: Correctly manage buffer ref count when keep_buffer is TRUE X-Git-Tag: accepted/tizen/mobile/20151221.050925~34^2~53 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a90fe6e094faf4ab3ce281e5e551d06565f7e9bd;p=platform%2Fcore%2Fuifw%2Fpepper.git pepper: Correctly manage buffer ref count when keep_buffer is TRUE Change-Id: I445af4554951b7a94dc24623aae503669477ef04 --- diff --git a/src/lib/pepper/surface.c b/src/lib/pepper/surface.c index a9e8979..6bfe789 100644 --- a/src/lib/pepper/surface.c +++ b/src/lib/pepper/surface.c @@ -381,8 +381,12 @@ pepper_surface_commit(pepper_surface_t *surface) if (surface->buffer.buffer) { pepper_event_listener_remove(surface->buffer.destroy_listener); - pepper_event_listener_remove(surface->buffer.release_listener); - pepper_buffer_unreference(surface->buffer.buffer); + + if (surface->buffer.keep_buffer) + { + pepper_event_listener_remove(surface->buffer.release_listener); + pepper_buffer_unreference(surface->buffer.buffer); + } } if (surface->pending.buffer) @@ -559,8 +563,5 @@ pepper_surface_flush_damage(pepper_surface_t *surface) pixman_region32_clear(&surface->damage_region); if (surface->buffer.buffer && !surface->buffer.keep_buffer) - { pepper_buffer_unreference(surface->buffer.buffer); - pepper_event_listener_remove(surface->buffer.destroy_listener); - } }