framework/source/accelerators/acceleratorconfiguration.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
New commits: commit 936f2e6924e405433770b98f32a615508fd0670d Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Wed Mar 22 16:59:23 2023 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Wed Mar 22 19:36:13 2023 +0000 fix crash seen when experimenting with tdf#129547 Change-Id: I0b26a7f683f91d3307856f86c5a437fde1155451 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149331 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/framework/source/accelerators/acceleratorconfiguration.cxx b/framework/source/accelerators/acceleratorconfiguration.cxx index 48e0d362026e..e07c826109a7 100644 --- a/framework/source/accelerators/acceleratorconfiguration.cxx +++ b/framework/source/accelerators/acceleratorconfiguration.cxx @@ -64,7 +64,10 @@ namespace framework static OUString lcl_getKeyString(const css::awt::KeyEvent& aKeyEvent) { const sal_Int32 nBeginIndex = 4; // "KEY_" is the prefix of an identifier... - OUStringBuffer sKeyBuffer((KeyMapping::get().mapCodeToIdentifier(aKeyEvent.KeyCode)).subView(nBeginIndex)); + OUString sKey(KeyMapping::get().mapCodeToIdentifier(aKeyEvent.KeyCode)); + if (sKey.getLength() < nBeginIndex) // dead key + return OUString(); + OUStringBuffer sKeyBuffer(sKey.subView(nBeginIndex)); if ( (aKeyEvent.Modifiers & css::awt::KeyModifier::SHIFT) == css::awt::KeyModifier::SHIFT ) sKeyBuffer.append("_SHIFT");