1. Open attachment 161675 [details] from bug 122298 (enable macros when it asks)
2. Double click the form categories to open it
3. Change the first value in the amount column
The chart should update immediately. The display of the chart is also different, there are three bars per group and the legend is different.
Bibisected with linux-64-7.1 to
tdf#77007: chart must honor its parent's IsEnableSetModified
Adding Cc: to Mike Kaganski
Reported by Stang in bug 126499
Also reproduced on Windows
Version: 126.96.36.199.alpha0+ (x64) / LibreOffice Community
Build ID: 62ee3d791d63cb693109b063b73dff5e81356d90
CPU threads: 2; OS: Windows 10.0 Build 19042; UI render: Skia/Raster; VCL: win
Locale: fi-FI (fi_FI); UI: en-US
> Macro not receiving event for form modification
This title looks wrong. The event is received (and setting a breakpoint to SUB ChangeData would trigger the breakpoint when editing the data).
But I am inclined to call this NOTABUG. The macro calls oDiag.Component.setmodified(true), abusing its side effect of updating the component. Not setting its "modified" flag looks legitimate in a locked document with modifications disallowed; and instead, its XUpdatable::update() should be called:
which works as expected.
Trying to fix this could be either reverting the fix for tdf#77007 (and then trying to implement some more complex fix to make sure to mark loaded charts unmodified in different scenarios), or introducing some more complex logic to the check in the mentioned fix, which would try to guess if parent "IsEnableSetModified = false" does not apply to this element, which would be likely difficult to implement correctly.