f41
David Tardon 11 years ago
parent 0fbb140a21
commit c747fd8bdb

3
.gitignore vendored

@ -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

@ -1,78 +0,0 @@
From cbeca0676595037d29c7191c38c643d47d9d6e4a Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
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

@ -1,27 +0,0 @@
From 4a4ed52e57b540167c3ca45e6e762b9e21e874de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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

@ -1,51 +0,0 @@
From c3164e42dcdf879ed53e235db13f498eb730bae9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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

@ -1,51 +0,0 @@
From b74bf4146e866fbcd41ad075296c9a4eee16c829 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
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

@ -1,116 +0,0 @@
From 9ff4c35f1d8e7e603b23245afb6947b8260fabfc Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
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
<https://bugzilla.redhat.com/show_bug.cgi?id=831628#c12> "[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

@ -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 <dtardon@redhat.com> - 1:4.1.2.1-1
- 4.1.2 rc1
* Tue Sep 03 2013 Caolán McNamara <caolanm@redhat.com> - 1:4.1.1.2-3
- Resolves: rhbz#993963 NULL m_pWindow on firefox close plugin window

@ -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

Loading…
Cancel
Save