[KDE/Mac] Review Request 128130: [OS X/Qt4] prevent menu rendering artefacts

René J.V. Bertin rjvbertin at gmail.com
Thu Jun 16 21:37:27 UTC 2016



> On June 8, 2016, 11:31 p.m., Yichao Yu wrote:
> > Apparently the gmail spam filter is very good at picking out review requests...... Anyway...
> > 
> > I'm certainly fine with disabling an option on mac if it is causing problems. Do you have any idea what's causing this? (And am I correctly understand that this is not a problem on qt5?)
> 
> René J.V. Bertin wrote:
>     Ah, for you too?
>     
>     Yes, this is indeed not an issue on Qt5. From what I understand Qt4 has a certain number of shortcomings (not to say bugs) in its rendering implementation that affect compositing/composited operations. And that's with a KDELibs patch that forces Qt4 into raster mode.
>     I know someone explained it a bit better to us a year or 2 ago when we were trying to get it fixed in the Oxygen style. That wasn't long before we turned to QtCurve and then I quickly forgot about it. Seeing the glitch appear when I turned on rounded popup menus was a surprise, but the answer to your question probably lies in the menu item drawing sequence when the mouse has passed over it and is no longer on one of the surrounding items either.
>     
>     But whatever it is, it's not just the operation(s) that is/are carried out. Once an application has been in a style that triggers the artefact, switching it back to (say) QtCurve doesn't make the artefact go away. You have to restart the app for that.

Just as a FYI:

a very similar issue can occur in the KWin4 menus, at least on certain hardware. This is a good indication that compositing is the underlying cause.


- René J.V.


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


On June 9, 2016, 6:07 p.m., René J.V. Bertin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/128130/
> -----------------------------------------------------------
> 
> (Updated June 9, 2016, 6:07 p.m.)
> 
> 
> Review request for KDE Software on Mac OS X and Yichao Yu.
> 
> 
> Repository: qtcurve
> 
> 
> Description
> -------
> 
> Qt4 for Mac OS X has certain shortcomings that can cause rendering artefacts when compositing is used. In QtCurve this can be avoided which made it the preferred widget style for the MacPorts KDE4 ports.
> The artefact does occur when using rounded popup menus. Popup menus ought to have rounded corners in order to follow the native style. This works fine under Qt5 but with Qt4 this causes menus to appear empty except under the mouse cursor.
> 
> Since the Qt4 and Qt5 styles share a single preferences file, I propose a patch for qt4/qtcurve.cpp . This makes the code pretend (on OS X) that the "square popup menus" attribute is always set, regardless of the actual setting
> 
> 
> Diffs
> -----
> 
>   qt4/style/qtcurve.cpp 059d906 
> 
> Diff: https://git.reviewboard.kde.org/r/128130/diff/
> 
> 
> Testing
> -------
> 
> On OS X 10.9 and Linux, both with Qt 4.8.7 and Qt 5.6.0
> 
> 
> Thanks,
> 
> René J.V. Bertin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-mac/attachments/20160616/ffbbf1a0/attachment.html>


More information about the kde-mac mailing list