diff options
author | Maarten Vanraes <alien@mageia.org> | 2016-05-16 17:57:30 +0200 |
---|---|---|
committer | Maarten Vanraes <alien@mageia.org> | 2016-05-16 17:57:30 +0200 |
commit | 672c6c7d7055c0efa82840aa37fd9d0a1e562727 (patch) | |
tree | 944d5f19898413adad6baefbe7b12d6bd826762d /lib/ManaTools | |
parent | 385ab2ad6064eb8ff8825538c367c250395eb270 (diff) | |
download | manatools-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')
-rw-r--r-- | lib/ManaTools/Shared/disk_backend/Part.pm | 18 |
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); } } |