<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/128130/">https://git.reviewboard.kde.org/r/128130/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On June 8th, 2016, 11:31 p.m. CEST, <b>Yichao Yu</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Apparently the gmail spam filter is very good at picking out review requests...... Anyway...</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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?)</p></pre>
</blockquote>
<p>On June 9th, 2016, 6:07 p.m. CEST, <b>René J.V. Bertin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Ah, for you too?</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p></pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Just as a FYI:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p></pre>
<br />
<p>- René J.V.</p>
<br />
<p>On June 9th, 2016, 6:07 p.m. CEST, René J.V. Bertin wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
<div>Review request for KDE Software on Mac OS X and Yichao Yu.</div>
<div>By René J.V. Bertin.</div>
<p style="color: grey;"><i>Updated June 9, 2016, 6:07 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
qtcurve
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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</p></pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">On OS X 10.9 and Linux, both with Qt 4.8.7 and Qt 5.6.0</p></pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>qt4/style/qtcurve.cpp <span style="color: grey">(059d906)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/128130/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>