diff options
author | didier | 2007-11-09 14:19:19 +0000 |
---|---|---|
committer | didier | 2007-11-09 14:19:19 +0000 |
commit | 9adda8c8c8bcd917f13e9ea3ca525b82bf2b03c1 (patch) | |
tree | d9d15e8a3800c2604bbaae5d2fd0c7f11c146a37 /src/MTools.pm | |
parent | 9527480e75336a2dda3edf8fc17956e9c0a4dd59 (diff) | |
download | mtc-9adda8c8c8bcd917f13e9ea3ca525b82bf2b03c1.zip mtc-9adda8c8c8bcd917f13e9ea3ca525b82bf2b03c1.tar.gz mtc-9adda8c8c8bcd917f13e9ea3ca525b82bf2b03c1.tar.bz2 mtc-9adda8c8c8bcd917f13e9ea3ca525b82bf2b03c1.tar.xz |
Correction d'un bug dans le plisten.
Un abonnement a un parametre identique n'appelle plus l'ensemble des callbacks
Diffstat (limited to 'src/MTools.pm')
-rw-r--r-- | src/MTools.pm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/MTools.pm b/src/MTools.pm index 914df7c..3dcf29a 100644 --- a/src/MTools.pm +++ b/src/MTools.pm @@ -185,8 +185,11 @@ sub __confproplink { my ($sender, $obj, $key, $val) = @_; my $obj_instance = ref ($obj) eq '' ? $obj : $obj -> {instance}; + if ($obj_instance ne $obj) { + $obj -> {__properties} -> {$key} -> {link_token} = -1 if (!defined $obj -> {__properties} -> {$key} -> {link_token}); + if ($obj -> {__properties} -> {$key} -> {link_token} != $link_token) { $obj -> {__properties} -> {$key} -> {link_token} = $link_token; @@ -349,7 +352,8 @@ sub plisten { plink ([$obj, $key], [$obj -> {instance}, $key]); } push (@{$obj -> {__properties} -> {$key} -> {listeners}}, $methode); - mconfigure ($obj, $key => mget ($obj, $key)); + #mconfigure ($obj, $key => mget ($obj, $key)); + executer($methode,$obj, $key,mget ($obj, $key)); return $methode; } |