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 <[email protected]> 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 <[email protected]> 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
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
