};
static Eina_Bool _e_comp_wl_cursor_timer_control(Evas_Callback_Type type, E_Comp_Wl_Data *comp_wl, E_Client *ec);
-static void _e_comp_wl_surface_state_serial_update(E_Client *ec, E_Comp_Wl_Surface_State *state);
+static void _e_comp_wl_surface_state_serial_update(E_Client *ec, E_Comp_Wl_Buffer *buffer);
static void _e_comp_wl_seat_pointer_send_axis(E_Seat *seat, struct wl_client *wc,
uint32_t axis, uint32_t dir, uint32_t timestamp);
}
static void
-_e_comp_wl_surface_state_serial_update(E_Client *ec, E_Comp_Wl_Surface_State *state)
+_e_comp_wl_surface_state_serial_update(E_Client *ec, E_Comp_Wl_Buffer *buffer)
{
- E_Comp_Wl_Buffer *buffer;
uint32_t serial = 0;
- if (!ec) return;
- if (e_object_is_del(E_OBJECT(ec))) return;
- if (!ec->comp_data) return;
-
- buffer = state->buffer;
if (!buffer) return;
serial = wayland_tbm_server_buffer_get_buffer_serial(buffer->resource);
ec->comp_data->scaler.buffer_viewport = *new_vp;
}
+static void
+_e_comp_wl_client_buffer_set(E_Client *ec, E_Comp_Wl_Buffer *buffer)
+{
+ _e_comp_wl_surface_state_serial_update(ec, buffer);
+ e_comp_wl_surface_attach(ec, buffer);
+}
+
static void
_e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state)
{
_e_comp_wl_client_buffer_viewport_set(ec, &state->buffer_viewport);
if (state->new_attach)
- {
- _e_comp_wl_surface_state_serial_update(ec, state);
- e_comp_wl_surface_attach(ec, state->buffer);
- }
+ _e_comp_wl_client_buffer_set(ec, state->buffer);
/* emit a apply_viewport signal when the information of viewport and buffer is ready */
wl_signal_emit(&cdata->apply_viewport_signal, &cdata->surface);