tdf#141930 document set as unmodified if editengine didn't modify on keyevent

this appears to have always happened for cursor keys, and since

commit 0154f04e8c64df937b793c73ac58d553637f324f
Author: Caolán McNamara <caolanm@redhat.com>
Date:   Wed Feb 24 14:32:21 2021 +0000

    Resolves: rhbz#1931423 start update timer in IM events as well as keyevents

also happens on Input Engine events which don't cause changes

Change-Id: Ic5cdd9ef4f1bed1cc2b2c17fc847f196a9c6e23a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114930
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 8e78b937fca92f5ed07383e69ceef71715a15fe1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115086
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
diff --git a/starmath/source/edit.cxx b/starmath/source/edit.cxx
index ae01f41..dad74ef 100644
--- a/starmath/source/edit.cxx
+++ b/starmath/source/edit.cxx
@@ -489,8 +489,8 @@ void SmEditWindow::UserPossiblyChangedText()
    // cursor travelling and such things...
    SmDocShell *pDocShell = GetDoc();
    EditEngine *pEditEngine = GetEditEngine();
    if (pDocShell && pEditEngine)
        pDocShell->SetModified(pEditEngine->IsModified());
    if (pDocShell && pEditEngine && pEditEngine->IsModified())
        pDocShell->SetModified(true);
    aModifyIdle.Start();
}