Sophie

Sophie

distrib > Mandriva > 2009.0 > x86_64 > media > main-testing-src > by-pkgid > 69501fee79f575b9818fcbd4bf2bb6c4 > files > 13

kdelibs4-4.2.4-0.2mdv2009.0.src.rpm

--- kdecore/CMakeLists.txt
+++ kdecore/CMakeLists.txt
@@ -275,7 +275,7 @@ endif (NOT Q_WS_X11 AND NOT Q_WS_QWS)
 
 kde4_add_library(kdecore SHARED ${kdecore_LIB_SRCS})
 
-target_link_libraries(kdecore ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTDBUS_LIBRARY} ${QT_QTXML_LIBRARY} ${ZLIB_LIBRARY} ${kdecore_OPTIONAL_LIBS})
+target_link_libraries(kdecore ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTDBUS_LIBRARY} ${QT_QTXML_LIBRARY} ${ZLIB_LIBRARY} ${kdecore_OPTIONAL_LIBS} dl)
 
 if(WIN32)
   set(kdecore_LINK_INTERFACE_LIBRARIES  ${QT_QTDBUS_LIBRARY} ${QT_QTCORE_LIBRARY} ${KDEWIN32_LIBRARIES})
--- kdecore/localization/kcatalog.cpp
+++ kdecore/localization/kcatalog.cpp
@@ -26,6 +26,8 @@
 
 #include <kdebug.h>
 
+#include <dlfcn.h>
+#include <string.h>
 #include <stdlib.h>
 #include <locale.h>
 #include "gettext.h"
@@ -39,10 +41,9 @@ static bool s_localeSet = false;
 int kInitializeLocale()
 {
     setlocale(LC_ALL, "");
-#if QT_VERSION >= 0x040500
-    extern Q_CORE_EXPORT bool qt_locale_initialized; // in Qt since 4.5.0
-    qt_locale_initialized = true; // as recommended by Thiago
-#endif
+    if (strncmp(qVersion(), "4.5", 3) == 0) { // it's Qt 4.5
+        *(bool*)dlsym(RTLD_DEFAULT, "qt_locale_initialized") = true;
+    }
     s_localeSet = true;
     return 1;
 }