diff --git a/src/gui/painting/qpaintengine_x11.cpp b/src/gui/painting/qpaintengine_x11.cpp index 2181aac0b..983c8401f 100644 --- a/src/gui/painting/qpaintengine_x11.cpp +++ b/src/gui/painting/qpaintengine_x11.cpp @@ -1995,7 +1995,8 @@ void QX11PaintEngine::updateClipRegion_dev(const QRegion &clipRegion, Qt::ClipOp { Q_D(QX11PaintEngine); QRegion sysClip = systemClip(); - if (op == Qt::NoClip) { + switch (op) { + case Qt::NoClip: d->has_clipping = false; d->crgn = sysClip; if (!sysClip.isEmpty()) { @@ -2004,9 +2005,6 @@ void QX11PaintEngine::updateClipRegion_dev(const QRegion &clipRegion, Qt::ClipOp x11ClearClipRegion(d->dpy, d->gc, d->gc_brush, d->picture); } return; - } - - switch (op) { case Qt::IntersectClip: if (d->has_clipping) { d->crgn &= clipRegion; @@ -2024,8 +2022,6 @@ void QX11PaintEngine::updateClipRegion_dev(const QRegion &clipRegion, Qt::ClipOp if (!sysClip.isEmpty()) d->crgn = d->crgn.intersected(sysClip); break; - default: - break; } d->has_clipping = true; x11SetClipRegion(d->dpy, d->gc, d->gc_brush, d->picture, d->crgn);