From c747fd8bdb04827d07bb749859bb4cee20d9a2ae Mon Sep 17 00:00:00 2001 From: David Tardon Date: Thu, 5 Sep 2013 09:47:32 +0200 Subject: [PATCH] 4.1.2 rc1 --- .gitignore | 3 + ...to-mount-in-gio-Content-getGFileInfo.patch | 78 ------------ ...3963-NULL-m_pWindow-on-firefox-delet.patch | 27 ---- ...8046-store-last-size-position-of-the.patch | 51 -------- ...-the-SSPI-support-with-internal-neon.patch | 51 -------- ...00150-Do-not-call-exit-upon-XIOError.patch | 116 ------------------ libreoffice.spec | 23 ++-- sources | 6 +- 8 files changed, 14 insertions(+), 341 deletions(-) delete mode 100644 0001-Always-try-to-mount-in-gio-Content-getGFileInfo.patch delete mode 100644 0001-Resolves-rhbz-993963-NULL-m_pWindow-on-firefox-delet.patch delete mode 100644 0001-Resolves-rhbz-998046-store-last-size-position-of-the.patch delete mode 100644 0001-only-use-the-SSPI-support-with-internal-neon.patch delete mode 100644 0001-rhbz-1000150-Do-not-call-exit-upon-XIOError.patch diff --git a/.gitignore b/.gitignore index 3d678d3..157b36d 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,6 @@ /libreoffice-4.1.1.2.tar.xz /libreoffice-help-4.1.1.2.tar.xz /libreoffice-translations-4.1.1.2.tar.xz +/libreoffice-4.1.2.1.tar.xz +/libreoffice-help-4.1.2.1.tar.xz +/libreoffice-translations-4.1.2.1.tar.xz diff --git a/0001-Always-try-to-mount-in-gio-Content-getGFileInfo.patch b/0001-Always-try-to-mount-in-gio-Content-getGFileInfo.patch deleted file mode 100644 index 25ef482..0000000 --- a/0001-Always-try-to-mount-in-gio-Content-getGFileInfo.patch +++ /dev/null @@ -1,78 +0,0 @@ -From cbeca0676595037d29c7191c38c643d47d9d6e4a Mon Sep 17 00:00:00 2001 -From: Stephan Bergmann -Date: Fri, 14 Jun 2013 11:22:51 +0200 -Subject: [PATCH] Always try to mount in gio::Content::getGFileInfo - -...and not only if the caller happens to pass in non-null ppError. Otherwise, -calling soffice with a document URL handled by the gio UCP that is not yet -gio-mounted would silently do nothing and exit with EXIT_SUCCESS, as the first -thing the type detection code does on the URL is execute "getPropertyValues" for -"IsDocument", which calls getGFileInfo with null ppError, so a void instead of a -boolean value is returned, which then derails the type detection code to -silently fail (which is another problem that needs fixing). - -Change-Id: I48a84428cdee5caead02909abc2efd3ae3722052 -(cherry picked from commit 4d8bf09305fc4e4bd652187aac0a02398413ba65) ---- - ucb/source/ucp/gio/gio_content.cxx | 42 +++++++++++++++++++++++--------------- - 1 file changed, 26 insertions(+), 16 deletions(-) - -diff --git a/ucb/source/ucp/gio/gio_content.cxx b/ucb/source/ucp/gio/gio_content.cxx -index 34857d2..4fe7e83 100644 ---- a/ucb/source/ucp/gio/gio_content.cxx -+++ b/ucb/source/ucp/gio/gio_content.cxx -@@ -337,25 +337,35 @@ MountOperation::~MountOperation() - - GFileInfo* Content::getGFileInfo(const uno::Reference< ucb::XCommandEnvironment >& xEnv, GError **ppError) - { -- /*If we don't have it already, and we're not a "pre-creation" content then query for the info"*/ -- if (!mpInfo && !mbTransient) -- { -- if (!(mpInfo = g_file_query_info(getGFile(), "*", G_FILE_QUERY_INFO_NONE, NULL, ppError))) -- { -- //Try and mount if unmounted -- if (ppError && (*ppError)->code == G_IO_ERROR_NOT_MOUNTED) -- { -- g_error_free(*ppError); -- -- MountOperation aMounter(xEnv); -- *ppError = aMounter.Mount(getGFile()); -- -- //No Mount error, reattempt query -- if (!*ppError) -- mpInfo = g_file_query_info(getGFile(), "*", G_FILE_QUERY_INFO_NONE, NULL, ppError); -+ GError * err = 0; -+ if (mpInfo == 0 && !mbTransient) { -+ for (bool retried = false;; retried = true) { -+ mpInfo = g_file_query_info( -+ getGFile(), "*", G_FILE_QUERY_INFO_NONE, 0, &err); -+ if (mpInfo != 0) { -+ break; -+ } -+ assert(err != 0); -+ if (err->code != G_IO_ERROR_NOT_MOUNTED || retried) { -+ break; -+ } -+ SAL_INFO( -+ "ucb.ucp.gio", -+ "G_IO_ERROR_NOT_MOUNTED \"" << err->message -+ << "\", trying to mount"); -+ g_error_free(err); -+ err = MountOperation(xEnv).Mount(getGFile()); -+ if (err != 0) { -+ break; - } - } - } -+ if (ppError != 0) { -+ *ppError = err; -+ } else if (err != 0) { -+ SAL_WARN("ucb.ucp.gio", "ignoring GError \"" << err->message << "\""); -+ g_error_free(err); -+ } - return mpInfo; - } - --- -1.8.1.4 - diff --git a/0001-Resolves-rhbz-993963-NULL-m_pWindow-on-firefox-delet.patch b/0001-Resolves-rhbz-993963-NULL-m_pWindow-on-firefox-delet.patch deleted file mode 100644 index 6494d9a..0000000 --- a/0001-Resolves-rhbz-993963-NULL-m_pWindow-on-firefox-delet.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 4a4ed52e57b540167c3ca45e6e762b9e21e874de Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Tue, 3 Sep 2013 12:24:34 +0100 -Subject: [PATCH] Resolves: rhbz#993963 NULL m_pWindow on firefox deleted - plugin - -Change-Id: Idb12b12e4313668bf3390a97551c688ee0dcde67 ---- - vcl/unx/gtk/window/gtksalframe.cxx | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/vcl/unx/gtk/window/gtksalframe.cxx b/vcl/unx/gtk/window/gtksalframe.cxx -index 7c4ddfb..44d894d 100644 ---- a/vcl/unx/gtk/window/gtksalframe.cxx -+++ b/vcl/unx/gtk/window/gtksalframe.cxx -@@ -2842,7 +2842,7 @@ void GtkSalFrame::SetParent( SalFrame* pNewParent ) - - void GtkSalFrame::createNewWindow( XLIB_Window aNewParent, bool bXEmbed, SalX11Screen nXScreen ) - { -- bool bWasVisible = IS_WIDGET_MAPPED(m_pWindow); -+ bool bWasVisible = m_pWindow ? IS_WIDGET_MAPPED(m_pWindow) : false; - if( bWasVisible ) - Show( sal_False ); - --- -1.8.3.1 - diff --git a/0001-Resolves-rhbz-998046-store-last-size-position-of-the.patch b/0001-Resolves-rhbz-998046-store-last-size-position-of-the.patch deleted file mode 100644 index 0eff109..0000000 --- a/0001-Resolves-rhbz-998046-store-last-size-position-of-the.patch +++ /dev/null @@ -1,51 +0,0 @@ -From c3164e42dcdf879ed53e235db13f498eb730bae9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Tue, 20 Aug 2013 20:08:47 +0100 -Subject: [PATCH] Resolves: rhbz#998046 store last size/position of the - table/query/form - -Change-Id: I3623d5e133b8d7b2e7920824b05c46ade7b10d7c ---- - dbaccess/source/core/dataaccess/documentdefinition.cxx | 1 + - dbaccess/source/ui/misc/databaseobjectview.cxx | 6 +++++- - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/dbaccess/source/core/dataaccess/documentdefinition.cxx b/dbaccess/source/core/dataaccess/documentdefinition.cxx -index 1e9b62c..55b7c4e 100644 ---- a/dbaccess/source/core/dataaccess/documentdefinition.cxx -+++ b/dbaccess/source/core/dataaccess/documentdefinition.cxx -@@ -1548,6 +1548,7 @@ Sequence< PropertyValue > ODocumentDefinition::fillLoadArgs( const Reference< XC - // create the OutplaceFrameProperties, and put them into the descriptor of the embedded object - ::comphelper::NamedValueCollection OutplaceFrameProperties; - OutplaceFrameProperties.put( "TopWindow", (sal_Bool)sal_True ); -+ OutplaceFrameProperties.put( "SupportPersistentWindowState", (sal_Bool)sal_True ); - - Reference< XFrame > xParentFrame; - if ( m_pImpl->m_pDataSource ) -diff --git a/dbaccess/source/ui/misc/databaseobjectview.cxx b/dbaccess/source/ui/misc/databaseobjectview.cxx -index 7c90c33..d0ac14e 100644 ---- a/dbaccess/source/ui/misc/databaseobjectview.cxx -+++ b/dbaccess/source/ui/misc/databaseobjectview.cxx -@@ -120,7 +120,7 @@ namespace dbaui - if ( !m_xFrameLoader.is() ) - { - Reference< XSingleServiceFactory > xFact = TaskCreator::create(m_xORB); -- Sequence< Any > lArgs(2); -+ Sequence< Any > lArgs(3); - NamedValue aProp; - sal_Int32 nArg = 0; - -@@ -132,6 +132,10 @@ namespace dbaui - aProp.Value <<= sal_True; - lArgs[nArg++] <<= aProp; - -+ aProp.Name = OUString("SupportPersistentWindowState"); -+ aProp.Value <<= sal_True; -+ lArgs[nArg++] <<= aProp; -+ - m_xFrameLoader.set(xFact->createInstanceWithArguments(lArgs), UNO_QUERY_THROW); - - // everything we load can be considered a "top level document", so set the respective bit at the window. --- -1.8.3.1 - diff --git a/0001-only-use-the-SSPI-support-with-internal-neon.patch b/0001-only-use-the-SSPI-support-with-internal-neon.patch deleted file mode 100644 index fe4b0ca..0000000 --- a/0001-only-use-the-SSPI-support-with-internal-neon.patch +++ /dev/null @@ -1,51 +0,0 @@ -From b74bf4146e866fbcd41ad075296c9a4eee16c829 Mon Sep 17 00:00:00 2001 -From: David Tardon -Date: Mon, 12 Aug 2013 09:39:59 +0200 -Subject: [PATCH] only use the SSPI support with internal neon - -neon 0.30.0 has added support for SSPI (author of the commit is kso, -which sounds familiar :-), so NE_FEATURE_SSPI is defined, but the -signature of ne_auth_creds remains the same as before. That means that -build with system neon 0.30.0 fails... ---- - RepositoryExternal.mk | 1 + - ucb/source/ucp/webdav-neon/NeonSession.cxx | 4 ++-- - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk -index f866957..8c19c27 100644 ---- a/RepositoryExternal.mk -+++ b/RepositoryExternal.mk -@@ -867,6 +867,7 @@ ifeq ($(SYSTEM_NEON),YES) - define gb_LinkTarget__use_neon - $(call gb_LinkTarget_add_defs,$(1),\ - -DNEON_VERSION=0x$(NEON_VERSION) \ -+ -DSYSTEM_NEON \ - ) - $(call gb_LinkTarget_set_include,$(1),\ - $$(INCLUDE) \ -diff --git a/ucb/source/ucp/webdav-neon/NeonSession.cxx b/ucb/source/ucp/webdav-neon/NeonSession.cxx -index 34a1937..cee643a 100644 ---- a/ucb/source/ucp/webdav-neon/NeonSession.cxx -+++ b/ucb/source/ucp/webdav-neon/NeonSession.cxx -@@ -228,7 +228,7 @@ extern "C" int NeonSession_ResponseBlockWriter( void * inUserData, - } - - extern "C" int NeonSession_NeonAuth( void * inUserData, --#ifdef NE_FEATURE_SSPI -+#if defined NE_FEATURE_SSPI && ! defined SYSTEM_NEON - const char * inAuthProtocol, - #endif - const char * inRealm, -@@ -297,7 +297,7 @@ extern "C" int NeonSession_NeonAuth( void * inUserData, - - bool bCanUseSystemCreds = false; - --#ifdef NE_FEATURE_SSPI -+#if defined NE_FEATURE_SSPI && ! defined SYSTEM_NEON - bCanUseSystemCreds - = (attempt == 0) && // avoid endless loops - ne_has_support( NE_FEATURE_SSPI ) && // Windows-only feature. --- -1.8.3.1 - diff --git a/0001-rhbz-1000150-Do-not-call-exit-upon-XIOError.patch b/0001-rhbz-1000150-Do-not-call-exit-upon-XIOError.patch deleted file mode 100644 index 2820686..0000000 --- a/0001-rhbz-1000150-Do-not-call-exit-upon-XIOError.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 9ff4c35f1d8e7e603b23245afb6947b8260fabfc Mon Sep 17 00:00:00 2001 -From: Stephan Bergmann -Date: Fri, 23 Aug 2013 12:03:45 +0200 -Subject: [PATCH] rhbz#1000150: Do not call exit upon XIOError - -...as done in _XIOError (libX11-1.6.0/src/XlibInt.c) after calling the XIOError -handler function (either the one supplied with XSetIOErrorHandler or -_XDefaultIOError), as that calls the atexit handlers, which can wreak havoc in -unrelated threads that happen to be running in parallel, leading to arbitrary -crashes. So avoid that by always calling _exit already from our XIOError -handler. - -The old code was careful to /not/ call _exit when the XIOError happened on any -thread but the main one, but I do not see the sense of that---after all, -_XIOError will inevitably call exit afterwards, so this cannot be a way to -"ignore" XIOErrors from special threads (that are set up say for the sole -purpose of trying out "known-shaky" activities without affecting the stability -of the whole process). And findings like comment 12 to - "[abrt] -libreoffice-core-3.5.4.2-1.fc17: ICEConnectionWorker thread still running during -exit" ("it is very likely that this is not a normal exit from reaching the end -of main, but rather some explicit call to exit from some error handling code") -make it clear that we apparenly do suffer from such calls to _XIOError -> exit -on non-main threads. - -I have no idea why vcl/unx/gtk has its own XIOErrorHdl that is substantially -different from the vcl/unx/generic one, though. - -cherry picked from commit ffea65915b9cc6d4f3c01f829552702654a040f9, plus -follow-up b240a1c188b58e3e717335339bfc3f5e20bb2bf4: - - rhbz#1000150: Do not call exit upon XIOError, take two - - The _XDefaultIOError handler (libX11-1.6.0/src/XlibInt.c) already calls exit - (even though _XIOError calling _XDefaultIOError would call exit afterwards, - too), so our XIOError handler must not call aOrigXIOErrorHandler. - -Change-Id: Ida7d407cf5f0fa4e719118cab5e725144ceb3a35 ---- - vcl/unx/generic/app/saldata.cxx | 25 +++++++++++-------------- - vcl/unx/gtk/app/gtkdata.cxx | 12 +++++------- - 2 files changed, 16 insertions(+), 21 deletions(-) - -diff --git a/vcl/unx/generic/app/saldata.cxx b/vcl/unx/generic/app/saldata.cxx -index 3d91586..9b5e200 100644 ---- a/vcl/unx/generic/app/saldata.cxx -+++ b/vcl/unx/generic/app/saldata.cxx -@@ -307,22 +307,19 @@ int X11SalData::XErrorHdl( Display *pDisplay, XErrorEvent *pEvent ) - - int X11SalData::XIOErrorHdl( Display * ) - { -- if (::osl::Thread::getCurrentIdentifier() != Application::GetMainThreadIdentifier()) -+ if (::osl::Thread::getCurrentIdentifier() == Application::GetMainThreadIdentifier()) - { -- pthread_exit(NULL); -- return 0; -+ /* #106197# hack: until a real shutdown procedure exists -+ * _exit ASAP -+ */ -+ if( ImplGetSVData()->maAppData.mbAppQuit ) -+ _exit(1); -+ -+ // really bad hack -+ if( ! SessionManagerClient::checkDocumentsSaved() ) -+ /* oslSignalAction eToDo = */ osl_raiseSignal (OSL_SIGNAL_USER_X11SUBSYSTEMERROR, NULL); - } - -- /* #106197# hack: until a real shutdown procedure exists -- * _exit ASAP -- */ -- if( ImplGetSVData()->maAppData.mbAppQuit ) -- _exit(1); -- -- // really bad hack -- if( ! SessionManagerClient::checkDocumentsSaved() ) -- /* oslSignalAction eToDo = */ osl_raiseSignal (OSL_SIGNAL_USER_X11SUBSYSTEMERROR, NULL); -- - std::fprintf( stderr, "X IO Error\n" ); - std::fflush( stdout ); - std::fflush( stderr ); -@@ -331,7 +328,7 @@ int X11SalData::XIOErrorHdl( Display * ) - * do apply here. Since there is nothing to be done after an XIO - * error we have to _exit immediately. - */ -- _exit(0); -+ _exit(1); - return 0; - } - -diff --git a/vcl/unx/gtk/app/gtkdata.cxx b/vcl/unx/gtk/app/gtkdata.cxx -index 6abb06b..23f7931 100644 ---- a/vcl/unx/gtk/app/gtkdata.cxx -+++ b/vcl/unx/gtk/app/gtkdata.cxx -@@ -511,14 +511,12 @@ GtkData::GtkData( SalInstance *pInstance ) - - XIOErrorHandler aOrigXIOErrorHandler = NULL; - --int XIOErrorHdl(Display *pDisplay) -+int XIOErrorHdl(Display *) - { -- if (::osl::Thread::getCurrentIdentifier() != Application::GetMainThreadIdentifier()) -- { -- pthread_exit(NULL); -- return 0; -- } -- return aOrigXIOErrorHandler ? aOrigXIOErrorHandler(pDisplay) : 0; -+ fprintf(stderr, "X IO Error\n"); -+ _exit(1); -+ // avoid crashes in unrelated threads that still run while atexit -+ // handlers are in progress - } - - GtkData::~GtkData() --- -1.8.3.1 - diff --git a/libreoffice.spec b/libreoffice.spec index 5818f82..9a404e4 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -1,5 +1,5 @@ # download path contains version without the last (fourth) digit -%define libo_version 4.1.1 +%define libo_version 4.1.2 # Should contain .alphaX / .betaX, if this is pre-release (actually # pre-RC) version. The pre-release string is part of tarball file names, # so we need a way to define it easily at one place. @@ -42,8 +42,8 @@ Summary: Free Software Productivity Suite Name: libreoffice Epoch: 1 -Version: %{libo_version}.2 -Release: 3%{?libo_prerelease}%{?dist} +Version: %{libo_version}.1 +Release: 1%{?libo_prerelease}%{?dist} License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and Artistic and MPLv2.0 Group: Applications/Productivity URL: http://www.libreoffice.org/default/ @@ -254,12 +254,7 @@ Patch13: 0001-Resolves-rhbz-968892-force-render-full-grapheme-with.patch Patch14: 0001-Related-rhbz-968892-discard-impossible-languages-for.patch Patch15: 0002-Related-rhbz-968892-discard-impossible-languages-for.patch Patch16: 0001-Resolves-fdo-48835-application-menu-for-LibreOffice.patch -Patch17: 0001-only-use-the-SSPI-support-with-internal-neon.patch -Patch18: 0001-Always-try-to-mount-in-gio-Content-getGFileInfo.patch -Patch19: 0001-Resolves-rhbz-998046-store-last-size-position-of-the.patch -Patch20: 0001-Make-charmap.cxx-compile-with-icu-4.4.patch -Patch21: 0001-rhbz-1000150-Do-not-call-exit-upon-XIOError.patch -Patch22: 0001-Resolves-rhbz-993963-NULL-m_pWindow-on-firefox-delet.patch +Patch17: 0001-Make-charmap.cxx-compile-with-icu-4.4.patch %define instdir %{_libdir} %define baseinstdir %{instdir}/libreoffice @@ -1008,12 +1003,7 @@ mv -f redhat.soc extras/source/palettes/standard.soc %patch14 -p1 -b .rhbz-968892-discard-impossible-languages-for.patch %patch15 -p1 -b .rhbz-968892-discard-impossible-languages-for.patch %patch16 -p1 -b .fdo-48835-application-menu-for-LibreOffice.patch -%patch17 -p1 -b .only-use-the-SSPI-support-with-internal-neon.patch -%patch18 -p1 -b .Always-try-to-mount-in-gio-Content-getGFileInfo.patch -%patch19 -p1 -b .rhbz-998046-store-last-size-position-of-the.patch -%patch20 -p1 -b .Make-charmap.cxx-compile-with-icu-4.4.patch -%patch21 -p1 -b .rhbz-1000150-Do-not-call-exit-upon-XIOError.patch -%patch22 -p1 -b .rhbz-993963-NULL-m_pWindow-on-firefox-delet.patch +%patch17 -p1 -b .Make-charmap.cxx-compile-with-icu-4.4.patch # TODO: check this # these are horribly incomplete--empty translations and copied english @@ -2108,6 +2098,9 @@ update-desktop-database %{_datadir}/applications &> /dev/null || : %endif %changelog +* Thu Sep 05 2013 David Tardon - 1:4.1.2.1-1 +- 4.1.2 rc1 + * Tue Sep 03 2013 Caolán McNamara - 1:4.1.1.2-3 - Resolves: rhbz#993963 NULL m_pWindow on firefox close plugin window diff --git a/sources b/sources index fcd5037..4eb3bc4 100644 --- a/sources +++ b/sources @@ -6,6 +6,6 @@ a7983f859eafb2677d7ff386a023bc40 a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2. 1f24ab1d39f4a51faf22244c94a6203f 1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz 0168229624cfac409e766913506961a8 0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz 12fb8b5b0d5132726e57b9b9fc7e22c4 libreoffice-multiliblauncher.sh -4eb8fd2b0d1177d19b2f797faabc4ea2 libreoffice-4.1.1.2.tar.xz -f6b418a1ed94ef9d5ee30e9f5d7f305a libreoffice-help-4.1.1.2.tar.xz -e8c69bdb55586531cc192904467f5e24 libreoffice-translations-4.1.1.2.tar.xz +92041644ce343ca568fd28f459a0b3f4 libreoffice-4.1.2.1.tar.xz +05894783116bd18562bcebaf73d7522d libreoffice-help-4.1.2.1.tar.xz +3ae0cb4b561e10324d41b6163ac9b5de libreoffice-translations-4.1.2.1.tar.xz