diff options
-rw-r--r-- | lib/Xconfig/various.pm | 6 | ||||
-rw-r--r-- | lib/Xconfig/xfree.pm | 10 |
2 files changed, 12 insertions, 4 deletions
diff --git a/lib/Xconfig/various.pm b/lib/Xconfig/various.pm index 33de577..5379d21 100644 --- a/lib/Xconfig/various.pm +++ b/lib/Xconfig/various.pm @@ -117,10 +117,8 @@ sub config { $card->{Options}{AddARGBGLXVisuals} = undef; } } else { - if (my $raw = $raw_X->get_Section('Extensions')) { - delete $raw->{Composite}; - %$raw or $raw_X->remove_Section('Extensions'); - } + $raw_X->remove_extension('Composite'); + if ($card->{Driver} eq 'nvidia') { delete $card->{Options}{AddARGBGLXVisuals}; } diff --git a/lib/Xconfig/xfree.pm b/lib/Xconfig/xfree.pm index de4fd4b..23c0910 100644 --- a/lib/Xconfig/xfree.pm +++ b/lib/Xconfig/xfree.pm @@ -527,6 +527,16 @@ sub set_load_module { ################################################################################ +# modules ###################################################################### +################################################################################ +sub remove_extension { + my ($raw_X, $extension) = @_; + my $raw = $raw_X->get_Section('Extensions') or return; + delete $raw->{$extension}; + %$raw or $raw_X->remove_Section('Extensions'); +} + +################################################################################ # ModulePath ################################################################### ################################################################################ sub get_ModulePaths { |