(svn r26539) -Fix [FS#5994]: [Windows] Crash due to assuming (formerly) _video_driver is being set before the operating system has time to perform the first "paint" callback

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
rubidium 10 years ago
parent b476086c39
commit 05f7df39ce

@ -116,15 +116,18 @@ bool DriverFactoryBase::SelectDriverImpl(const char *name, Driver::Type type)
if (d->type != type) continue;
if (d->priority != priority) continue;
Driver *oldd = *GetActiveDriver(type);
Driver *newd = d->CreateInstance();
*GetActiveDriver(type) = newd;
const char *err = newd->Start(NULL);
if (err == NULL) {
DEBUG(driver, 1, "Successfully probed %s driver '%s'", GetDriverTypeName(type), d->name);
delete *GetActiveDriver(type);
*GetActiveDriver(type) = newd;
delete oldd;
return true;
}
*GetActiveDriver(type) = oldd;
DEBUG(driver, 1, "Probing %s driver '%s' failed with error: %s", GetDriverTypeName(type), d->name, err);
delete newd;
}

Loading…
Cancel
Save