Kevin Koltzau : riched20: Call GetClipboardData callback on cut/copy.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Feb 23 05:55:30 CST 2006


Module: wine
Branch: refs/heads/master
Commit: 53b74b0d56659210c960ae0662c0af397b407ec4
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=53b74b0d56659210c960ae0662c0af397b407ec4

Author: Kevin Koltzau <kevin at plop.org>
Date:   Wed Feb 22 23:09:59 2006 -0500

riched20: Call GetClipboardData callback on cut/copy.

---

 dlls/riched20/editor.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c
index 5eb9d77..cf6080a 100644
--- a/dlls/riched20/editor.c
+++ b/dlls/riched20/editor.c
@@ -1767,11 +1767,14 @@ LRESULT WINAPI RichEditANSIWndProc(HWND 
   case WM_CUT:
   case WM_COPY:
   {
-    LPDATAOBJECT dataObj;
+    LPDATAOBJECT dataObj = NULL;
     CHARRANGE range;
-    HRESULT hr;
+    HRESULT hr = S_OK;
     ME_GetSelection(editor, (int*)&range.cpMin, (int*)&range.cpMax);
-    hr = ME_GetDataObject(editor, &range, &dataObj);
+    if(editor->lpOleCallback)
+        hr = IRichEditOleCallback_GetClipboardData(editor->lpOleCallback, &range, RECO_COPY, &dataObj);
+    if(FAILED(hr) || !dataObj)
+        hr = ME_GetDataObject(editor, &range, &dataObj);
     if(SUCCEEDED(hr)) {
         hr = OleSetClipboard(dataObj);
         IDataObject_Release(dataObj);




More information about the wine-cvs mailing list