[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs/kdecore/kernel
From: Andreas Holzammer <andy () kdab ! com>
Date: 2010-08-02 7:16:17
Message-ID: 20100802071617.66F35AC7A9 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1158158 by aholzammer:
- added lookup of kde4prefixUtf16 if the the standard path doesn't exists for wince
- value saved in the registry at \HKLM\Software\kde in the Key KDEDIRS
M +27 -3 kkernel_win.cpp
M +1 -2 kstandarddirs.cpp
--- trunk/KDE/kdelibs/kdecore/kernel/kkernel_win.cpp #1158157:1158158
@@ -61,10 +61,9 @@
static HANDLE kdecoreDllInstance = NULL;
#endif
#ifdef KDELIBS_STATIC_LIBS
-static wchar_t kde4prefixUtf16[] = STATIC_INSTALL_PATH;
-#else
-static wchar_t kde4prefixUtf16[MAX_PATH + 2];
+static bool kde4prefixInitialized = false;
#endif
+static wchar_t kde4prefixUtf16[MAX_PATH + 2] = L"";
static QString *kde4Prefix = NULL;
@@ -97,8 +96,33 @@
// don't have an instantiated QCoreApplication
QString getKde4Prefix()
{
+#ifdef _WIN32_WCE
+ if (kde4prefixInitialized)
+ return QString::fromUtf16((ushort*) kde4prefixUtf16);
+
+ QDir kde4prefixDir(QString::fromUtf16((ushort*) STATIC_INSTALL_PATH));
+ if (kde4prefixDir.exists()){
+ wcscpy(kde4prefixUtf16, STATIC_INSTALL_PATH);
+ kde4prefixUtf16[wcslen(kde4prefixUtf16)] = 0;
+ kde4prefixInitialized = true;
+ return QString::fromUtf16((ushort*) kde4prefixUtf16);
+ } else {
+ bool ok;
+ QString retval = getWin32RegistryValue(HKEY_LOCAL_MACHINE, "Software\\kde", "KDEDIRS", &ok);
+ if (!ok){
+ return QString();
+ } else {
+ retval = QDir::fromNativeSeparators(retval);
+ wcscpy(kde4prefixUtf16, retval.utf16());
+ kde4prefixUtf16[wcslen(kde4prefixUtf16)] = 0;
+ kde4prefixInitialized = true;
+ return retval;
+ }
+ }
+#else
// we can get called after DLL_PROCESS_DETACH!
return kde4Prefix ? *kde4Prefix : QString::fromUtf16((ushort*) kde4prefixUtf16);
+#endif
}
#ifndef KDELIBS_STATIC_LIBS
--- trunk/KDE/kdelibs/kdecore/kernel/kstandarddirs.cpp #1158157:1158158
@@ -1600,8 +1600,7 @@
return QString();
#else
bool ok;
- QString retval;
- getWin32RegistryValue(HKEY_LOCAL_MACHINE, "Software\\kde", retval, &ok);
+ QString retval = getWin32RegistryValue(HKEY_LOCAL_MACHINE, "Software\\kde", "KDEDIRS", &ok);
if (!ok){
return QString();
} else {
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic