Bug 157776 - "Save changes to document" appears even after just opening and closing and no edits
Summary: "Save changes to document" appears even after just opening and closing and no...
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
7.1.8.1 release
Hardware: All All
: medium normal
Assignee: Mike Kaganski
URL:
Whiteboard: target:24.2.0
Keywords: bibisected, bisected, regression
Depends on:
Blocks: ModifiedStatus
  Show dependency treegraph
 
Reported: 2023-10-14 15:52 UTC by Gerald Pfeifer
Modified: 2023-10-16 19:01 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
Sample document (PPTX) (29.88 KB, application/vnd.ms-powerpoint)
2023-10-14 15:52 UTC, Gerald Pfeifer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gerald Pfeifer 2023-10-14 15:52:40 UTC
Created attachment 190215 [details]
Sample document (PPTX)

How to reproduce:

 1. Open sample document "savechanges.pptx"

 2. <Ctrl>-<W> 
      - or-
    "File" - "Exit LibreOffice"

 3. Expected behavior: Window or LibreOffice closes.

    Actual behavior    
      "Save Document
      Save changes to document "savechanges.pptx" before closing?
      Your changes will be lost if you don't save them."
    appears.

Note:

  Same document, first slide removed, no longer reproduces.
  Same document, graphics on second slide removed, no longer reproduces.


Not present in

  Version: 7.0.7.0.0+
  Build ID: 54e9dd41dc9dd45af12c9346199f601ea4a5994d
  CPU threads: 8; OS: Linux 6.5; UI render: default; VCL: gtk3
  Locale: en-US (en_US.UTF-8); UI: en-US
  TinderBox: Linux-rpm_deb-x86_64@86-TDF, Branch:libreoffice-7-0, Time: 2021-05-07_08:22:18

Present in 

  Version: 7.1.8.0.0+ / LibreOffice Community
  Build ID: 4784990eda6098f0408276b4d424e81382a50460
  CPU threads: 8; OS: Linux 6.5; UI render: default; VCL: gtk3
  Locale: en-US (en_US.UTF-8); UI: en-US
  TinderBox: Linux-rpm_deb-x86_64@86-TDF, Branch:libreoffice-7-1, Time: 2021-10-15_11:37:03

  and still in

  Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community
  Build ID: e9374f74385d7dfe77d1902d3d82af20143bc775
  CPU threads: 8; OS: Linux 6.5; UI render: default; VCL: gtk3
  Locale: en-US (en_US.UTF-8); UI: en-US

So a regression between 7.0.7 and 7.1.8.
Comment 1 m_a_riosv 2023-10-14 19:32:39 UTC
Maybe something in the file, it doesn't happen to me with other files, with one or several slides.

It happens also, opening and saving with PowerPoint.
Comment 2 BogdanB 2023-10-15 17:33:08 UTC
Mike, I added you here, can you please take a look?
 1677cf78d4231960040d91e99c3cf19812aa8e0a is the first bad commit
commit 1677cf78d4231960040d91e99c3cf19812aa8e0a
Author: Jenkins Build User <tdf@pollux.tdf>
Date:   Tue Sep 15 06:14:45 2020 +0200

    source 574eec9036c5f185b3572ba1e0ca9d111eb361dc
    
    source 574eec9036c5f185b3572ba1e0ca9d111eb361dc

 instdir/program/libchartcorelo.so | Bin 4552936 -> 4553152 bytes
 instdir/program/setuprc           |   2 +-
 instdir/program/versionrc         |   2 +-
 3 files changed, 2 insertions(+), 2 deletions(-)

author	Mike Kaganski <mike.kaganski@collabora.com>	2020-09-12 17:22:23 +0300
committer	Mike Kaganski <mike.kaganski@collabora.com>	2020-09-15 06:09:04 +0200
commit 574eec9036c5f185b3572ba1e0ca9d111eb361dc (patch)
tree 1bb42b53b1b41fbaf87517fb268c08a834d3e0ba
parent abcc4eb907661e07ad850ccce7eb06f129da4286 (diff)
tdf#77007: chart must honor its parent's IsEnableSetModified
Regression from commit bb97ecdbcc8d8dafd39e728b21bc68efee4eccbc,
which had dropped storing chart doc (calling its storeOwn) while
loading back in 2012, to avoid performance problems when loading
XLS.

Funnily, in 2013, commit a666862deffa33013d3df3bb62e87c67f9a89948
was merged, that was expected to solve exactly the same problem as
this change, by calling storeOwn for charts being loaded; while
obviously not fixing the problem properly, it seems to had undone
the effect of the Markus's commit.

The latter commit had a side effect of updating views of modified
charts while exporting them inside storeOwn, which made respective
draw pages to be up-to-date right after loading, including those on
inactive sheets. Now, after this change, this is not so, thus unit
tests' getChartDocFromSheet was made to update the view explicitly.

Unfortunately, it's not yet possible to revert the change from
commit a666862deffa33013d3df3bb62e87c67f9a89948, because obviously
some dependency grew, which makes e.g. testTdf122594 fail if that
commit is reverted. Given that testTdf122594 has no charts, storing
the modified objects while loading has much wider side effects than
was expected by author of a666862deffa33013d3df3bb62e87c67f9a89948.

Change-Id: Iee1b9ef6f4d8c2dfa0a49680c5e2b465f1817a59
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102534
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Comment 3 Aron Budea 2023-10-16 05:44:12 UTC
Seems related to bug 141892, except that one's about ODF format (see bug 141892 comment 8 for wisdom from Mike).
Comment 5 Commit Notification 2023-10-16 09:13:19 UTC
Mike Kaganski committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/7215ac4ded82da0c0efc6a5d9465f632e8e8a4b6

tdf#157776: Do not send delayed update notifications for setModified(false)

It will be available in 24.2.0.

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

Affected users are encouraged to test the fix and report feedback.
Comment 6 Commit Notification 2023-10-16 16:28:39 UTC
Mike Kaganski committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/6506279e3bed2284ce0ec9a0957a0201eb0d72ae

tdf#157776: Do not set chart and its parent modified when painting

It will be available in 24.2.0.

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

Affected users are encouraged to test the fix and report feedback.
Comment 7 BogdanB 2023-10-16 17:24:25 UTC Comment hidden (no-value)
Comment 8 BogdanB 2023-10-16 19:01:15 UTC
Working well on master

Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: f8be1b73847514bb8e2054dc6d8a62e00682ab78
CPU threads: 16; OS: Linux 6.2; UI render: default; VCL: gtk3
Locale: ro-RO (ro_RO.UTF-8); UI: en-US
Calc: threaded