https://bugs.kde.org/show_bug.cgi?id=368847
Vlad Zagorodniy <vladz...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |vladz...@gmail.com --- Comment #7 from Vlad Zagorodniy <vladz...@gmail.com> --- (In reply to Martin Flöser from comment #3) > 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. See https://bugs.kde.org/show_bug.cgi?id=395493#c9 for how to trigger the qFatal. With the Magic lamp effect, for example, bottom quads can be outside of screen so we need to clip them. Because the Magic lamp already transformed that quads, the qFatal will be triggered. I'm not sure whether removing that qFatal will improve something because window quads won't be properly clipped. Most likely, we need to implement some fancy polygon-clipping algorithm. FWIW, if a convex quadrilateral is clipped by a rectangle the result can be either: * quadrilateral * pentagon (5 edges) * hexagon (6 edges) * heptagon (7 edges) * or, octagon (8 edges) so, if the resulting polygon has >= 5 edges we need to split it into quadrilaterals. Maybe, we could use scissor test if !(mask & PAINT_WINDOW_TRANSFORMED), I dunno. Any other ideas how to fix this bug? Or, maybe, that's fine to "distort" clipped window quads? -- You are receiving this mail because: You are watching all bug changes.