[arch-commits] Commit in libreoffice/trunk (2 files)

Andreas Radke andyrtr at nymeria.archlinux.org
Sun Apr 20 12:55:34 UTC 2014


    Date: Sunday, April 20, 2014 @ 14:55:34
  Author: andyrtr
Revision: 211574

upgpkg: libreoffice 4.2.4-0.1

update to 4.2.4rc1 - brings lots of fixes, add an additional fix required for kde4 integration

Added:
  libreoffice/trunk/prevent_KDE_Qt_from_interfering_with_the_session_manager.diff
Modified:
  libreoffice/trunk/PKGBUILD

---------------------------------------------------------------+
 PKGBUILD                                                      |   17 +-
 prevent_KDE_Qt_from_interfering_with_the_session_manager.diff |   72 ++++++++++
 2 files changed, 82 insertions(+), 7 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2014-04-20 09:09:39 UTC (rev 211573)
+++ PKGBUILD	2014-04-20 12:55:34 UTC (rev 211574)
@@ -29,7 +29,7 @@
 			 'gperf' 'kdelibs' 'gconf' 'gtk3' 'cppunit' 'beanshell2' 'vigra'
 			 'clucene' 'junit' 'libmythes' 'libwpg'  'mesa' 'clucene'
 			 'java-environment' 'postgresql-libs' 'bluez-libs' 'harfbuzz-icu'
-			 'gdb' 'doxygen'
+			 'gdb' 'doxygen'  'libatomic_ops'
              # the runtime dependencies
              "curl>=7.20.0" "hunspell>=1.2.8" "python>=3.4" 'libwpd>=0.9.2'
 			 'libwps' 'libxaw' "neon>=0.28.6" 'pango' 'nspr' 'libjpeg' 'libxrandr'
@@ -86,12 +86,12 @@
 	${_additional_source_url}/libmwaw-0.2.0.tar.bz2
 	${_additional_source_url}/libfreehand-0.0.0.tar.bz2
 	${_additional_source_url}/Firebird-2.5.2.26540-0.tar.bz2
-	${_additional_source_url}/libatomic_ops-7_2d.zip
 	${_additional_source_url}/libe-book-0.0.3.tar.bz2
 	${_additional_source_url}/libabw-0.0.2.tar.bz2
 	${_additional_source_url}/language-subtag-registry-2014-03-27.tar.bz2 
 	make-pyuno-work-with-system-wide-module-install.diff
-	libreoffice-common.sh libreoffice-common.csh)
+	libreoffice-common.sh libreoffice-common.csh
+	prevent_KDE_Qt_from_interfering_with_the_session_manager.diff)
 noextract=(15cb8c0803064faef0c4ddf5bc5ca279-boost_1_54_0.tar.bz2
 	9e96ed4c1d99c0d14ac03c140f9f346c-icu4c-52_1-src.tgz
 	185d60944ea767075d27247c3162b3bc-unowinreg.dll
@@ -124,7 +124,6 @@
 	libmwaw-0.2.0.tar.bz2
 	libfreehand-0.0.0.tar.bz2
 	Firebird-2.5.2.26540-0.tar.bz2
-	libatomic_ops-7_2d.zip
 	libe-book-0.0.3.tar.bz2
 	libabw-0.0.2.tar.bz2
 	language-subtag-registry-2014-03-27.tar.bz2)
@@ -166,13 +165,13 @@
          'd794625f156a9fb1c53b3f8a8aa13b5e'
          '496dd00028afcc19f896b01394769043'
          '21154d2004e025c8a3666625b0357bb5'
-         'c0b86562d5aa40761a87134f83e6adcf'
          '2f1ceaf2ac8752ed278e175447d9b978'
          '40fa48e03b1e28ae0325cc34b35bc46d'
          '504af523f5d1a5590bbeb6a4b55e8a97'
          '07d2bf5ad839a394cca008b3ec6e7bb1'
          '4195735a80876ae812fca5736b50192a'
-         'e7e4b3e70e99e5cba8f8dfcacf3b0d87')
+         'e7e4b3e70e99e5cba8f8dfcacf3b0d87'
+         'fa2109339289663cb8ea7cf27cc22f4e')
 
 prepare() {
 
@@ -193,6 +192,10 @@
 
     # fix not upstreamable pyuno paths - patch taken from Debian
     patch -Np1 -i ${srcdir}/make-pyuno-work-with-system-wide-module-install.diff
+    
+    # fix some startup issues with kde4 integration
+    # https://bugs.archlinux.org/task/39819 - https://bugs.freedesktop.org/show_bug.cgi?id=77128
+    patch -Np1 -i ${srcdir}/prevent_KDE_Qt_from_interfering_with_the_session_manager.diff
 
 	#use the CFLAGS but remove the LibO overridden ones
 	for i in $CFLAGS; do
@@ -267,7 +270,7 @@
 		--with-system-libetonyek \
 		--without-system-libfreehand \
 		--without-system-firebird \
-		--without-system-libatomic-ops \
+		--with-system-libatomic-ops \
 		--without-system-libebook \
 		--without-system-libabw \
 		--with-system-dicts \

Added: prevent_KDE_Qt_from_interfering_with_the_session_manager.diff
===================================================================
--- prevent_KDE_Qt_from_interfering_with_the_session_manager.diff	                        (rev 0)
+++ prevent_KDE_Qt_from_interfering_with_the_session_manager.diff	2014-04-20 12:55:34 UTC (rev 211574)
@@ -0,0 +1,72 @@
+From 01d128557726134b5da9e9b951e60286eac311a8 Mon Sep 17 00:00:00 2001
+From: Luboš Luňák <l.lunak at collabora.com>
+Date: Tue, 25 Mar 2014 12:20:16 +0100
+Subject: [PATCH] prevent KDE/Qt from interfering with the session manager
+
+I occassionally get lockups in IceProcessMessages() called from QtCore,
+I'm actually not exactly sure why, as theoretically two connections
+from one app shouldn't be a problem, but since LO does its own
+session handling, there's no need to the KDE/Qt code to be involved,
+so prevent it from connecting to the session manager altogether.
+
+Change-Id: Iebe20d4cb5403e5fea8bd5d8c1f69b62d1c2907b
+(cherry picked from commit 71f2aff7a56cef4e133abad3c2e447c76c5ee1fe)
+---
+
+diff --git a/vcl/unx/kde4/KDEXLib.cxx b/vcl/unx/kde4/KDEXLib.cxx
+index 820d39a..e4900a7 100644
+--- a/vcl/unx/kde4/KDEXLib.cxx
++++ b/vcl/unx/kde4/KDEXLib.cxx
+@@ -166,8 +166,23 @@
+ 
+     KCmdLineArgs::init( m_nFakeCmdLineArgs, m_pAppCmdLineArgs, kAboutData );
+ 
++    // LO does its own session management, so prevent KDE/Qt from interfering
++    // (QApplication::disableSessionManagement(false) wouldn't quite do,
++    // since that still actually connects to the session manager, it just
++    // won't save the application data on session shutdown).
++    char* session_manager = NULL;
++    if( getenv( "SESSION_MANAGER" ) != NULL )
++    {
++        session_manager = strdup( getenv( "SESSION_MANAGER" ));
++        unsetenv( "SESSION_MANAGER" );
++    }
+     m_pApplication = new VCLKDEApplication();
+-    kapp->disableSessionManagement();
++    if( session_manager != NULL )
++    {
++        setenv( "SESSION_MANAGER", session_manager, 1 );
++        free( session_manager );
++    }
++
+     KApplication::setQuitOnLastWindowClosed(false);
+ 
+ #if KDE_HAVE_GLIB
+diff --git a/vcl/unx/kde4/VCLKDEApplication.hxx b/vcl/unx/kde4/VCLKDEApplication.hxx
+index 412ee34..4ce0b2c 100644
+--- a/vcl/unx/kde4/VCLKDEApplication.hxx
++++ b/vcl/unx/kde4/VCLKDEApplication.hxx
+@@ -21,22 +21,14 @@
+ 
+ #define Region QtXRegion
+ 
+-#include <QSessionManager>
+-
+ #include <kapplication.h>
+ 
+ #undef Region
+ 
+-/* #i59042# override KApplications method for session management
+- * since it will interfere badly with our own.
+- */
+ class VCLKDEApplication : public KApplication
+ {
+     public:
+         VCLKDEApplication();
+-
+-        virtual void commitData(QSessionManager&) {};
+-
+         virtual bool x11EventFilter(XEvent* event);
+ };
+ 
+




More information about the arch-commits mailing list