Summary: | Crash in KWin::Screenedge::unreserve on deactivating Actos script | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Will Stephenson <wstephenson> |
Component: | general | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | Flags: | mgraesslin:
ReviewRequest+
|
Priority: | NOR | ||
Version: | 4.9.2 | ||
Target Milestone: | 4.11 | ||
Platform: | unspecified | ||
OS: | Linux | ||
URL: | https://git.reviewboard.kde.org/r/108513/ | ||
Latest Commit: | http://commits.kde.org/kde-workspace/3358685a52be3c7cef1497b6f84b7d1af2f920d7 | Version Fixed In: | 4.11 |
Sentry Crash Report: |
Description
Will Stephenson
2012-11-07 14:02:21 UTC
> KWin::ScreenEdge::unreserve (this=0x78
Happens because of random order in QObjectPrivate::deleteChildren, m_screenEdge is gone before scripting
-> we need to export the shutdown state
The screen edges review also contains a fix for this problem by no longer needing to manually call unregister in the dtor. Git commit 3358685a52be3c7cef1497b6f84b7d1af2f920d7 by Martin Gräßlin. Committed on 22/01/2013 at 12:47. Pushed by graesslin into branch 'master'. Change the way how screen edges interact with Effects/Scripts The main difference is that the activation of an edge is no longer broadcasted to all effects and scripts, but instead a passed in slot of the Effect/Script is invoked. For this the EffectsHandler API is changed to take the Effect as an argument to (un)reserveElectricBorder. As callback slot the existing borderActivated is used. In addition the ScreenEdge monitors the object for beeing destroyed and unregisters the the edge automatically. This removes the need from the Effect to call unregister in the dtor. FIXED-IN: 4.11 M +6 -13 kwin/effects.cpp M +2 -3 kwin/effects.h M +6 -15 kwin/effects/cube/cube.cpp M +2 -5 kwin/effects/desktopgrid/desktopgrid.cpp M +4 -10 kwin/effects/flipswitch/flipswitch.cpp M +5 -11 kwin/effects/presentwindows/presentwindows.cpp M +5 -4 kwin/libkwineffects/kwineffects.h M +52 -35 kwin/screenedge.cpp M +16 -19 kwin/screenedge.h M +2 -11 kwin/scripting/scriptedeffect.cpp M +1 -1 kwin/scripting/scriptedeffect.h M +2 -11 kwin/scripting/scripting.cpp M +1 -1 kwin/scripting/scripting.h M +1 -1 kwin/scripting/scriptingutils.h http://commits.kde.org/kde-workspace/3358685a52be3c7cef1497b6f84b7d1af2f920d7 |