menu: add dock/clip/dock-position menus to findMenu lookup
findMenu() only checked root_menu, switch_menu, and window_menu. Dock and clip menus were never found, so pointer motion over them could not highlight entries or activate on release. Add CHECK_MENU calls for scr->dock->menu, scr->clip_menu, and scr->dock_pos_menu.
This commit is contained in:
parent
5558a1edf0
commit
1c96a93ac8
20
src/menu.c
20
src/menu.c
|
|
@ -41,6 +41,7 @@
|
|||
#include "dialog.h"
|
||||
#include "rootmenu.h"
|
||||
#include "switchmenu.h"
|
||||
#include "dock.h"
|
||||
|
||||
|
||||
#define MOD_MASK wPreferences.modifier_mask
|
||||
|
|
@ -1155,6 +1156,25 @@ static WMenu *findMenu(WScreen * scr, int *x_ret, int *y_ret)
|
|||
}
|
||||
}
|
||||
|
||||
/* Check dock menu */
|
||||
menu = scr->dock ? scr->dock->menu : NULL;
|
||||
if (menu) {
|
||||
CHECK_MENU(menu);
|
||||
for (int i = 0; i < menu->cascade_no; i++)
|
||||
CHECK_MENU(menu->cascades[i]);
|
||||
}
|
||||
|
||||
/* Check clip menu */
|
||||
menu = scr->clip_menu;
|
||||
if (menu) {
|
||||
CHECK_MENU(menu);
|
||||
for (int i = 0; i < menu->cascade_no; i++)
|
||||
CHECK_MENU(menu->cascades[i]);
|
||||
}
|
||||
|
||||
/* Check dock position menu */
|
||||
CHECK_MENU(scr->dock_pos_menu);
|
||||
|
||||
#undef CHECK_MENU
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue