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




<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDE Frameworks.</div>
<div>By Martin Gräßlin.</div>










<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kwindowsystem
</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;">So far KWindowEffects had a compile time switch. Either it got compiled
for X11 or a dummy implementation got used. The actual runtime platform
got not considered at all. This change ensures that the X11
implementation is only used if the runtime platform is xcb. So if for
example one uses Wayland, but KWindowSystem got compiled with X11
support the dummy implementation is picked.
    
To achieve that a new pure virtual KWindowEffectsPrivate class is
introduced which has two implementations: KWindowEffectsPrivateDummy
and KWindowEffectsPrivateX11.
    
A new implementation for KWindowEffects is added which uses a global
static which holds a pointer to the KWindowEffectsPrivate. Thus the
global static functions acts as a factory method to pick the proper
implementation for the runtime system. The implementation of the
methods just delegate to the respective method of
KWindowEffectsPrivate.</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;">X11 unit test is working</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/CMakeLists.txt <span style="color: grey">(6a500fe9b257d8ff1871e799f7cdcd880de06128)</span></li>

 <li>src/kwindoweffects.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/kwindoweffects_dummy.cpp <span style="color: grey">(ce3b9bf4405d1befe3e36d3ede0a4bafe81d850d)</span></li>

 <li>src/kwindoweffects_p.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/kwindoweffects_x11.cpp <span style="color: grey">(b71e6b9f30d2f02ea86aa58b0b135a206904af7b)</span></li>

</ul>

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







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




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