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