summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Xconfig/various.pm24
1 files changed, 18 insertions, 6 deletions
diff --git a/lib/Xconfig/various.pm b/lib/Xconfig/various.pm
index 59cf92b..516bd12 100644
--- a/lib/Xconfig/various.pm
+++ b/lib/Xconfig/various.pm
@@ -353,8 +353,8 @@ sub check_xorg_conf_symlink() {
}
}
-sub setupFB {
- my ($bios_vga_mode) = @_;
+sub change_bootloader_config {
+ my ($do, @do_params) = @_;
require bootloader;
my ($bootloader, $all_hds);
@@ -372,13 +372,25 @@ sub setupFB {
$bootloader = bootloader::read($all_hds) or return;
}
- foreach (@{$bootloader->{entries}}) {
- $_->{vga} = $bios_vga_mode if $_->{vga}; #- replace existing vga= with
- }
+ $do->($bootloader, @do_params) or return;
- bootloader::update_splash($bootloader);
bootloader::action($bootloader, 'write', $all_hds);
bootloader::action($bootloader, 'when_config_changed');
+ 1;
+}
+
+sub setupFB {
+ my ($bios_vga_mode) = @_;
+
+ change_bootloader_config(
+ sub {
+ my ($bootloader, $bios_vga_mode) = @_;
+ foreach (@{$bootloader->{entries}}) {
+ $_->{vga} = $bios_vga_mode if $_->{vga}; #- replace existing vga= with
+ }
+ bootloader::update_splash($bootloader);
+ 1;
+ }, $bios_vga_mode);
}
1;