diff options
Diffstat (limited to 'src/FbTk/Menu.cc')
-rw-r--r-- | src/FbTk/Menu.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/FbTk/Menu.cc b/src/FbTk/Menu.cc index fbf7e45..e0e3e7f 100644 --- a/src/FbTk/Menu.cc +++ b/src/FbTk/Menu.cc | |||
@@ -475,7 +475,7 @@ void Menu::updateMenu(int active_index) { | |||
475 | } | 475 | } |
476 | 476 | ||
477 | menu.frame.moveResize(0, ((m_title_vis) ? menu.title.y() + menu.title.height() + | 477 | menu.frame.moveResize(0, ((m_title_vis) ? menu.title.y() + menu.title.height() + |
478 | menu.title.borderWidth()*2 : 1), | 478 | menu.title.borderWidth()*2 : 0), |
479 | width(), menu.frame_h); | 479 | width(), menu.frame_h); |
480 | 480 | ||
481 | if (m_title_vis && m_need_update) { | 481 | if (m_title_vis && m_need_update) { |
@@ -927,6 +927,8 @@ void Menu::motionNotifyEvent(XMotionEvent &me) { | |||
927 | } | 927 | } |
928 | 928 | ||
929 | m_moving = m_torn = true; | 929 | m_moving = m_torn = true; |
930 | // clear current highlighted item | ||
931 | clearItem(m_active_index); | ||
930 | 932 | ||
931 | if (m_which_sub >= 0) | 933 | if (m_which_sub >= 0) |
932 | drawSubmenu(m_which_sub); | 934 | drawSubmenu(m_which_sub); |
@@ -1238,7 +1240,8 @@ void Menu::clearItem(int index, bool clear) { | |||
1238 | int item_x = (sbl * item_w), item_y = (i * item_h); | 1240 | int item_x = (sbl * item_w), item_y = (i * item_h); |
1239 | bool highlight = (index == m_active_index); | 1241 | bool highlight = (index == m_active_index); |
1240 | 1242 | ||
1241 | if (highlight) { | 1243 | // don't highlight if moving, doesn't work with alpha on |
1244 | if (highlight && !m_moving) { | ||
1242 | highlightItem(index); | 1245 | highlightItem(index); |
1243 | return; | 1246 | return; |
1244 | } else if (clear) | 1247 | } else if (clear) |