forked from enlightenment/efl
[ecore_input_evas] check the state of last mouse event more properly.
This commit is contained in:
parent
64823141f6
commit
6113a3b767
|
@ -1,3 +1,7 @@
|
||||||
|
2013-09-02 Shinwoo Kim
|
||||||
|
|
||||||
|
* Ecore_Input_Evas: Check the state of last mouse event more properly.
|
||||||
|
|
||||||
2013-08-29 Boris Faure
|
2013-08-29 Boris Faure
|
||||||
|
|
||||||
* Edje: export EFL_VERSION_MAJOR/MINOR when compiling edc files
|
* Edje: export EFL_VERSION_MAJOR/MINOR when compiling edc files
|
||||||
|
|
1
NEWS
1
NEWS
|
@ -372,6 +372,7 @@ Fixes:
|
||||||
- Fix return type of function ecore_wl_outputs_get().
|
- Fix return type of function ecore_wl_outputs_get().
|
||||||
* Ecore_Input_Evas:
|
* Ecore_Input_Evas:
|
||||||
- Fix ecore_input_evas didn't check the device id of mouse event.
|
- Fix ecore_input_evas didn't check the device id of mouse event.
|
||||||
|
- Check the state of last mouse event more properly.
|
||||||
* Ecore-imf:
|
* Ecore-imf:
|
||||||
- Fix crash when ecore_imf_context_del is called in ecore_imf_context_input_panel_callback_call.
|
- Fix crash when ecore_imf_context_del is called in ecore_imf_context_input_panel_callback_call.
|
||||||
* Eio:
|
* Eio:
|
||||||
|
|
|
@ -341,6 +341,7 @@ _ecore_event_evas_key(Ecore_Event_Key *e, Ecore_Event_Press press)
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_ecore_event_evas_mouse_button(Ecore_Event_Mouse_Button *e, Ecore_Event_Press press, Eina_Bool faked)
|
_ecore_event_evas_mouse_button(Ecore_Event_Mouse_Button *e, Ecore_Event_Press press, Eina_Bool faked)
|
||||||
{
|
{
|
||||||
|
Ecore_Event_Last *eel;
|
||||||
Ecore_Input_Window *lookup;
|
Ecore_Input_Window *lookup;
|
||||||
Evas_Button_Flags flags = EVAS_BUTTON_NONE;
|
Evas_Button_Flags flags = EVAS_BUTTON_NONE;
|
||||||
|
|
||||||
|
@ -352,12 +353,16 @@ _ecore_event_evas_mouse_button(Ecore_Event_Mouse_Button *e, Ecore_Event_Press pr
|
||||||
if (_last_events_enable)
|
if (_last_events_enable)
|
||||||
{
|
{
|
||||||
//error handle: if ecore up without ecore down
|
//error handle: if ecore up without ecore down
|
||||||
if ((press == ECORE_UP) && (!_ecore_event_evas_lookup(e->multi.device, e->buttons, EINA_FALSE)))
|
if (press == ECORE_UP)
|
||||||
|
{
|
||||||
|
eel = _ecore_event_evas_lookup(e->multi.device, e->buttons, EINA_FALSE);
|
||||||
|
if ((!eel) || (eel->state == ECORE_INPUT_UP))
|
||||||
{
|
{
|
||||||
INF("ButtonEvent: up event without down event.");
|
INF("ButtonEvent: up event without down event.");
|
||||||
return ECORE_CALLBACK_PASS_ON;
|
return ECORE_CALLBACK_PASS_ON;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!faked) _ecore_event_evas_push_mouse_button(e, press);
|
if (!faked) _ecore_event_evas_push_mouse_button(e, press);
|
||||||
if (e->multi.device == 0)
|
if (e->multi.device == 0)
|
||||||
|
|
Loading…
Reference in New Issue