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 */