<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/121219/">https://git.reviewboard.kde.org/r/121219/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On November 23rd, 2014, 2:33 nachm. UTC, <b>Mark Gaiser</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;">Why is there even a 150ms delay to begin with?</p></pre>
 </blockquote>




 <p>On November 23rd, 2014, 2:34 nachm. UTC, <b>Kai Uwe Broulik</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;">So it does not repeatedly re-render the image when eg. resizing an applet. It just scales the texture and then waits a bit until it re-renders it.</p></pre>
 </blockquote>





 <p>On November 23rd, 2014, 7:37 nachm. UTC, <b>Mark Gaiser</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;">Oke, that seems like a fair reason to delay rendering.
However, it sounds like you are fixing an issue by working around it. Sure, having this flag fixes the case where one wants to have an image rendered "directly", but what if one then resizes the applet that has the "immediate" property set to true? Then you probably get the "repeatedly re-render the image" case again.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">So i think your fix doesn't work as intended. Rather, the fixed delay it has now is imho the bug.
I don't know what a proper fix would be, but i can make an adjucated guess.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The component "somehow" needs to be aware that it's part of a bigger component and is being resized. While it knows that it's being resized it should not update or update less frequently. When it knows that the component is not being resized, it can just immediately draw the source. That solution would solve all cases imho. I have no idea how to implement this. Perhaps a QPA task? or a window manager task? Or both?</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;"><blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">what if one then resizes the applet that has the "immediate" property set to true</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Then that's clearly a client bug.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Another approach might be using QQmlParserStatus::componentComplete() to delay the load until all the static bindings have been evaluated (which also contain the parent's size in case it's dependent on that) and then immediately load the image rather than <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">always</em> after 150ms which causes the flicker I mentioned in the OSD.</p></pre>
<br />










<p>- Kai Uwe</p>


<br />
<p>On November 23rd, 2014, 2:14 nachm. UTC, Kai Uwe Broulik 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 Plasma.</div>
<div>By Kai Uwe Broulik.</div>


<p style="color: grey;"><i>Updated Nov. 23, 2014, 2:14 nachm.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
plasma-framework
</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;">This adds an "immediate" property to IconItem which makes it load the icon immediately, rather than after a 150ms delay. This is handy for clients which just show an icon in a fixed size.</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;">When I add "immediate: true" to the OSD's IconItem the icon appears right away when changing brightness or volume rather than after a short flicker. Resizing applets on the desktop still has it scale them up and reload later.</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>src/declarativeimports/core/iconitem.h <span style="color: grey">(8aecd17)</span></li>

 <li>src/declarativeimports/core/iconitem.cpp <span style="color: grey">(ed3bb97)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/121219/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>








  </div>
 </body>
</html>