summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2003-03-07 17:32:04 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2003-03-07 17:32:04 +0000
commit653c799da0aa230257f3487228be1a132993db36 (patch)
tree320fd8d7f6706c32203f6957dbb49b48d0df5e60
parent809666fc2e83bfeb5056374a00aabf6ab34a0cd2 (diff)
downloaddrakx-653c799da0aa230257f3487228be1a132993db36.tar
drakx-653c799da0aa230257f3487228be1a132993db36.tar.gz
drakx-653c799da0aa230257f3487228be1a132993db36.tar.bz2
drakx-653c799da0aa230257f3487228be1a132993db36.tar.xz
drakx-653c799da0aa230257f3487228be1a132993db36.zip
fix rpmdrake dumping core when multiple searchs in
"selected" and "upgradable" sorting modes (#2899)
-rw-r--r--perl-install/drakxtools.spec7
-rw-r--r--perl-install/ugtk2.pm14
2 files changed, 19 insertions, 2 deletions
diff --git a/perl-install/drakxtools.spec b/perl-install/drakxtools.spec
index 7c9f83214..c5a6f4d93 100644
--- a/perl-install/drakxtools.spec
+++ b/perl-install/drakxtools.spec
@@ -1,7 +1,7 @@
Summary: The drakxtools (XFdrake, diskdrake, keyboarddrake, mousedrake...)
Name: drakxtools
Version: 9.1
-Release: 17mdk
+Release: 18mdk
Url: http://www.mandrakelinux.com/en/drakx.php3
Source0: %name-%version.tar.bz2
License: GPL
@@ -291,6 +291,11 @@ file /etc/sysconfig/harddrake2/previous_hw | fgrep -q perl && %_datadir/harddrak
%config(noreplace) %_sysconfdir/logrotate.d/drakxtools-http
%changelog
+* Fri Mar 7 2003 Guillaume Cottenceau <gc@mandrakesoft.com> 9.1-18mdk
+- ugtk2.pm: fix rpmdrake dumping core when multiple searchs in some
+ sorting modes (#2899)
+- network/adsl.pm: one small logical fix (fpons)
+
* Thu Mar 6 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-17mdk
- draksplash:
o fix #1766
diff --git a/perl-install/ugtk2.pm b/perl-install/ugtk2.pm
index 2384ab19a..3d3027064 100644
--- a/perl-install/ugtk2.pm
+++ b/perl-install/ugtk2.pm
@@ -1173,11 +1173,23 @@ sub ask_browse_tree_info_given_widgets {
foreach my $node (@{$ptree{$_}}) {
my $category;
my $parent = $node;
+ my @parents;
while ($parent = $w->{tree_model}->iter_parent($parent)) { #- LEAKS
my $parent_name = $w->{tree_model}->get($parent, 0);
$category = $category ? "$parent_name|$category" : $parent_name;
+ $_->[1] = "$parent_name|$_->[1]" foreach @parents;
+ push @parents, [ $parent, $category ];
+ }
+ if ($category =~ /^\Q$cat/) {
+ push @to_remove, $node;
+ foreach (@parents) {
+ next if $_->[1] eq $cat || !exists $wtree{$_->[1]};
+ delete $wtree{$_->[1]};
+ delete $node_state{$w->{tree_model}->get_path_str($_->[0])};
+ delete $state_stats{$w->{tree_model}->get_path_str($_->[0])};
+ $_->[0]->free;
+ }
}
- $cat eq $category and push @to_remove, $node;
}
foreach (@to_remove) {
delete $node_state{$w->{tree_model}->get_path_str($_)};