if (viewport)
_e_comp_wl_viewport_parent_check(viewport);
- if (viewport && ec->comp_data->buffer_ref.buffer)
+ if (viewport && e_surface_has_buffer(viewport->surface))
{
E_Comp_Wl_Buffer_Viewport *vp = &ec->comp_data->scaler.buffer_viewport;
Eina_Bool changed = EINA_FALSE, src_changed = EINA_FALSE;
}
}
else if (viewport)
- PIN("%p buffer", ec->comp_data->buffer_ref.buffer);
+ PIN("%p buffer", e_surface_buffer_try_get(viewport->surface));
EINA_LIST_FOREACH(ec->comp_data->sub.list, l, subc)
e_comp_wl_viewport_apply(subc);
E_Client *ec;
E_Client *topmost;
Eina_Bool changed = EINA_FALSE;
+ E_Surface *parent_surface;
viewport = container_of(listener, E_Viewport, surface_apply_viewport_listener);
ec = viewport->ec;
_e_comp_wl_viewport_parent_check(viewport);
if (!viewport->current.changed) return;
- if (!ec->comp_data->buffer_ref.buffer) return;
- if (viewport->epc && !viewport->epc->comp_data->buffer_ref.buffer) return;
+ if (!e_surface_has_buffer(viewport->surface)) return;
+
+ if (viewport->epc)
+ {
+ parent_surface = e_surface_from_ec(viewport->epc);
+ if (!e_surface_has_buffer(parent_surface))
+ return;
+ }
PDB("apply: topmost(%p)", topmost);