Author: hpoussin
Date: Mon May 29 13:36:26 2006
New Revision: 22102
URL: 
http://svn.reactos.ru/svn/reactos?rev=22102&view=rev
Log:
Don't stop the search after the first driver found. Next ones may be better
Modified:
    trunk/reactos/dll/win32/newdev/newdev.c
Modified: trunk/reactos/dll/win32/newdev/newdev.c
URL:
http://svn.reactos.ru/svn/reactos/trunk/reactos/dll/win32/newdev/newdev.c?r…
==============================================================================
--- trunk/reactos/dll/win32/newdev/newdev.c (original)
+++ trunk/reactos/dll/win32/newdev/newdev.c Mon May 29 13:36:26 2006
@@ -54,12 +54,12 @@
        /* FIXME: InstallFlags bRebootRequired ignored! */
        /* Check flags */
-       /* FIXME: if (InstallFlags & ~(INSTALLFLAG_FORCE | INSTALLFLAG_READONLY |
INSTALLFLAG_NONINTERACTIVE))
+       if (InstallFlags & ~(INSTALLFLAG_FORCE | INSTALLFLAG_READONLY |
INSTALLFLAG_NONINTERACTIVE))
        {
                DPRINT("Unknown flags: 0x%08lx\n", InstallFlags &
~(INSTALLFLAG_FORCE | INSTALLFLAG_READONLY | INSTALLFLAG_NONINTERACTIVE));
                SetLastError(ERROR_INVALID_FLAGS);
                goto cleanup;
-       }*/
+       }
        /* Enumerate all devices of the system */
        DevInstData.hDevInfo = SetupDiGetClassDevsW(NULL, NULL, hwndParent,
DIGCF_ALLCLASSES | DIGCF_PRESENT);
@@ -374,7 +374,7 @@
                        if (SearchDriverRecursive(DevInstData, FullPath))
                        {
                                retval = TRUE;
-                               break;
+                               /* We continue the search for a better driver */
                        }
                }
                else
@@ -392,14 +392,13 @@
                                if (SearchDriver(DevInstData, DirPath, NULL))
                                {
                                        retval = TRUE;
-                                       goto cleanup;
+                                       /* We continue the search for a better driver */
                                }
                        }
                }
        }
-cleanup:
        if (hFindFile != INVALID_HANDLE_VALUE)
                FindClose(hFindFile);
        return retval;