From 0581dbd91216c18ded2812ec9f3527c0a889da76 Mon Sep 17 00:00:00 2001 From: dakkar Date: Mon, 12 Jul 2010 21:50:31 +0100 Subject: test for TT::Manager & signaling --- lib/Thread/Task.pm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'lib/Thread/Task.pm') 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; } -- cgit v1.2.3