Eina_Bool punch = EINA_FALSE;
int bw, bh;
+ if (e_object_is_del(E_OBJECT(evh->ec)))
+ return;
+
if (e_video_debug_punch_value_get())
punch = EINA_TRUE;
else if ((topmost = e_comp_wl_topmost_parent_get(evh->ec)))
{
/* if it's laid above main surface */
- if (eina_list_data_find(topmost->comp_data->sub.list, evh->ec))
+ if ((topmost->comp_data) &&
+ (eina_list_data_find(topmost->comp_data->sub.list, evh->ec)))
punch = EINA_TRUE;
/* if it's laid under main surface and main surface is transparent */
else if (topmost->argb)
" dst(%d,%d, %dx%d), transform(%d)",
e_client_util_name_get(evhw->base.ec) ?: "No Name" ,
evhw->base.ec->netwm.pid,
- wl_resource_get_id(evhw->base.ec->comp_data->surface),
+ (evhw->base.ec->comp_data ?
+ wl_resource_get_id(evhw->base.ec->comp_data->surface) : -1),
vbuf, (vbuf ? vbuf->ref_cnt : 0),
evhw->commit_data.info.src_config.size.h,
evhw->commit_data.info.src_config.size.v,