Репозиторий ALT Linux backports/2.4
Последнее обновление: 9 июля 2008 | Пакетов: 497 | Посещений: 1576325
 поиск   регистрация   авторизация 
 
Группа :: Графические оболочки/Icewm
Пакет: icewm

 Главная   Изменения   Спек   Патчи   Загрузить   Bugs and FR 

Патч: icewm-1.2.23-reboot.patch


--- icewm-1.2.23/src/wmdialog.cc	2005-08-14 22:33:08 +0400
+++ icewm-1.2.23.reboot/src/wmdialog.cc	2005-11-10 12:24:07 +0300
@@ -51,6 +51,7 @@
 }
 
 bool canShutdown(bool reboot) {
+    char *copy;
     if (!reboot)
         if (shutdownCommand == 0 || shutdownCommand[0] == 0)
             return false;
@@ -59,6 +60,22 @@
             return false;
     if (logoutCommand && logoutCommand[0])
         return false;
+    if (reboot)
+	copy = strdup(rebootCommand);
+    else
+	copy = strdup(shutdownCommand);
+	
+    char *term = strchr(copy, ' ');
+    if (term)
+        *term = 0x0;
+    term = strchr(copy, '\t');
+    if (term)
+        *term = 0x0;
+    char *whereis = findPath(getenv("PATH"), X_OK, copy);
+    if (whereis == 0) {
+        free(copy);
+        return false;
+    }
 #ifdef CONFIG_SESSION
     if (smapp->haveSessionManager())
         return false;
 
design & coding: Vladimir Lettiev aka crux © 2004-2005