[Kde-graphics-devel] Review Request 114178: XCB port and port away from window-system specific functionality in QPixmap

Martin Gräßlin mgraesslin at kde.org
Fri Jan 24 10:32:02 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/114178/
-----------------------------------------------------------

(Updated Jan. 24, 2014, 11:32 a.m.)


Review request for KDE Graphics and Richard Moore.


Changes
-------

Thanks, Fredrik for pointing out this stupid mistake (quite embarassing given that we went through that for KXUtils). I have no integrated the code for KXUtils, but it doesn't work as expected. I always get an ximage with depth 24, even for windows which don't have that (e.g. xterm) which results in a rather broken screenshot. The orig version has no problems capturing the same window, though. Any idea where the problem could be?


Repository: ksnapshot


Description
-------

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.


Diffs (updated)
-----

  CMakeLists.txt 9b2dc6e 
  cmake/modules/FindX11_XCB.cmake PRE-CREATION 
  cmake/modules/FindXCB.cmake PRE-CREATION 
  config-ksnapshot.h.cmake deca85f 
  freeregiongrabber.cpp f7f1924 
  kbackgroundsnapshot.cpp 9d81ba1 
  ksnapshot.cpp ca308bb 
  ksnapshotobject.cpp 608f7dc 
  pixmaphelper.h PRE-CREATION 
  pixmaphelper.cpp PRE-CREATION 
  pixmaphelper_x11.h PRE-CREATION 
  pixmaphelper_x11.cpp PRE-CREATION 
  regiongrabber.cpp fb038a3 
  windowgrabber.cpp 21a9531 
  windowgrabber_x11.cpp PRE-CREATION 
  xcbutils.h PRE-CREATION 

Diff: https://git.reviewboard.kde.org/r/114178/diff/


Testing
-------


Thanks,

Martin Gräßlin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-graphics-devel/attachments/20140124/69be53a8/attachment.html>


More information about the Kde-graphics-devel mailing list