$OpenBSD: patch-kdesu_kdesu_kdesu_cpp,v 1.8 2005/03/29 21:18:35 espie Exp $
--- kdesu/kdesu/kdesu.cpp.orig	Tue Oct  5 16:57:50 2004
+++ kdesu/kdesu/kdesu.cpp	Wed Mar 23 11:50:58 2005
@@ -112,7 +112,8 @@ int main(int argc, char *argv[])
     unsetenv( "SESSION_MANAGER" );
     KApplication app;
     // but propagate it to the started app
-    setenv( "SESSION_MANAGER", session_manager.data(), 1 );
+    if (!session_manager.isNull())
+	setenv( "SESSION_MANAGER", session_manager.data(), 1 );
     
     {
         KStartupInfoId id;
@@ -329,10 +330,12 @@ static int startApp()
     KConfig *config = KGlobal::config();
     config->setGroup("Passwords");
     int timeout = config->readNumEntry("Timeout", defTimeout);
+    bool useSudo = config->readBoolEntry("Sudo", defSudo);
 
     // Check if we need a password
     SuProcess proc;
     proc.setUser(auth_user);
+    proc.setUseSudo(useSudo);
     int needpw = proc.checkNeedPassword();
     if (needpw < 0)
     {
@@ -355,7 +358,7 @@ static int startApp()
         KStartupInfoData data;
         data.setSilent( KStartupInfoData::Yes );
         KStartupInfo::sendChange( id, data );
-        KDEsuDialog dlg(user, auth_user, keep && !terminal, icon);
+        KDEsuDialog dlg(user, auth_user, keep && !terminal, icon, useSudo);
 	if (prompt)
 	    dlg.addLine(i18n("Command:"), command);
         if ((priority != 50) || (scheduler != SuProcess::SchedNormal))
@@ -408,6 +411,7 @@ static int startApp()
         proc.setTerminal(terminal);
         proc.setErase(true);
         proc.setUser(user);
+ 	proc.setUseSudo(useSudo);
         if (!new_dcop)
         {
             proc.setXOnly(true);
