output->mouse_moved = EINA_TRUE;
}
+static void
+_e_rdp_canvas_render_post(void *data EINA_UNUSED, Evas *e EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ E_Rdp_Backend *b = NULL;
+ E_Rdp_Output *output = NULL;
+
+ b = g_rdp_backend;
+ EINA_SAFETY_ON_NULL_RETURN(b);
+ EINA_SAFETY_ON_NULL_RETURN(b->output);
+ output = b->output;
+
+ if (b->client_count == 0)
+ return;
+
+ if (!output->frame_timer)
+ output->frame_timer = ecore_timer_add(output->refresh_time, _e_rdp_frame_timer, output);
+ output->refresh_count = 5;
+ output->buffer_changed = EINA_TRUE;
+}
+
static double
_e_rdp_refresh_time_set(uint32_t w, uint32_t h)
{
b = g_rdp_backend;
EINA_SAFETY_ON_NULL_RETURN(b);
+ evas_event_callback_del(e_comp->evas, EVAS_CALLBACK_RENDER_POST, _e_rdp_canvas_render_post);
+
if (pointer_hook)
{
e_pointer_hook_del(pointer_hook);
E_LIST_HANDLER_APPEND(b->handlers, E_EVENT_CLIENT_BUFFER_CHANGE, _e_rdp_cb_client_buffer_change, g_rdp_backend);
E_LIST_HANDLER_APPEND(b->handlers, E_EVENT_CLIENT_UNICONIFY, _e_rdp_cb_client_uniconify, g_rdp_backend);
pointer_hook = e_pointer_hook_add(E_POINTER_HOOK_MOUSE_MOVE, _e_rdp_cb_pointer_mouse_move, g_rdp_backend);
+ evas_event_callback_add(e_comp->evas, EVAS_CALLBACK_RENDER_POST, _e_rdp_canvas_render_post, NULL);
g_rdp_backend = b;