From 026095ddc378db3024de3260efd0c3aa6822d310 Mon Sep 17 00:00:00 2001 From: Shane Carr Date: Wed, 6 Feb 2019 16:03:10 -0800 Subject: [PATCH] ICU-20138 Copy fErrorCode in FormattedValue subclass macro. --- icu4c/source/i18n/formattedval_impl.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/icu4c/source/i18n/formattedval_impl.h b/icu4c/source/i18n/formattedval_impl.h index e6aa49c0b3f..d3b49ecea08 100644 --- a/icu4c/source/i18n/formattedval_impl.h +++ b/icu4c/source/i18n/formattedval_impl.h @@ -63,9 +63,10 @@ struct UFormattedValueImpl : public UMemory, public UFormattedValueApiHelper { /** Implementation of the methods from U_FORMATTED_VALUE_SUBCLASS_AUTO. */ #define UPRV_FORMATTED_VALUE_SUBCLASS_AUTO_IMPL(Name) \ Name::Name(Name&& src) U_NOEXCEPT { \ - delete fData; \ fData = src.fData; \ src.fData = nullptr; \ + fErrorCode = src.fErrorCode; \ + src.fErrorCode = U_INVALID_STATE_ERROR; \ } \ Name::~Name() { \ delete fData; \ @@ -75,6 +76,8 @@ struct UFormattedValueImpl : public UMemory, public UFormattedValueApiHelper { delete fData; \ fData = src.fData; \ src.fData = nullptr; \ + fErrorCode = src.fErrorCode; \ + src.fErrorCode = U_INVALID_STATE_ERROR; \ return *this; \ } \ UnicodeString Name::toString(UErrorCode& status) const { \