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











<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/114178/diff/1/?file=220886#file220886line60" style="color: black; font-weight: bold; text-decoration: underline;">pixmaphelper_x11.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">60</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">QImage</span> <span class="n">image</span><span class="p">(</span><span class="n">xcb_get_image_data</span><span class="p">(</span><span class="n">xImage</span><span class="p">.</span><span class="n">data</span><span class="p">()),</span> <span class="n">width</span><span class="p">,</span> <span class="n">height</span><span class="p">,</span> <span class="n">QImage</span><span class="o">::</span><span class="n">Format_ARGB32</span><span class="p">);</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">You can't just assume that the window uses a visual that's compatible with this QImage format.</pre>
</div>
<br />



<p>- Fredrik Höglund</p>


<br />
<p>On November 28th, 2013, 10:19 a.m. UTC, Martin Gräßlin wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://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 Graphics and Richard Moore.</div>
<div>By Martin Gräßlin.</div>


<p style="color: grey;"><i>Updated Nov. 28, 2013, 10:19 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
ksnapshot
</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;">Patch set is available in kde:clones/ksnapshot/graesslin/ksnapshot branch xcb. Direct link to latest commit: http://commits.kde.org/clones/ksnapshot/graesslin/ksnapshot/6e41a393337c198dd9cebe8c597014b638ea64f4

The branch prepares ksnapshot for two things: changes in QPixmap API in Qt5 and being able to support multiple platforms (X11/Wayland) at runtime which cannot be solved by pure ifdefs.

In summary the changes do the following:
* move X11 specific code from WindowGrabber into a windowgrabber_x11.cpp. Same needs to be done with the windows specific code, but I'm not able to do that due to lack of that OS
* port the X11 specific code from WindowGrabber to xcb. For that FindXCB and FindX11XCB is copied from ECM (to be deleted in the Qt 5 branch) and I added some of the helper classes we use in KWin.
* Port the xfixes specific code in ksnapshot.cpp to xcb
* Adds a PixmapHelper class with an X11 backend to provide the functionality which got removed in Qt5.

I'm quite confident that the code base after those changes will compile against Qt 5, though I have not tried yet. Wanted to get out this review request first.</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>CMakeLists.txt <span style="color: grey">(9b2dc6e)</span></li>

 <li>cmake/modules/FindX11_XCB.cmake <span style="color: grey">(PRE-CREATION)</span></li>

 <li>cmake/modules/FindXCB.cmake <span style="color: grey">(PRE-CREATION)</span></li>

 <li>config-ksnapshot.h.cmake <span style="color: grey">(deca85f)</span></li>

 <li>freeregiongrabber.cpp <span style="color: grey">(f7f1924)</span></li>

 <li>kbackgroundsnapshot.cpp <span style="color: grey">(9d81ba1)</span></li>

 <li>ksnapshot.cpp <span style="color: grey">(ca308bb)</span></li>

 <li>ksnapshotobject.cpp <span style="color: grey">(608f7dc)</span></li>

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

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

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

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

 <li>regiongrabber.cpp <span style="color: grey">(fb038a3)</span></li>

 <li>windowgrabber.cpp <span style="color: grey">(21a9531)</span></li>

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

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

</ul>

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







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








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