summaryrefslogtreecommitdiffstats
path: root/lib/Xconfig/xfree.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Xconfig/xfree.pm')
-rw-r--r--lib/Xconfig/xfree.pm5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/Xconfig/xfree.pm b/lib/Xconfig/xfree.pm
index df53ea6..1b47902 100644
--- a/lib/Xconfig/xfree.pm
+++ b/lib/Xconfig/xfree.pm
@@ -188,14 +188,13 @@ sub get_resolutions {
my $Screen = $o_Screen || $raw_X->get_default_screen or return {};
my $depth = val($Screen->{DefaultColorDepth} || $Screen->{DefaultDepth});
- my $Displays = $Screen->{Display} or return {};
- my $Display = find { !$depth || val($_->{l}{Depth}) eq $depth } @$Displays or return { automatic => 1 };
+ my $Display = find { !$depth || val($_->{l}{Depth}) eq $depth } @{$Screen->{Display} || []} or return { automatic => 1 };
my $s = val($Display->{l}{Virtual} || $Display->{l}{Modes});
my @l;
while ($s =~ /(\d+)(x|\s+)(\d+)/g) {
push @l, { X => $1, Y => $3, Depth => val($Display->{l}{Depth}) };
}
- @l;
+ @l ? @l : { automatic => 1 };
}
sub set_resolutions {
my ($raw_X, $resolutions, $o_Screen) = @_;