https://bugs.documentfoundation.org/show_bug.cgi?id=88624

--- Comment #8 from Lionel Elie Mamane <[email protected]> ---
(In reply to schaber from comment #7)
> (...) can anyone point me in the right direction in the source code?

Sure. At some level, the problem seems to be that in file
reportdesign/source/core/api/ReportDefinition.cxx in function
OReportDefinition::storeToStorage around line 1394, the
"aDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_DOCUMENTBASEURL(),OUString())"
returns empty string, because aDescriptor contains empty string for
"DocumentBaseURL.

If I change that to the full URL of the current .odb, then the absolute
filepath is still SHOWN, but the relative path is STORED. So this seems to be
what we need to concentrate on.

This itself comes from argument _aMediaDescriptor (line 1359)
which comes from file embeddedobj/source/commonembedding/persistence.cxx
function OCommonEmbeddedObject::StoreDocToStorage_Impl line 787:

xDoc->storeToStorage( xStorage, aArgs );

aArgs is constructed just above:

780             aArgs[2].Name = "DocumentBaseURL";
781             aArgs[2].Value <<= aBaseURL;

which comes from a bit above:

765         OUString aBaseURL = GetBaseURLFrom_Impl(rMediaArgs, rObjArgs);

rMediaArgs and rObjArgs are empty sequences and are arguments. So we go up on
the call stack:

OCommonEmbeddedObject::storeOwn in
embeddedobj/source/commonembedding/persistence.cxx line 1631

1631            StoreDocToStorage_Impl( m_xObjectStorage, aEmpty, aEmpty,
nStorageFormat, m_aEntryName, true );


So that's where we need to replace one, or both, of the "aEmpty" by something
that makes sense...

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to