[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