From d8cb5c82a8e0e7831847aa5ccb7605826d1d5b65 Mon Sep 17 00:00:00 2001 From: Rudy Huyn Date: Fri, 10 May 2019 19:55:15 -0700 Subject: [PATCH] Keep spaces when users copy an error message (#430) Verify if the StandardCalculatorViewModel::DisplayValue isn't an error message before removing group separators (including space character). How changes were validated: Tested in english and french Tested with "Cannot divide by zero" and "Result is undefined" Fixes #420 --- .../StandardCalculatorViewModel.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/CalcViewModel/StandardCalculatorViewModel.cpp b/src/CalcViewModel/StandardCalculatorViewModel.cpp index acda9bad..dd0283da 100644 --- a/src/CalcViewModel/StandardCalculatorViewModel.cpp +++ b/src/CalcViewModel/StandardCalculatorViewModel.cpp @@ -1223,13 +1223,18 @@ void StandardCalculatorViewModel::SetCalculatorType(ViewMode targetState) } } -Platform::String ^ StandardCalculatorViewModel::GetRawDisplayValue() +String^ StandardCalculatorViewModel::GetRawDisplayValue() { - wstring rawValue; - - LocalizationSettings::GetInstance().RemoveGroupSeparators(DisplayValue->Data(), DisplayValue->Length(), &rawValue); - - return ref new Platform::String(rawValue.c_str()); + if (IsInError) + { + return DisplayValue; + } + else + { + wstring rawValue; + LocalizationSettings::GetInstance().RemoveGroupSeparators(DisplayValue->Data(), DisplayValue->Length(), &rawValue); + return ref new String(rawValue.c_str()); + } } // Given a format string, returns a string with the input display value inserted.