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

Aaron J. Seigo aseigo at kde.org
Mon Sep 15 08:20:09 UTC 2014


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


i have merged a version of this patch into the frameworks/ branch of ksnapshot.

there are indeed a few problems there:

1) with the kwin effect, it usually (though not always!) returns a pixmap that is the right geometry but with a completely empty image
2) without the kwin effect, windows that are off-screen (e.g. dragged partially off the screen) are not captured

so it needs a bit more work, but the patch is at least merged into the version that builds against frameworks. Martin: would you be able/willing to take a look at the code in that branch and see if you can improve on the above two issues?

- Aaron J. Seigo


On Jan. 24, 2014, 10:32 a.m., Martin Gräßlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/114178/
> -----------------------------------------------------------
> 
> (Updated Jan. 24, 2014, 10:32 a.m.)
> 
> 
> Review request for KDE Graphics and Richard Moore.
> 
> 
> 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
> -----
> 
>   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/20140915/e95f7bb0/attachment.html>


More information about the Kde-graphics-devel mailing list