openbsd-ports/x11/kde/base3/patches/patch-kdesu_kdesu_kdesu_cpp

44 lines
1.6 KiB
Plaintext

$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);