Bug 135729 - Images lost in RTF when saving ODT to DOC and DOC to RTF
Summary: Images lost in RTF when saving ODT to DOC and DOC to RTF
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
4.1.0.4 release
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisected, filter:rtf, regression
Depends on:
Blocks: RTF-Images
  Show dependency treegraph
 
Reported: 2020-08-13 18:05 UTC by Telesto
Modified: 2024-08-06 09:27 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Telesto 2020-08-13 18:05:40 UTC
Description:
Images lost in RTF when saving ODT to DOC and DOC to RTF

Steps to Reproduce:
1. open attachment 164279 [details]
2. Save as DOC
3. File reload
4. Save as RTF
5. File reload

Actual Results:
Slow and no images

Expected Results:
Should be so


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 7.1.0.0.alpha0+ (x64)
Build ID: <buildversion>
CPU threads: 4; OS: Windows 6.3 Build 9600; UI render: Skia/Raster; VCL: win
Locale: nl-NL (nl_NL); UI: en-US
Calc: CL

also in
4.4.7.2

and in
4.2.0.4

and in
3.5.0.3
Comment 1 Telesto 2020-08-13 18:08:49 UTC
Sorry, wrong info.. shapes are present in 4.2.0.4.. it's only opening..
Comment 2 BogdanB 2020-09-16 16:23:50 UTC
Confirmed with
Version: 7.0.1.2
Build ID: 7cbcfc562f6eb6708b5ff7d7397325de9e764452
CPU threads: 4; OS: Linux 5.4; UI render: default; VCL: gtk3
Locale: en-US (ro_RO.UTF-8); UI: en-US
Calc: threaded
Comment 3 Justin L 2021-11-17 17:40:37 UTC
size of DOC: 433kb
size of RTF (7.3): 176mb
Comment 4 Justin L 2021-11-17 18:23:18 UTC
bibisect-linux-43all 3.5- only figure 1 seen.  150MB. [3.6 sees both]
bibisect-linux-43all last36onmaster - both figures seen. 150MB.
bibisect-linux-43all last40onmaster - 150MB. (crash trying to open rtf) [3.6 opens it fine.]
bibisect-linux-43all last41onmaster - only figure 2 seen (plus extra frame underneath). 228MB. [3.6 only sees figure2 also.]

So apart from this being horrendous to start off with, we have an export problem starting in 4.1 somewhere. bibisect-linux-41max was running into a lot of skip builds that couldn't load any file, so I gave up bibisecting, since this bug isn't worth the effort.
Comment 5 Gabor Kelemen (allotropia) 2023-11-07 00:04:31 UTC
This got a bit better after:

https://git.libreoffice.org/core/commit/24ee09ab41924fd339835cbc7a54a5ba27f5c67e

tdf#104288: rtf export: drop \nonshppict on export

Now the extreme file size is below 1 Mb, manageable.
The main odt->doc->rtf image loss issue is still happening.

Some observations:
- saving directly to rtf creates an extra "Shape1" drawing object, but the two images are still present. The horizontal and vertical positioning of the second caption frame is pretty incorrect too - this can be a separate bug.
- saving to doc does not lose the images and does not create an extra Shape1 - looks pretty good
- saving the doc to rtf loses the first image and leaves the "Shape1" drawing on its place.
Comment 6 Buovjaga 2024-08-06 09:27:19 UTC
Bibisecting the disappearance of the first image in linux-41max repo, this helped with the crashes (tip is from QA/Bibisect article):
while (git clean -f -X && git bisect skip && ! SAL_USE_VCLPLUGIN=gen opt/program/soffice --norestore /path/to/zz.odt); do : ; done

There are only 'skip'ped commits left to test.
The first bad commit could be any of: 006fb997f37fa41c3529804047083d5231fcdedb d8696d9dc384319390767c5a5baad0ec95bab35b 7d3a0b4604a1c8f8a2c69d2593da60f62e1066e0
We cannot bisect more!

This seems relevant:
$ git show 7d3a0b4604a1c8f8a2c69d2593da60f62e1066e0
commit 7d3a0b4604a1c8f8a2c69d2593da60f62e1066e0
Author: Matthew Francis <mjay.francis@gmail.com>
Date:   Fri Sep 18 10:59:39 2015 +0800

    source-hash-d53dd70b15f0e3f7c8a05a93f8fcd70e1147c1f7
    
    commit d53dd70b15f0e3f7c8a05a93f8fcd70e1147c1f7
    Author:     Miklos Vajna <vmiklos@suse.cz>
    AuthorDate: Fri Apr 12 15:09:12 2013 +0200
    Commit:     Miklos Vajna <vmiklos@suse.cz>
    CommitDate: Fri Apr 12 16:33:07 2013 +0200
    
        sw: rework RTF export of text frames
    
        Export these as new-style frames. Not counting future possibilities,
        this commit finally fixes the following problems:
    
        - borders: spacing to contents wasn't exported at all
        - wrap: top/bottom and left/right spacing exported even in case they do
          not equal
    
        Change-Id: I058e00e677e20bc9501b8de320f941f256e8b6f1

Others are

commit 006fb997f37fa41c3529804047083d5231fcdedb
Author: Matthew Francis <mjay.francis@gmail.com>
Date:   Fri Sep 18 10:59:39 2015 +0800

    source-hash-da16b278eeb5b3e2994de68e49d88a64fdb7ac5b
    
    commit da16b278eeb5b3e2994de68e49d88a64fdb7ac5b
    Author:     Miklos Vajna <vmiklos@suse.cz>
    AuthorDate: Fri Apr 12 16:29:25 2013 +0200
    Commit:     Miklos Vajna <vmiklos@suse.cz>
    CommitDate: Fri Apr 12 16:33:07 2013 +0200
    
        RTF import: initial handling of posrelh and posrelv shape properties
    
        Change-Id: Id576d6df4b7a6144507e5f8230ac62a953b5c050

and range https://git.libreoffice.org/core/+log/a6e1f214c9c8c338da7cd216884e45e234e64669..1799937b9ec2584c6e6c783ede5f22d72a1f44f9