Check for NULL flipchain and just return the current surface if it
happens.
diff --git a/dlls/ddraw/dsurface/main.c b/dlls/ddraw/dsurface/main.c
index edeec91..700b4c7 100644
--- a/dlls/ddraw/dsurface/main.c
+++ b/dlls/ddraw/dsurface/main.c
@@ -88,6 +88,11 @@
int i,j,flipable=0;
struct _surface_chain *chain = This->s.chain;
+ if (!chain) {
+ ERR("No flip chain? -> returning This.\n");
+ return This;
+ }
+
/* if there was no override flipto, look for current backbuffer */
if (!flipto) {
/* walk the flip chain looking for backbuffer */