richedit: Add closing actions for IRichEditOle_fnInsertObject.
Previously inserting the object didn't result in the text being wrapped,
which would cause an assertion error when this is checked for during
repainting the text. It is also important to invalidate the affected
areas of text, update the scrollbar, and end the creation of undo
transactions for this insertion.
diff --git a/dlls/riched20/caret.c b/dlls/riched20/caret.c
index 33dbdaf..058d278 100644
--- a/dlls/riched20/caret.c
+++ b/dlls/riched20/caret.c
@@ -459,7 +459,7 @@
MERF_GRAPHICS);
di->member.run.ole_obj = ALLOC_OBJ(*reo);
ME_CopyReObject(di->member.run.ole_obj, reo);
- ME_SendSelChange(editor);
+ ME_ReleaseStyle(pStyle);
}
diff --git a/dlls/riched20/richole.c b/dlls/riched20/richole.c
index 326ecc5..61cf6bb 100644
--- a/dlls/riched20/richole.c
+++ b/dlls/riched20/richole.c
@@ -388,6 +388,8 @@
if (reo->polesite) IOleClientSite_AddRef(reo->polesite);
ME_InsertOLEFromCursor(This->editor, reo, 0);
+ ME_CommitUndo(This->editor);
+ ME_UpdateRepaint(This->editor);
return S_OK;
}