summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kiosktool/kioskrun.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/kiosktool/kioskrun.cpp b/kiosktool/kioskrun.cpp
index bc6acfe..e4eede9 100644
--- a/kiosktool/kioskrun.cpp
+++ b/kiosktool/kioskrun.cpp
@@ -749,9 +749,22 @@ KioskRun::setupRuntimeEnv()
TDEStandardDirs::makeDir(cacheDir);
deleteDir(m_homeDir+"/.qt");
::unlink(TQFile::encodeName(m_homeDir+".tderc"));
-
- TQString iceAuth = TQString("%1/.ICEauthority").arg(TQDir::homeDirPath());
+ TQString iceFileBase = "ICEauthority";
+ TQString iceAuth;
+ if (getenv("XDG_RUNTIME_DIR"))
+ {
+ iceAuth = TQString("%1/%2").arg(getenv("XDG_RUNTIME_DIR")).arg(iceFileBase);
+ TQFileInfo fi(iceAuth);
+ if (!fi.exists())
+ {
+ iceAuth = TQString::null;
+ }
+ }
+ if (iceAuth.isEmpty())
+ {
+ iceAuth = TQString("%1/.%2").arg(TQDir::homeDirPath()).arg(iceFileBase);
+ }
setenv("ICEAUTHORITY", TQFile::encodeName(iceAuth), 0); // Don't overwrite existing setting
TQString xAuth = TQString("%1/.Xauthority").arg(TQDir::homeDirPath());