ret = _e_comp_wl_intercept_hook_call(E_COMP_WL_INTERCEPT_HOOK_CURSOR_TIMER_MOUSE_MOVE, ec);
if (!ret) break;
- if (e_pointer_is_hidden(e_comp->pointer))
+ if (e_pointer_is_hidden(e_comp->pointer) || !ec->pointer_enter_sent)
_e_comp_wl_cursor_reload(ec);
break;
ret = _e_comp_wl_intercept_hook_call(E_COMP_WL_INTERCEPT_HOOK_CURSOR_TIMER_MOUSE_WHEEL, ec);
if (!ret) break;
- if (e_pointer_is_hidden(e_comp->pointer))
+ if (e_pointer_is_hidden(e_comp->pointer) || !ec->pointer_enter_sent)
_e_comp_wl_cursor_reload(ec);
break;
}
cursor_timer_ec = NULL;
- if (e_pointer_is_hidden(e_comp->pointer))
+ if (e_pointer_is_hidden(e_comp->pointer) || !ec->pointer_enter_sent)
_e_comp_wl_cursor_reload(ec);
break;
struct wl_client *wc;
Eina_List *l;
uint32_t serial;
- E_Comp_Config *comp_conf = NULL;
+ E_Comp_Config *comp_conf;
+ E_Client *prev_ptr_ec;
ev = event;
struct wl_resource *surface = e_comp_wl_client_surface_get(ec);
if (!surface) return;
+ prev_ptr_ec = e_comp_wl->ptr.ec;
+ if (prev_ptr_ec)
+ {
+ ELOGF("Mouse", "In (prev_ptr_ec: %p pointer_enter_sent: %d)", ec, prev_ptr_ec, prev_ptr_ec->pointer_enter_sent);
+ prev_ptr_ec->pointer_enter_sent = EINA_FALSE;
+ }
+
e_comp_wl->ptr.ec = ec;
comp_conf = e_comp_config_get();
Eina_List *l;
uint32_t serial;
Eina_Bool inside_check;
- E_Comp_Config *comp_conf = NULL;
+ E_Comp_Config *comp_conf;
ev = event;
Evas_Event_Mouse_Move *ev;
Evas_Device *dev = NULL;
const char *dev_name;
- E_Comp_Config *comp_conf = NULL;
+ E_Comp_Config *comp_conf;
ev = event;