disable double click flags if u clock on something else in between

SVN revision: 20554
This commit is contained in:
Carsten Haitzler 2006-02-18 04:40:14 +00:00
parent d7840f652b
commit 4dd95e3f3e
2 changed files with 9 additions and 0 deletions

View File

@ -255,10 +255,17 @@ evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, unsigned int
ev.locks = &(e->locks);
ev.flags = flags;
ev.timestamp = timestamp;
if (ev.flags & (EVAS_BUTTON_DOUBLE_CLICK | EVAS_BUTTON_TRIPLE_CLICK))
{
if (obj->last_click_counter < (e->last_click_counter - 1))
ev.flags &= ~(EVAS_BUTTON_DOUBLE_CLICK | EVAS_BUTTON_TRIPLE_CLICK);
}
if (e->events_frozen <= 0)
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_DOWN, &ev);
obj->last_click_counter = e->last_click_counter;
}
if (copy) copy = evas_list_free(copy);
e->last_click_counter++;
}
/**

View File

@ -329,6 +329,7 @@ struct _Evas
Evas_Lock locks;
unsigned int last_timestamp;
void *attach_data;
int last_click_counter;
};
struct _Evas_Layer
@ -414,6 +415,7 @@ struct _Evas_Object
unsigned char deletions_waiting : 1;
} smart;
int last_click_counter;
int mouse_grabbed;
unsigned short store : 1;