tpl_gsource_destroy(gsource, TPL_FALSE);
- wl_egl_display->tdm.tdm_source = NULL;
-
return TPL_FALSE;
}
tdm_client_destroy(wl_egl_display->tdm.tdm_client);
wl_egl_display->tdm.tdm_client = NULL;
wl_egl_display->tdm.tdm_display_fd = -1;
- wl_egl_display->tdm.tdm_source = NULL;
}
wl_egl_display->use_wait_vblank = TPL_FALSE;
wl_egl_display->tdm.tdm_initialized = TPL_FALSE;
wl_egl_display->tdm.gsource_finalized = TPL_TRUE;
+ wl_egl_display->tdm.tdm_source = NULL;
tpl_gcond_signal(&wl_egl_display->tdm.tdm_cond);
tpl_gmutex_unlock(&wl_egl_display->tdm.tdm_mutex);
wl_event_queue_destroy(wl_egl_display->ev_queue);
wl_egl_display->ev_queue = NULL;
- wl_egl_display->wl_initialized = TPL_FALSE;
TPL_INFO("[DISPLAY_FINI]", "wl_egl_display(%p) wl_display(%p)",
wl_egl_display, wl_egl_display->wl_display);
if (wl_egl_display->wl_initialized)
_thread_wl_display_fini(wl_egl_display);
+ wl_egl_display->wl_initialized = TPL_FALSE;
wl_egl_display->gsource_finalized = TPL_TRUE;
+ wl_egl_display->disp_source = NULL;
tpl_gcond_signal(&wl_egl_display->disp_cond);
tpl_gmutex_unlock(&wl_egl_display->disp_mutex);
while (!wl_egl_display->tdm.gsource_finalized) {
tpl_gcond_wait(&wl_egl_display->tdm.tdm_cond, &wl_egl_display->tdm.tdm_mutex);
}
- wl_egl_display->tdm.tdm_source = NULL;
tpl_gmutex_unlock(&wl_egl_display->tdm.tdm_mutex);
}
while (!wl_egl_display->gsource_finalized) {
tpl_gcond_wait(&wl_egl_display->disp_cond, &wl_egl_display->disp_mutex);
}
- wl_egl_display->disp_source = NULL;
tpl_gmutex_unlock(&wl_egl_display->disp_mutex);
}
_thread_wl_egl_surface_fini(wl_egl_surface);
wl_egl_surface->gsource_finalized = TPL_TRUE;
+ wl_egl_surface->surf_source = NULL;
tpl_gcond_signal(&wl_egl_surface->surf_cond);
tpl_gmutex_unlock(&wl_egl_surface->surf_mutex);
while (!wl_egl_surface->gsource_finalized) {
tpl_gcond_wait(&wl_egl_surface->surf_cond, &wl_egl_surface->surf_mutex);
}
- wl_egl_surface->surf_source = NULL;
}
tpl_gmutex_unlock(&wl_egl_surface->surf_mutex);