summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Xconfig/various.pm6
-rw-r--r--lib/Xconfig/xfree.pm10
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 {