Avoid crashes in ddraw.dll when loading it without x11drv
Dmitry Timoshkov
dmitry at baikal.ru
Mon Dec 6 03:41:01 CST 2004
Hello,
Changelog:
Dmitry Timoshkov <dmitry at codeweavers.com>
Avoid crashes in ddraw.dll when loading it without x11drv, for instance
from wineprefixcreate in a text mode console.
diff -up cvs/hq/wine/dlls/ddraw/d3ddevice/mesa.c wine/dlls/ddraw/d3ddevice/mesa.c
--- cvs/hq/wine/dlls/ddraw/d3ddevice/mesa.c 2004-12-02 14:04:31.000000000 +0800
+++ wine/dlls/ddraw/d3ddevice/mesa.c 2004-12-06 14:31:51.000000000 +0800
@@ -4212,6 +4212,12 @@ d3ddevice_init_at_startup(void *gl_handl
int major, minor, patch, num_parsed;
TRACE("Initializing GL...\n");
+
+ if (!drawable)
+ {
+ WARN("x11drv not loaded - D3D support disabled!\n");
+ return FALSE;
+ }
/* Get a default rendering context to have the 'caps' function query some info from GL */
device_context = GetDC(0);
diff -up cvs/hq/wine/dlls/ddraw/ddraw/hal.c wine/dlls/ddraw/ddraw/hal.c
--- cvs/hq/wine/dlls/ddraw/ddraw/hal.c 2004-09-08 17:35:51.000000000 +0900
+++ wine/dlls/ddraw/ddraw/hal.c 2004-12-06 14:29:09.000000000 +0800
@@ -213,6 +213,9 @@ static BOOL initialize(void)
static void cleanup(void)
{
DDHAL_DESTROYDRIVERDATA data;
+
+ if (!dd_cbs.HALDD.DestroyDriver) return;
+
data.lpDD = NULL;
data.ddRVal = 0;
data.DestroyDriver = dd_cbs.HALDD.DestroyDriver;
More information about the wine-patches
mailing list