https://bugs.kde.org/show_bug.cgi?id=368847
Martin Gräßlin <mgraess...@kde.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|NOR |HI Component|general |scene-opengl --- Comment #3 from Martin Gräßlin <mgraess...@kde.org> --- Relevant code section: m_hardwareClipping = region != infiniteRegion() && (mask & PAINT_WINDOW_TRANSFORMED) && !(mask & PAINT_SCREEN_TRANSFORMED); if (region != infiniteRegion() && !m_hardwareClipping) { WindowQuadList quads; quads.reserve(data.quads.count()); const QRegion filterRegion = region.translated(-x(), -y()); // split all quads in bounding rect with the actual rects in the region foreach (const WindowQuad &quad, data.quads) { foreach (const QRect &r, filterRegion.rects()) { const QRectF rf(r); const QRectF quadRect(QPointF(quad.left(), quad.top()), QPointF(quad.right(), quad.bottom())); const QRectF &intersected = rf.intersected(quadRect); if (intersected.isValid()) { if (quadRect == intersected) { // case 1: completely contains, include and do not check other rects quads << quad; break; } // case 2: intersection quads << quad.makeSubQuad(intersected.left(), intersected.top(), intersected.right(), intersected.bottom()); } } } data.quads = quads; } The crash happens in the "case 2: intersection". The complete if-section should not have been taken. We need to figure out why the system went into that branch and either fix that or remove the qFatal. -- You are receiving this mail because: You are watching all bug changes.