It does... 

> On Aug 3, 2021, at 1:25 PM, Matthias Seidel <matthias.sei...@hamburg.de> 
> wrote:
> 
> 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>
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org

Reply via email to