Re: unit test LayerTabBar, now linker problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Michael, hi Stephan, hi all,

I have dropped "dynamic". It is only a unit-test and cannot produce a crash in a release. With a static_cast all works now as intended. From my side it is finished now. But please have a look at the current version, whether you think that I should change something.
https://gerrit.libreoffice.org/#/c/61545/7

Kind regards
Regina


Michael Stahl schrieb am 15-Oct-18 um 15:45:
On 15.10.18 14:56, Regina Henschel wrote:
Hallo Michael,

Michael Stahl schrieb am 14-Oct-18 um 13:49:
On 13/10/2018 21:04, Regina Henschel wrote:

linker cannot find typeinfo for sd::GraphicViewShell (
https://ci.libreoffice.org/job/gerrit_linux_gcc_release/17086/ )

What is wrong there?

apparently GCC can't find the type information for GraphicViewShell
because it isn't exported from the shared library "sd".

it is needed because of dynamic_cast<sd::GraphicViewShell*> in the test.

you could use SAL_DLLPUBLIC_RTTI on GraphicViewShell, which will export
just enough so that dynamic_cast and type_info works, or use
SD_DLLPUBLIC on it, which will make all its member functions available
as well.

Both do not work, SD_DLLPUBLIC does not compile here, and
SAL_DLLPUBLIC_RTTI fails too, see Jenkins for patch set 5.

hmmm...

clang plugin dyncastvisibility did trigger. dynamic_cast from
"sd::ViewShell" with hidden type visibility to "sd::GraphicViewShell"
with default type visibility

... so probably you'd need to put the SAL_DLLPUBLIC_RTTI on the
superclass sd::ViewShell as well.
_______________________________________________
LibreOffice mailing list
LibreOffice@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/libreoffice

_______________________________________________
LibreOffice mailing list
LibreOffice@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/libreoffice




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux