Clean up file format error message a bit more
If a FUTURE_FORMAT_ERROR wraps another FUTURE_FORMAT_ERROR, only print the error for it once.
This commit is contained in:
parent
3ffc17c27b
commit
498e8b122a
|
@ -2,7 +2,7 @@
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2016 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
* Copyright (C) 2007-2016 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 2016 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2017 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
@ -90,13 +90,23 @@ void PARSE_ERROR::init( const wxString& aProblem, const char* aThrowersFile,
|
||||||
FUTURE_FORMAT_ERROR::FUTURE_FORMAT_ERROR( const PARSE_ERROR& aParseError, const wxString& aRequiredVersion ) :
|
FUTURE_FORMAT_ERROR::FUTURE_FORMAT_ERROR( const PARSE_ERROR& aParseError, const wxString& aRequiredVersion ) :
|
||||||
PARSE_ERROR(), requiredVersion( aRequiredVersion )
|
PARSE_ERROR(), requiredVersion( aRequiredVersion )
|
||||||
{
|
{
|
||||||
problem.Printf( _(
|
// Avoid double-printing the error message
|
||||||
"KiCad was unable to open this file, as it was created with a more "
|
bool wrapped_same_type = !!( dynamic_cast<const FUTURE_FORMAT_ERROR *>( &aParseError ) );
|
||||||
"recent version than the one you are running. To open it, you'll need "
|
|
||||||
"to upgrade KiCad to a more recent version.\n\n"
|
if( wrapped_same_type )
|
||||||
"Date of KiCad version required (or newer): %s\n\n"
|
{
|
||||||
"Full error text:\n%s" ),
|
problem = aParseError.Problem();
|
||||||
requiredVersion, aParseError.Problem() );
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
problem.Printf( _(
|
||||||
|
"KiCad was unable to open this file, as it was created with a more "
|
||||||
|
"recent version than the one you are running. To open it, you'll need "
|
||||||
|
"to upgrade KiCad to a more recent version.\n\n"
|
||||||
|
"Date of KiCad version required (or newer): %s\n\n"
|
||||||
|
"Full error text:\n%s" ),
|
||||||
|
requiredVersion, aParseError.Problem() );
|
||||||
|
}
|
||||||
|
|
||||||
lineNumber = aParseError.lineNumber;
|
lineNumber = aParseError.lineNumber;
|
||||||
byteIndex = aParseError.byteIndex;
|
byteIndex = aParseError.byteIndex;
|
||||||
|
|
Loading…
Reference in New Issue