diff options
Diffstat (limited to 'opensuse/core/tdelibs/kdeprint-restart-cupsd.diff')
-rw-r--r-- | opensuse/core/tdelibs/kdeprint-restart-cupsd.diff | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/opensuse/core/tdelibs/kdeprint-restart-cupsd.diff b/opensuse/core/tdelibs/kdeprint-restart-cupsd.diff new file mode 100644 index 000000000..d464098eb --- /dev/null +++ b/opensuse/core/tdelibs/kdeprint-restart-cupsd.diff @@ -0,0 +1,32 @@ +Index: kdeprint/cups/cupsdconf2/cupsddialog.cpp +=================================================================== +--- kdeprint/cups/cupsdconf2/cupsddialog.cpp.orig ++++ kdeprint/cups/cupsdconf2/cupsddialog.cpp +@@ -45,6 +45,7 @@ + #include <kguiitem.h> + #include <kprocess.h> + ++#include <stdlib.h> + #include <signal.h> + #include <cups/cups.h> + +@@ -205,15 +206,13 @@ bool CupsdDialog::restartServer(QString& + } + else + { ++ KProcess proc; + bool success = false; + if (getuid() == 0 ) +- success = (::kill(serverPid, SIGHUP) == 0); ++ proc << "rccups" << "force-reload"; + else +- { +- KProcess proc; +- proc << "kdesu" << "-c" << "kill -SIGHUP " + QString::number( serverPid ); +- success = proc.start( KProcess::Block ) && proc.normalExit(); +- } ++ proc << "kdesu" << "-c" << "rccups" << "force-reload"; ++ success = proc.start( KProcess::Block ) && proc.normalExit(); + if( !success ) + msg = i18n("Unable to restart CUPS server (pid = %1)").arg(serverPid); + } |