diff -Nur -x '*.orig' -x '*.rej' e-smith-base-4.18.0/root/usr/lib/perl5/site_perl/esmith/ConfigDB/unsaved.pm mezzanine_patched_e-smith-base-4.18.0/root/usr/lib/perl5/site_perl/esmith/ConfigDB/unsaved.pm --- e-smith-base-4.18.0/root/usr/lib/perl5/site_perl/esmith/ConfigDB/unsaved.pm 2007-01-27 01:56:31.000000000 +0000 +++ mezzanine_patched_e-smith-base-4.18.0/root/usr/lib/perl5/site_perl/esmith/ConfigDB/unsaved.pm 2007-11-11 14:16:21.000000000 +0000 @@ -31,19 +31,22 @@ sub set_prop { my ($self, $key, $prop, $value) = @_; - my $current_value = $self->SUPER::get_prop($key, $prop); + my $rec = $self->get($key); + return unless ($rec); + my $current_value = $rec->prop($prop); return $current_value if (defined $current_value and $current_value eq $value); $self->SUPER::set_value('UnsavedChanges', 'yes'); - return $self->SUPER::set_prop($key, $prop, $value); + return $rec->set_prop($prop, $value); } sub delete_prop { my ($self, $key, $prop) = @_; - my $current_value = $self->get_prop($key, $prop); + my $rec = $self->get($key); + my $current_value = $rec->prop($prop); return unless (defined $current_value); $self->SUPER::set_value('UnsavedChanges', 'yes'); - return $self->SUPER::delete_prop($key, $prop); + return $rec->delete_prop($prop); } # Deleting a record is the same as changing one sub delete {