[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdelibs/kinit
From:       Luboš Luňák <l.lunak () kde ! org>
Date:       2004-07-01 16:05:12
Message-ID: 20040701160512.5C5329992 () office ! kde ! org
[Download RAW message or body]

CVS commit by lunakl: 

The kdeinit preinitialization hack.
http://lists.kde.org/?l=kde-optimize&m=108861099022617&w=2


  A            configure.in.in   1.1
  M +1 -1      Makefile.am   1.33
  M +33 -1     kinit.cpp   1.139


--- kdelibs/kinit/Makefile.am  #1.32:1.33
@@ -16,5 +16,5 @@
 #    Boston, MA 02111-1307, USA.
 
-INCLUDES = -I$(srcdir)/../libltdl/ $(all_includes)
+INCLUDES = -I$(srcdir)/../libltdl/ $(all_includes) $(KDEINIT_XFT_INCLUDES)
 
 SUBDIRS = . tests

--- kdelibs/kinit/kinit.cpp  #1.138:1.139
@@ -43,4 +43,5 @@
 #include <string.h>
 #include <unistd.h>
+#include <locale.h>
 
 #include <qstring.h>
@@ -50,4 +51,5 @@
 #include <qtextstream.h>
 #include <qregexp.h>
+#include <qfont.h>
 #include <kinstance.h>
 #include <kstandarddirs.h>
@@ -88,4 +90,10 @@
 #endif
 
+#ifdef KDEINIT_USE_XFT
+#include <X11/Xft/Xft.h>
+extern "C" FcBool XftInitFtLibrary (void);
+#include <fontconfig/fontconfig.h>
+#endif
+
 extern char **environ;
 
@@ -1317,4 +1325,8 @@ static void handle_requests(pid_t waitFo
          if (sock >= 0)
          {
+#ifdef KDEINIT_USE_XFT
+            if( !FcConfigUptoDate(NULL))
+               FcInitReinitialize();
+#endif
             if (fork() == 0)
             {
@@ -1333,4 +1345,8 @@ static void handle_requests(pid_t waitFo
          if (sock >= 0)
          {
+#ifdef KDEINIT_USE_XFT
+            if( !FcConfigUptoDate(NULL))
+               FcInitReinitialize();
+#endif
             if (fork() == 0)
             {
@@ -1743,4 +1759,20 @@ int main(int argc, char **argv, char **e
 #endif
 
+   {
+#ifdef KDEINIT_USE_XFT
+      XftInit(0);
+      XftInitFtLibrary();
+#endif
+      QFont::initialize();
+      setlocale (LC_ALL, "");
+      setlocale (LC_NUMERIC, "C");
+      if (XSupportsLocale ())
+      {
+         // Similar to QApplication::create_xim()
+         // but we need to use our own display
+         XOpenIM (X11display, 0, 0, 0);
+      }
+   }
+
    for(i = 1; i < argc; i++)
    {


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic