Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.8.0 Beta1
-
None
-
e94bd61da (dev), 0ab563710 (6.8)
Description
Reproduce:
- start qtdeclarative/tests/manual/quickcontrols/menus
- set popupType to "Native"
- Right-click in the area above the "Context menu" to show the context menu
- Close it by left-clicking outside
- GOTO 3
For native context menus, calls to Popup.open() will be blocking, which is the distinguishing factor from using e.g Popup.Window or Popup.Item. And since a press on the button in the menus test opens a native blocking context menu, the corresponding mouse release will not be sent to Qt (but to the native context menu).
Some observations:
You will see that on every second right-click the context menu doesn't show up. It might be because:
- Right button is pressed: right-press is sent to the main window, then brings up a new context menu Window
- Right button is released: When right-release is sent, it is sent to the new context menu Window is under the mouse
- context menu closes
- Right button is pressed: DA of the main window is still thinking that right mouse button is pressed, so a subsequent right mouse button press does nothing
- Right button is released: right-release is processed by the DA and is reset back to "no buttons pressed"
- Right button is pressed: DA state is now that no buttons are pressed. It will therefore change state to right-button-pressed and consequently open the Context menu
Attachments
For Gerrit Dashboard: QTBUG-126539 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
570423,2 | QQuickMenu: cancel all grabs before QPlatformMenu::showPopup() | dev | qt/qtdeclarative | Status: NEW | 0 | 0 |