[Libreoffice-commits] core.git: 2 commits - config_host/config_kde4.h.in configure.ac vcl/Library_vclplug_kde4.mk vcl/unx

Luboš Luňák l.lunak at suse.cz
Tue Mar 12 12:06:33 PDT 2013


 config_host/config_kde4.h.in |   10 ++++++++++
 configure.ac                 |    9 +++++++--
 vcl/Library_vclplug_kde4.mk  |   11 +++++++++++
 vcl/unx/kde4/KDEXLib.cxx     |    9 +++++++--
 4 files changed, 35 insertions(+), 4 deletions(-)

New commits:
commit 42bbe3a96ff4dfe4e2d34d522fd67c386a6c3647
Author: Luboš Luňák <l.lunak at suse.cz>
Date:   Tue Mar 12 20:05:08 2013 +0100

    Qt4.8 is enough for Qt glib integration support working properly
    
    Change-Id: Ifaec37040f81de2718506b1ed27c7b52e74c513b

diff --git a/vcl/unx/kde4/KDEXLib.cxx b/vcl/unx/kde4/KDEXLib.cxx
index 8bdad52..86495eb 100644
--- a/vcl/unx/kde4/KDEXLib.cxx
+++ b/vcl/unx/kde4/KDEXLib.cxx
@@ -48,10 +48,11 @@
 
 #if QT_VERSION >= QT_VERSION_CHECK( 4, 9, 0 )
 #define QT_UNIX_EVENT_LOOP_SUPPORT
+#endif
+
 #ifdef KDE_HAVE_GLIB
 #define GLIB_EVENT_LOOP_SUPPORT
 #endif
-#endif
 
 #ifdef GLIB_EVENT_LOOP_SUPPORT
 #include <glib-2.0/glib.h>
@@ -204,7 +205,8 @@ void KDEXLib::setupEventLoop()
 // The catch is that Qt has a bug that allows triggering timers even when they should
 // not be, leading to crashes caused by QClipboard re-entering the event loop.
 // (http://bugreports.qt.nokia.com/browse/QTBUG-14461), so enable only with Qt>=4.8.0,
-// where it is(?) fixed.
+// where it is fixed.
+#if QT_VERSION >= QT_VERSION_CHECK( 4, 8, 0 )
     if( QAbstractEventDispatcher::instance()->inherits( "QEventDispatcherGlib" ))
     {
         eventLoopType = GlibEventLoop;
@@ -216,6 +218,7 @@ void KDEXLib::setupEventLoop()
         return;
     }
 #endif
+#endif
 #ifdef QT_UNIX_EVENT_LOOP_SUPPORT
 // When Qt does not use Glib support, it uses its own Unix event dispatcher.
 // That one has aboutToBlock() and awake() signals, but they are broken (either
commit 6fbd87113576540ff42a03f4b08857bd066f9161
Author: Luboš Luňák <l.lunak at suse.cz>
Date:   Tue Mar 12 20:04:24 2013 +0100

    re-add support for KDE4 Qt+glib eventloop intergration
    
    The necessary build stuff was apparently silently dropped during gbuild
    conversion and never noticed.
    
    Change-Id: Ib1f530b92618a9d4f11c54818e984f737abaa283

diff --git a/config_host/config_kde4.h.in b/config_host/config_kde4.h.in
new file mode 100644
index 0000000..6e5cddf
--- /dev/null
+++ b/config_host/config_kde4.h.in
@@ -0,0 +1,10 @@
+/*
+Settings for KDE4 integration.
+*/
+
+#ifndef CONFIG_KDE4_H
+#define CONFIG_KDE4_H
+
+#undef KDE_HAVE_GLIB
+
+#endif
diff --git a/configure.ac b/configure.ac
index 89b55e0..a017909 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10278,9 +10278,13 @@ int main(int argc, char **argv) {
     CXXFLAGS=$save_CXXFLAGS
     AC_LANG_POP([C++])
 
-   # Glib is needed for properly handling Qt event loop with Qt's Glib integration enabled
+    # Glib is needed for properly handling Qt event loop with Qt's Glib integration enabled.
+    # Sets also KDE_GLIB_CFLAGS/KDE_GLIB_LIBS if successful.
     PKG_CHECK_MODULES(KDE_GLIB,[glib-2.0 >= 2.4],
-        [KDE_HAVE_GLIB=1],
+        [
+        KDE_HAVE_GLIB=1
+        AC_DEFINE(KDE_HAVE_GLIB,1)
+        ],
         AC_MSG_WARN([[No Glib found, KDE4 support will not integrate with Qt's Glib event loop support]]))
 fi
 AC_SUBST(KDE4_CFLAGS)
@@ -11722,6 +11726,7 @@ AC_CONFIG_FILES([config_host.mk Makefile lo.xcent instsetoo_native/util/openoffi
 AC_CONFIG_HEADERS([config_host/config_clang.h])
 AC_CONFIG_HEADERS([config_host/config_global.h])
 AC_CONFIG_HEADERS([config_host/config_graphite.h])
+AC_CONFIG_HEADERS([config_host/config_kde4.h])
 AC_CONFIG_HEADERS([config_host/config_mingw.h])
 AC_CONFIG_HEADERS([config_host/config_telepathy.h])
 AC_CONFIG_HEADERS([config_host/config_typesizes.h])
diff --git a/vcl/Library_vclplug_kde4.mk b/vcl/Library_vclplug_kde4.mk
index 1079d84..ff4b89c 100644
--- a/vcl/Library_vclplug_kde4.mk
+++ b/vcl/Library_vclplug_kde4.mk
@@ -63,6 +63,17 @@ $(eval $(call gb_Library_add_libs,vclplug_kde4,\
 	-lICE \
 ))
 
+ifneq ($(KDE_HAVE_GLIB),)
+$(eval $(call gb_Library_add_defs,vclplug_kde4,\
+    $(KDE_GLIB_CFLAGS) \
+))
+
+$(eval $(call gb_Library_add_libs,vclplug_kde4,\
+    $(KDE_GLIB_LIBS) \
+))
+endif
+
+
 $(eval $(call gb_Library_add_exception_objects,vclplug_kde4,\
     vcl/unx/kde4/KDEData \
 	vcl/unx/kde4/KDE4FilePicker \
diff --git a/vcl/unx/kde4/KDEXLib.cxx b/vcl/unx/kde4/KDEXLib.cxx
index dbd6664..8bdad52 100644
--- a/vcl/unx/kde4/KDEXLib.cxx
+++ b/vcl/unx/kde4/KDEXLib.cxx
@@ -44,6 +44,8 @@
 
 #include <stdio.h>
 
+#include <config_kde4.h>
+
 #if QT_VERSION >= QT_VERSION_CHECK( 4, 9, 0 )
 #define QT_UNIX_EVENT_LOOP_SUPPORT
 #ifdef KDE_HAVE_GLIB


More information about the Libreoffice-commits mailing list