Commit Graph

20 Commits

Author SHA1 Message Date
Stefan Dösinger 28850ae5f8 ddrawex: Don't leak surfaces.
dds_get_outer AddRefs the inner surface when it creates the wrapper
surface. The wrapper releases only one reference when it is destroyed,
leaking one of the two. AddRefing in dds_get_outer makes sense because
this is also used by e.g. GetAttachedSurface, where it creates a new
wrapper for surfaces ddrawex didn't know about yet.
2014-09-04 20:21:03 +02:00
Henri Verbeet 8c97327da6 ddrawex: Get rid of the IDirectDrawSurfaceImpl typedef. 2013-11-12 14:16:03 +01:00
Henri Verbeet 38b4364ce4 ddrawex: Get rid of the IDirectDrawImpl typedef. 2013-11-12 14:15:28 +01:00
Henri Verbeet b9e1bcb7f6 ddrawex: Get rid of the IDirectDrawFactoryImpl typedef. 2013-11-04 11:05:56 +01:00
Michael Stefaniuc f452057ef6 ddrawex: Get rid of dds_get_inner(). 2012-08-17 16:25:18 +02:00
Michael Stefaniuc 3a95fe8476 ddrawex: COM cleanup for the IDirectDraw4 iface. 2011-01-24 14:43:24 +01:00
Michael Stefaniuc eb850bf522 ddrawex: Rename impl_from_dd4() to impl_from_IDirectDraw4(). 2011-01-24 14:43:24 +01:00
Michael Stefaniuc 3f7a060c37 ddrawex: COM cleanup for the IDirectDraw3 iface. 2011-01-24 14:43:23 +01:00
Michael Stefaniuc 9b77bdff54 ddrawex: COM cleanup for the IDirectDraw2 iface. 2011-01-24 14:43:23 +01:00
Michael Stefaniuc 8003b48421 ddrawex: COM cleanup for the IDirectDraw iface. 2011-01-24 14:43:23 +01:00
Henri Verbeet d38f535c05 ddrawex: Correctly retrieve the "outer" surface in IDirectDraw3Impl_GetSurfaceFromDC(). 2010-03-29 15:51:11 +02:00
Henri Verbeet 6ae96807c0 ddrawex: Directly return the ddraw surface in IDirectDraw4Impl_GetSurfaceFromDC(). 2010-03-29 15:51:02 +02:00
Francois Gouget a07195bb72 ddrawex: Fix compilation on systems that don't support nameless unions. 2009-08-31 12:52:18 +02:00
Marcus Meissner 294382269d ddrawex: Use stack ctx instead of uninitialized variable. 2009-01-27 11:09:08 +01:00
Francois Gouget 053d521ca7 ddrawex: Add a trailing '\n' to a Wine trace. 2009-01-14 14:52:24 +01:00
Michael Stefaniuc 8b5a5e532b ddrawex: Remove superfluous pointer casts. 2009-01-14 12:21:08 +01:00
Michael Stefaniuc cee7954a67 ddrawex: Remove redundant NULL check before HeapFree (Smatch). 2009-01-10 17:43:10 +01:00
Stefan Dösinger da6c9e4cc2 ddrawex: Implement a GetDC special behavior Internet Explorer depends on.
Tests show that in ddrawex.dll it is legal to create a surface with
both DDSCAPS_VIDEOMEMORY and DDSCAPS_SYSTEMMEMORY flag set. A surface
created that way shows different behavior in IDirectDrawSurface::GetDC.
2009-01-09 16:23:18 +01:00
Stefan Dösinger 0d80130aa2 ddrawex: Create a surface wrapper. 2009-01-09 16:20:20 +01:00
Stefan Dösinger efcecb9b99 ddrawex: Implement a wrapper around IDirectDraw.
This allows us to cleanly implement the differences between ddraw.dll and
ddrawex.dll without private functions and if checks if an object was created
by ddraw or ddrawex. A similar wrapper will be added for IDirectDrawSurface.
2009-01-09 15:53:43 +01:00