summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/IconButton.cc1
-rw-r--r--src/Window.cc6
2 files changed, 4 insertions, 3 deletions
diff --git a/src/IconButton.cc b/src/IconButton.cc
index b9cf523..aaff5b8 100644
--- a/src/IconButton.cc
+++ b/src/IconButton.cc
@@ -57,7 +57,6 @@ public:
57 explicit ShowMenu(FluxboxWindow &win):m_win(win) { } 57 explicit ShowMenu(FluxboxWindow &win):m_win(win) { }
58 void execute() { 58 void execute() {
59 m_win.screen().hideMenus(); 59 m_win.screen().hideMenus();
60 m_win.menu().enableTitle();
61 // get last button pos 60 // get last button pos
62 const XEvent &event = Fluxbox::instance()->lastEvent(); 61 const XEvent &event = Fluxbox::instance()->lastEvent();
63 int x = event.xbutton.x_root - (m_win.menu().width() / 2); 62 int x = event.xbutton.x_root - (m_win.menu().width() / 2);
diff --git a/src/Window.cc b/src/Window.cc
index 523fd66..d878e2e 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -2333,8 +2333,10 @@ void FluxboxWindow::showMenu(int menu_x, int menu_y) {
2333 2333
2334 int head = screen().getHead(menu_x, menu_y); 2334 int head = screen().getHead(menu_x, menu_y);
2335 2335
2336 // but not under screen 2336 // but not off the screen
2337 if (menu_y + menu().height() >= screen().maxBottom(head)) 2337 if (menu_y < static_cast<signed>(screen().maxTop(head)))
2338 menu_y = screen().maxTop(head);
2339 else if (menu_y + menu().height() >= screen().maxBottom(head))
2338 menu_y = screen().maxBottom(head) - menu().height() - 1 - menu().fbwindow().borderWidth(); 2340 menu_y = screen().maxBottom(head) - menu().height() - 1 - menu().fbwindow().borderWidth();
2339 2341
2340 if (menu_x < static_cast<signed>(screen().maxLeft(head))) 2342 if (menu_x < static_cast<signed>(screen().maxLeft(head)))