--- loader/loader.c | 35 +++++++++++++++++++++++++++++++++++ 1 files changed, 35 insertions(+), 0 deletions(-) diff --git a/loader/loader.c b/loader/loader.c index 55cb0f8..c13956c 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -2036,7 +2036,37 @@ int main(int argc, char ** argv) { logMessage(INFO, "Trying to detect vendor driver discs"); dd = findDriverDiskByLabel(); dditer = dd; + + if (dd && !loaderData.ksfile) { + startNewt(); + } + + while(dditer) { + /* If in interactive mode, ask for confirmation before loading the DD */ + if (!loaderData.ksfile) { + char * buf; + + checked_asprintf(&buf, + _("Driver disc was detected in %s. " + "Do you want to use it?."), dditer->data); + + rc = newtWinChoice(_("Driver disc detected"), _("Use it"), _("Skip it"), + buf); + free(buf); + if (rc == 2) { + logMessage(INFO, "Skipping driver disk %s.", (char*)(dditer->data)); + + /* clean the device record */ + free((char*)(dditer->data)); + dditer->data = NULL; + + /* next DD */ + dditer = g_slist_next(dditer); + continue; + } + } + /* load the DD */ if (loadDriverDiskFromPartition(&loaderData, (char*)(dditer->data))) { logMessage(ERROR, "Automatic driver disk loader failed for %s.", (char*)(dditer->data)); @@ -2052,6 +2082,11 @@ int main(int argc, char ** argv) { /* next DD */ dditer = g_slist_next(dditer); } + + if (!dd && loaderData.ksfile) { + stopNewt(); + } + g_slist_free(dd); } -- 1.6.6.1 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list