diff --git a/WINGs/wpopupbutton.c b/WINGs/wpopupbutton.c index 012e076..b66addf 100644 --- a/WINGs/wpopupbutton.c +++ b/WINGs/wpopupbutton.c @@ -720,7 +720,11 @@ static void handleActionEvents(WMEvent * event, void *data) } bPtr->view->screen->viewBackend->pointer_ungrab( bPtr->view->screen->viewBackendCtx, event->u.button.time); - if (!bPtr->flags.pullsDown) + /* Only close on release from menu view (drag-select) or insideMenu active. + * A plain click on the button without entering the menu keeps it open. */ + if (!bPtr->flags.pullsDown + && (event->window == bPtr->menuView->window + || bPtr->flags.insideMenu)) popDownMenu(bPtr); if (bPtr->timer) {