From: Dmitry Timoshkov dmitry@baikal.ru
FillPath() for a EMF hdc has its own handler EMFDC_FillPath which calls NtGdiPathToRegion() as part of its workflow. NtGdiPathToRegion() on success sets dc->path to NULL. NtGdiFillPath() fails and sets last error to ERROR_CAN_NOT_COMPLETE if dc->path is NULL, so calling FillPath() on a EMF hdc currently always fails with ERROR_CAN_NOT_COMPLETE.
Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru --- dlls/gdi32/dc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/gdi32/dc.c b/dlls/gdi32/dc.c index cc39f2794e2..3a88e4749c2 100644 --- a/dlls/gdi32/dc.c +++ b/dlls/gdi32/dc.c @@ -2182,7 +2182,7 @@ BOOL WINAPI FillPath( HDC hdc )
if (!(dc_attr = get_dc_attr( hdc ))) return FALSE; if (dc_attr->print) print_call_start_page( dc_attr ); - if (dc_attr->emf && !EMFDC_FillPath( dc_attr )) return FALSE; + if (dc_attr->emf) return EMFDC_FillPath( dc_attr ); return NtGdiFillPath( hdc ); }