Hi Jim, Am 03.08.21 um 19:21 schrieb Jim Jagielski: > Thanks... but that seems based on some older version of AOO41X... or am I > missing something?
Yes, we had this problem with AOO41X. I don't know if it also occurs in AOO42X. > >> On Aug 3, 2021, at 1:06 PM, Matthias Seidel <matthias.sei...@hamburg.de> >> wrote: >> >> Hi Jim, >> >> Am 03.08.21 um 18:42 schrieb Jim Jagielski: >>> Wow. This is weird, but also kind of makes sense since it seems so very, >>> very platform and SDK sensitive. >>> >>> Someone remind me what the catalina branch is and how it relates to trunk >>> and AOO42X, please :-) >> https://github.com/apache/openoffice/tree/catalina >> <https://github.com/apache/openoffice/tree/catalina> >>> >>>> On Jul 27, 2021, at 4:21 PM, Arrigo Marchiori <ard...@yahoo.it.INVALID> >>>> wrote: >>>> >>>> Hello All, >>>> >>>> resurrecting an old thread. >>>> >>>> On Thu, May 27, 2021 at 02:19:44PM -0000, Yuri Dario wrote: >>>> >>>>> Hi, >>>>> >>>>>> i can build AOO 4.2.x without problems with gcc 6.3 which is in Debian 9 >>>>>> I had problems to build it at Debian 10 with gcc 8.3. >>>>> here I have a 4.2 build done under Manjaro with gcc 9.2: saving a diagram >>>>> in ods format works fine, so it doesn't seems to be a compiler issue; >>>>> >>>>> How is XML writing done with ODS files? >>>> It's... complicated ;-) >>>> >>>> I tried to dig deeper into this problem, as I could reproduce it with >>>> the "catalina" branch on our Mac Mini. >>>> >>>> >>>> Executive Summary (TL;DR ;-) >>>> ============================ >>>> A boolean setting is not recognized as a boolean. An exception is >>>> thrown when accessing it. The exception is swallowed and the XML >>>> files' contents are not written. >>>> >>>> >>>> Details >>>> ======= >>>> Method XMLFilter::impl_Export() in file >>>> main/chart2/source/model/filter/XMLFilter.cxx:599 [1] has the >>>> responsibility to output the XML files that describe the chart. It >>>> sets some common options (beans::XPropertySet xInfoSet), and appends >>>> them to uno::Sequence aFilterProperties. This sequence, together with >>>> other pieces of information, is passed to the three invocations of >>>> method XMLFilter::impl_ExportStream(), that starts at line 754. >>>> Each invocation should give the contents of one XML file. >>>> But in fact they do nothing. >>>> >>>> Each invocation of method XMLFilter::impl_ExportStream() gets up to >>>> line: >>>> >>>> 810: xExporter->setSourceDocument( m_xSourceDoc ); >>>> >>>> This method raises an exception, that is caught below at line 820. The >>>> return code "nWarning" is never set to anything but zero, therefore >>>> the method returns (line 824) having failed its task, but reporting >>>> success. >>>> >>>> The question is: why does the above method setSourceDocument() throw >>>> an exception? Let's look into it. I am not sure it is called directly >>>> due to inheritance and virtual methods, but in the end it is [2] >>>> SvXMLExport::setSourceDocument() in file >>>> xmloff/source/core/xmlexp.cxx:676 >>>> >>>> The exception is thrown at a seemingly harmless line: >>>> >>>> 703: if (::cppu::any2bool(aAny)) >>>> >>>> because for some reason, that "aAny" value, returned by method >>>> beans::XPropertySetInfo::getPropertyValue(), is not a bool, and >>>> function any2bool() throws because it cannot decode it. >>>> >>>> But that property _was_ set as a bool by method >>>> XMLFilter::impl_Export(), in file >>>> main/chart2/source/model/filter/XMLFilter.cxx, at the beginning of >>>> this explanation: >>>> >>>> 691: xInfoSet->setPropertyValue( sUsePrettyPrinting, uno::makeAny( >>>> bUsePrettyPrinting ) ); >>>> >>>> References: >>>> >>>> 1: >>>> https://github.com/apache/openoffice/blob/f1593045b154fade3a67d5f1771054eccc807e3f/main/chart2/source/model/filter/XMLFilter.cxx#L599 >>>> >>>> 2: >>>> https://github.com/apache/openoffice/blob/f1593045b154fade3a67d5f1771054eccc807e3f/main/xmloff/source/core/xmlexp.cxx#L676 >>>> >>>> >>>> Questions and comments >>>> ====================== >>>> Why does ::cppu::any2bool(aAny) not recognize a value constructed as >>>> uno::makeAny( bUsePrettyPrinting ) ? >>>> >>>> Or is the beans::XPropertySet the culprit? >>>> >>>> Both CXX files pointed above have not been touched for at least 8 >>>> years. Why are they failing now? And why are they failing on a >>>> seemingly trivial issue like a boolean property? >>>> >>>> Maybe AOO42X introduced some changes in the overall management of >>>> properties, "Any" objects and the like, that could have more or less >>>> inadvertently solved this issue? Has anyone reproduced the problem >>>> with AOO42X or trunk? >>>> >>>> I would tend to blame the overall system because of the loads of >>>> warnings that are emitted by clang 12 when it compiles AOO41X. >>>> >>>> I don't know if it's worth the effort to further look into this, or >>>> instead, just leave AOO41X working with older compilers and move >>>> forward with AOO42X. >>>> >>>> Comments, questions, criticism are welcome! >>>> >>>> Best regards, >>>> -- >>>> Arrigo >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org >>>> For additional commands, e-mail: dev-h...@openoffice.apache.org >>>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org >>> <mailto:dev-unsubscr...@openoffice.apache.org> >>> For additional commands, e-mail: dev-h...@openoffice.apache.org >>> <mailto:dev-h...@openoffice.apache.org>
smime.p7s
Description: S/MIME Cryptographic Signature