kwin/libkwineffects
Martin Flöser e1afef3d45 Sanity check WindowQuad before trying to create a grid out of it
Summary:
When one uses:
 * breeze as of 5.12
 * wobbly windows
 * shaded window
 * a distribution building with assert enabled

and starts to move a shaded window, KWin asserts. The root cause for
this is that WindowQuad::makeSubQuad has an assert for y1 being smaller
than y2. With the combination listed above this is not guaranteed. For
the left shadow quad the y1 and y2 are identical and thus trying to
split it, results in the assert condition.

The problem of the shadow quad having an invalid size might be addressed
as well with D10811. Due to that the generation of the quads is not
touched. Instead a sanity check is introduced to not try to split
already invalid sized quads.

BUG: 390953
FIXED-IN: 5.12.3

Test Plan: Added unit test hit the assert, now doesn't hit it any more

Reviewers: #kwin, #plasma

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D11015
2018-03-05 19:31:51 +01:00
..
anidata.cpp
anidata_p.h use a global static for animation ids 2016-03-23 12:03:31 +01:00
CMakeLists.txt [effects] Use arg="true" in the kcfg files 2017-04-15 10:03:34 +02:00
kwinanimationeffect.cpp use a global static for animation ids 2016-03-23 12:03:31 +01:00
kwinanimationeffect.h allow to retarget animations 2016-02-16 13:59:22 +01:00
kwinconfig.h.cmake Move linking to DL_LIBRARY to x11standalone platform 2016-11-22 14:22:06 +01:00
kwineffects.cpp Sanity check WindowQuad before trying to create a grid out of it 2018-03-05 19:31:51 +01:00
kwineffects.h Fix build with a KWindowSystem framework that doesn't pull QWidget 2017-11-17 17:30:58 +01:00
kwinglobals.h Deprecate global KWin::displayWidth and KWin::displayHeight 2017-09-01 21:37:42 +02:00
kwinglplatform.cpp Properly detect Gallium drivers with newer Mesa 2018-01-12 09:05:03 +01:00
kwinglplatform.h [libkwineffects] Add detection code for Qualcomm Adreno to GLPlatform 2016-08-12 09:59:38 +02:00
kwingltexture.cpp [kwinglutils] Don't setup old shader API for rendering a texture 2016-01-25 14:11:54 +01:00
kwingltexture.h [libkwineffects] Fix includes in kwingltexture.h 2016-08-08 15:46:25 +02:00
kwingltexture_p.h [libkwineffects] Try fixing compile error with clang 2017-10-01 09:54:12 +02:00
kwinglutils.cpp [GLVertexBuffer] Port from QRegion::rects() to QRegion iterators 2017-12-02 10:04:22 +01:00
kwinglutils.h Set scale on glScissor calls 2017-10-26 17:32:47 +01:00
kwinglutils_funcs.cpp [kwinglutils] Drop eglResolveFunctions 2016-11-17 12:59:48 +01:00
kwinglutils_funcs.h Remove epoxy/egl.h from kwinglutils_func.h 2016-11-22 14:21:40 +01:00
kwinxrenderutils.cpp [libkwinxrenderutils] Clean up static blend picture before going down 2016-06-13 15:29:07 +02:00
kwinxrenderutils.h [libkwinxrenderutils] Clean up static blend picture before going down 2016-06-13 15:29:07 +02:00
logging.cpp pedantic fixes 2016-07-16 13:14:44 -04:00
logging_p.h pedantic fixes 2016-07-16 13:14:44 -04:00
Mainpage.dox
Messages.sh