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



 <p>Ship it!</p>



 <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;">Ship It!</p></pre>
 <br />









<p>- Marco Martin</p>


<br />
<p>On November 25th, 2014, 9:18 a.m. UTC, Daniel Vrátil 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 Daniel Vrátil.</div>


<p style="color: grey;"><i>Updated Nov. 25, 2014, 9:18 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
plasma-workspace
</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 patch ports ShellCorona and PanelView to new KScreen API. The new API is completely asynchronous and is using shared pointers. The internals have also undergone some major changes, but they don't directly affect Plasma.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Additionally to the port, this patch also changes the way ShellCorona reacts to primary screen changes: instead of listening to Output::isPrimaryChanged on each output, it listens now to Config::primaryOutputChanged. The reason is that when some output is set as primary, the signal is emitted right away. This can happen before the old primary is unset though, which then causes crashes in screenInvariants() in some situations/configurations. Listening to Config::primaryOutputChanges ensures that Plasma reacts only once, and only when the Config is consistent.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The new KScreen API is available in dev/redesign branches in libkscreen.git. I'll merge the branch to "frameworks" branch once this review is approved in order not to break build.</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;">Been using this patch and the new KScreen for couple weeks now, works better than the old one.</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>shell/panelview.cpp <span style="color: grey">(0dc5740)</span></li>

 <li>shell/shellcorona.h <span style="color: grey">(5e97e02)</span></li>

 <li>shell/shellcorona.cpp <span style="color: grey">(0da789f)</span></li>

</ul>

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






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








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