tpl_bool_t prerotation_capability;
tpl_bool_t vblank_done;
tpl_bool_t set_serial_is_used;
+ tpl_bool_t message_processed;
};
struct _surface_vblank {
wl_egl_surface->sent_message = INIT_SURFACE;
tpl_gsource_send_message(wl_egl_surface->surf_source,
wl_egl_surface->sent_message);
- tpl_gcond_wait(&wl_egl_surface->surf_cond, &wl_egl_surface->surf_mutex);
+ do {
+ tpl_gcond_wait(&wl_egl_surface->surf_cond, &wl_egl_surface->surf_mutex);
+ } while (wl_egl_surface->sent_message != NONE_MESSAGE);
tpl_gmutex_unlock(&wl_egl_surface->surf_mutex);
TPL_ASSERT(wl_egl_surface->tbm_queue);