<html>
    <head>
      <base href="https://bugs.documentfoundation.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - FORMS: Changing a form created with LO 7.0.3.1 with an older version leads to lost of the form"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=138209#c14">Comment # 14</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - FORMS: Changing a form created with LO 7.0.3.1 with an older version leads to lost of the form"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=138209">bug 138209</a>
              from <span class="vcard"><a class="email" href="mailto:michael.stahl@cib.de" title="Michael Stahl (CIB) <michael.stahl@cib.de>"> <span class="fn">Michael Stahl (CIB)</span></a>
</span></b>
        <pre>the problem is that manifest.xml contains:

 <manifest:file-entry manifest:full-path="forms/Obj11/" manifest:version="1.3"
manifest:media-type="application/vnd.oasis.opendocument.text"/>

but forms/Obj11/*.xml contain:

 office:version="1.2"

somehow the version of the form wasn't reset.

... if i try the same thing with a Writer document and embedded spreadsheet,
saving in 6.4 results in a consistent manifest.xml and content.xml versions.

on storing the file with embedded object it's set here:

#1  OStorage::setPropertyValue(rtl::OUString const&, com::sun::star::uno::Any
const&) (this=0x7fddc70, aPropertyName="Version", aValue=uno::Any("string":
"1.2")) at libreoffice-6-4/package/source/xstor/xstorage.cxx:4381
#2  0x00007f9a89cf8518 in
SfxObjectShell::SetupStorage(com::sun::star::uno::Reference<com::sun::star::embed::XStorage>
const&, int, bool) const () at libreoffice-6-4/instdir/program/libsfxlo.so
#3  0x00007f9a89d37686 in
SfxBaseModel::storeToStorage(com::sun::star::uno::Reference<com::sun::star::embed::XStorage>
const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>
const&) () at libreoffice-6-4/instdir/program/libsfxlo.so
#4  0x00007f9a681d29d9 in
OCommonEmbeddedObject::StoreDocToStorage_Impl(com::sun::star::uno::Reference<com::sun::star::embed::XStorage>
const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>
const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>
const&, int, rtl::OUString const&, bool) () at
libreoffice-6-4/instdir/program/../program/libembobj.so
#5  0x00007f9a681d55d0 in
OCommonEmbeddedObject::storeAsEntry(com::sun::star::uno::Reference<com::sun::star::embed::XStorage>
const&, rtl::OUString const&,
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&,
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) ()
at instdir/program/../program/libembobj.so
#6  0x00007f9a8a653498 in
comphelper::EmbeddedObjectContainer::StoreAsChildren(bool, bool,
com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) () at
libreoffice-6-4/instdir/program/libcomphelper.so
#7  0x00007f9a89cfa39c in SfxObjectShell::SaveAsChildren(SfxMedium&) () at
/home/ms/lo/libreoffice-6-4/instdir/program/libsfxlo.so
#8  0x00007f9a69abecaa in SwDocShell::SaveAs(SfxMedium&) (this=0x688af50,
rMedium=...) at sw/source/uibase/app/docsh.cxx:516
#9  0x00007f9a89cfa680 in SfxObjectShell::SaveAsOwnFormat(SfxMedium&) () at
/home/ms/lo/libreoffice-6-4/instdir/program/libsfxlo.so
#10 0x00007f9a89cfc9dc in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet
const*) () at libreoffice-6-4/instdir/program/libsfxlo.so
#11 0x00007f9a89cfdf3e in SfxObjectShell::DoSave_Impl(SfxItemSet const*) () at
libreoffice-6-4/instdir/program/libsfxlo.so
#12 0x00007f9a89d30396 in
SfxBaseModel::storeSelf(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>
const&) () at instdir/program/libsfxlo.so

oh, it works on master because of:

commit 519d96fd8b83ef4c61576d87b58f97b7e6e6e3c6
Author:     Michael Stahl <<a href="mailto:Michael.Stahl@cib.de">Michael.Stahl@cib.de</a>>
AuthorDate: Fri Jul 10 14:30:34 2020 +0200

    <a class="bz_bug_link 
          bz_status_VERIFIED  bz_closed"
   title="VERIFIED FIXED - Edited forms created by older version of LO cannot be opened any more ( steps in comment 11)"
   href="show_bug.cgi?id=134582">tdf#134582</a> sfx2: when storing, set Version on embedded object storage

    This previously wasn't needed because there was only one version for
    which it was checked (1.2) but since commit
    a541cd91951eca15e40764244b34c72b347f9f26 there's a second version so
    when loading an existing embedded object in one version and storing it
    in another, the Version must be updated so the attribute in
    META-INF/manifest.xml matches the one in content.xml.


... sorry, i didn't notice that this would be needed in 6.4 as well, so it's
only in 7.1/7.0.
(because 6.4 doesn't support version 1.3 anyway, but the Storage's version is a
string,
not some integer constant, so it can round-trip whatever is in the file...)

yep, a backport of this would fix it, but i guess it's too late now...</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>