<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="http://svn.reviewboard.kde.org/r/5380/">http://svn.reviewboard.kde.org/r/5380/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On September 18th, 2010, 8:54 p.m., <b>Stefan Majewsky</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;">Sounds sensible. Before you commit, could you please test for no crashes explicitly, e.g. by removing the relevant setRenderSize() calls in some game?</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;">I commented out all the setRenderSize calls for at least a half dozen games. All of them ran fine, despite not showing anything.
Looking at the code, this makes sense because the first thing KGameRendererPrivate::requestPixmap() does is check for an empty size and immediately returns a null pixmap.</pre>
<br />
<p>- Parker</p>
<br />
<p>On September 18th, 2010, 8:22 p.m., Parker Coates wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://svn.reviewboard.kde.orgrb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for KDE Games.</div>
<div>By Parker Coates.</div>
<p style="color: grey;"><i>Updated 2010-09-18 20:22:58</i></p>
<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;">Currently, KGameRendererClients are created with a default renderSize of 3x3. This patch changes the default to an invalid size so that no rendering is done until a valid renderSize is given. This both saves some totally unnecessary rendering and is more likely to match the expectations of users of KGRC.
I was just trying to fix a bug in KPat that I eventually tracked down to an unexpected item paint event happening with a 3x3 pixmap. The issue was intermittent due to a race condition between the KGameRenderer's threaded rendering and Qt's delayed painting making it tricky to track down. Anyway, once I found the source of the 3x3 size, the issue was easy enough to work around, but I'd rather not see other devs hit similar issues.
Stefan, is this behaviour intentional? Is there any chance that this patch could cause breakages inside KGameRenderer?</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;">Tried several of the games ported to KGR and saw no regressions. I doubt any one was depending on the default renderSize being non-empty.</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>trunk/KDE/kdegames/libkdegames/kgamerendererclient.cpp <span style="color: grey">(1176563)</span></li>
</ul>
<p><a href="http://svn.reviewboard.kde.org/r/5380/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>