http://git.etersoft.ru/projects
/
wine
/
eterwine.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
118934f
)
gdi32: Creating hVisRgn and hClipRgn fields of DC structure for any physDevs (eterbug...
author
Ilya Shpigor
<shpigor@etersoft.ru>
Mon, 31 Aug 2009 08:54:05 +0000
(12:54 +0400)
committer
Vitaly Lipatov
<lav@etersoft.ru>
Wed, 23 Sep 2009 17:37:33 +0000
(21:37 +0400)
dlls/gdi32/clipping.c
patch
|
blob
|
blame
|
history
diff --git
a/dlls/gdi32/clipping.c
b/dlls/gdi32/clipping.c
index 8e80207f0e9b8ca6fe623133fe5c7e0aad81e8e2..e3bb6a0e169a7fad4490f38ae8e81c5d2ae4a08a 100644
(file)
--- a/
dlls/gdi32/clipping.c
+++ b/
dlls/gdi32/clipping.c
@@
-126,8
+126,21
@@
INT WINAPI ExtSelectClipRgn( HDC hdc, HRGN hrgn, INT fnMode )
if (dc->funcs->pExtSelectClipRgn)
{
retval = dc->funcs->pExtSelectClipRgn( dc->physDev, hrgn, fnMode );
- release_dc_ptr( dc );
- return retval;
+ if (!dc->hVisRgn)
+ {
+ if ((fnMode == RGN_COPY) && !hrgn)
+ dc->hVisRgn = CreateRectRgn( 0, 0, 0, 0 );
+ else if (hrgn)
+ {
+ GetRgnBox( hrgn, &rect );
+ dc->hVisRgn = CreateRectRgn( rect.left, rect.top, rect.right, rect.bottom );
+ }
+ else
+ {
+ release_dc_ptr( dc );
+ return retval;
+ }
+ }
}
if (!hrgn)