diff options
Diffstat (limited to 'src/widgets/qpopupmenu.cpp')
-rw-r--r-- | src/widgets/qpopupmenu.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/widgets/qpopupmenu.cpp b/src/widgets/qpopupmenu.cpp index 9e1e01c..f20cbfc 100644 --- a/src/widgets/qpopupmenu.cpp +++ b/src/widgets/qpopupmenu.cpp @@ -652,19 +652,19 @@ void QPopupMenu::popup( const QPoint &pos, int indexAtPoint ) int hGuess = qApp->reverseLayout() ? QEffects::LeftScroll : QEffects::RightScroll; int vGuess = QEffects::DownScroll; if ( qApp->reverseLayout() ) { - if ( snapToMouse && ( x + w/2 > mouse.x() ) || + if ( ( snapToMouse && ( x + w/2 > mouse.x() ) ) || ( parentMenu && parentMenu->isPopupMenu && ( x + w/2 > ((QPopupMenu*)parentMenu)->x() ) ) ) hGuess = QEffects::RightScroll; } else { - if ( snapToMouse && ( x + w/2 < mouse.x() ) || + if ( ( snapToMouse && ( x + w/2 < mouse.x() ) ) || ( parentMenu && parentMenu->isPopupMenu && ( x + w/2 < ((QPopupMenu*)parentMenu)->x() ) ) ) hGuess = QEffects::LeftScroll; } #ifndef QT_NO_MENUBAR - if ( snapToMouse && ( y + h/2 < mouse.y() ) || + if ( ( snapToMouse && ( y + h/2 < mouse.y() ) ) || ( parentMenu && parentMenu->isMenuBar && ( y + h/2 < ((QMenuBar*)parentMenu)->mapToGlobal( ((QMenuBar*)parentMenu)->pos() ).y() ) ) ) vGuess = QEffects::UpScroll; |