Bug 85398 - To cut table contents does not set document-modified flag
Summary: To cut table contents does not set document-modified flag
Status: RESOLVED WORKSFORME
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
4.1.0.4 release
Hardware: Other All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisected, bisected, regression
Depends on:
Blocks: Cut-Copy ModifiedStatus
  Show dependency treegraph
 
Reported: 2014-10-24 09:35 UTC by Matthew Francis
Modified: 2022-07-26 16:35 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 Matthew Francis 2014-10-24 09:35:58 UTC
Observed while investigating bug 84935, but unrelated

Steps to reproduce:
1. Load the file from https://bugs.freedesktop.org/attachment.cgi?id=107674
2. Select the table on slide 3 (the whole table, by clicking on the border - the text of the table will be selected)
3. Cut

Expected result:
- File is marked unsaved

Actual result:
- File is not marked unsaved


Note that due to bug 84801, 4.3.2.2 currently crashes performing the above sequence of actions, but the issue still occurs on 4.4 master (without crashing)

This doesn't occur in 4.0.6.2, but does occur in 4.1.0.4, so this can be considered a very old regression
Comment 1 A (Andy) 2014-10-24 17:51:43 UTC
for me not reproducible with LO 4.3.2.2 (Win 8.1)
Comment 2 Buovjaga 2014-10-24 18:27:23 UTC
Not reproducible here either.

Win 7 64-bit 4.3.2.2 and dev build Version: 4.4.0.0.alpha1+
Build ID: 0a82645c360158f9cc0fdabe2a52f1ff8f981bed
TinderBox: Win-x86@39, Branch:master, Time: 2014-10-24_06:59:23
Comment 3 Terrence Enger 2014-10-25 19:32:05 UTC
I see the problematic behaviour in daily dbgutil bibisect versions
2014-09-10 and 2014-10-25.  (Version 2014-09-09 crashes opening the
file, presumably because of bug 84801.)  It may be interesting to
note:
(1) After closing the file, the preview in Start Center shows the
    empty table.
(2) <Delete> instead of <Ctrl>+X in step (3) *does* set the
    document-modified flag.

I am setting bug status NEW.

Matthew,

What operating system are you on?  If you are on Linux, then the bug
has only been seen on Linux, and the O/S field of the report should
reflect that.

Terry.
Comment 4 Terrence Enger 2014-10-25 19:35:45 UTC
Updating summary to distinguish <Ctrl>+Z from <Delete>.
Comment 5 Terrence Enger 2014-10-25 21:49:13 UTC
I did a bibisect in the 43-all repository.  Among the versions I
deemed good are two:
    commit cd762eb source-hash-c956206
    commit 5e90d93 source-hash-ba446dd
which in which <Ctrl>+X deletes table as well as its contents.

Anyway, from `git bisect good`:

    a7e54955e9f49e8b59dfd8c4533785a680b1796c is the first bad commit
    commit a7e54955e9f49e8b59dfd8c4533785a680b1796c
    Author: Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
    Date:   Wed Oct 16 11:07:50 2013 +0000

        source-hash-5da10275a7475efdbfd9de14ea58cf8f4c6c1582
    
        commit 5da10275a7475efdbfd9de14ea58cf8f4c6c1582
        Author:     Stephan Bergmann <sbergman@redhat.com>
        AuthorDate: Fri Mar 1 17:09:45 2013 +0100
        Commit:     Stephan Bergmann <sbergman@redhat.com>
        CommitDate: Fri Mar 1 17:18:29 2013 +0100
    
            Related rhbz#915743: Abort UCB call from SvtMatchContext_Impl::Stop
    
            ...as otherwise the SvtMatchContext_Impl thread can continue to run for
            arbitrarily long, and the other thread calling Stop() and join() will block.
    
            However, especially the WebDAV UCP does not properly support aborting commands,
            see 260afe56fd6b2f34de8290f3cdb7d1df5b88f8a8 " neon commands cannot be aborted",
            so this is not yet enough to actually fix rhbz#915743 "thread deadlock/slow
            join in insert->hyperlink in impress."
    
            Change-Id: I0da899f824763e1b3d19bb5b38d906feb690b623

    :100644 100644 fd22aadcebcf1ca20b6c2fcdb9e135deeb9b5885 8a0f14e1bb71d7ecdf8086c62e9769bb7f2d09b8 M	autogen.log
    :100644 100644 5af869ab53b50329a270e7d4e2587f802bf68afb 8519bf956c5e06a85818d380070eedc0ef846790 M	ccache.log
    :100644 100644 63cd7351c9d6feb098661a5783d51bb172d8a306 33abac29aad7182260562465482b493d94b78a83 M	commitmsg
    :100644 100644 e9ea867065a69fa4f0fbbb5c2abb40baeeabd307 21fc5294b2cb922862b78327b6b8a3cd953f38b5 M	dev-install.log
    :100644 100644 4c087a5ff52a8cef08f31417ac650666b1d9d0af c1cc87465560a589137349c81641a62968242386 M	make.log
    :040000 040000 ece742cbaf9101d015210ea8da6c00ad7a4457c7 9ff9cbceea1fe6b0ad1b17fe9068b2c8e32a6cbb M	opt

and from `git bisect log`:

    # bad: [423a84c4f7068853974887d98442bc2a2d0cc91b] source-hash-c15927f20d4727c3b8de68497b6949e72f9e6e9e
    # good: [65fd30f5cb4cdd37995a33420ed8273c0a29bf00] source-hash-d6cde02dbce8c28c6af836e2dc1120f8a6ef9932
    git bisect start 'latest' 'oldest'
    # bad: [e02439a3d6297a1f5334fa558ddec5ef4212c574] source-hash-6b8393474974d2af7a2cb3c47b3d5c081b550bdb
    git bisect bad e02439a3d6297a1f5334fa558ddec5ef4212c574
    # good: [8f4aeaad2f65d656328a451154142bb82efa4327] source-hash-1885266f274575327cdeee9852945a3e91f32f15
    git bisect good 8f4aeaad2f65d656328a451154142bb82efa4327
    # good: [9995fae0d8a24ce31bcb5e9cd0459b69cfbf7a02] source-hash-8600bc24bbc9029e92bea6102bff2921bc10b33e
    git bisect good 9995fae0d8a24ce31bcb5e9cd0459b69cfbf7a02
    # bad: [8ad82bc1416a07501651e8d96fe268e47d3931d3] source-hash-13821254f88d2c5488fba9fe6393dcf4ae810db4
    git bisect bad 8ad82bc1416a07501651e8d96fe268e47d3931d3
    # bad: [238338bc4111eb82429ea47384d4012bcd7cdc3e] source-hash-b6ba04639b9922f6717f79ac4be215e09691d7a9
    git bisect bad 238338bc4111eb82429ea47384d4012bcd7cdc3e
    # bad: [89dc8a802d1625e0efd88ba0fb720b22be87f3f0] source-hash-da03bb1ee6a69d2f4fef4c3ca0adc0ba9588bd19
    git bisect bad 89dc8a802d1625e0efd88ba0fb720b22be87f3f0
    # bad: [fe956dc63cc7ed1831f0e7e9e7253ea4d8c99549] source-hash-b15f095293c6127ecaef2f0fa3a1683e72392835
    git bisect bad fe956dc63cc7ed1831f0e7e9e7253ea4d8c99549
    # good: [cd762eb968ba8783f726b67d9d70b0a76f4eb55d] source-hash-c9562064740baed3a9978723c5fe77b44a13a7aa
    git bisect good cd762eb968ba8783f726b67d9d70b0a76f4eb55d
    # bad: [a7e54955e9f49e8b59dfd8c4533785a680b1796c] source-hash-5da10275a7475efdbfd9de14ea58cf8f4c6c1582
    git bisect bad a7e54955e9f49e8b59dfd8c4533785a680b1796c
    # good: [5e90d936616ff95724eaa3e3a0a7c7a9747e9b44] source-hash-ba446dd58a4ad324d242afcd5b28d3b4dff5a881
    git bisect good 5e90d936616ff95724eaa3e3a0a7c7a9747e9b44
    # first bad commit: [a7e54955e9f49e8b59dfd8c4533785a680b1796c] source-hash-5da10275a7475efdbfd9de14ea58cf8f4c6c1582
Comment 6 Matthew Francis 2014-10-26 03:17:34 UTC
This was originally observed on OSX, so Platform: All is still the correct answer
Comment 7 Matthew Francis 2014-12-26 16:36:33 UTC
The bug appears to have been introduced by the following commit:

commit a00b62422e5499e842d0b3b6302ba79f3d808c27
Author: Gokul <gswaminathan@kacst.edu.sa>
Date:   Sat Feb 2 15:29:56 2013 +0300

    Fixes fdo#46186, The Table Remains in the defined writing mode.
    
    The table in impress is drawn under the rectangular are, on Selecting
    the table it was only selecting the rectangular area and not the cells
    inside, Making the layout to be as RTL which was mirroring the table.
    
    But, We need the table to be in RTL Writing mode and not mirroring the
    table. Now on applying my patch, If table is selected, it will select
    the entire cells inside which is the actual table and the functionality
    works fine.
    
    Change-Id: I9d6bdde5019322488be66fa89a6488d348b2cf44
    Reviewed-on: https://gerrit.libreoffice.org/1964
    Reviewed-by: Ahmad Harthi <aalharthi@kacst.edu.sa>
    Tested-by: Ahmad Harthi <aalharthi@kacst.edu.sa>
Comment 8 Robinson Tryon (qubit) 2015-12-13 11:11:00 UTC Comment hidden (obsolete)
Comment 9 QA Administrators 2018-07-02 02:36:24 UTC Comment hidden (obsolete)
Comment 10 Terrence Enger 2018-07-02 18:43:15 UTC
I still see the bug in daily Linux dbgutil bibisect repository version
2018-07-01.

Unlike what I experienced in 2014, to <Delete> the contents of the
table also fails to set the document-modified flag.
Comment 11 QA Administrators 2019-07-08 02:48:39 UTC Comment hidden (obsolete)
Comment 12 Terrence Enger 2019-07-31 17:19:48 UTC
I still see the bug in a local build from 2019-07-15, built and
running on debian-buster.
Comment 13 Andrew Watson 2020-07-19 14:38:13 UTC
Bug confirmed still present in:

Version: 7.0.0.2
Build ID: c01aa64b6c3d89ebe5fe69c28c7adb24eb85249c
CPU threads: 4; OS: Mac OS X 10.11.6; UI render: default; VCL: osx
Locale: en-GB (en_GB.UTF-8); UI: en-GB
Calc: threaded

Bug also confrmed present in:

Version: 5.4.5.1
Build ID: 79c9829dd5d8054ec39a82dc51cd9eff340dbee8
CPU threads: 4; OS: Mac OS X 10.11.6; UI render: default; 
Locale: en-GB (en_GB.UTF-8); Calc: group

Bug confirmed NOT present in:

Version 4.0.6.2 (Build ID: 2e2573268451a50806fcd60ae2d9fe01dd0ce24)

(Also running on Mac OS X 10.11.6)

Note that the behaviour at step 3 also changes - in LO 4.0.6.2 Cmd-X deletes the whole table (and sets the "Document modified" flag"), whereas in LO 5.4.5.1 and later, the contents of the table are deleted, but the table itself remains (and the "Document modified" flag is not set).
Comment 14 QA Administrators 2022-07-20 03:29:19 UTC Comment hidden (obsolete)
Comment 15 Andrew Watson 2022-07-26 16:35:57 UTC
Bug now NOT present in:

Version: 7.3.5.2 / LibreOffice Community
Build ID: 184fe81b8c8c30d8b5082578aee2fed2ea847c01
CPU threads: 4; OS: Mac OS X 10.14.6; UI render: default; VCL: osx
Locale: en-GB (en_GB.UTF-8); UI: en-GB
Calc: threaded

Behaviour has returned to that in LO 4.0.6.2 - Cmd-X deletes the whole table and sets the "Document modified" flag" (whereas in LO 5.4.5.1 the contents of the table are deleted, but the table itself remains, and the "Document modified" flag is not set).

Hence the bug seems to have been fixed in LO 7.3.5.2 - status field set to RESOLVED-WORKSFORME.