Bug 101198 - Inserted OLE Appearance Wrongly Based on Window Dimensions + Zoom and Scroll Positions (see comment 10)
Summary: Inserted OLE Appearance Wrongly Based on Window Dimensions + Zoom and Scroll ...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
5.1.4.2 release
Hardware: All All
: high normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: OLE-Objects
  Show dependency treegraph
 
Reported: 2016-07-29 14:56 UTC by u2nBz
Modified: 2022-10-18 19:31 UTC (History)
1 user (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 u2nBz 2016-07-29 14:56:53 UTC
The appearance of inserted OLE objects is (incorrectly) based on window size/shape and the document display within its window when last saved.

When an OLE object is inserted, LO uses both the window dimensions and the document appearance relative to the window (zoom factor and scroll positions) of that OLE (as last saved) to determine the horizontal and vertical extents of what is shown. It then stretches and compresses the appearance to match.

This is a bug because both of these attributes -- window dimensions and document appearance within the window -- change frequently. If the tiniest change has taken place in either of these within a linked OLE, when links are updated, the appearance changes. The user must then open the linked OLE file and try to figure out how to size the window and redo the display so that it appears correctly again. This is a back-and-forth process that many users never figure out (judging from forum posts). Even for those who understand how it works, this practice is maddening.

The same applies when trying to do a direct (not linked) insertion of an OLE object. Its appearance within its own window must first be tweaked so that it appears correctly when inserted.

FIX:
The horizontal and vertical extents of what is displayed when an OLE object is inserted should be based on the content of the object itself, and never on anything as ephemeral as window size or placement within the window when it was last saved.

REPRODUCE:
Take a sample text document, for example, zoom 200% and save it. Open a spreadsheet and insert that text document as an OLE object. See that it is cut off.

Now flip back to the text document, maximize its window and hit Save. Go back to the spreadsheet and update links. See the inserted OLE compress to the left.

Play with the text document, resizing its window, zooming and scrolling. After each change, save it and go over to the spreadsheet to update links. See the craziness!

POSSIBLY RELATED TO:
Many have reported OLE bugs and at least some of these are related to this underlying bug, which is the root of the problem:

https://bugs.documentfoundation.org/show_bug.cgi?id=51508
https://bugs.documentfoundation.org/show_bug.cgi?id=47243
https://bugs.documentfoundation.org/show_bug.cgi?id=34619
https://bugs.documentfoundation.org/show_bug.cgi?id=37152
https://bugs.documentfoundation.org/show_bug.cgi?id=44838
https://bugs.documentfoundation.org/show_bug.cgi?id=46364
https://bugs.documentfoundation.org/show_bug.cgi?id=47197
https://bugs.documentfoundation.org/show_bug.cgi?id=47773
https://bugs.documentfoundation.org/show_bug.cgi?id=51119
https://bugs.documentfoundation.org/show_bug.cgi?id=51334
https://bugs.documentfoundation.org/show_bug.cgi?id=57017
https://bugs.documentfoundation.org/show_bug.cgi?id=58323
https://bugs.documentfoundation.org/show_bug.cgi?id=60508
Comment 1 Buovjaga 2016-08-07 12:12:49 UTC
Sounds like a good summary, I'm setting to NEW. Raising priority a bit due to large number of related reports.
Comment 2 u2nBz 2016-08-10 15:23:45 UTC
Thanks, @Buovjaga.

Descriptions are not accessible once submitted so I make edits as follows:
 - Second paragraph, last sentence should read: "It then stretches and compresses the appearance to match, which nearly always distorts the OLE's appearance within the current file."
 - Under REPRODUCE, delete "for example,"
 - The colon at end of last paragraph is replaced with a period.

Developing the way inserted OLE appearance *should* work:
 a. It should be intuitive, to match the LO UI standard. The current scheme is a puzzle.
 b. The entire object should be inserted, then the appearance can be modified in the local document.
 c. For consistency, the OLE's anchor point can be at upper left corner, at least initially.

Until fixed, this temporary workaround seems to produce the best results:
1. Open the file which is to be inserted as an OLE object and Zoom 75%, or a zoom factor that allows the document to be completely displayed within the window, and with the entire window visible on screen.
2. Drag a window corner to the pixel where both scroll bars just disappear.
3. Zoom entire page, then save.
4. Go to local document and insert the just-modified file as OLE.
There should be no distortion.
Comment 3 QA Administrators 2017-09-01 11:19:42 UTC Comment hidden (obsolete)
Comment 4 u2nBz 2017-10-01 00:09:11 UTC Comment hidden (obsolete)
Comment 5 u2nBz 2017-10-01 00:11:26 UTC Comment hidden (obsolete)
Comment 6 u2nBz 2017-10-01 00:23:54 UTC
This bug is also still present.

Tested latest Debian/Ubuntu(x64) release, 5.1.6.2. No difference from when first reported.
Comment 7 QA Administrators 2018-10-16 02:50:45 UTC Comment hidden (obsolete)
Comment 8 QA Administrators 2020-10-16 04:26:58 UTC Comment hidden (obsolete)
Comment 9 QA Administrators 2022-10-17 03:29:37 UTC Comment hidden (obsolete)
Comment 10 u2nBz 2022-10-18 16:49:16 UTC
Bug still present.

Version: 6.4.7.2
Build ID: 1:6.4.7-0ubuntu0.20.04.5

A twist is that when reproducing the bug, the Update button does nothing. However, the OLE object appearance is still dependent on the zoom and pan characteristics of the saved file, and expanding the window still stretches the object rather than showing a larger, undistorted view of it.
Comment 11 Buovjaga 2022-10-18 17:03:38 UTC
(In reply to u2nBz from comment #0)
> REPRODUCE:
> Take a sample text document, for example, zoom 200% and save it. Open a
> spreadsheet and insert that text document as an OLE object. See that it is
> cut off.
> 
> Now flip back to the text document, maximize its window and hit Save. Go
> back to the spreadsheet and update links. See the inserted OLE compress to
> the left.

I don't reproduce this with updating links (it does not update the view at all). If I right-click and edit, the switch away from edit mode. I can see the whole text (as expected after maximising and saving).

As 6.4 is quite old, I recommend to test with a fresh version. You might try https://wiki.documentfoundation.org/Installing_in_parallel/Linux#Automated_installation

Arch Linux 64-bit
Version: 7.5.0.0.alpha0+ / LibreOffice Community
Build ID: f5c6ef40dd494f6984c6ed784fccc02806999836
CPU threads: 8; OS: Linux 5.19; UI render: default; VCL: kf5 (cairo+xcb)
Locale: fi-FI (fi_FI.UTF-8); UI: en-US
Calc: threaded
Built on 7 September 2022
Comment 12 u2nBz 2022-10-18 17:32:09 UTC
(In reply to Buovjaga from comment #11)
> (In reply to u2nBz from comment #0)
> > REPRODUCE:
> > Take a sample text document...
> 
> I don't reproduce this with updating links (it does not update the view at
> all).

Yes, that's what I mentioned as the "twist." Earlier versions updated the display of the link based on saved changes to the link's file.


> 
> As 6.4 is quite old, I recommend to test with a fresh version. You might try
> https://wiki.documentfoundation.org/Installing_in_parallel/
> Linux#Automated_installation
> 

This is a new install so I've not gotten around to bypassing the distro's repo. (It is the latest available there.) Will update and re-test.
Comment 13 Buovjaga 2022-10-18 19:31:04 UTC
Right, sorry. I do confirm that when entering edit mode after the maximising and saving of the source, the object area is not yet expanded, making the contents squished. However, this is only seen once.