http://bugs.winehq.org/show_bug.cgi?id=14280
Summary: Richedit's EM_SETTEXTEX ignores ST_SELECTION Product: Wine Version: 1.1.0 Platform: Other OS/Version: other Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: richedit AssignedTo: wine-bugs@winehq.org ReportedBy: ne4@parsoma.net
EM_SETTEXTEX which supposedly obeys ST_SELECTION (see http://msdn.microsoft.com/en-us/library/bb787954(VS.85).aspx ) but the EM_SETTEXTEX handler ignores it, calling "ME_StreamInRTFString(editor, 0, (char *)lParam);" either way, which via ME_StreamInRTFString causes ME_StreamIn to delete the entire buffer and not just just that one selection.
I have checked that Windows XP does obey the ST_SELECTION flag as documented by MSDN.
I suspect one fix is on the 1.1.0 version of http://source.winehq.org/source/dlls/riched20/editor.c#L2184 , which should probably set the second parameter of ME_StreamInRTFString to a true value.
http://bugs.winehq.org/show_bug.cgi?id=14280
--- Comment #1 from ne4@parsoma.net 2008-07-07 20:42:39 --- Created an attachment (id=14642) --> (http://bugs.winehq.org/attachment.cgi?id=14642) Passes ST_SELECTION status along to richedit streaming functions
This patch, for example, fixes this behavior for me to accord with that of Windows.
http://bugs.winehq.org/show_bug.cgi?id=14280
--- Comment #2 from Lei Zhang thestig@google.com 2008-07-08 20:15:15 --- What real world app needs this?
Please send patches to wine-patches@winehq.org, they won't get picked up from here.
http://bugs.winehq.org/show_bug.cgi?id=14280
--- Comment #3 from ne4@parsoma.net 2008-07-09 05:51:36 --- (In reply to comment #2)
What real world app needs this?
I've been writing a patch to convert some text displays of the peer-to-peer application DC++ to use Richedit instead of standard Edit controls, stream in RTF, and would prefer to use the cleaner EM_SETTEXTEX mechanism than the EM_STREAMIN one, which requires keeping more state on the caller-side. The EM_SETTEXTEX version works fine on Windows, but I primarily use WINE and am attempting to get that working before committing this patch.
Also, regardless, it's still a deviation from Windows behavior.
http://bugs.winehq.org/show_bug.cgi?id=14280
--- Comment #4 from Lei Zhang thestig@google.com 2008-07-09 12:52:43 --- It might be helpful if you write some test cases to exercise the EM_SETTEXTEX code.
http://bugs.winehq.org/show_bug.cgi?id=14280
ne4@parsoma.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #14642|0 |1 is obsolete| |
--- Comment #5 from ne4@parsoma.net 2008-07-23 05:02:33 --- Created an attachment (id=15001) --> (http://bugs.winehq.org/attachment.cgi?id=15001) Richedit: fix bug 14280, EM_SETTEXTTEX obeys ST_SELECTION with RTF inputs
This patch has been sent to the wine-patches mailing list as well.
http://bugs.winehq.org/show_bug.cgi?id=14280
ne4@parsoma.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #6 from ne4@parsoma.net 2008-08-05 15:12:23 --- The git trunk contains this fix.
http://bugs.winehq.org/show_bug.cgi?id=14280
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org 2008-08-22 10:47:39 --- Closing bugs fixed in 1.1.3.