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.

Reply via email to