PostScript driver demand loading

Ian Pilcher pilcher at concentric.net
Thu Mar 1 03:33:44 CST 2001


Due to the overwhelmingly positive response -- 1 positive, 0 negative.
(Yes, that is sarcasm.)

Changelog:

    * graphics/driver.c, dlls/gdi/gdi_main.c
      Ian Pilcher <pilcher at concentric.net>
      Don't load the WINEPS driver until it's needed
    
-- 
========================================================================
Ian Pilcher                                       pilcher at concentric.net
========================================================================
-------------- next part --------------
--- ../wine-20010226cvs/graphics/driver.c	Mon Nov 27 17:54:29 2000
+++ graphics/driver.c	Tue Feb 27 18:34:08 2001
@@ -54,15 +54,25 @@
  */
 const DC_FUNCTIONS *DRIVER_FindDriver( LPCSTR name )
 {
-    GRAPHICS_DRIVER *driver = firstDriver;
+    GRAPHICS_DRIVER *driver;
+    HINSTANCE	    hDriver;
 
     TRACE(": %s\n", name);
-    while (driver && name)
-    {
+
+    if (!name) return genericDriver ? genericDriver->funcs : NULL;
+
+    for (driver = firstDriver; driver; driver = driver->next)
         if (!strcasecmp( driver->name, name )) return driver->funcs;
-        driver = driver->next;
-    }
-    return genericDriver ? genericDriver->funcs : NULL;
+
+    if (!(hDriver = LoadLibraryA (name))) return NULL;
+
+    for (driver = firstDriver; driver; driver = driver->next)
+        if (!strcasecmp( driver->name, name )) return driver->funcs;
+
+    if (!FreeLibrary (hDriver))
+	WARN ("FreeLibrary failed with code %li\n", GetLastError ());
+
+    return NULL;
 }
 
 
--- ../wine-20010226cvs/dlls/gdi/gdi_main.c	Fri Jan 26 14:43:43 2001
+++ dlls/gdi/gdi_main.c	Tue Feb 27 18:19:44 2001
@@ -24,9 +24,6 @@
     /* Create the Win16 printer driver */
     if (!WIN16DRV_Init()) return FALSE;
 
-    /* PSDRV initialization */
-    if (!LoadLibraryA( "wineps" )) return FALSE;
-
     return TRUE;
 }
 


More information about the wine-patches mailing list