summaryrefslogtreecommitdiffstats
path: root/perl-install/Xconfig
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/Xconfig')
-rw-r--r--perl-install/Xconfig/xfree3.pm9
-rw-r--r--perl-install/Xconfig/xfree4.pm12
2 files changed, 10 insertions, 11 deletions
diff --git a/perl-install/Xconfig/xfree3.pm b/perl-install/Xconfig/xfree3.pm
index 9235f8f96..9b69b3cb6 100644
--- a/perl-install/Xconfig/xfree3.pm
+++ b/perl-install/Xconfig/xfree3.pm
@@ -86,13 +86,12 @@ sub set_wacoms {
sub depths { 8, 15, 16, 24, 32 }
sub set_resolution {
my ($raw_X, $resolution, $Screen) = @_;
- $Screen ||= $raw_X->get_default_screen or return {};
$resolution = +{ %$resolution };
-
- #- use framebuffer if Screen is
- $resolution->{fbdev} = 1 if val($Screen->{Driver}) eq 'fbdev';
-
+ if (my $Screen_ = $Screen || $raw_X->get_default_screen) {
+ #- use framebuffer if Screen is
+ $resolution->{fbdev} = 1 if val($Screen_->{Driver}) eq 'fbdev';
+ }
$raw_X->SUPER::set_resolution($resolution, $Screen);
}
diff --git a/perl-install/Xconfig/xfree4.pm b/perl-install/Xconfig/xfree4.pm
index 3045bd697..542226000 100644
--- a/perl-install/Xconfig/xfree4.pm
+++ b/perl-install/Xconfig/xfree4.pm
@@ -85,16 +85,16 @@ sub set_wacoms {
sub depths { 8, 15, 16, 24 }
sub set_resolution {
my ($raw_X, $resolution, $Screen) = @_;
- $Screen ||= $raw_X->get_default_screen or return {};
$resolution = +{ %$resolution };
-
- #- use framebuffer if corresponding Device has Driver framebuffer
- my $Device = $raw_X->get_Section_by_Identifier('Device', val($Screen->{Device})) or internal_error("no device named $Screen->{Device}");
- $resolution->{fbdev} = 1 if val($Device->{Driver}) eq 'fbdev';
-
+ if (my $Screen_ = $Screen || $raw_X->get_default_screen) {
+ #- use framebuffer if corresponding Device has Driver framebuffer
+ my $Device = $raw_X->get_Section_by_Identifier('Device', val($Screen_->{Device})) or internal_error("no device named $Screen_->{Device}");
+ $resolution->{fbdev} = 1 if val($Device->{Driver}) eq 'fbdev';
+ }
#- XFree4 doesn't like depth 32, silently replacing it with 24
$resolution->{Depth} = 24 if $resolution->{Depth} eq '32';
+
$raw_X->SUPER::set_resolution($resolution, $Screen);
}