diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2020-07-03 16:25:03 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2020-07-04 00:12:32 +0200 |
commit | 49124a6c5e14562110ea9a9318d1a93b14f9fa5c (patch) | |
tree | 0efb3891211b00cdcf2e8ef2736f6baf78043a26 /svx | |
parent | a5073875fe551790a314b402ff209545050c17da (diff) |
Re-implement 481e686a66e550229ec0b600a785452f0d753342
Marking documents modified simply on entry to an edit box created a
problem, when using search in a read-only Online session made the
document modified, and then auto-save failed, displaying a warning:
Document cannot be saved. Check your permissions or contact the
storage server administrator.
The original problem, that 481e686a66e550229ec0b600a785452f0d753342
fixed, was that entering a box in Impress in browser, typing, then
pressing Save without exiting the box did not save the edits. Yet,
the same sequence works outside of Online. In that case, the doc is
marked modified in SdrObjEditView::KeyInput, which obviously is not
called from Online, where SdrObjEditView::Command is called instead
with CommandEventId::ExtTextInput. So just make sure that we mark
the document modified also in this case, making sure that only the
actual edits set the "modified" flag.
This reverts 481e686a66e550229ec0b600a785452f0d753342.
Change-Id: Ib05bc0492616a306dd328bcb8f2e1c9d7e7aa191
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97870
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/svdraw/svdedxv.cxx | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx index 6dddd270005c..9551cf985b03 100644 --- a/svx/source/svdraw/svdedxv.cxx +++ b/svx/source/svdraw/svdedxv.cxx @@ -1980,6 +1980,13 @@ bool SdrObjEditView::Command(const CommandEvent& rCEvt, vcl::Window* pWin) else { pTextEditOutlinerView->Command(rCEvt); + if (mpModel && comphelper::LibreOfficeKit::isActive()) + { + // It could execute CommandEventId::ExtTextInput, while SdrObjEditView::KeyInput + // isn't called + if (pTextEditOutliner && pTextEditOutliner->IsModified()) + mpModel->SetChanged(); + } return true; } } |