For some reason, XCB accepts positions as unsigned integers, even though the X protocol explicitly allows negative values (windows overlapping the left/top screen border). After discussion with Samuel and Laszlo, use a reinterpret_cast to convert from the signed representation to the unsigned one. I also extended the clipping of the extents to the position. I guess if X can't handle widths beyond XCOORD_MAX, it won't be happy with x-coordinates exceeding that limit, either. Change-Id: I2fa0e61f823b6cd45dad6471eaa55f38bb3c3e52 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com> |
||
|---|---|---|
| .. | ||
| README | ||
| main.cpp | ||
| qdri2context.cpp | ||
| qdri2context.h | ||
| qglxintegration.cpp | ||
| qglxintegration.h | ||
| qxcbbackingstore.cpp | ||
| qxcbbackingstore.h | ||
| qxcbclipboard.cpp | ||
| qxcbclipboard.h | ||
| qxcbconnection.cpp | ||
| qxcbconnection.h | ||
| qxcbconnection_maemo.cpp | ||
| qxcbcursor.cpp | ||
| qxcbcursor.h | ||
| qxcbdrag.cpp | ||
| qxcbdrag.h | ||
| qxcbeglsurface.h | ||
| qxcbimage.cpp | ||
| qxcbimage.h | ||
| qxcbintegration.cpp | ||
| qxcbintegration.h | ||
| qxcbkeyboard.cpp | ||
| qxcbkeyboard.h | ||
| qxcbmime.cpp | ||
| qxcbmime.h | ||
| qxcbnativeinterface.cpp | ||
| qxcbnativeinterface.h | ||
| qxcbobject.h | ||
| qxcbscreen.cpp | ||
| qxcbscreen.h | ||
| qxcbsharedbuffermanager.cpp | ||
| qxcbsharedbuffermanager.h | ||
| qxcbsharedgraphicscache.cpp | ||
| qxcbsharedgraphicscache.h | ||
| qxcbwindow.cpp | ||
| qxcbwindow.h | ||
| qxcbwmsupport.cpp | ||
| qxcbwmsupport.h | ||
| xcb.json | ||
| xcb.pro | ||
README
Requires libxcb >= 1.5. Required packages: libxcb1 libxcb1-dev libx11-xcb1 libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-image0 libxcb-image0-dev libxcb-shm0 libxcb-shm0-dev libxcb-icccm1 libxcb-icccm1-dev libxcb-sync0 libxcb-sync0-dev libxcb-render-util0 libxcb-render-util0-dev libxcb-xfixes0-dev libxrender-dev libxcb-shape0-dev On Ubuntu 11.10 icccm1 is replaced by icccm4 and xcb-render-util is not available: libxcb1 libxcb1-dev libx11-xcb1 libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-image0 libxcb-image0-dev libxcb-shm0 libxcb-shm0-dev libxcb-icccm4 libxcb-icccm4-dev libxcb-sync0 libxcb-sync0-dev libxcb-xfixes0-dev libxrender-dev libxcb-shape0-dev The packages for xcb-render-util can be installed manually from http://packages.ubuntu.com/natty/libxcb-render-util0 and http://packages.ubuntu.com/natty/libxcb-render-util0-dev