From cb82cae6ae6aab39d025937d6fd02b3bddd5f185 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Thu, 17 Mar 2005 18:05:52 +0000 Subject: ensure the val registrations are kept ordered --- perl-install/mygtk2.pm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/perl-install/mygtk2.pm b/perl-install/mygtk2.pm index 7208c30e9..3dc27b7fa 100644 --- a/perl-install/mygtk2.pm +++ b/perl-install/mygtk2.pm @@ -76,10 +76,10 @@ sub gtkval_register { my ($w, $ref, $sub) = @_; push @{$w->{_ref}}, $ref; $w->signal_connect(destroy => sub { - delete $refs{$ref}{$w}; - delete $refs{$ref} if !%{$refs{$ref}}; + @{$refs{$ref}} = grep { $_->[1] != $w } @{$refs{$ref}}; + delete $refs{$ref} if !@{$refs{$ref}}; }); - push @{$refs{$ref}{$w}}, [ $sub, $w ]; + push @{$refs{$ref}}, [ $sub, $w ]; } sub gtkval_modify { my ($ref, $val, @to_skip) = @_; @@ -88,7 +88,7 @@ sub gtkval_modify { if ($prev ne '' . $ref) { internal_error(); } - foreach (map { @$_ } values %{$refs{$ref} || {}}) { + foreach (@{$refs{$ref} || []}) { my ($f, @para) = @$_; $f->(@para) if !member($f, @to_skip); } -- cgit v1.2.1