/*
* PROJECT: ReactOS win32 kernel mode subsystem
* LICENSE: GPL - See COPYING in the top level directory
- * FILE: subsystems/win32/win32k/objects/path.c
+ * FILE: win32ss/gdi/ntgdi/path.c
* PURPOSE: Graphics paths (BeginPath, EndPath etc.)
* PROGRAMMER: Copyright 1997, 1998 Martin Boehme
* 1999 Huw D M Davies
if (!Realloc)
{
DPRINT1("Can't allocate pool!\n");
+ ExFreePoolWithTag(pBzrPts, TAG_BEZIER);
goto end;
}
POINT pt;
IntGetCurrentPositionEx(dc, &pt);
IntDPtoLP(dc, &pt, 1);
- IntGdiMoveToEx(dc, pt.x, pt.y, NULL, FALSE);
+ IntGdiMoveToEx(dc, pt.x, pt.y, NULL);
}
DPRINT("Leave %s, ret=%d\n", __FUNCTION__, ret);
return ret;
/* Make sure that path is empty */
PATH_EmptyPath(pPath);
+ pPath->numEntriesAllocated = NUM_ENTRIES_INITIAL;
+
+ pPath->pPoints = (POINT *)ExAllocatePoolWithTag(PagedPool, NUM_ENTRIES_INITIAL * sizeof(POINT), TAG_PATH);
+ pPath->pFlags = (BYTE *)ExAllocatePoolWithTag(PagedPool, NUM_ENTRIES_INITIAL * sizeof(BYTE), TAG_PATH);
+
/* Initialize variables for new path */
pPath->newStroke = TRUE;
pPath->state = PATH_Open;
pDc = DC_LockDc(hDC);
if (!pDc)
{
+ DPRINT1("Failed to lock DC %p\n", hDC);
EngSetLastError(ERROR_INVALID_PARAMETER);
return NULL;
}
pPath = PATH_LockPath(pDc->dclevel.hPath);
if (!pPath)
{
+ DPRINT1("Failed to lock DC path %p\n", pDc->dclevel.hPath);
DC_UnlockDc(pDc);
return NULL;
}
if (pPath->state != PATH_Closed)
{
// FIXME: Check that setlasterror is being called correctly
+ DPRINT1("Path is not closed!\n");
EngSetLastError(ERROR_CAN_NOT_COMPLETE);
}
else
Rgn = REGION_AllocUserRgnWithHandle(1);
if (!Rgn)
{
+ DPRINT1("Failed to allocate a region\n");
PATH_UnlockPath(pPath);
DC_UnlockDc(pDc);
return NULL;
}
else
{
+ DPRINT1("PATH_PathToRegion failed\n");
REGION_Delete(Rgn);
hrgnRval = NULL;
}