| Summary: | Click events not sent to the right widget when using OpenGL | ||
|---|---|---|---|
| Product: | [Unmaintained] Necessitas | Reporter: | Gabi Julien <gabi.julien> |
| Component: | Android Qt4 | Assignee: | BogDan Vatra <bogdan> |
| Status: | RESOLVED UNMAINTAINED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | beta1 | ||
| Target Milestone: | Unspecified | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | Proposed patch | ||
Current implementation of OpenGL doesn't support more than one top level window. Please post it to https://git.reviewboard.kde.org/dashboard/ for reviewing. Hello! Sorry to be the bearer of bad news, but this project has been unmaintained for many years and I will be closing this bug. |
Created attachment 76368 [details] Proposed patch As opposed to the platforms/android/libandroid-9.so plugin, libandroidGL-9.so does not have an implementation for QPlatformScreen::topLevelAt. Unfortunately, the default implementation does not store a Z ordered stack of all widgets and so it might not return the right one. Procedure: 1. Create a Qt app for Android 4.0 that uses OpenGL (libQtOpenGL.so and libandroidGL-9.so are loaded). 2. Add lots of widgets or dialogs on top of each other. 3. Raise widgets to change the Z ordering randomly. 4. Click on the top level widget. Outcome: - The click event might be sent to the wrong widget. I will attach a patch.