> On Sept. 24, 2014, 7:48 p.m., 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. ;) > > Thomas Lübking wrote: > 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)
backtrace: http://paste.kde.org/pvnu8pgui If I recall correctly, Qt5.3's QMenu::addTitle and QMenu::addSection indeed call for what I think you mean with texted separators. And OS X will only render the separator for those. OS X 10.6 in any case, but I don't see why that would have changed in later versions. - René J.V. ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/120355/#review67379 ----------------------------------------------------------- On Sept. 24, 2014, 7:10 p.m., 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, 7:10 p.m.) > > > 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 > >