Module: wine
Branch: master
Commit: c54a0fc2cf5c58bf2aa47a523aa7593dc71e333e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c54a0fc2cf5c58bf2aa47a523…
Author: Stefan Dösinger <stefan(a)codeweavers.com>
Date: Tue Mar 6 21:47:45 2007 +0100
wined3d: Rework surface dirtification.
Previously the surfaces stored a flag if the system memory copy was
ahead of the gl copy(SFLAG_DIRTY) or the gl copy is
ahead(SFLAG_GLDIRTY). The pbuffer copy was 'managed' differently using
SFLAG_INPBUFFER and SFLAG_INTEXTURE.
This patch replaces them with 3 flags, INSYSMEM, INPBUFFER and
INTEXTURE which specify which copy contains the most up to date
copy. It is perfectly valid to have more than one of those flags
set. One must be set at least (except at init, when no content is in
the surface yet). When one copy is modified, the flags for the others
are removed.
---
dlls/wined3d/context.c | 5 --
dlls/wined3d/device.c | 11 ++++-
dlls/wined3d/drawprim.c | 40 ++++++++++++++-
dlls/wined3d/surface.c | 99 +++++++++++++++++++++-----------------
dlls/wined3d/surface_gdi.c | 1 -
dlls/wined3d/swapchain.c | 18 ++++---
dlls/wined3d/utils.c | 6 +-
dlls/wined3d/wined3d_private.h | 23 ++++-----
include/wine/wined3d_interface.h | 2 -
9 files changed, 124 insertions(+), 81 deletions(-)
Diff: http://source.winehq.org/git/wine.git/?a=commitdiff;h=c54a0fc2cf5c58bf2aa47…
Module: wine
Branch: master
Commit: e499a84416528e5c854be3f280a80688edf8fe83
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e499a84416528e5c854be3f28…
Author: Aric Stewart <aric(a)codeweavers.com>
Date: Wed Mar 7 15:31:19 2007 +0900
user32: Don't delete hrgnClip until we are done using it.
Thanks to Peter Oberndorfer for noticing this.
---
dlls/user32/painting.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/dlls/user32/painting.c b/dlls/user32/painting.c
index 5c70b2a..c361610 100644
--- a/dlls/user32/painting.c
+++ b/dlls/user32/painting.c
@@ -869,7 +869,6 @@ INT WINAPI ScrollWindowEx( HWND hwnd, INT dx, INT dy,
if( !bOwnRgn)
CombineRgn( hrgnWinupd, hrgnWinupd, hrgnTemp, RGN_OR );
RedrawWindow( hwnd, NULL, hrgnTemp, rdw_flags);
- DeleteObject( hrgnClip );
/* Catch the case where the scolling amount exceeds the size of the
* original window. This generated a second update area that is the
@@ -889,6 +888,7 @@ INT WINAPI ScrollWindowEx( HWND hwnd, INT dx, INT dy,
if( !bOwnRgn)
CombineRgn( hrgnWinupd, hrgnWinupd, hrgnTemp, RGN_OR );
}
+ DeleteObject( hrgnClip );
}
DeleteObject( hrgnTemp );
} else {