Bug 75452 - BASIC: window frame controller doesn't update properly when the changes is made to the document model
Summary: BASIC: window frame controller doesn't update properly when the changes is ma...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Spreadsheet (show other bugs)
Version: 4.2.1.1 release
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Not Assigned
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-24 16:15 UTC by Todor Takov
Modified: 2015-01-24 13:39 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Snapshot1 is the situation before running thr copy/paste macro. Snapshot2 is after the macro is run. (365.11 KB, application/pdf)
2014-02-24 16:15 UTC, Todor Takov
Details
Snapshot1 is the situation before running thr copy/paste macro. (200.77 KB, image/png)
2014-02-24 16:23 UTC, Todor Takov
Details
Snapshot2 is after the macro is run. (202.22 KB, image/png)
2014-02-24 16:24 UTC, Todor Takov
Details

Description Todor Takov 2014-02-24 16:15:15 UTC
Created attachment 94666 [details]
Snapshot1 is the situation before running thr copy/paste macro. Snapshot2 is after the macro is run.

The machine here is running Linux 3.10.17, Slackware 14.1, fairly up to date,
KDE  4.12.2, LibreOffice_4.2.1.1_Linux_x86-64, downloaded from the official
LibreOffice site - no changes whatsoever.


I have one simple .ods file, that has 2 sheets - Sheet1 and Sheet2.
Sheet1 has a very long (~5000) list of rows (5 and more colums wide) . It is opened in one calc window.
Sheet2 is almost emty - 3 rows, containing the column headers only. And is
opened in another calc window.

In a macro, I pick up a row from Sheet1 and copy/paste it in Sheet2 in the
first available empty row. 
And  in order to see the last 3 pasted rows in Sheet2(Second Window) the
macro has a command:

oFrame.Controller.setFirstVisibleRow(numrow), 
Where numrow is about 3 rows up from where I pasted the last row.

This command acts on the Second open window and it's controller, containing
Sheet2.
Up untill version 4.1.4 of LibreOffice this worked flawlessly.
Now in version 4.2.1.1 the Frame Controller scrambles the Second window and
shows arbitrary rows in Sheet2, sometimes each row twice + emty rows in
between them, or even part of the desktop behind the window, which has
nothing to do with the document model. The copy/paste operation is always
correct, but the window frame view does not update correctly. It looks like
arbitrary graphical artefacts.

There is a way to restore the view in the second window, to show the correct
view corresponding to the document model - and this is by moving a little
the vertical scroll slider. Then everything is normal again , untill the
next oFrame.Controller.setFirstVisibleRow(numrow) command.

Has anyone met such behaviour?
And another question - how can I send to the second frame (window) a command
via the dispath DispatchHelper,
to move it's vertical scroll slider by 1 or more units - up or down, doesn't
matter?
I could not find a proper dispatch helper URL parameter for the scrollbar -
there is one called "ScrollBar", but I couldn't find an explanation what it
does, or wether it accepts argument , and if yes - what are they. 


Regards,
toodr
Comment 1 Todor Takov 2014-02-24 16:23:56 UTC
Created attachment 94667 [details]
Snapshot1 is the situation before running thr copy/paste macro.
Comment 2 Todor Takov 2014-02-24 16:24:34 UTC
Created attachment 94668 [details]
Snapshot2 is after the macro is run.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.