Bug 106929 - Can not edit interior table border style more than once (without un/re-selecting)
Summary: Can not edit interior table border style more than once (without un/re-select...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
4.1 all versions
Hardware: All All
: medium normal
Assignee: Michael Stahl
QA Contact:
URL:
Whiteboard: target:5.4.0 target:5.3.3
Keywords: bibisected, bisected, regression
Depends on:
Blocks: Writer-Tables
  Show dependency treegraph
 
Reported: 2017-04-03 16:44 UTC by Jim Avera
Modified: 2017-05-22 21:22 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
bugdemo.odt (see "Steps to reproduce") (9.52 KB, application/vnd.oasis.opendocument.text)
2017-04-03 16:45 UTC, Jim Avera
Details
Screen shot showing 2nd time Properties is opened (130.95 KB, image/png)
2017-04-03 16:48 UTC, Jim Avera
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jim Avera 2017-04-03 16:44:20 UTC
Description:
If a table is selected (or multiple rows within a table), then the interior border style can be changed only once.  After clicking "OK" if Table-Properties is opened again, interior borders are not editable -- they are not even shown in the border-selector.

Steps to Reproduce:
1. Open the attached "bugdemo.odt"
2. Select the entire table; then Table->Properties
3. Click the interior border in the diagram and change something (Style, Width, and/or Color).   Click OK
4. See the change in the document
5. Table->Properties

Actual Results:  
The border-selector diagram shows no interior borders.  It is not possible to make further edits on interior border styles (without de-selecting and re-selecting the table).

Expected Results:
If Table Properties is re-opened after a change, it should work normally.


Reproducible: Always

User Profile Reset: No

Additional Info:


User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
Comment 1 Jim Avera 2017-04-03 16:45:46 UTC
Created attachment 132312 [details]
bugdemo.odt (see "Steps to reproduce")
Comment 2 Jim Avera 2017-04-03 16:48:37 UTC
Created attachment 132313 [details]
Screen shot showing 2nd time Properties is opened
Comment 3 Sebastien edouard 2017-04-15 19:25:04 UTC
This problem does occur. I followed the procedure above and the outcome was a predicted. It only happen when table is selected. When you select select a cell and open table properties and make changes to interior border this is not the case
Comment 4 Telesto 2017-04-16 18:36:47 UTC
Confirming with:
Version: 5.4.0.0.alpha0+
CPU threads: 4; OS: Windows 6.19; UI render: GL; 
TinderBox: Win-x86@42, Branch:master, Time: 2017-04-05_23:32:27
Locale: nl-NL (nl_NL); Calc: CL

and with
Versie: 4.4.6.3 
Build ID: e8938fd3328e95dcf59dd64e7facd2c7d67c704d
Locale: nl_NL

and with
Versie: 4.2.0.4 
Build ID: 05dceb5d363845f2cf968344d7adab8dcfb2ba71

but not with:
Versie: 4.1.0.4 
Build ID: 89ea49ddacd9aa532507cbf852f2bb22b1ace28
Comment 5 Xisco Faulí 2017-04-17 20:13:29 UTC
Regression introduced by:

author	Michael Stahl <mstahl@redhat.com>	2013-03-27 22:09:59 (GMT)
committer	Michael Stahl <mstahl@redhat.com>	2013-03-27 22:47:00 (GMT)
commit	b227a8e4d65e4bbfe991aed9342fe3e30eca8639 (patch)
tree	64ca9d8b92092739385bf64a8ff97a067f8350b7
parent	159edc43135bd02f6d507424c3b0546c2e03851f (diff)
fdo#60513: SwCrsrShell::Push(): take position from table cursor
If there is a table cursor, store its point/mark position on the cursor
stack instead of pCurCrsr, which in this case is just one cell in a ring
that contains a SwShellCrsr for every selected cell.

SwCrsrShell::Pop() is surprisingly able to restore the prior state,
because it calls UpdateCrsr(), which detects that the pCurCrsr spans
multiple table cells and re-creates pTblCrsr, and then later on the
first GetCrsr() call SwTableCursor::MakeBoxSels() will restore the ring
of SwShellCrsrs from the pTblCrsr selection.

Bisected with bibisect-41max.

Adding Cc: to Michael Stahl
Comment 6 Michael Stahl 2017-04-19 09:15:27 UTC
fixed on master
Comment 7 Commit Notification 2017-04-19 09:16:11 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=c72b9c1dc5683a132bf00659e0c8556253340c97

tdf#106929 sw: SwCursorShell::Pop() ensure cursor ring is recreated

It will be available in 5.4.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 8 Commit Notification 2017-04-19 14:24:19 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "libreoffice-5-3":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=0ae1b76c3a90226ba588eb75837ab2f494ac5d5f&h=libreoffice-5-3

tdf#106929 sw: SwCursorShell::Pop() ensure cursor ring is recreated

It will be available in 5.3.3.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 9 Jim Avera 2017-05-22 21:22:25 UTC
Confirmed fixed in Version: 5.3.4.0.0+
Build ID: 221de7cfdb6c6b6a4879162652bf842c4358f9eb

and in master.

Thank you very much!