From 23db34e5589f8032ef1cad6eb608d7317a377657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Sun, 17 May 2009 09:56:35 +0000 Subject: [PATCH] When an effect isn't found in screenedges ui add an empty string to monitor selection instead of crashing. When trunk is reopened we should change to something like "Missing effect". BUG: 192953 svn path=/trunk/KDE/kdebase/workspace/; revision=969007 --- kcmkwin/kwinscreenedges/main.cpp | 42 +++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/kcmkwin/kwinscreenedges/main.cpp b/kcmkwin/kwinscreenedges/main.cpp index e4c1ee0ce7..7ce957c1f9 100644 --- a/kcmkwin/kwinscreenedges/main.cpp +++ b/kcmkwin/kwinscreenedges/main.cpp @@ -176,19 +176,43 @@ void KWinScreenEdgesConfig::monitorInit() KService::List services; services = trader->query( "KWin/Effect", "[X-KDE-PluginInfo-Name] == 'kwin4_effect_presentwindows'" ); if( services.isEmpty() ) - abort(); // Crash is better than wrong IDs - monitorAddItem( services.first()->name() + " - " + i18n( "All Desktops" )); - monitorAddItem( services.first()->name() + " - " + i18n( "Current Desktop" )); + { + // adding empty strings in case the effect is not found + // TODO: after string freeze add a info that the effect is missing + monitorAddItem( QString() ); + monitorAddItem( QString() ); + } + else + { + monitorAddItem( services.first()->name() + " - " + i18n( "All Desktops" )); + monitorAddItem( services.first()->name() + " - " + i18n( "Current Desktop" )); + } services = trader->query( "KWin/Effect", "[X-KDE-PluginInfo-Name] == 'kwin4_effect_desktopgrid'" ); if( services.isEmpty() ) - abort(); // Crash is better than wrong IDs - monitorAddItem( services.first()->name()); + { + // adding empty strings in case the effect is not found + // TODO: after string freeze add a info that the effect is missing + monitorAddItem( QString() ); + } + else + { + monitorAddItem( services.first()->name()); + } services = trader->query( "KWin/Effect", "[X-KDE-PluginInfo-Name] == 'kwin4_effect_cube'" ); if( services.isEmpty() ) - abort(); // Crash is better than wrong IDs - monitorAddItem( services.first()->name() + " - " + i18n( "Cube" )); - monitorAddItem( services.first()->name() + " - " + i18n( "Cylinder" )); - monitorAddItem( services.first()->name() + " - " + i18n( "Sphere" )); + { + // adding empty strings in case the effect is not found + // TODO: after string freeze add a info that the effect is missing + monitorAddItem( QString() ); + monitorAddItem( QString() ); + monitorAddItem( QString() ); + } + else + { + monitorAddItem( services.first()->name() + " - " + i18n( "Cube" )); + monitorAddItem( services.first()->name() + " - " + i18n( "Cylinder" )); + monitorAddItem( services.first()->name() + " - " + i18n( "Sphere" )); + } monitorShowEvent(); }