Review Request 120355: [OS X] prevent a crash when opening konqueror's Help menu
Thomas Lübking
thomas.luebking at gmail.com
Fri Sep 26 19:59:26 BST 2014
> On Sept. 26, 2014, 5:40 nachm., René J.V. Bertin wrote:
> > changing this patch to prevent just the call to invalidateBuffer_resizeHelper (and setting isResize=false when that function cannot be called) shows something in place of the menu's title exactly once. All other times the menu is opened, empty space is shown.
>
> Thomas Lübking wrote:
> No idea why you want to manipulate the resize flag, try just:
>
> diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
> index f58a755..d6a2741 100644
> --- a/src/gui/kernel/qwidget_mac.mm
> +++ b/src/gui/kernel/qwidget_mac.mm
> @@ -4619,7 +4619,7 @@ void QWidgetPrivate::setGeometry_sys_helper(int x, int y, int w, int h, bool isM
>
> setWSGeometry(false, oldRect);
>
> - if (isResize && QApplicationPrivate::graphicsSystem())
> + if (isResize && QApplicationPrivate::graphicsSystem() && q->parentWidget())
> invalidateBuffer_resizeHelper(oldp, olds);
> }
>
> Thomas Lübking wrote:
> blast.
>
> ```diff
> diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
> index f58a755..d6a2741 100644
> --- a/src/gui/kernel/qwidget_mac.mm
> +++ b/src/gui/kernel/qwidget_mac.mm
> @@ -4619,7 +4619,7 @@ void QWidgetPrivate::setGeometry_sys_helper(int x, int y, int w, int h, bool isM
>
> setWSGeometry(false, oldRect);
>
> - if (isResize && QApplicationPrivate::graphicsSystem())
> + if (isResize && QApplicationPrivate::graphicsSystem() && q->parentWidget())
> invalidateBuffer_resizeHelper(oldp, olds);
> }
> ```
>
> René J.V. Bertin wrote:
> let's say that I unset isResize so that the rest of the function can finish in a slightly more appropriate fashion. I don't think it'd do to let it behave as if the resize helper did its job when that function hasn't been called.
It did the resize in a reasonable fashion - at "worst" i't required to follow the function with isRealWindow, ie. have qt_mac_update_sizer() called, but the resize event very most likely needs to be sent.
- Thomas
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/120355/#review67495
-----------------------------------------------------------
On Sept. 26, 2014, 5:28 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. 26, 2014, 5:28 nachm.)
>
>
> Review request for KDE Base Apps, KDE Software on Mac OS X, kdelibs, and Qt KDE.
>
>
> 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
>
>
> File Attachments
> ----------------
>
> patch for qwidget_mac.mm
> https://git.reviewboard.kde.org/media/uploaded/files/2014/09/26/b5c2dd92-33db-4225-9750-d10e13f0f835__prevent_addTitleRelated_crash.patch
> with the Qt patch
> https://git.reviewboard.kde.org/media/uploaded/files/2014/09/26/96f4fbfa-854e-4596-9f5f-d82f98a06955__Screen_shot_2014-09-26_at_19.16.20.png
> with the addTitle emulation patch
> https://git.reviewboard.kde.org/media/uploaded/files/2014/09/26/5ddf4a63-b3bb-415a-815a-c06eb7a5c7f2__Screen_shot_2014-09-26_at_19.19.40.png
>
>
> Thanks,
>
> René J.V. Bertin
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20140926/f591d98d/attachment.htm>
More information about the kde-core-devel
mailing list