_twe_display_print_err(disp_source, "dispatch_queue_pending");
}
- if (disp_source->presentation_feedbacks)
+ if (disp_source->presentation && disp_source->presentation_feedbacks)
__tpl_list_free(disp_source->presentation_feedbacks, (tpl_free_func_t)free);
wl_event_queue_destroy(disp_source->ev_queue);
TPL_DISPLAY_PRESENT_MODE_FIFO;
_twe_display_wayland_init(source);
+ source->presentation_feedbacks = NULL;
+
if (source->presentation)
source->presentation_feedbacks = __tpl_list_alloc();
if (presentation_feedback)
wp_presentation_feedback_destroy(presentation_feedback);
- __tpl_list_remove_data(disp_source->presentation_feedbacks, feedback_info,
- TPL_FIRST, (tpl_free_func_t)free);
+ if (disp_source->presentation_feedbacks)
+ __tpl_list_remove_data(disp_source->presentation_feedbacks, feedback_info,
+ TPL_FIRST, (tpl_free_func_t)free);
g_mutex_unlock(&surf_source->pst_mutex);
}
feedback_info->surf_source = surf_source;
wp_presentation_feedback_add_listener(feedback_info->feedback,
&feedback_listener, feedback_info);
- __tpl_list_push_back(disp_source->presentation_feedbacks, (void *)feedback_info);
+ if (disp_source->presentation_feedbacks)
+ __tpl_list_push_back(disp_source->presentation_feedbacks,
+ (void *)feedback_info);
}
}
g_mutex_unlock(&surf_source->pst_mutex);