{
twe_wl_disp_source *disp_source = (twe_wl_disp_source *)source;
+ if (g_source_is_destroyed(source)) {
+ TPL_ERR("display source(%p) already destroyed.", source);
+ return FALSE;
+ }
+
if (disp_source->gfd.revents & G_IO_IN) {
TPL_LOG_T("WL_EGL", "read_events| gsource(%p) wl_display(%p)",
source, disp_source->disp);
{
twe_wl_disp_source *disp_source = (twe_wl_disp_source *)source;
+ if (g_source_is_destroyed(source)) {
+ TPL_ERR("display source(%p) already destroyed.", source);
+ return G_SOURCE_REMOVE;
+ }
+
if (disp_source->gfd.revents & G_IO_IN) {
TPL_LOG_T("WL_EGL", "dispatch| gsource(%p) wl_display(%p)",
disp_source, disp_source->disp);
twe_wl_surf_source *wl_surf_source = (twe_wl_surf_source *)source;
GIOCondition cond;
+ if (g_source_is_destroyed(source)) {
+ TPL_ERR("surface source(%p) already destroyed.", source);
+ return G_SOURCE_REMOVE;
+ }
+
cond = g_source_query_unix_fd(source, wl_surf_source->tag);
if (cond & G_IO_IN) {