> On Sept. 24, 2014, 5:48 nachm., Thomas Lübking wrote:
> > I assume you'd be better off altering KMenu::addTitle() - or even patch Qt 
> > (QMenu on mach cannot deal w/ widget actions, at least if used on the 
> > global menubar)
> 
> René J.V. Bertin wrote:
>     I agree totally, but for that
>     
>     - I'd have to understand exactly what the addTitle does that makes Qt/Mac 
> crash
>     - Ideally I'd also know how to determine if the menu is in the global 
> menubar or e.g. in a popup menu, where addTitle works perfectly fine. I think 
> we'd want to preserve that because popup menus follow the selected style and 
> not necessarily the OS X style.
>     
>     There's also the point that the addTitle (and addSection, IIRC) in Qt5 
> don't crash. They have other issues (IIRC you get just a separator, not the 
> title text) but until now I've preferred to handle these crashes on a 
> case-by-case basis.
>     
>     I admit, this RR was also made a bit with the idea of getting a 
> discussion going about this issue. ;)

Since KMenu is deprecated and the ::addTitle() implementation doesn't differ in 
KF5, either the applications have simply been ported away from KMenu or 
QWidgetAction was fixed in Qt5.

To know why exactly this crashes for you, i'd need to see a backtrace 
(paste.kde.org) - Qt4 claimed QWidgetAction support on OSX' global menu - with 
some caveats.
If QMenu::menuAction() is in the action list of the global menu - 
unfortunately, this menubar is parentless :-(
Also there's no guarantee that this assignment won't change at some point in 
the future to any direction.

> IIRC you get just a separator, not the title text

What basically means that the QWidget(Action) reparenting doesn't work at all 
in Qt5 anymore (at best the linked out widget is just hidden)


Disclaimer: I'm a bit biased here ;-)
Imo using a QWidgetAction as title was a wrong design itfp - I proposed a Qt4 
patch to use a leading and entitled separator instead, but it was rejected 
because not all styles did/do support texted separators. No idea whether that 
patch was revived for Qt5, never tested. (And, tbh, I don't know whether the 
native styles, ie. Win and Mac, support texted separators)


- Thomas


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/120355/#review67379
-----------------------------------------------------------


On Sept. 24, 2014, 5:10 nachm., René J.V. Bertin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/120355/
> -----------------------------------------------------------
> 
> (Updated Sept. 24, 2014, 5:10 nachm.)
> 
> 
> Review request for KDE Base Apps, KDE Software on Mac OS X and kdelibs.
> 
> 
> Repository: kde-baseapps
> 
> 
> Description
> -------
> 
> Mac OS X cannot handle the formatting used for title menu items when it 
> applies to items in the toplevel menu bar. An application calling 
> KMenu::addTitle on such a menu item will crash immediately, somewhere deep in 
> Qt.
> 
> This patch works around that crash by emulating the addTitle effect.
> 
> Curiously, the addTitle call that causes the crash when clicking on the Help 
> menu concerns a submenu of an item of the Tools menu...
> 
> 
> Diffs
> -----
> 
>   konq-plugins/uachanger/uachangerplugin.cpp 5e2d094 
> 
> Diff: https://git.reviewboard.kde.org/r/120355/diff/
> 
> 
> Testing
> -------
> 
> OS X 10.6.8 with kdelibs 4.14.1
> 
> 
> Thanks,
> 
> René J.V. Bertin
> 
>

Reply via email to