[Gdiplus 1/5] Fix for CloneRegion
Adam Petaccia
adam at tpetaccia.com
Sat Aug 16 22:28:04 CDT 2008
---
dlls/gdiplus/region.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/gdiplus/region.c b/dlls/gdiplus/region.c
index 11b5aa6..5527834 100644
--- a/dlls/gdiplus/region.c
+++ b/dlls/gdiplus/region.c
@@ -234,6 +234,7 @@ static inline void fuse_region(GpRegion* region, region_element* left,
*/
GpStatus WINGDIPAPI GdipCloneRegion(GpRegion *region, GpRegion **clone)
{
+ GpStatus stat;
region_element *element;
TRACE("%p %p\n", region, clone);
@@ -244,10 +245,12 @@ GpStatus WINGDIPAPI GdipCloneRegion(GpRegion *region, GpRegion **clone)
*clone = GdipAlloc(sizeof(GpRegion));
if (!*clone)
return OutOfMemory;
- element = &(*clone)->node;
+ stat = clone_element(®ion->node, &element);
(*clone)->header = region->header;
- return clone_element(®ion->node, &element);
+ (*clone)->node = *element;
+
+ return stat;
}
GpStatus WINGDIPAPI GdipCombineRegionPath(GpRegion *region, GpPath *path, CombineMode mode)
--
1.5.4.3
More information about the wine-patches
mailing list