diff options
author | Lim Siew Hoon <siew.hoon.lim@intel.com> | 2016-07-01 13:29:10 +0800 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2016-08-22 13:04:29 +0800 |
commit | 02a36f32cba32c0dbe6f0053fb439dc11125c163 (patch) | |
tree | 7e4bdcbbe01135d031c6d9c18f5ac7b61358b617 | |
parent | 73b713e7a3d7fdd492adbf7ec7eb6fea231d31da (diff) |
Fix infinite loop
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
(cherry picked from commit 3a617e995435eafb87ea87dd1afc647d51d49582)
-rw-r--r-- | test/putsurface/putsurface_wayland.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/test/putsurface/putsurface_wayland.c b/test/putsurface/putsurface_wayland.c index 67da475..ad3c4e6 100644 --- a/test/putsurface/putsurface_wayland.c +++ b/test/putsurface/putsurface_wayland.c @@ -142,6 +142,7 @@ va_put_surface( struct wl_callback *callback; VAStatus va_status; struct wl_buffer *buffer; + int ret = 0; if (!wl_drawable) return VA_STATUS_ERROR_INVALID_SURFACE; @@ -153,8 +154,8 @@ va_put_surface( /* Wait for the previous frame to complete redraw */ if (wl_drawable->redraw_pending) { wl_display_flush(d->display); - while (wl_drawable->redraw_pending) - wl_display_dispatch(wl_drawable->display); + while (wl_drawable->redraw_pending && ret >=0) + ret = wl_display_dispatch(wl_drawable->display); } va_status = vaGetSurfaceBufferWl(va_dpy, va_surface, VA_FRAME_PICTURE, &buffer); |