}
else
{
- wxLogWarning(_("can't open user configuration file '%s'."), m_fnLocalFile.GetFullPath().c_str() );
+ const wxString path = m_fnLocalFile.GetFullPath();
+ wxLogWarning(_("can't open user configuration file '%s'."),
+ path.c_str());
+
+ if ( m_fnLocalFile.FileExists() )
+ {
+ wxLogWarning(_("Changes won't be saved to avoid overwriting the existing file \"%s\""),
+ path.c_str());
+ m_fnLocalFile.Clear();
+ }
}
}
#if wxUSE_UNICODE
size_t len;
- cbuf = conv.cMB2WC((char *)buf.GetData(), buf.GetDataLen(), &len);
+ cbuf = conv.cMB2WC((char *)buf.GetData(), buf.GetDataLen() + 1, &len);
if ( !len && buf.GetDataLen() )
{
wxLogError(_("Failed to read config options."));
// notice that we throw away the original EOL kind here, maybe we
// should preserve it?
- memText.AddLine(wxString(s, e));
+ if ( e != s )
+ memText.AddLine(wxString(s, e));
if ( *e == '\0' )
break;