qt6-bb10/tests/auto/widgets
Volker Hilsheimer 686c4835c1 QMenu: don't show an empty menu
If a menu contains no or only invisible actions, then its sizeHint might
become invalid (depending on style), resulting in an invalid geometry.
In that case,  return early from popup(). Otherwise we try to show popup
window with an invalid size, which results in unpredictable behavior,
depending on the windowing system.

To minimize possible fallout from this change, don't return early from
QWidget::show (or QWindow::setVisible), but fix this locally in QMenu.

The QMenuBar test used empty menus to confirm that hovering over other
menu bar entries would highlight the menu bar entry under the mojuse,
and close the currently open menu. This can be tested better and more
reliably  with menus that are not empty, which is (probably) also going
to fix the test on wayland.

Fixes: QTBUG-129108
Change-Id: Icc52528e89baefea04b3b27e6f02674bf74162b2
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 353ce5344fbde5a6cecbdd2c131e1cf0f4b7f383)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-13 05:12:11 +00:00
..
dialogs Cocoa: Use sheetParent to close sheet instead of transientParent 2024-11-04 17:48:56 +00:00
effects Change license for tests files 2024-02-04 09:56:42 +01:00
graphicsview Tests: Reduce the number of module includes 2024-11-04 19:42:27 +00:00
itemviews QHeaderView: update the view correctly in resetDefaultSectionSize 2024-11-01 23:53:56 +01:00
kernel QWidget: clamp own rect in pointInsideRectAndMask 2024-11-11 19:47:03 +00:00
styles QStyle: block future changes that result in QPainter warnings 2024-11-01 22:54:06 +00:00
util Tests: Reduce the number of module includes 2024-11-04 19:42:27 +00:00
widgets QMenu: don't show an empty menu 2024-11-13 05:12:11 +00:00
CMakeLists.txt tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00