diff options
Diffstat (limited to 'perl-install/Xconfig/main.pm')
| -rw-r--r-- | perl-install/Xconfig/main.pm | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/perl-install/Xconfig/main.pm b/perl-install/Xconfig/main.pm index f1ad91f41..a794f3297 100644 --- a/perl-install/Xconfig/main.pm +++ b/perl-install/Xconfig/main.pm @@ -159,10 +159,17 @@ sub configure_chooser { sub configure_everything_or_configure_chooser { my ($in, $options, $auto, $o_keyboard, $o_mouse) = @_; - my $raw_X = Xconfig::xfree->read; + my $raw_X = eval { Xconfig::xfree->read }; + + if (!$raw_X) { + log::l("ERROR: bad X config file $@"); + $in->ask_okcancel('', + N("Your Xorg configuration file is broken, we will ignore it.")) or return; + $raw_X = []; + } if (is_empty_array_ref($raw_X)) { - $raw_X = Xconfig::default::configure($o_keyboard, $o_mouse); + $raw_X = Xconfig::default::configure($in->do_pkgs, $o_keyboard, $o_mouse); Xconfig::main::configure_everything($in, $raw_X, $in->do_pkgs, $auto, $options) or return; } else { Xconfig::main::configure_chooser($in, $raw_X, $in->do_pkgs, $options) or return if !$auto; |
