From fc0633fae36035bd17005cdd670a8418488f0c39 Mon Sep 17 00:00:00 2001 From: Lucas Murray Date: Thu, 28 Jan 2010 04:11:13 +0000 Subject: [PATCH] If the loaded decoration library isn't a valid decoration load the default decoration instead of dying. CCBUG: 224440 svn path=/trunk/KDE/kdebase/workspace/; revision=1081285 --- lib/kdecoration_plugins_p.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/kdecoration_plugins_p.cpp b/lib/kdecoration_plugins_p.cpp index bd4a9db0de..b5d618d2a3 100644 --- a/lib/kdecoration_plugins_p.cpp +++ b/lib/kdecoration_plugins_p.cpp @@ -137,6 +137,7 @@ bool KDecorationPlugins::loadPlugin( QString nameStr ) library = new KLibrary(path); // If that fails, fall back to the default plugin +trydefaultlib: if (!library) { kDebug(1212) << " could not load library, try default plugin again"; @@ -162,6 +163,13 @@ bool KDecorationPlugins::loadPlugin( QString nameStr ) if(!create_ptr) { + if( nameStr != defaultPlugin ) + { + kDebug(1212) << i18n( "The library %1 is not a KWin plugin.", path ); + library->unload(); + library = NULL; + goto trydefaultlib; + } error( i18n( "The library %1 is not a KWin plugin.", path )); library->unload(); return false;