Qt 5.12.X Mac OS trackpad click bug?
-
I'm surprised I can't find something on this already. We have an app. It was previously running on 5.9.6. With Macbook setting "Tap to click" turned on, it works as expected. You can tap once on any QPushButton in the app for example and it will do the on click function.
So, we updated to 5.12.4 first. With this there are some style bugs (we use a lot of qss to have "themes" for the user, in 5.12.4 only half the theme is applied). However, there is also (maybe not a bug but expected?) a weird issue where everything now requires and extra "tap" to activate. So, an actual pad click (pushing down on the pad) does the on click of a button right away as expected. However with click, it's now like the first tap only puts focus on the button, you have to tap again (NOT double tap/click, you can actually wait quite a few seconds between taps which is why I know it's a focus thing) to get the button to work. So given 5.12.4 had issues on Windows too and I had to go back down to 5.12.3, I went back down to 5.12.3 on Mac as well. The style/theme issue resolved but I still see this 2 tap behavior. What's up with 5.12.x?! I don't want to step too far back. -
Hi,
What version of macOS are you running ?
Do you have the same issue if you build your application with Qt 5.13.0 ? -
So I tried 5.13.0 and like 5.12.4 it shows qss processing issues and this click issue. I will keep backing up through 5.12.X I suppose. And I found it's not focus because I have a button with a mouse down state. First "tap" is actually doing ONLY mouse down, second is doing mouse up which is also activating on click function.
UPDATE: I can't get 5.12.2 to work! I can replace 5.12.3 to 5.12.4 or 5.13.0 in my Xcode project, but if I do 5.12.2, the project files get corrupt/dissapear on run! Still working on this.
UPDATE: Qt seems to have been problematic on Mac for a while! We originally tried to do 5.11.1 and 5.11.2 but ran into style/ui issues in Mojave and backtracked to 5.9.6 which was flawless until 5.12.X. Now I'm having all these issues with 5.12.X too. 5.12.0 and 5.12.1 are also Breaking Xcode. 5.11.3 works but has same issues in Mojave as the other 5.11.X versions.
We stuck with 5.9.x?!! -
All very strange. I back tracked all the way to 5.12.0 and that is the ONLY 5.12.X version that works correctly. This is odd however because I had to use Creator to do that test, and Creator buttons work fine on tap to click, Creator says it's based on 5.12.4?!
UPDATE: So yeah, I've confirmed 5.12.0 works fine. However, I still can't use that version in Xcode. I need one of 2 things, to know how to make > 5.12.0 work (there maybe a new flag or option you have to set? Since Creator works fine?) or why Xcode will not work with 5.12.0.
For Xcode, I usually just go into Project.xcodeproj and run:perl -p -i -e 's/\/5\.12\.3\//\/5\.12\.0\//g;' `grep -ril /5.12.3/ project.pbxproj qt_makeqmake.mak qt_preprocess.mak`
This has worked forever now, since 5.4 to 5.9, from 5.12.3 to 5.12.4, or 5.13.0, and back to any of those. However, for some reason, when I do 5.12.0 - 5.12.2, then clean and run in Xcode, my project.pbxproj file just disappears and I have to revert/update to get back to a working state?!
-
For those with the Xcode issue, I had made my original Xcode project with qmake.
Well, i found this in qt_makeqmake.mak:
$(QMAKE) -o Z5.xcodeproj/project.pbxproj Z5.pro -spec macx-xcode
@echo 'warning: Xcode project has been regenerated, custom settings have been lost. Use CONFIG+=no_autoqmake to prevent this behavior in the future, at the cost of requiring manual project change tracking.'I don't know why that's in there, and why it didn't mess with 5.13, 5.19, or >5.12.2, but I commented those lines out and I can now build with 5.12.0 in Xcode! For now, this will work, but if there's some new flag/option to make the "Tap to click" work correctly in 5.12.4 I'd lvoe to know it. Thanks!