From c0d7ac5b71059b633a40cd798f9e2157961e7313 Mon Sep 17 00:00:00 2001 From: Daniel Ramoeller Date: Mon, 17 Apr 2023 18:16:41 +0200 Subject: [PATCH] Split-inset fix - Remember whether something has to be pasted Fix for bug #12747 --- src/Text.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Text.cpp b/src/Text.cpp index e87689990f..d8cd365093 100644 --- a/src/Text.cpp +++ b/src/Text.cpp @@ -2007,6 +2007,9 @@ bool Text::splitInset(Cursor & cur) cur.resetAnchor(); setCursor(cur, cur.lastpit(), getPar(cur.lastpit()).size()); cur.setSelection(); + // Remember whether there was something cut that has to be pasted below + // (bug #12747) + bool const hasCut = cur.selection(); cap::cutSelectionToTemp(cur); cur.setMark(false); cur.selHandle(false); @@ -2028,7 +2031,9 @@ bool Text::splitInset(Cursor & cur) cur.resetAnchor(); cur.text()->selectAll(cur); cutSelection(cur, false); - cap::pasteFromTemp(cur, cur.buffer()->errorList("Paste")); + // If there was something cut paste it + if (hasCut) + cap::pasteFromTemp(cur, cur.buffer()->errorList("Paste")); cur.text()->setCursor(cur, 0, 0); if (atlastpos && cur.paragraph().isFreeSpacing() && cur.paragraph().empty()) { // We started from par end, remove extra empty par in free spacing insets