X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fevent.c;h=a72f07b290912295a0afee6a2a3614936bbcd288;hb=76ae19924d79326892f0b851db740d7207e4e158;hp=b59707bbd4cd92daddaaf209be57678fe6c6aafd;hpb=624ffe397bb52757f486208b754489cdb77fd923;p=chaz%2Fopenbox diff --git a/openbox/event.c b/openbox/event.c index b59707bb..a72f07b2 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -1792,8 +1792,9 @@ static gboolean event_handle_menu_input(XEvent *ev) if (ev->type == ButtonRelease || ev->type == ButtonPress) { ObMenuEntryFrame *e; - if (menu_hide_delay_reached() && - (ev->xbutton.button < 4 || ev->xbutton.button > 5)) + if ((ev->xbutton.button < 4 || ev->xbutton.button > 5) && + ((ev->type == ButtonRelease && menu_hide_delay_reached()) || + ev->type == ButtonPress)) { if ((e = menu_entry_frame_under(ev->xbutton.x_root, ev->xbutton.y_root))) @@ -1804,23 +1805,11 @@ static gboolean event_handle_menu_input(XEvent *ev) if (ev->type == ButtonRelease) menu_entry_frame_execute(e, ev->xbutton.state); } - else if (ev->type == ButtonRelease) + else menu_frame_hide_all(); } ret = TRUE; } - else if (ev->type == MotionNotify) { - ObMenuFrame *f; - ObMenuEntryFrame *e; - - if ((e = menu_entry_frame_under(ev->xmotion.x_root, - ev->xmotion.y_root))) - if (!(f = find_active_menu()) || - f == e->frame || - f->parent == e->frame || - f->child == e->frame) - menu_frame_select(e->frame, e, FALSE); - } else if (ev->type == KeyPress || ev->type == KeyRelease) { guint mods; ObMenuFrame *frame; @@ -2213,7 +2202,7 @@ gboolean event_time_after(guint32 t1, guint32 t2) gboolean find_timestamp(XEvent *e, gpointer data) { const Time t = event_get_timestamp(e); - if (t > event_curtime) { + if (t && t >= event_curtime) { event_curtime = t; return TRUE; } @@ -2257,3 +2246,8 @@ void event_reset_time(void) { next_time(); } + +void event_update_user_time(void) +{ + event_last_user_time = event_time(); +}