[v3 PATCH] gdi32: Support Begin/End Path for metafile DCs

Huw Davies huw at codeweavers.com
Tue Feb 16 04:43:15 CST 2016


On Tue, Feb 16, 2016 at 09:28:06PM +1100, Alistair Leslie-Hughes wrote:
> From: Dmitry Timoshkov <dmitry at baikal.ru>
> 
> Correct failed test.
> Updated Author/signoffs.
> v3 - Removed Dmitry signoff on request.
> 
> Fixes https://bugs.winehq.org/show_bug.cgi?id=39185
> 
> Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
> ---
>  dlls/gdi32/enhmfdrv/dc.c    |  4 +++-
>  dlls/gdi32/path.c           | 20 +++++++++++++++++++-
>  dlls/gdi32/tests/metafile.c |  2 +-
>  3 files changed, 23 insertions(+), 3 deletions(-)
> 
> diff --git a/dlls/gdi32/path.c b/dlls/gdi32/path.c
> index e09cd0b..166b6b2 100644
> --- a/dlls/gdi32/path.c
> +++ b/dlls/gdi32/path.c
...
> @@ -1513,6 +1523,14 @@ static BOOL pathdrv_ExtTextOut( PHYSDEV dev, INT x, INT y, UINT flags, const REC
>      struct path_physdev *physdev = get_path_physdev( dev );
>      unsigned int idx, ggo_flags = GGO_NATIVE;
>      POINT offset = {0, 0};
> +    DWORD type;
> +
> +    type = GetObjectType(dev->hdc);
> +    if (type == OBJ_METADC || type == OBJ_ENHMETADC)
> +    {
> +        PHYSDEV next = GET_NEXT_PHYSDEV( dev, pExtTextOut );
> +        return next->funcs->pExtTextOut( next, x, y, flags, lprc, str, count, dx );
> +    }
>  
>      if (!count) return TRUE;
>      if (flags & ETO_GLYPH_INDEX) ggo_flags |= GGO_GLYPH_INDEX;

Why the special treatment for ExtTextOut()?  I can believe we
may need to do something with Begin/EndPath, but why this?

Dmitry, is this the reason you don't want to send it?

Huw.



More information about the wine-devel mailing list