{
/* In order to try to redraw video whenever viewport changes. */
evh->surface_viewport_listener.notify = _e_video_hwc_cb_surface_viewport;
- wl_signal_add(&evh->ec->comp_data->apply_viewport_signal,
- &evh->surface_viewport_listener);
+ if (evh->ec->comp_data)
+ {
+ wl_signal_add(&evh->ec->comp_data->apply_viewport_signal,
+ &evh->surface_viewport_listener);
+ }
evas_object_event_callback_add(evh->ec->frame, EVAS_CALLBACK_SHOW,
_e_video_hwc_cb_evas_show, evh);
static void
_e_video_hwc_client_event_deinit(E_Video_Hwc *evh)
{
- wl_list_remove(&evh->surface_viewport_listener.link);
+ /* links for listener have to be removed only in case comp_data is valid. */
+ if (evh->ec->comp_data)
+ wl_list_remove(&evh->surface_viewport_listener.link);
evas_object_event_callback_del_full(evh->ec->frame, EVAS_CALLBACK_SHOW,
_e_video_hwc_cb_evas_show, evh);