[1/2] gdi32: Added PolyDraw tests to tests/path.c [try2]
estade at gmail.com
Fri Jun 29 16:49:41 CDT 2007
On 6/29/07, Koshelev, Misha Vladislavo <mk144210 at bcm.tmc.edu> wrote:
> On 6/27/07, Evan Stade <estade at gmail.com> wrote:
> > Hi,
> > [try2] The patch I sent yesterday was not properly todo_wined. Also,
> > this test is a bit more extensive (about twice as many points drawn).
> > It uses various point-type combination (even non-sensical ones such as
> > PT_LINETO | PT_MOVETO) to test the exact logic of PolyDraw with an
> > open path.
> > changelog:
> > * added polydraw test to path testing (5 more todo_wines)
> > dlls/gdi32/tests/path.c | 70
> > 1 files changed, 70 insertions(+), 0 deletions(-)
> > --
> > Evan Stade
> Also, I'd add a PT_MOVETO into your first PolyDraw call so you can tell
> PT_CLOSEFIGURE adds a PT_MOVETO to orig_pos or lastmove, as the current
> does not differentiate this.
Thanks a lot for your help.
Your shorter diff may make the tests conform, but it incorrectly
assigns lastmove.x = dc->CursPosX. This only makes it conform to the
tests because the tests happen to have a MoveToEx as the last path
point before the PolyDraw is called. Also, your diff doesn't
correctly check the point types. The test if( lpbTypes[i] ==
PT_MOVETO) (which was there before your changes) is wrong because it
returns false for PT_MOVETO | PT_LINETO, when it should return true
(according to my testing which was not a part of the test I
submitted). Also, your diff does not MoveToEx to orig_pos at the
second "return FALSE". This is incorrect but again does not show up
in the tests.
So while a small and simple diff can make these specific tests
conform, it is not correct. However I still don't understand how this
influences whether the test patch got accepted. Your explanation of
why the fix patch didn't get accepted on the other hand does make
More information about the wine-devel