Summary: | kwin crashes if the plugin specified in kwinrc does not exist or does no have all the required methods | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Jaime Torres <jtamate> |
Component: | kdecorations | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | major | ||
Priority: | HI | ||
Version: | git master | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 4.7.0 | |
Sentry Crash Report: |
Description
Jaime Torres
2010-01-27 10:00:24 UTC
You have specified "Compiled sources": are you using trunk or the 4.4 branch? In case of trunk what's your svn revision? trunk revision 1080161 So it's the new decoration kcm. May I ask which decoration you tried? I'm somewhat surprised that the kcm loaded with an ABI incompatible decoration. It should crash as well... In case of a not existing decoration it should fallback to Oxygen. In case of an ABI missmatch it's difficult. KWin in general provides binary compatability for window decorations, but we currently use an Unstable API as well, which is meant to be used only by decorations shipped with KDE SC. Unfortunatelly there are some external decorations using it although it is marked as unstable (and I don't think of Nitrogen or Aurorae as both are shipped with 4.4). Does not meet KWin HI priority status as it's not a common occurance. Misread, reverting priority. What I tried I think was kde3_nitrogen.so (until today late I can not provide more details). I saw 3 keramik decorations in the settings and changed to the bottom keramik, and kwin crashed. Then I tried to restart kwin (after setting the DISPLAY variable), and it crashed, then changed kwinrc with something strange and it crashed (I was curious). Then I used one of the plugin strings I saw in the console, and it worked again. Yes nitrogen for 4.3 is binary incompatible with 4.4. In case of distribution packages the distribution should conflict the packages and remove nitrogen on update to 4.4. So it's only an issue for us poor souls compiling from trunk ;-) in revision 1081093 (just a few minutes ago), when the plugin in kwinrc is set to a non existing .so, it defaults to oxygen, good, but if the .so exists and is not a kwin plugin, I see in the console: The library ...../kde4/lib/....so is not a KWin plugin. KWin will close now... And then, no window manager. SVN commit 1081285 by lmurray: If the loaded decoration library isn't a valid decoration load the default decoration instead of dying. CCBUG: 224440 M +8 -0 kdecoration_plugins_p.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1081285 SVN commit 1081286 by lmurray: Backport r1081285: If the loaded decoration library isn't a valid decoration load the default decoration instead of dying. CCBUG: 224440 M +8 -0 kdecoration_plugins_p.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1081286 Git commit 11dd4504b592180d38666872cd12fd5d4de90b81 by Martin Gräßlin. Committed on 28/04/2011 at 15:56. Pushed by graesslin into branch 'master'. KWin does not require a decoration plugin any more With config option "NoPlugin" in group "Style" it is possible to no request that KWin should be run without a decoration plugin. This is a change for Plasma Active to properly support no decorations. As well if a decoration plugin cannot be loaded, KWin will no longer exit, but continue to run just without a decoration. As a nice side-effect changes in Oxygen no longer destroy my kwin build ;-) BUG: 224440 FIXED-IN: 4.7.0 CCMAIL: sebas@kde.org M +1 -1 kwin/client.cpp M +4 -2 kwin/composite.cpp M +5 -1 kwin/libkdecorations/kdecoration_plugins_p.cpp M +14 -3 kwin/plugins.cpp M +7 -0 kwin/plugins.h M +18 -6 kwin/workspace.cpp M +24 -0 kwin/workspace.h http://commits.kde.org/kde-workspace/11dd4504b592180d38666872cd12fd5d4de90b81 |