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> |
||
|---|---|---|
| .. | ||
| auto | ||
| baseline | ||
| benchmarks | ||
| global | ||
| libfuzzer | ||
| manual | ||
| shared | ||
| testserver | ||
| CMakeLists.txt | ||
| README | ||
README
This directory contains autotests and benchmarks based on Qt Test. In order
to run the autotests reliably, you need to configure a desktop to match the
test environment that these tests are written for.
Linux X11:
* The user must be logged in to an active desktop; you can't run the
autotests without a valid DISPLAY that allows X11 connections.
* The tests are run against a KDE3 or KDE4 desktop.
* Window manager uses "click to focus", and not "focus follows mouse". Many
tests move the mouse cursor around and expect this to not affect focus
and activation.
* Disable "click to activate", i.e., when a window is opened, the window
manager should automatically activate it (give it input focus) and not
wait for the user to click the window.