Patch implementing riched20 : EM_PASTESPECIAL -- critique?

Arren Lex arrenlex at gmail.com
Sun Jan 4 16:50:36 CST 2009


Thank you for your reply!

Yes, this workaround works. I was testing on EASy68k, the only program
I know that uses EM_PASTESPECIAL, and it was invoking CF_TEXT and
pasting garbage (question marks and plusses, but the same length as
the source text). When I treated them as CF_UNICODE, it pasted
perfectly.

I have started trying to write a conformance test for this feature,
but it's difficult because I am not sure what clipboard formats
actually have implementations. From looking at editor.c it seems to me
only rich text and unicode are supported. The full list of possible
clipboard formats, of course, is vast (
http://msdn.microsoft.com/en-us/library/ms649013(VS.85).aspx#_win32_Standard_Clipboard_Formats
). When issuing an EM_PASTESPECIAL, the user could specify any of
them. Does someone familiar with the riched20 code know what formats
are currently supported in it?

Also, EM_PASTESPECIAL supports the REPASTESPECIAL structure (
http://msdn.microsoft.com/en-us/library/bb787948(VS.85).aspx ) which I
don't know how to even begin to approach, as I'm not sure how the
pasting code works and what these fields actually do. What does the
"aspect" do? Where does it currently get its "aspect" from by default?

It should be easy to write a test for the functionality I implemented
-- it would be very similar to the WM_PASTE test that's in there
already. However, it wouldn't reflect the full capability of the
message, and if it did, it would be very hard for me to write and it
wouldn't pass (on wine).

If someone from riched could give a nudge in the right direction on
these issues, it would be super awesome. :)

- Alex

2009/1/4 Dan Kegel <dank at kegel.com>:
> Hi, and welcome to Wine development!
>
> Two notes on your patch:
> 1) does treating CF_TEXT as a CF_UNICODETEXT work?
> 2) you don't include a conformance test.  Conformance
> tests are really, really helpful.  I bet you could write
> one for this feature.   Please give it a shot, and make
> sure the test passes on Windows.
> - Dan
>



More information about the wine-devel mailing list