From 9b1beea7d719ce7874e60ac8dd02ad9eb09ef595 Mon Sep 17 00:00:00 2001 From: Phil Krylov Date: Sun, 5 Feb 2006 12:18:55 +0100 Subject: [PATCH] riched20: Empty undo stack after EM_STREAMIN without SFF_SELECTION flag. --- dlls/riched20/editor.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c index 2a458e7256c..b9ce16281c7 100644 --- a/dlls/riched20/editor.c +++ b/dlls/riched20/editor.c @@ -664,14 +664,22 @@ static LRESULT ME_StreamIn(ME_TextEditor *editor, DWORD format, EDITSTREAM *stre } editor->nUndoMode = nUndoMode; - pUI = ME_AddUndoItem(editor, diUndoDeleteRun, NULL); - TRACE("from %d to %d\n", from, to); - if (pUI && from < to) + if (format & SFF_SELECTION) { - pUI->nStart = from; - pUI->nLen = to-from; + pUI = ME_AddUndoItem(editor, diUndoDeleteRun, NULL); + TRACE("from %d to %d\n", from, to); + if (pUI && from < to) + { + pUI->nStart = from; + pUI->nLen = to-from; + } + ME_CommitUndo(editor); } - ME_CommitUndo(editor); + else + { + ME_EmptyUndoStack(editor); + } + ME_ReleaseStyle(style); editor->nEventMask = nEventMask; if (editor->bRedraw)