diff options
author | Olivier Blin <oblin@mandriva.org> | 2005-08-12 12:02:01 +0000 |
---|---|---|
committer | Olivier Blin <oblin@mandriva.org> | 2005-08-12 12:02:01 +0000 |
commit | 04da399df8e3415f260fb0f44adae049d9671814 (patch) | |
tree | 00c631970a84e628e3cdca8065fddba509bc5002 /perl-install/standalone/drakids | |
parent | 9b4d12a82e53c0141f7306eb1f4c59ae343bf3ec (diff) | |
download | drakx-04da399df8e3415f260fb0f44adae049d9671814.tar drakx-04da399df8e3415f260fb0f44adae049d9671814.tar.gz drakx-04da399df8e3415f260fb0f44adae049d9671814.tar.bz2 drakx-04da399df8e3415f260fb0f44adae049d9671814.tar.xz drakx-04da399df8e3415f260fb0f44adae049d9671814.zip |
improve list removal workaround using a copying grep
Diffstat (limited to 'perl-install/standalone/drakids')
-rw-r--r-- | perl-install/standalone/drakids | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/perl-install/standalone/drakids b/perl-install/standalone/drakids index 8bfcf6704..9ed6c2edf 100644 --- a/perl-install/standalone/drakids +++ b/perl-install/standalone/drakids @@ -99,10 +99,8 @@ sub handle_init() { sub list_remove_addr { my ($list, @addr) = @_; - #- workaround buggy Gtk2::SimpleList array abstraction, it corrupts references - foreach (0 .. $#{$list}) { - member($list->[$_][0], @addr) and splice @$list, $_, 1; - } + #- workaround buggy Gtk2::SimpleList array abstraction, it destroys references + @$list = map { member($_->[0], @addr) ? () : [ @$_ ] } @$list; } #- may throw an exception |