diff options
author | Jon TURNEY <jon.turney@dronecode.org.uk> | 2010-09-29 22:54:22 +0100 |
---|---|---|
committer | Jon TURNEY <jon.turney@dronecode.org.uk> | 2011-01-19 14:02:37 +0000 |
commit | 09fd010902fad56735b8069b1becb80d85bd6a35 (patch) | |
tree | 2a46e39fd0bc561203e3bf44f496948a4f867144 /hw/xwin/winwndproc.c | |
parent | 625ab9701fd75b879c1dafc05fa979591eea87c0 (diff) |
Cygwin/X: DirectDraw engines shouldn't try to blit if the surface wasn't allocated
Fix winShadowUpdateDD(|NL) so we don't try to blit to primary surface if it didn't get allocated
(Intel drivers, in particular, seem to like to issue a WM_DISPLAYCHANGE during a suspend/resume
cycle, but not allow surface to be allocated right then)
Also:
Use winReleasePrimarySurfaceShadowDD(|NL) in winFreeFBShadowDD(|NL) rather than open coding it
Don't mess about recreating surface if we're going to resize it anyhow
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
Tested-by: Colin Harrison <colin.harrison@virgin.net>
Diffstat (limited to 'hw/xwin/winwndproc.c')
-rw-r--r-- | hw/xwin/winwndproc.c | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/hw/xwin/winwndproc.c b/hw/xwin/winwndproc.c index dd8f27edb..bccd6f9f2 100644 --- a/hw/xwin/winwndproc.c +++ b/hw/xwin/winwndproc.c @@ -231,18 +231,7 @@ winWindowProc (HWND hwnd, UINT message, (this is probably usually the case so that might be an overoptimization) */ - - /* - * We can simply recreate the same-sized primary surface when - * the display dimensions change. - */ { - -#if CYGDEBUG - winDebug ("winWindowProc - WM_DISPLAYCHANGE - Recreated " - "primary surface\n"); -#endif - /* In rootless modes which are monitor or virtual desktop size use RandR to resize the X screen @@ -311,13 +300,8 @@ winWindowProc (HWND hwnd, UINT message, else { /* - If we get here, we are either windowed and using the GDI engine - or windowed and non-fullscreen using any engine - */ - - /* - * For ddraw engines, we need to (try to) recreate the same-sized primary surface - * when display dimensions change (but not depth, that is disruptive) + * We can simply recreate the same-sized primary surface when + * the display dimensions change. */ /* |