diff options
author | Uli Schlachter <psychon@znc.in> | 2012-07-17 23:44:01 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-25 00:59:35 +0200 |
commit | cd398431e370eddb80707e4aa195453036598d67 (patch) | |
tree | 4b62d6994937e08ba97896e2310283bfb96a8fa6 | |
parent | 597b99305e7c46ffcc83c60b7412bdff4e888500 (diff) |
QXcbWindow::setMask(): Check for SHAPE extension
If the SHAPE extension is not available and we try to use it, the xcb connection
will shut down and go into an error state. This is bad because there would be no
error message that would give a hint on what went wrong.
Change-Id: I1a6734bd146ca179a990b6ce896813bf76007b66
Signed-off-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
-rw-r--r-- | src/plugins/platforms/xcb/qxcbwindow.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp index 55ba0459a8..d07442e4ef 100644 --- a/src/plugins/platforms/xcb/qxcbwindow.cpp +++ b/src/plugins/platforms/xcb/qxcbwindow.cpp @@ -1718,6 +1718,8 @@ static inline xcb_rectangle_t qRectToXCBRectangle(const QRect &r) void QXcbWindow::setMask(const QRegion ®ion) { + if (!connection()->hasXShape()) + return; if (region.isEmpty()) { xcb_shape_mask(connection()->xcb_connection(), XCB_SHAPE_SO_SET, XCB_SHAPE_SK_BOUNDING, xcb_window(), 0, 0, XCB_NONE); |