ELOGF("TIZEN-HWC", "Destroy Commit Feedback.", wrapper->ec);
if ((wrapper->dequeued_list) && (wrapper->dequeued_list->feedbacks))
- wrapper->dequeued_list->feedbacks = eina_list_remove(wrapper->dequeued_list->feedbacks,
- wrapper);
+ wrapper->dequeued_list->feedbacks = eina_list_remove(wrapper->dequeued_list->feedbacks, wrapper);
if (wrapper->ec)
e_object_unref(E_OBJECT(wrapper->ec));
if (wrapper->listener.destroy.notify)
wl_list_remove(&wrapper->listener.destroy.link);
- tizen_hwc_mgr->ds_tizen_hwc_commit_feedback_list = eina_list_remove(tizen_hwc_mgr->ds_tizen_hwc_commit_feedback_list, wrapper);
+ if (tizen_hwc_mgr)
+ tizen_hwc_mgr->ds_tizen_hwc_commit_feedback_list = eina_list_remove(tizen_hwc_mgr->ds_tizen_hwc_commit_feedback_list, wrapper);
+
E_FREE(wrapper);
}
E_Client *ec;
Ds_Tizen_Hwc_Commit_Feedback_Wrapper *wrapper;
+ EINA_SAFETY_ON_NULL_RETURN(tizen_hwc_mgr);
+
surface = ds_tizen_hwc_commit_feedback_get_surface(hwc_commit_feedback);
EINA_SAFETY_ON_NULL_RETURN(surface);
static void
_e_comp_wl_tizen_hwc_mgr_cb_destroy(struct wl_listener *listener, void *data)
{
- Ds_Tizen_Hwc_Commit_Feedback_Wrapper *wrapper;
- const Eina_List *l, *ll;
-
- ELOGF("TIZEN-HWC", "Shutdown Tizen HWC.", NULL);
-
- if (!e_comp_wl) return;
- if (!tizen_hwc_mgr) return;
-
- EINA_LIST_FOREACH_SAFE(tizen_hwc_mgr->ds_tizen_hwc_commit_feedback_list, l, ll, wrapper)
- _tizen_hwc_commit_feedback_wrapper_free(wrapper);
-
- tizen_hwc_mgr->ds_tizen_hwc_commit_feedback_list = NULL;
wl_list_remove(&tizen_hwc_mgr->destroy.link);
wl_list_remove(&tizen_hwc_mgr->new_commit.link);
+
E_FREE(tizen_hwc_mgr);
+
+ ELOGF("TIZEN-HWC", "Shutdown Tizen HWC by display destruction", NULL);
}
EINTERN Eina_Bool
return EINA_FALSE;
}
- tizen_hwc_mgr->hwc = ds_tizen_hwc_create(e_comp_wl->wl.disp);
+ tizen_hwc_mgr->hwc = ds_tizen_hwc_create(comp_wl->wl.disp);
if (!tizen_hwc_mgr->hwc)
{
ERR("Could not create global for tizen_hwc: %m");
const Eina_List *l, *ll;
Ds_Tizen_Hwc_Commit_Feedback_Wrapper* wrapper;
+ EINA_SAFETY_ON_NULL_RETURN(tizen_hwc_mgr);
+
EINA_LIST_FOREACH_SAFE(tizen_hwc_mgr->ds_tizen_hwc_commit_feedback_list, l, ll, wrapper)
{
if (wrapper->pending) continue;
const Eina_List *l, *ll;
Ds_Tizen_Hwc_Commit_Feedback_Wrapper* wrapper;
+ EINA_SAFETY_ON_NULL_RETURN(tizen_hwc_mgr);
+
EINA_LIST_FOREACH_SAFE(tizen_hwc_mgr->ds_tizen_hwc_commit_feedback_list, l, ll, wrapper)
{
if (wrapper->pending) continue;
EINA_SAFETY_ON_NULL_RETURN_VAL(ec, EINA_FALSE);
EINA_SAFETY_ON_NULL_RETURN_VAL(feedback_list, EINA_FALSE);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(tizen_hwc_mgr, EINA_FALSE);
EINA_LIST_FOREACH(tizen_hwc_mgr->ds_tizen_hwc_commit_feedback_list, l, wrapper)
{