diff options
author | dakkar <dakkar@thenautilus.net> | 2010-07-12 21:50:31 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2010-07-12 21:50:31 +0100 |
commit | 0581dbd91216c18ded2812ec9f3527c0a889da76 (patch) | |
tree | 37140af2843431af4e181911529a9922c24e8083 /lib/Thread/Task.pm | |
parent | test for TT::Handle (diff) | |
download | Thread-Task-0581dbd91216c18ded2812ec9f3527c0a889da76.tar.gz Thread-Task-0581dbd91216c18ded2812ec9f3527c0a889da76.tar.bz2 Thread-Task-0581dbd91216c18ded2812ec9f3527c0a889da76.zip |
Diffstat (limited to 'lib/Thread/Task.pm')
-rw-r--r-- | lib/Thread/Task.pm | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/Thread/Task.pm b/lib/Thread/Task.pm index 86a1387..5567805 100644 --- a/lib/Thread/Task.pm +++ b/lib/Thread/Task.pm @@ -102,9 +102,14 @@ class Thread::Task { die "Can't update between different task classes"; } for my $attr ($self->meta->get_all_attributes) { - $attr->set_value($self, - $attr->get_value($new_task) - ); + if ($attr->has_value($new_task)) { + $attr->set_value($self, + $attr->get_value($new_task) + ); + } + else { + $attr->clear_value($self); + } } return; } |