summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--EGL/tizen/yagl_tizen_window.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/EGL/tizen/yagl_tizen_window.c b/EGL/tizen/yagl_tizen_window.c
index fe2ac39..9e65770 100644
--- a/EGL/tizen/yagl_tizen_window.c
+++ b/EGL/tizen/yagl_tizen_window.c
@@ -52,6 +52,7 @@ static int yagl_tizen_window_get_buffer(struct yagl_native_drawable *drawable,
tbm_bo bo;
tbm_surface_h tbm_surface;
int i;
+ tpl_bool_t invalid_surface;
YAGL_LOG_FUNC_SET(yagl_tizen_window_get_buffer);
@@ -64,6 +65,8 @@ static int yagl_tizen_window_get_buffer(struct yagl_native_drawable *drawable,
return 0;
}
+ invalid_surface = tpl_surface_validate(window->surface) == TPL_FALSE;
+
tbm_surface = tpl_surface_dequeue_buffer(window->surface);
if (tbm_surface == NULL) {
YAGL_LOG_ERROR("can't get buffer for %p", window->surface);
@@ -74,7 +77,7 @@ static int yagl_tizen_window_get_buffer(struct yagl_native_drawable *drawable,
width = tbm_surface_get_width(tbm_surface);
height = tbm_surface_get_height(tbm_surface);
- if ((window->width != width) || (window->height != height)) {
+ if (invalid_surface || (window->width != width) || (window->height != height)) {
for (i = 0; i < YAGL_TIZEN_MAX_COLOR_BUF; i++) {
if (window->color_buffers[i].locked && window->back != &window->color_buffers[i]) {
/*