X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=openbox%2Fevent.c;h=8a5720a54108996130b114012ada3bf3b65c5b81;hb=545061829795ad5c5f07f2b2607d42b3e695ed15;hp=9905d973819660fe9455df638b1560282ef72172;hpb=55b84316bb699fa530efe78d75ae8e1d57c1b57f;p=chaz%2Fopenbox diff --git a/openbox/event.c b/openbox/event.c index 9905d973..8a5720a5 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -709,6 +709,9 @@ static void event_process(const XEvent *ec, gpointer data) { used = event_handle_user_input(client, e); + if (prompt && !used) + used = event_handle_prompt(prompt, e); + if (e->type == ButtonPress) { pressed = e->xbutton.button; pressed_win = e->xbutton.subwindow; @@ -1659,6 +1662,12 @@ static void event_handle_client(ObClient *client, XEvent *e) } #ifdef SYNC else if (msgtype == OBT_PROP_ATOM(NET_WM_SYNC_REQUEST_COUNTER)) { + /* if they are resizing right now this would cause weird behaviour. + if one day a user reports clients stop resizing, then handle + this better by resetting a new XSync alarm and stuff on the + new counter, but I expect it will never happen */ + if (moveresize_client == client) + moveresize_end(FALSE); client_update_sync_request_counter(client); } #endif @@ -1853,7 +1862,8 @@ static gboolean event_handle_menu_input(XEvent *ev) else if (sym == XK_Right) { /* Right goes to the selected submenu */ - if (frame->selected->entry->type == OB_MENU_ENTRY_TYPE_SUBMENU) + if (frame->selected && + frame->selected->entry->type == OB_MENU_ENTRY_TYPE_SUBMENU) { /* make sure it is visible */ menu_frame_select(frame, frame->selected, TRUE);