Bug 320786 - Crash when closing "Add Widgets" panel in plasma-desktop
Summary: Crash when closing "Add Widgets" panel in plasma-desktop
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 4.10.60
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL: https://git.reviewboard.kde.org/r/110...
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2013-06-05 23:10 UTC by David Edmundson
Modified: 2013-06-10 14:57 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.11
thomas.luebking: ReviewRequest+


Attachments
New crash information added by DrKonqi (8.48 KB, text/plain)
2013-06-06 13:42 UTC, Aaron J. Seigo
Details
Patch attempt (778 bytes, patch)
2013-06-06 18:14 UTC, Thomas Lübking
Details
New crash information added by DrKonqi (9.62 KB, text/plain)
2013-06-06 23:06 UTC, Hrvoje Senjan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Edmundson 2013-06-05 23:10:35 UTC
Application: kwin (4.10.60)
KDE Platform Version: 4.10.60 (Compiled from sources)
Qt Version: 4.8.5
Operating System: Linux 3.8.0-23-generic x86_64
Distribution: Ubuntu 13.04

-- Information about the crash:
Was closing "Add Widgets" panel in plasma-desktop
Then it crashed.

KWin Support Information:
The following information should be used when requesting support on e.g. http://forum.kde.org.
It provides information about the currently running instance, which options are used,
what OpenGL driver and which effects are running.
Please post the information provided underneath this introductory text to a paste bin service
like http://paste.kde.org instead of pasting into support threads.                                                                                                                         

==========================

Version
=======
KWin version: 4.10.60
KDE SC version (runtime): 4.10.60
KDE SC version (compile): 4.10.60
Qt Version: 4.8.5

Options
=======
focusPolicy: 0
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
placement: 4
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
showDesktopIsMinimizeAll: false
rollOverDesktops: true
focusStealingPreventionLevel: 1
legacyFullscreenSupport: false
operationTitlebarDblClick: 
commandActiveTitlebar1: 0
commandActiveTitlebar2: 30
commandActiveTitlebar3: 2
commandInactiveTitlebar1: 4
commandInactiveTitlebar2: 30
commandInactiveTitlebar3: 2
commandWindow1: 7
commandWindow2: 8
commandWindow3: 8
commandWindowWheel: 31
commandAll1: 10
commandAll2: 3
commandAll3: 14
keyCmdAllModKey: 16777251
showGeometryTip: false
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: false
killPingTimeout: 5000
hideUtilityWindowsForInactive: true
inactiveTabsSkipTaskbar: false
autogroupSimilarWindows: false
autogroupInForeground: true
compositingMode: 1
useCompositing: true
compositingInitialized: true
hiddenPreviews: 1
unredirectFullscreen: false
glSmoothScale: 2
colorCorrected: false
xrenderSmoothScale: false
maxFpsInterval: 16666666
refreshRate: 0
vBlankTime: 6000000
glDirect: true
glStrictBinding: false
glStrictBindingFollowsDriver: true
glLegacy: false
glCoreProfile: false
glPreferBufferSwap: 101

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 
timeThreshold: 150
reActivateThreshold: 350
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0

Screens
=======
Multi-Head: no
Number of Screens: 2
Screen 0 Geometry: 0,0,1920x1080
Screen 1 Geometry: 1920,0,1920x1080

Decoration
==========
Current Plugin: kwin3_oxygen
Shadows: yes
Alpha: yes
Announces Alpha: yes
Tabbing: yes
Frame Overlap: no
Blur Behind: no

Compositing
===========
Qt Graphics System: raster
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD RV710
OpenGL version string: 3.0 Mesa 9.1.1
OpenGL shading language version string: 1.30
Driver: R600G
GPU class: R700
OpenGL version: 3.0
GLSL version: 1.30
Mesa version: 9.1.1
X server version: 1.13.3
Linux kernel version: 3.8
Direct rendering: yes
Requires strict binding: no
GLSL shaders:  yes
Texture NPOT support:  yes
Virtual Machine:  no
OpenGL 2 Shaders are used

Loaded Effects:
---------------
kwin4_effect_zoom
kwin4_effect_slidingpopups
kwin4_effect_login
kwin4_effect_minimizeanimation
kwin4_effect_screenshot
kwin4_effect_slide
kwin4_effect_desktopgrid
kwin4_effect_translucency
kwin4_effect_maximize
kwin4_effect_fade
kwin4_effect_highlightwindow
kwin4_effect_taskbarthumbnail
kwin4_effect_dialogparent
kwin4_effect_presentwindows
kwin4_effect_blur
kwin4_effect_logout
kwin4_effect_dashboard
kwin4_effect_screenedge
kwin4_effect_startupfeedback
kwin4_effect_kscreen

Currently Active Effects:
-------------------------
kwin4_effect_blur

Effect Settings:
----------------
kwin4_effect_zoom:
zoomFactor: 1.2
mousePointer: 0
mouseTracking: 0
enableFocusTracking: false
followFocus: true
focusDelay: 350
moveFactor: 20
targetZoom: 1

kwin4_effect_slidingpopups:
fadeInTime: 250
fadeOutTime: 250

kwin4_effect_login:

kwin4_effect_minimizeanimation:

kwin4_effect_screenshot:

kwin4_effect_slide:

kwin4_effect_desktopgrid:
zoomDuration: 300
border: 10
desktopNameAlignment: 0
layoutMode: 0
customLayoutRows: 2
usePresentWindows: true

kwin4_effect_translucency:

kwin4_effect_maximize:

kwin4_effect_fade:

kwin4_effect_highlightwindow:

kwin4_effect_taskbarthumbnail:

kwin4_effect_dialogparent:

kwin4_effect_presentwindows:
layoutMode: 0
showCaptions: true
showIcons: true
doNotCloseWindows: false
ignoreMinimized: false
accuracy: 20
fillGaps: true
fadeDuration: 150
showPanel: false
leftButtonWindow: 1
rightButtonWindow: 2
middleButtonWindow: 0
leftButtonDesktop: 2
middleButtonDesktop: 0
rightButtonDesktop: 0
dragToClose: false

kwin4_effect_blur:
blurRadius: 12
cacheTexture: true

kwin4_effect_logout:
useBlur: true

kwin4_effect_dashboard:
brightness: 0.5
saturation: 0.5
blur: false

kwin4_effect_screenedge:

kwin4_effect_startupfeedback:

kwin4_effect_kscreen:

The crash does not seem to be reproducible.

-- Backtrace:
Application: KWin (kwin), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f6ec6f687c0 (LWP 17189))]

Thread 2 (Thread 0x7f6e9a2f8700 (LWP 17210)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f6ea891c18b in pipe_semaphore_wait (sema=0xb2f340) at ../../../../../../../src/gallium/auxiliary/os/os_thread.h:433
#2  radeon_drm_cs_emit_ioctl (param=0xb2f160) at radeon_drm_winsys.c:518
#3  0x00007f6ebfdf4f8e in start_thread (arg=0x7f6e9a2f8700) at pthread_create.c:311
#4  0x00007f6ec66c0e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f6ec6f687c0 (LWP 17189)):
[KCrash Handler]
#6  0x00007f6ec6aa8096 in KWin::SceneOpenGLShadow::shadowTexture (this=0x0) at /home/david/projects/kde/kde-workspace/kwin/scene_opengl.h:406
#7  0x00007f6ec6a9db3e in KWin::SceneOpenGL2Window::setupLeafNodes (this=0xb22f20, nodes=0x7fffb68251a0, quads=0x7fffb68250e0, data=...) at /home/david/projects/kde/kde-workspace/kwin/scene_opengl.cpp:1348
#8  0x00007f6ec6a9e77d in KWin::SceneOpenGL2Window::performPaint (this=0xb22f20, mask=10, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/scene_opengl.cpp:1474
#9  0x00007f6ec6a9b53c in KWin::SceneOpenGL2::performPaintWindow (this=0xbc6840, w=0x17138b0, mask=10, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/scene_opengl.cpp:750
#10 0x00007f6ec6a9b3fb in KWin::SceneOpenGL2::finalDrawWindow (this=0xbc6840, w=0x17138b0, mask=10, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/scene_opengl.cpp:736
#11 0x00007f6ec6ab3c2f in KWin::EffectsHandlerImpl::drawWindow (this=0xd5fed0, w=0x17138b0, mask=10, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/effects.cpp:452
#12 0x00007f6e188d34b6 in KWin::BlurEffect::drawWindow (this=0x12012d0, w=0x17138b0, mask=10, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/effects/blur/blur.cpp:412
#13 0x00007f6ec6ab3bc5 in KWin::EffectsHandlerImpl::drawWindow (this=0xd5fed0, w=0x17138b0, mask=10, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/effects.cpp:449
#14 0x00007f6ec6169ba0 in KWin::Effect::drawWindow (this=0xe26640, w=0x17138b0, mask=10, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/libkwineffects/kwineffects.cpp:567
#15 0x00007f6ec6ab3bc5 in KWin::EffectsHandlerImpl::drawWindow (this=0xd5fed0, w=0x17138b0, mask=10, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/effects.cpp:449
#16 0x00007f6ec6a89a18 in KWin::Scene::finalPaintWindow (this=0xbc6840, w=0x17138b0, mask=10, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/scene.cpp:546
#17 0x00007f6ec6ab3879 in KWin::EffectsHandlerImpl::paintWindow (this=0xd5fed0, w=0x17138b0, mask=10, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/effects.cpp:415
#18 0x00007f6ec6169a10 in KWin::Effect::paintWindow (this=0x12012d0, w=0x17138b0, mask=10, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/libkwineffects/kwineffects.cpp:537
#19 0x00007f6ec6ab3823 in KWin::EffectsHandlerImpl::paintWindow (this=0xd5fed0, w=0x17138b0, mask=10, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/effects.cpp:412
#20 0x00007f6ec6184817 in KWin::AnimationEffect::paintWindow (this=0xe26640, w=0x17138b0, mask=10, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/libkwineffects/kwinanimationeffect.cpp:579
#21 0x00007f6ec6ab3823 in KWin::EffectsHandlerImpl::paintWindow (this=0xd5fed0, w=0x17138b0, mask=10, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/effects.cpp:412
#22 0x00007f6ec6a883cd in KWin::Scene::paintWindow (this=0xbc6840, w=0xb22f20, mask=10, region=..., quads=...) at /home/david/projects/kde/kde-workspace/kwin/scene.cpp:378
#23 0x00007f6ec6a881cb in KWin::Scene::paintSimpleScreen (this=0xbc6840, orig_mask=8, region=...) at /home/david/projects/kde/kde-workspace/kwin/scene.cpp:355
#24 0x00007f6ec6a87074 in KWin::Scene::finalPaintScreen (this=0xbc6840, mask=8, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/scene.cpp:184
#25 0x00007f6ec6ab3516 in KWin::EffectsHandlerImpl::paintScreen (this=0xd5fed0, mask=8, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/effects.cpp:372
#26 0x00007f6ec6169923 in KWin::Effect::paintScreen (this=0x12012d0, mask=8, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/libkwineffects/kwineffects.cpp:522
#27 0x00007f6ec6ab34c7 in KWin::EffectsHandlerImpl::paintScreen (this=0xd5fed0, mask=8, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/effects.cpp:369
#28 0x00007f6ec6169923 in KWin::Effect::paintScreen (this=0xe26640, mask=8, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/libkwineffects/kwineffects.cpp:522
#29 0x00007f6ec6ab34c7 in KWin::EffectsHandlerImpl::paintScreen (this=0xd5fed0, mask=8, region=..., data=...) at /home/david/projects/kde/kde-workspace/kwin/effects.cpp:369
#30 0x00007f6ec6a86dee in KWin::Scene::paintScreen (this=0xbc6840, mask=0x7fffb6825e58, region=0x7fffb6825ef0) at /home/david/projects/kde/kde-workspace/kwin/scene.cpp:141
#31 0x00007f6ec6a98ab4 in KWin::SceneOpenGL::paint (this=0xbc6840, damage=..., toplevels=...) at /home/david/projects/kde/kde-workspace/kwin/scene_opengl.cpp:360
#32 0x00007f6ec6a7f17d in KWin::Compositor::performCompositing (this=0xaab6c0) at /home/david/projects/kde/kde-workspace/kwin/composite.cpp:617
#33 0x00007f6ec6a7ebbc in KWin::Compositor::timerEvent (this=0xaab6c0, te=0x7fffb6826630) at /home/david/projects/kde/kde-workspace/kwin/composite.cpp:551
#34 0x00007f6ec01febf8 in QObject::event (this=0xaab6c0, e=0x7fffb6826630) at kernel/qobject.cpp:1156
#35 0x00007f6ebefb91ce in QApplicationPrivate::notify_helper (this=0x922630, receiver=0xaab6c0, e=0x7fffb6826630) at kernel/qapplication.cpp:4562
#36 0x00007f6ebefb6541 in QApplication::notify (this=0x7fffb6826ba0, receiver=0xaab6c0, e=0x7fffb6826630) at kernel/qapplication.cpp:3944
#37 0x00007f6ec4f427ae in KApplication::notify(QObject*, QEvent*) () from /opt/project-neon/lib/libkdeui.so.5
#38 0x00007f6ec6a24436 in KWin::Application::notify (this=0x7fffb6826ba0, o=0xaab6c0, e=0x7fffb6826630) at /home/david/projects/kde/kde-workspace/kwin/main.cpp:423
#39 0x00007f6ec01e5614 in QCoreApplication::notifyInternal (this=0x7fffb6826ba0, receiver=0xaab6c0, event=0x7fffb6826630) at kernel/qcoreapplication.cpp:949
#40 0x00007f6ec5c02a17 in QCoreApplication::sendEvent (receiver=0xaab6c0, event=0x7fffb6826630) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#41 0x00007f6ec02258e0 in QTimerInfoList::activateTimers (this=0x923098) at kernel/qeventdispatcher_unix.cpp:621
#42 0x00007f6ec022678d in QEventDispatcherUNIX::activateTimers (this=0x8d1ad0) at kernel/qeventdispatcher_unix.cpp:878
#43 0x00007f6ec0226af8 in QEventDispatcherUNIX::processEvents (this=0x8d1ad0, flags=...) at kernel/qeventdispatcher_unix.cpp:940
#44 0x00007f6ebf096d5e in QEventDispatcherX11::processEvents (this=0x8d1ad0, flags=...) at kernel/qeventdispatcher_x11.cpp:152
#45 0x00007f6ec01e296c in QEventLoop::processEvents (this=0x7fffb6826a00, flags=...) at kernel/qeventloop.cpp:149
#46 0x00007f6ec01e2b00 in QEventLoop::exec (this=0x7fffb6826a00, flags=...) at kernel/qeventloop.cpp:204
#47 0x00007f6ec01e5caa in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1221
#48 0x00007f6ebefb6128 in QApplication::exec () at kernel/qapplication.cpp:3823
#49 0x00007f6ec6a254c5 in kdemain (argc=3, argv=0x7fffb6826cf8) at /home/david/projects/kde/kde-workspace/kwin/main.cpp:591
#50 0x000000000040081e in main (argc=3, argv=0x7fffb6826cf8) at /home/david/projects/kde/kde-workspace/build/kwin/kwin_dummy.cpp:3

Reported using DrKonqi
Comment 1 Martin Flöser 2013-06-06 05:59:49 UTC
I think I can confirm this crash, at least KWin was crashing for me when 
trying to add the new tasks plasmoid but the crash trace was empty.
Comment 2 David Edmundson 2013-06-06 11:13:21 UTC
Update - I can reproduce quite often. 
Not every time I close that panel but it has happened to me several times now.
Comment 3 Martin Flöser 2013-06-06 11:57:31 UTC
> Update - I can reproduce quite often.
me too. I have a DrKonqi with the crash trace open and already started to 
track it down and have a pretty fair guess why it's crashing, just need to 
find the root cause instead of adding many if (m_shadow)
Comment 4 Thomas Lübking 2013-06-06 12:17:46 UTC
Just a guess:

shadow.cpp:205

bool Shadow::updateShadow()
{
    QVector<long> data = Shadow::readX11ShadowProperty(m_topLevel->window());
    if (data.isEmpty()) {
        if (m_topLevel && m_topLevel->effectWindow() && m_topLevel->effectWindow()->sceneWindow())
            m_topLevel->effectWindow()->sceneWindow()->updateShadow(0);
----> this lacks a quad rebuild and is likely the source of our *plenty* shadow quad related bugs ;-)
        deleteLater();
        return false;
    }
    init(data);
    if (m_topLevel && m_topLevel->effectWindow())
        m_topLevel->effectWindow()->buildQuads(true);
    return true;
}


Alternatively the quad rebuild could be done in 
shadow.h
inline
void Scene::Window::updateShadow(Shadow* shadow)
{
    m_shadow = shadow;
}
Comment 5 Aaron J. Seigo 2013-06-06 13:42:19 UTC
Created attachment 80343 [details]
New crash information added by DrKonqi

kwin (4.10.60) on KDE Platform 4.10.60 using Qt 4.8.5

- What I was doing when the application crashed:

As with the original reporter, I had opened the panel toolbox, then clicked on the Add Widgets button, then clicked on a window which hid the toolbox. crash ensues. with today's master.

-- Backtrace (Reduced):
#6  KWin::SceneOpenGL2Window::setupLeafNodes (this=this@entry=0x9766d18, nodes=nodes@entry=0xbffec4dc, quads=quads@entry=0xbffec4c8, data=...) at /home/aseigo/kdesrc/kde/kde-workspace/kwin/scene_opengl.cpp:1348
#7  0xb76676e9 in KWin::SceneOpenGL2Window::performPaint (this=0x9766d18, mask=10, region=..., data=...) at /home/aseigo/kdesrc/kde/kde-workspace/kwin/scene_opengl.cpp:1474
#8  0xb766b31d in KWin::SceneOpenGL2::performPaintWindow (this=this@entry=0x9cf87e8, w=w@entry=0x992a920, mask=mask@entry=10, region=..., data=...) at /home/aseigo/kdesrc/kde/kde-workspace/kwin/scene_opengl.cpp:750
#9  0xb766b4f7 in KWin::SceneOpenGL2::finalDrawWindow (this=0x9cf87e8, w=w@entry=0x992a920, mask=mask@entry=10, region=..., data=...) at /home/aseigo/kdesrc/kde/kde-workspace/kwin/scene_opengl.cpp:736
#10 0xb767be68 in KWin::EffectsHandlerImpl::drawWindow (this=0x9de8350, w=w@entry=0x992a920, mask=mask@entry=10, region=..., data=...) at /home/aseigo/kdesrc/kde/kde-workspace/kwin/effects.cpp:452
Comment 6 Thomas Lübking 2013-06-06 18:14:37 UTC
Created attachment 80350 [details]
Patch attempt

It doesn't crash here, but my plasma is  more like 4.10.4, so the behaviour could differ there.

Attached is a patch for the guess in comment #4 - maybe someone could give it a try?
Comment 7 Hrvoje Senjan 2013-06-06 23:06:46 UTC
Created attachment 80364 [details]
New crash information added by DrKonqi

kwin (4.10.60 "release 10") on KDE Platform 4.10.60 "release 10" using Qt 4.8.5

- What I was doing when the application crashed:

As everyone already mentioned, crash happened after trying to add widget to panel...
@Thomas, will try our patch

-- Backtrace (Reduced):
#6  KWin::SceneOpenGL2Window::setupLeafNodes (this=this@entry=0x29209f0, nodes=nodes@entry=0x7fff349454f0, quads=quads@entry=0x7fff34945430, data=...) at /usr/src/debug/kde-workspace-git/kwin/scene_opengl.cpp:1348
#7  0x00007f7efa0f4a85 in KWin::SceneOpenGL2Window::performPaint (this=this@entry=0x29209f0, mask=mask@entry=10, region=..., data=...) at /usr/src/debug/kde-workspace-git/kwin/scene_opengl.cpp:1474
#8  0x00007f7efa0f7fa4 in KWin::SceneOpenGL2::performPaintWindow (this=this@entry=0x201abb0, w=w@entry=0x25d45f0, mask=mask@entry=10, region=..., data=...) at /usr/src/debug/kde-workspace-git/kwin/scene_opengl.cpp:750
#9  0x00007f7efa0f8145 in KWin::SceneOpenGL2::finalDrawWindow (this=0x201abb0, w=w@entry=0x25d45f0, mask=mask@entry=10, region=..., data=...) at /usr/src/debug/kde-workspace-git/kwin/scene_opengl.cpp:736
#10 0x00007f7efa1066b5 in KWin::EffectsHandlerImpl::drawWindow (this=0x22f7890, w=w@entry=0x25d45f0, mask=mask@entry=10, region=..., data=...) at /usr/src/debug/kde-workspace-git/kwin/effects.cpp:452
Comment 8 Hrvoje Senjan 2013-06-06 23:07:15 UTC
err, your patch ;-)
Comment 9 Hrvoje Senjan 2013-06-07 00:55:27 UTC
(In reply to comment #6)
> Attached is a patch for the guess in comment #4 - maybe someone could give
> it a try?

Works, thanks! :-)
Comment 10 Hrvoje Senjan 2013-06-07 18:46:01 UTC
(In reply to comment #6)
> It doesn't crash here, but my plasma is  more like 4.10.4, so the behaviour
> could differ there.
Maybe a master only regression, or maybe you are not using Air? ;-) (i also failed to reproduce with a theme that doesn't have "shadow" prefix - otherwise it's easily reproducible if one adds e.g. (icon-)task to desktop, and tries to hover above the widget)
Comment 11 Thomas Lübking 2013-06-10 14:57:11 UTC
Git commit 811729f9a45536bc3071e651b25e3360f5ca75a0 by Thomas Lübking.
Committed on 07/06/2013 at 20:15.
Pushed by luebking into branch 'master'.

rebuild quads when removing shadows for empty prop
FIXED-IN: 4.11
REVIEW: 110871

M  +4    -1    kwin/shadow.cpp

http://commits.kde.org/kde-workspace/811729f9a45536bc3071e651b25e3360f5ca75a0