aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ManaTools/Shared/disk_backend/Part.pm
diff options
context:
space:
mode:
authorMaarten Vanraes <alien@mageia.org>2016-05-16 17:57:30 +0200
committerMaarten Vanraes <alien@mageia.org>2016-05-16 17:57:30 +0200
commit672c6c7d7055c0efa82840aa37fd9d0a1e562727 (patch)
tree944d5f19898413adad6baefbe7b12d6bd826762d /lib/ManaTools/Shared/disk_backend/Part.pm
parent385ab2ad6064eb8ff8825538c367c250395eb270 (diff)
downloadmanatools-672c6c7d7055c0efa82840aa37fd9d0a1e562727.tar
manatools-672c6c7d7055c0efa82840aa37fd9d0a1e562727.tar.gz
manatools-672c6c7d7055c0efa82840aa37fd9d0a1e562727.tar.bz2
manatools-672c6c7d7055c0efa82840aa37fd9d0a1e562727.tar.xz
manatools-672c6c7d7055c0efa82840aa37fd9d0a1e562727.zip
fix removing tags
Diffstat (limited to 'lib/ManaTools/Shared/disk_backend/Part.pm')
-rw-r--r--lib/ManaTools/Shared/disk_backend/Part.pm18
1 files changed, 13 insertions, 5 deletions
diff --git a/lib/ManaTools/Shared/disk_backend/Part.pm b/lib/ManaTools/Shared/disk_backend/Part.pm
index 99bb1a50..0b4bb6b6 100644
--- a/lib/ManaTools/Shared/disk_backend/Part.pm
+++ b/lib/ManaTools/Shared/disk_backend/Part.pm
@@ -433,15 +433,15 @@ sub mkchild {
# insert
if ($i == 0) {
# remove first tag from first
- $self->remove_taglink($children[$i], 'first');
+ $self->remove_taglinks($children[$i], 'first');
# tag it first
push @tags, 'first';
}
else {
# decouple prev and next
- $children[$i - 1]->remove_taglink($children[$i], 'next');
- $children[$i]->remove_taglink($children[$i - 1], 'previous');
+ $children[$i - 1]->remove_taglinks($children[$i], 'next');
+ $children[$i]->remove_taglinks($children[$i - 1], 'previous');
# tag to the previous one
$part->add_taglink($children[$i - 1], 'previous');
@@ -457,7 +457,7 @@ sub mkchild {
# append it instead
if ($i > 0) {
# remove last tag from previous one, and tag it previous
- $self->remove_taglink($children[$i - 1], 'last');
+ $self->remove_taglinks($children[$i - 1], 'last');
$part->add_taglink($children[$i - 1], 'previous');
}
else {
@@ -919,7 +919,15 @@ sub remove_tag {
my $i = scalar(@{$tags});
while ($i > 0) {
$i = $i - 1;
- splice @{$tags}, $i, 1 if ($tags->[$i] == $tag);
+ splice @{$tags}, $i, 1 if ($tags->[$i] eq $tag);
+ }
+}
+
+sub remove_tags {
+ my $self = shift;
+ my @tags = @_;
+ for my $tag (@tags) {
+ $self->remove_tag($tag);
}
}