From 0231d18f1aac3a64066f0b1dd5b1c979210528ea Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 13 Nov 2010 15:03:10 +0000 Subject: [PATCH] Don't assert if config file contains an invalid boolean value. Asserts should be only triggered by programming errors, not by user actions, and the assert checking that the value is either 0 or 1 in wxConfigBase::DoReadBool() could happen if the user edited the file and put a wrong value into it. Replace the assert with a warning message. See #11437. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66140 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/config.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/common/config.cpp b/src/common/config.cpp index 636b490e39..12c8213002 100644 --- a/src/common/config.cpp +++ b/src/common/config.cpp @@ -221,7 +221,15 @@ bool wxConfigBase::DoReadBool(const wxString& key, bool* val) const if ( !DoReadLong(key, &l) ) return false; - wxASSERT_MSG( l == 0 || l == 1, wxT("bad bool value in wxConfig::DoReadInt") ); + if ( l != 0 && l != 1 ) + { + // Don't assert here as this could happen in the result of user editing + // the file directly and this not indicate a bug in the program but + // still complain that something is wrong. + wxLogWarning(_("Invalid value %ld for a boolean key \"%s\" in " + "config file."), + l, key); + } *val = l != 0; -- 2.50.0