diff options
| -rw-r--r-- | ChangeLog | 3 | ||||
| -rw-r--r-- | src/lib/raw_convert.h | 7 |
2 files changed, 9 insertions, 1 deletions
@@ -1,5 +1,8 @@ 2016-03-08 Carl Hetherington <cth@carlh.net> + * Fix occasional crash when opening the custom + colour conversion editor. + * Version 2.7.0 released. 2016-03-08 Carl Hetherington <cth@carlh.net> diff --git a/src/lib/raw_convert.h b/src/lib/raw_convert.h index 96bd7f633..6e55d49cf 100644 --- a/src/lib/raw_convert.h +++ b/src/lib/raw_convert.h @@ -34,7 +34,12 @@ raw_convert (Q v, int precision = 16) s.imbue (std::locale::classic ()); s << std::setprecision (precision); s << v; - P r; + /* If the s >> r below fails to convert anything, we want r to + be left as a defined value. This construct (I believe) achieves + this by setting r to the default value of type P, even if P + is a POD type. + */ + P r = P (); s >> r; return r; } |
