RICHED20: additional tests plus RFC

a_villacis at palosanto.com a_villacis at palosanto.com
Sat Sep 15 21:34:17 CDT 2007


I am tracking down a richedit bug in FACETS (bug #1713).

Apparently, the OCX control used by this app expects a particular
SendMessage()
with the message EM_SETCHARFORMAT to return 1. Currently builtin returns 0
unconditionally, making this app bail out with "Invalid property value". By
changing the return value to 1 unconditionally, the app gets "fixed", but
this
is not a proper solution, since other apps might break with this change.

This patch adds additional testing of EM_SETCHARFORMAT. All todo_wine's
succeed
in an installation of WinXP SP2. Please confirm this is so for all of you.

There are two code blocks commented out. The first one makes the app crash on
WinXP, and is listed for completeness. The other one was supposed to test
what
happens when the riched20 control receives a blanked-out CHARFORMAT2
structure.
However this triggers an assertion in Wine at style.c line 63. WinXP doesn't
bat an eye, and possibly ignores these structure values. Unless somebody
objects, I will shortly send a patch that replaces the assertion with a NULL
return in style.c, plus a NULL check in editor.c .

There are more riched20 tests that fail in WinXP SP2, unrelated to
EM_SETCHARFORMAT, but I would like confirmation that (1) somebody else sees
failing tests in native Windows, not just me, and (2) this patch does not
introduce any new failing tests in native Windows.

Changelog:
* Add additional tests for EM_SETCHARFORMAT message of riched20 control
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wine-riched20-tests-EM_SETCHARFORMAT-ret-test.patch
Type: text/x-patch
Size: 6551 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20070915/e82fd0f4/attachment.bin 


More information about the wine-patches mailing list