summaryrefslogtreecommitdiffstats
path: root/perl-install/Xconfig/xfree.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/Xconfig/xfree.pm')
-rw-r--r--perl-install/Xconfig/xfree.pm9
1 files changed, 7 insertions, 2 deletions
diff --git a/perl-install/Xconfig/xfree.pm b/perl-install/Xconfig/xfree.pm
index d1d45e406..eadceda3f 100644
--- a/perl-install/Xconfig/xfree.pm
+++ b/perl-install/Xconfig/xfree.pm
@@ -19,15 +19,20 @@ sub _conf_files() {
################################################################################
# I/O ##########################################################################
################################################################################
-sub read {
+sub read_and_prepare_write {
my ($class) = @_;
my $file = find { -f $_ } _conf_files();
my $raw_X = $class->new(Xconfig::parse::read_XF86Config($file));
+ my $before = $raw_X->prepare_write;
if (my ($Keyboard) = $raw_X->get_InputDevices('Keyboard')) {
$Keyboard->{Driver}{val} = 'keyboard';
}
- $raw_X;
+ $raw_X, $before;
+}
+sub read {
+ my ($class) = @_;
+ first(read_and_prepare_write($class));
}
sub write {
my ($raw_X, $o_file) = @_;