Title says it all, easy to test.
Regarding to comments in ui_handle_menu_event() from interface_handlers.c this is intended behavior. Probably because of this code is shared with menus and popup-s.
Probably logic can be splited for menu and popups. Brecht, what do you think about this?
I'm not sure what you mean by splitting logic, how big a change that would be? A bugfix in revision 33696 changed this from OK to CANCEL. But I guess it should be OK for this case still, then popup_func can be used?