Bug 282335

Summary: devel/qt6 menus no longer working
Product: Ports & Packages Reporter: mmatalka
Component: Individual Port(s)Assignee: freebsd-kde (group) <kde>
Status: Closed FIXED    
Severity: Affects Only Me CC: agh, jhale, junchoon, tatsuki_makino
Priority: --- Flags: bugzilla: maintainer-feedback? (kde)
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
v1 none

Description mmatalka 2024-10-26 14:10:41 UTC
I upgraded my system to the latest 15.0-CURRENT both menus in obs-studio and shotcut no longer work when clicked with the mouse.  I can navigate to them via the keyboard, but clicking with the mouse does not work.

FreeBSD bix 15.0-CURRENT FreeBSD 15.0-CURRENT #30 main-n273238-f11a9f19b298: Fri Oct 25 21:05:06 WEST 2024     root@bix:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64

I'm on qt version 6.7.3
Comment 1 Jason E. Hale freebsd_committer freebsd_triage 2024-10-26 17:35:49 UTC
I'm on 15.0-CURRENT from 2 days ago with the most recent official packages and I'm not seeing this behavior. The version of shotcut we have in the ports tree still uses qt5, so you're on your own there if using a custom update.
Comment 2 mmatalka 2024-10-26 22:56:27 UTC
Thanks Jason.  FWIW, this was all working as expected last week.  I suspect whatever it is is recent.  Any suggestions on how to debug this?

When I click a menu, the menu word is highlighting but nothing shows up.  I can get to the menu and get it to display via hotkeys though.
Comment 3 Tatsuki Makino 2024-10-27 04:57:22 UTC
Menus can also be manipulated in a drag-and-drop manner.
The famous *ill G@tes is also a M@c user, so even Windâ—‹ws tolerates such input... :)

The recent trend of rounded corners of a square may not be able to keep the focus active within the range used for it.
It's as if you're stepping between the train and the platform... :)

Anyway, first of all, there are various ways to operate the menu.
Comment 4 Jason E. Hale freebsd_committer freebsd_triage 2024-10-27 09:23:42 UTC
(In reply to mmatalka from comment #2)
First, I want to apologize about the shotcut comment since I remembered you were the one trying to help me update that port. That PR still bothers me and I'm actively working to resolve it. It's getting rather shameful at this point.

So in obs-studio, you can use ALT+F on the keyboard to make the File menu drop down, for example, but it just highlights the menu option when you mouse hover over it and nothing happens when you click on it. Am I understanding that right?

Do all Qt6 applications behave this way or just these two? Could you try maybe audio/strawberry and see if that works? (One of my ports and just to add another data point, but if that doesn't work, then I suspect more basal problems.)

I pushed the Qt 6.7.3 update almost a month ago, and this is the first report I have of this nature. Something this big would've had my phone blowing up rather quickly thereafter, but it didn't and I'm personally not seeing it either.

Anything from meh to meltdown can happen when you run CURRENT, though, as I'm sure you understand. Were you using Qt 6.7.3 before you updated base? Did you update every single package when you did your base update? Not sure when you last updated base, but if it was before 2024-09-30, there was a shared library bump in libmd that may be affecting things.
Comment 5 mmatalka 2024-10-28 10:36:12 UTC
No problem Jason, I know it's hard to debug a user that could have a complete different setup than expected.  For what it's worth (prior to this issue) your shotcut patches have been working perfectly for me and I'm really happy with them.

Yes, so when I click File with the mouse, nothing happens except for the menu bar item itself gets highlight.  But I can Alt-F to open the file menu.  Additionally, I can click an entry in the menu with the mouse and it performs the action.  I just can't open the menu.  The place that this becomes a big issue in obs-studio is I cannot add any sources because there is no hotkey (afaik) to open the "+" menu.

Also in messing around in obs I noticed another issue that might be a clue: my obs was setup to work before so I tried to start a screen capture recording and it starts for a second or two and then the recording stops on its own.  I'm not sure why.  And in messing around I removed the Video Capture source so I can't test it anymore hahah.  Whoops!

The reason I think it's qt6 related is because I upgraded my ports on Oct 20th going from 6.7.2 to 6.7.3 and after that I noticed this issue.  But I also tend to update base and pkgs at the same time so which one it is, I don't know.  To be fair, I didn't test it immediately so I'm sort of assuming that's the connection and could easily be wrong.

I tried strawberry and it has the same behaviour around menus.

Now, I've been trying to revert back to 6.7.2 but running into issues getting pkg to install the old packages so I haven't had success, so I don't have any progress there.

I have also watched obs logs, and I don't get any error when I click menus, at least, and otherwise I'm not sure what to look for in obs logs that might be a clue.

I'm going to install latest base today, maybe there was a little transient issue in there?  It is kind of weird that it would be such a specific failure mode given a base issue.  But stranger things have happened.

Thank you for your time and help.
Comment 6 mmatalka 2024-10-28 12:14:33 UTC
For what it's worth, no change in updating base.  I think I'm going to spend some time trying to figure out how to downgrade everything to 6.7.2 (any suggestions would be helpful, I've got poudriere setup, at least) and see if that resolves anything.
Comment 7 Tomoaki AOKI 2024-11-01 00:40:42 UTC
Also happenes at least for multimedia/audacious and graphics/heimer.
On both apps, menus cannot opened by mouse clicking, but shortcut keys.
Once pull down menus are opened, items in it are clickable by mouse.

Buttons are OK.

Mouse cursor is still toooooo small for HiDPI (from the point Qt6 is introduced) when mouse cursor is over Qt6 apps. I've not filed bug for this, as I'm not sure something needed to control mouse pointer size are just not yet ported or not.

Qt5 apps and Gtk* apps are OK, so as far as I've encountered, it's Qt6 specific.
Comment 8 mmatalka 2024-11-01 12:42:49 UTC
Well it's not me at least, so that's progress!
Comment 9 mmatalka 2024-11-19 09:06:31 UTC
Hello!  Just bumping this to see if there is anything I can do to help make progress.  Unfortunately, I would really love to get obs and shotcut working again as they are tools I depend on for some projects.
Comment 10 Tatsuki Makino 2024-11-19 11:22:15 UTC
I suspect the difference between window managers.
I'm using twm, so I haven't been able to reproduce it with vmpk and drumstick.
Comment 11 Jason E. Hale freebsd_committer freebsd_triage 2024-11-19 11:52:31 UTC
(In reply to mmatalka from comment #9)
I haven't forgotten about you, but it's a weird bug that I just can't reproduce and I haven't heard about this from folks testing the new KF6/Qt6 ports, even though I'm still using plasma5. Sorry, but us kde@ folks are mostly focused on KDE. Generally, I'm in agreement with comment#10 that this is WM-related. Still a Qt regression, but only with certain window managers. Possibly related: [1] [2]

Which desktop/WM are you using? Are you using any non-default options in the Qt stack?

At any rate, Qt 6.8.1 will hopefully be hitting the ports tree in a few weeks. Qt 6.8.0 has been prepped for quite a while [3], but I'm waiting on an official PyQt6 release [4]. Not sure if that will fix your problem, but might be worth a try with a poudriere overlay.

[1] https://github.com/PrismLauncher/PrismLauncher/issues/2912
[2] https://github.com/texstudio-org/texstudio/issues/3842
[3] https://github.com/freebsd/freebsd-ports-kde/tree/qt6-6.8.0
[4] https://www.riverbankcomputing.com/pipermail/pyqt/2024-October/046045.html
Comment 12 Tomoaki AOKI 2024-11-19 14:18:05 UTC
(In reply to Jason E. Hale from comment #11)
I'm using compiz 0.8.18(updates provided by Ken Deguchi at https://github.com/kdeguchi/ports as overlay including unrelated things) on top of Mate DE (x11/mate).

And link [2] you listed states
> How to reproduce
> 
> Use a non-integrated WM with Qt6.

and it also is applicable for me.

And as I've already noted on Comment #7, toolkits other than Qt6 is sane (Qt5 is sane, too), so I think this issue is on Qt6.
As the menu sometimes turns blue just a moment then back to gray, sometimes shown just a moment then dissappears, usually nothing happen, I suspect unti-chattering or something in Qt6 is mis-behaving.
Comment 13 mmatalka 2024-11-19 14:37:12 UTC
I'm using i3 as my WM.  As far as I know, I have no special Qt6 configuration.

Thank you Jason!  I understand, limited resources and focused on KDE.  Thank you for your hard work, I'm looking forward to the next qt6 drop.
Comment 14 Jason E. Hale freebsd_committer freebsd_triage 2024-11-20 06:58:55 UTC
Created attachment 255319 [details]
v1

Could you please try this patch for devel/qt6-base? I installed i3, fumbled my way around, and the menus worked for me in strawberry and obs. Honestly, I was really hoping for failure so I could actually dig into this. Maybe it's because I'm using a touchpad on a laptop? The patch reverts a commit that was causing issues with mouse scrollwheel behavior and button mapping. Hopefully, that is what is causing this too.
Comment 15 Tomoaki AOKI 2024-11-20 11:27:25 UTC
(In reply to Jason E. Hale from comment #14)
Thanks!
Tried with multimedia/audacious (in conjuction with multimedia/audacious-plugins) and graphics/heimer.

The issue is fixed for me with your patch.
Comment 16 mmatalka 2024-11-20 13:04:36 UTC
YESS It works!!!!!!!

Wonderful.  Thank you so much, Jason!
Comment 17 commit-hook freebsd_committer freebsd_triage 2024-11-20 21:08:22 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=877838cddb86aba19f6f2d074dcd13e0da584f79

commit 877838cddb86aba19f6f2d074dcd13e0da584f79
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2024-11-20 20:57:54 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2024-11-20 21:07:26 +0000

    devel/qt6-base: Fix broken mouse behavior

    Add upstream patch that reverts a bad commit causing mouse scroll wheel,
    button click, and button mapping issues with certain window managers.
    The report in this case was being unable to click on items in menu bars.

    PR:             282335
    Reported by:    <mmatalka@gmail.com>
    MFH:            2024Q4

 devel/qt6-base/Makefile | 4 ++++
 devel/qt6-base/distinfo | 4 +++-
 2 files changed, 7 insertions(+), 1 deletion(-)
Comment 18 commit-hook freebsd_committer freebsd_triage 2024-11-20 21:09:24 UTC
A commit in branch 2024Q4 references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=832fb76d497cd259a0fd8d2e5c7d45a8f221ac44

commit 832fb76d497cd259a0fd8d2e5c7d45a8f221ac44
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2024-11-20 20:57:54 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2024-11-20 21:08:20 +0000

    devel/qt6-base: Fix broken mouse behavior

    Add upstream patch that reverts a bad commit causing mouse scroll wheel,
    button click, and button mapping issues with certain window managers.
    The report in this case was being unable to click on items in menu bars.

    PR:             282335
    Reported by:    <mmatalka@gmail.com>
    MFH:            2024Q4

    (cherry picked from commit 877838cddb86aba19f6f2d074dcd13e0da584f79)

 devel/qt6-base/Makefile | 4 ++++
 devel/qt6-base/distinfo | 4 +++-
 2 files changed, 7 insertions(+), 1 deletion(-)
Comment 19 Jason E. Hale freebsd_committer freebsd_triage 2024-11-20 21:13:06 UTC
Glad it works! Sorry it took so long to track this down.
Comment 20 Tomoaki AOKI 2024-11-20 21:44:40 UTC
(In reply to Jason E. Hale from comment #19)
Thanks!