diff options
Diffstat (limited to 'opensuse/core/qt3/qtrc-path.diff')
-rw-r--r-- | opensuse/core/qt3/qtrc-path.diff | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/opensuse/core/qt3/qtrc-path.diff b/opensuse/core/qt3/qtrc-path.diff new file mode 100644 index 000000000..3ed8a86a0 --- /dev/null +++ b/opensuse/core/qt3/qtrc-path.diff @@ -0,0 +1,47 @@ +--- src/tools/qsettings.cpp ++++ src/tools/qsettings.cpp +@@ -39,6 +39,7 @@ + **********************************************************************/ + + #include "qplatformdefs.h" ++#include <stdlib.h> + + // POSIX Large File Support redefines open -> open64 + static inline int qt_open( const char *pathname, int flags, mode_t mode ) +@@ -468,8 +469,18 @@ + Q_UNUSED( format ); + #endif + +- QString appSettings(QDir::homeDirPath() + "/.qt/"); +- QString defPath; ++ QString home; ++ home = getenv("QT_HOME_DIR"); ++ if ( !home.isEmpty() ){ ++ home += "/"; ++ QFileInfo i( home + "qtrc" ); ++ if ( !i.isReadable() ) ++ home = QDir::homeDirPath() + "/.qt/"; ++ }else ++ home = QDir::homeDirPath() + "/.qt/"; ++ QString appSettings(home); ++ ++ QString defPath("/etc/X11/"); + #ifdef Q_WS_WIN + #ifdef Q_OS_TEMP + TCHAR path[MAX_PATH]; +@@ -517,6 +528,15 @@ + + if ( !!defPath ) + searchPaths.append(defPath); ++ ++ QString system; ++ system = getenv("QT_SYSTEM_DIR"); ++ if ( !system.isEmpty() && system[0] == '/') { ++ QFileInfo i( system + "/qtrc" ); ++ if ( i.isReadable() ) ++ searchPaths.append(system); ++ } ++ + searchPaths.append(dir.path()); + } + |