Resolves: rhbz#1014010 crash on start up

f41
Stephan Bergmann 11 years ago
parent f6a91c9bb2
commit f9604cdcc6

@ -0,0 +1,131 @@
From 6b20c5072944fc5408196b401fb5ab462600eecd Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Tue, 1 Oct 2013 14:33:56 +0200
Subject: [PATCH] rhbz#1014010: Missing dependencies in isBootstrapType list
...the list has been fixed now by copying its elements into an ENTRIES file and
running "unoidl-write udkapi/ @ENTITIES TEMP && unoidl-read TEMP >/dev/null" and
adding any reported unknown entities until it succeeds.
However, the updated list lead to deadlock when css.reflection.ParamInfo UnoType
resolves css.reflection.XIdlClass UnoType resolves css.reflection.XIdlMethod
UnoType resolves css.reflection.ParamInfo UnoType, so broke the circle by no
longer resolving the interface methods' return and parameter types in
InterfaceType::dumpMethodsCppuDecl (which is why those type infos are only
generated on demand anyway; looks like this had been a careless thinko in the
generation of comprehensive type info that had remained unnoticed all the time).
Change-Id: I50ef2fde16242298e055c6fa5971e70fad1a2b68
(cherry picked from commit 254f59f623f58c320175a06a2c93bcee7868b623)
---
codemaker/source/cppumaker/cpputype.cxx | 37 +++++++++++++++++++++++----------
1 file changed, 26 insertions(+), 11 deletions(-)
diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx
index 9848f57..a1e17d6 100755
--- a/codemaker/source/cppumaker/cpputype.cxx
+++ b/codemaker/source/cppumaker/cpputype.cxx
@@ -49,18 +49,25 @@ namespace {
bool isBootstrapType(OUString const & name) {
static char const * const names[] = {
+ "com.sun.star.beans.Property",
"com.sun.star.beans.PropertyAttribute",
+ "com.sun.star.beans.PropertyChangeEvent",
"com.sun.star.beans.PropertyState",
"com.sun.star.beans.PropertyValue",
"com.sun.star.beans.XFastPropertySet",
"com.sun.star.beans.XMultiPropertySet",
+ "com.sun.star.beans.XPropertiesChangeListener",
"com.sun.star.beans.XPropertyAccess",
+ "com.sun.star.beans.XPropertyChangeListener",
"com.sun.star.beans.XPropertySet",
+ "com.sun.star.beans.XPropertySetInfo",
"com.sun.star.beans.XPropertySetOption",
+ "com.sun.star.beans.XVetoableChangeListener",
"com.sun.star.bridge.UnoUrlResolver",
"com.sun.star.bridge.XUnoUrlResolver",
"com.sun.star.connection.SocketPermission",
"com.sun.star.container.XElementAccess",
+ "com.sun.star.container.XEnumeration",
"com.sun.star.container.XEnumerationAccess",
"com.sun.star.container.XHierarchicalNameAccess",
"com.sun.star.container.XNameAccess",
@@ -70,6 +77,7 @@ bool isBootstrapType(OUString const & name) {
"com.sun.star.io.FilePermission",
"com.sun.star.io.IOException",
"com.sun.star.lang.DisposedException",
+ "com.sun.star.lang.EventObject",
"com.sun.star.lang.WrappedTargetRuntimeException",
"com.sun.star.lang.XComponent",
"com.sun.star.lang.XEventListener",
@@ -81,11 +89,19 @@ bool isBootstrapType(OUString const & name) {
"com.sun.star.lang.XSingleServiceFactory",
"com.sun.star.lang.XTypeProvider",
"com.sun.star.loader.XImplementationLoader",
+ "com.sun.star.reflection.FieldAccessMode",
+ "com.sun.star.reflection.MethodMode",
+ "com.sun.star.reflection.ParamInfo",
+ "com.sun.star.reflection.ParamMode",
+ "com.sun.star.reflection.TypeDescriptionSearchDepth",
"com.sun.star.reflection.XArrayTypeDescription",
"com.sun.star.reflection.XCompoundTypeDescription",
"com.sun.star.reflection.XEnumTypeDescription",
+ "com.sun.star.reflection.XIdlArray",
"com.sun.star.reflection.XIdlClass",
+ "com.sun.star.reflection.XIdlField",
"com.sun.star.reflection.XIdlField2",
+ "com.sun.star.reflection.XIdlMethod",
"com.sun.star.reflection.XIdlReflection",
"com.sun.star.reflection.XIndirectTypeDescription",
"com.sun.star.reflection.XInterfaceAttributeTypeDescription",
@@ -97,18 +113,28 @@ bool isBootstrapType(OUString const & name) {
"com.sun.star.reflection.XMethodParameter",
"com.sun.star.reflection.XStructTypeDescription",
"com.sun.star.reflection.XTypeDescription",
+ "com.sun.star.reflection.XTypeDescriptionEnumeration",
"com.sun.star.reflection.XTypeDescriptionEnumerationAccess",
"com.sun.star.reflection.XUnionTypeDescription",
+ "com.sun.star.registry.RegistryKeyType",
+ "com.sun.star.registry.RegistryValueType",
"com.sun.star.registry.XImplementationRegistration",
"com.sun.star.registry.XRegistryKey",
"com.sun.star.registry.XSimpleRegistry",
"com.sun.star.security.RuntimePermission",
+ "com.sun.star.security.XAccessControlContext",
"com.sun.star.security.XAccessController",
+ "com.sun.star.security.XAction",
"com.sun.star.uno.DeploymentException",
"com.sun.star.uno.RuntimeException",
+ "com.sun.star.uno.TypeClass",
+ "com.sun.star.uno.Uik",
+ "com.sun.star.uno.XAdapter",
"com.sun.star.uno.XAggregation",
"com.sun.star.uno.XComponentContext",
"com.sun.star.uno.XCurrentContext",
+ "com.sun.star.uno.XInterface",
+ "com.sun.star.uno.XReference",
"com.sun.star.uno.XUnloadingPreference",
"com.sun.star.uno.XWeak",
"com.sun.star.util.XMacroExpander" };
@@ -1519,17 +1545,6 @@ void InterfaceType::dumpMethodsCppuDecl(
entity_->getDirectMethods().begin());
i != entity_->getDirectMethods().end(); ++i)
{
- if (seen->insert(i->returnType).second) {
- dumpCppuGetType(out, i->returnType);
- }
- for (std::vector< unoidl::InterfaceTypeEntity::Method::Parameter >::
- const_iterator j(i->parameters.begin());
- j != i->parameters.end(); ++j)
- {
- if (seen->insert(j->type).second) {
- dumpCppuGetType(out, j->type);
- }
- }
for (std::vector< OUString >::const_iterator j(i->exceptions.begin());
j != i->exceptions.end(); ++j)
{
--
1.8.3.1

@ -259,6 +259,7 @@ Patch18: 0001-Resolves-rhbz-1006850-crash-in-SwCommentRuler-GetCom.patch
Patch19: 0001-select-sheet-menu-as-a-right-click-popup-to-the-prev.patch Patch19: 0001-select-sheet-menu-as-a-right-click-popup-to-the-prev.patch
Patch20: 0001-Avoid-crash-when-a-comment-contains-data-but-no-text.patch Patch20: 0001-Avoid-crash-when-a-comment-contains-data-but-no-text.patch
Patch21: 0001-Resolves-rhbz-1013480-crash-in-EditLineList-operator.patch Patch21: 0001-Resolves-rhbz-1013480-crash-in-EditLineList-operator.patch
Patch22: 0001-rhbz-1014010-Missing-dependencies-in-isBootstrapType.patch
%define instdir %{_libdir} %define instdir %{_libdir}
%define baseinstdir %{instdir}/libreoffice %define baseinstdir %{instdir}/libreoffice
@ -1012,6 +1013,7 @@ mv -f redhat.soc extras/source/palettes/standard.soc
%patch19 -p1 -b .select-sheet-menu-as-a-right-click-popup-to-the-prev.patch %patch19 -p1 -b .select-sheet-menu-as-a-right-click-popup-to-the-prev.patch
%patch20 -p1 -b .Avoid-crash-when-a-comment-contains-data-but-no-text.patch %patch20 -p1 -b .Avoid-crash-when-a-comment-contains-data-but-no-text.patch
%patch21 -p1 -b .rhbz-1013480-crash-in-EditLineList-operator.patch %patch21 -p1 -b .rhbz-1013480-crash-in-EditLineList-operator.patch
%patch22 -p1 -b .rhbz-1014010-Missing-dependencies-in-isBootstrapType.patch
# TODO: check this # TODO: check this
# these are horribly incomplete--empty translations and copied english # these are horribly incomplete--empty translations and copied english
@ -2104,6 +2106,7 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
%changelog %changelog
* Tue Oct 01 2013 Caolán McNamara <caolanm@redhat.com> - 1:4.1.2.3-2-UNBUILT * Tue Oct 01 2013 Caolán McNamara <caolanm@redhat.com> - 1:4.1.2.3-2-UNBUILT
- Resolves: rhbz#1013480 crash in EditLineList::operator[] - Resolves: rhbz#1013480 crash in EditLineList::operator[]
- Resolves: rhbz#1014010 crash on start up
* Mon Sep 30 2013 David Tardon <dtardon@redhat.com> - 1:4.1.2.3-1 * Mon Sep 30 2013 David Tardon <dtardon@redhat.com> - 1:4.1.2.3-1
- 4.1.2 rc3 - 4.1.2 rc3

Loading…
Cancel
Save