XRender backend: do not process invalid shadow data
This commit is contained in:
parent
f5ad33789c
commit
2573bec755
1 changed files with 5 additions and 1 deletions
|
@ -732,7 +732,7 @@ void SceneXrender::Window::performPaint(int mask, QRegion region, WindowPaintDat
|
|||
}
|
||||
|
||||
//shadow
|
||||
if (m_shadow && !(mask & PAINT_DECORATION_ONLY)) {
|
||||
if (m_shadow && !(m_shadow->shadowRegion().isEmpty()) && !(mask & PAINT_DECORATION_ONLY)) {
|
||||
QRect stlr, str, strr, srr, sbrr, sbr, sblr, slr;
|
||||
SceneXRenderShadow* m_xrenderShadow = static_cast<SceneXRenderShadow*>(m_shadow);
|
||||
m_xrenderShadow->layoutShadowRects(str, strr, srr, sbrr, sbr, sblr, slr, stlr);
|
||||
|
@ -1092,6 +1092,10 @@ void SceneXRenderShadow::buildQuads()
|
|||
{
|
||||
Shadow::buildQuads();
|
||||
|
||||
if (shadowQuads().count() == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
QRect stlr, str, strr, srr, sbrr, sbr, sblr, slr;
|
||||
layoutShadowRects(str, strr, srr, sbrr, sbr, sblr, slr, stlr);
|
||||
|
||||
|
|
Loading…
Reference in a new issue