Roll back last 2 commits meant for the other resolver only.

Fixes: lp:1772255
* https://bugs.launchpad.net/kicad/+bug/1772255
This commit is contained in:
Jeff Young 2018-05-21 16:24:24 +01:00
parent cdde4c4b40
commit 6a2dc8d4eb
1 changed files with 25 additions and 30 deletions

View File

@ -36,7 +36,6 @@
#include "kicadpcb.h" #include "kicadpcb.h"
#include "3d_resolver.h" #include "3d_resolver.h"
#include "../../../include/trace_helpers.h"
// configuration file version // configuration file version
#define CFGFILE_VERSION 1 #define CFGFILE_VERSION 1
@ -345,10 +344,10 @@ wxString S3D_RESOLVER::ResolvePath( const wxString& aFileName )
// first attempt to use the name as specified: // first attempt to use the name as specified:
wxString tname = aFileName; wxString tname = aFileName;
#ifdef _WIN32 #ifdef _WIN32
// translate from KiCad's internal UNIX-like path to MSWin paths // translate from KiCad's internal UNIX-like path to MSWin paths
tname.Replace( "/", "\\" ); tname.Replace( "/", "\\" );
#endif #endif
// Note: variable expansion must preferably be performed via a // Note: variable expansion must preferably be performed via a
// threadsafe wrapper for the getenv() system call. If we allow the // threadsafe wrapper for the getenv() system call. If we allow the
@ -399,8 +398,7 @@ wxString S3D_RESOLVER::ResolvePath( const wxString& aFileName )
wxString errmsg = "[3D File Resolver] No such path; ensure the environment var is defined"; wxString errmsg = "[3D File Resolver] No such path; ensure the environment var is defined";
errmsg.append( "\n" ); errmsg.append( "\n" );
errmsg.append( tname ); errmsg.append( tname );
errmsg.append( "\n" ); wxLogMessage( "%s\n", errmsg.ToUTF8() );
wxLogTrace( tracePathsAndFiles, errmsg );
} }
return wxEmptyString; return wxEmptyString;
@ -477,8 +475,7 @@ wxString S3D_RESOLVER::ResolvePath( const wxString& aFileName )
wxString errmsg = "[3D File Resolver] No such path"; wxString errmsg = "[3D File Resolver] No such path";
errmsg.append( "\n" ); errmsg.append( "\n" );
errmsg.append( tname ); errmsg.append( tname );
errmsg.append( "\n" ); wxLogTrace( MASK_3D_RESOLVER, "%s\n", errmsg.ToUTF8() );
wxLogTrace( tracePathsAndFiles, errmsg );
} }
return wxEmptyString; return wxEmptyString;
@ -515,8 +512,7 @@ wxString S3D_RESOLVER::ResolvePath( const wxString& aFileName )
wxString errmsg = "[3D File Resolver] No such path; ensure the path alias is defined"; wxString errmsg = "[3D File Resolver] No such path; ensure the path alias is defined";
errmsg.append( "\n" ); errmsg.append( "\n" );
errmsg.append( tname.substr( 1 ) ); errmsg.append( tname.substr( 1 ) );
errmsg.append( "\n" ); wxLogTrace( MASK_3D_RESOLVER, "%s\n", errmsg.ToUTF8() );
wxLogTrace( tracePathsAndFiles, errmsg );
} }
return wxEmptyString; return wxEmptyString;
@ -532,13 +528,13 @@ bool S3D_RESOLVER::addPath( const S3D_ALIAS& aPath )
S3D_ALIAS tpath = aPath; S3D_ALIAS tpath = aPath;
#ifdef _WIN32 #ifdef _WIN32
while( tpath.m_pathvar.EndsWith( "\\" ) ) while( tpath.m_pathvar.EndsWith( "\\" ) )
tpath.m_pathvar.erase( tpath.m_pathvar.length() - 1 ); tpath.m_pathvar.erase( tpath.m_pathvar.length() - 1 );
#else #else
while( tpath.m_pathvar.EndsWith( "/" ) && tpath.m_pathvar.length() > 1 ) while( tpath.m_pathvar.EndsWith( "/" ) && tpath.m_pathvar.length() > 1 )
tpath.m_pathvar.erase( tpath.m_pathvar.length() - 1 ); tpath.m_pathvar.erase( tpath.m_pathvar.length() - 1 );
#endif #endif
wxFileName path( tpath.m_pathvar, "" ); wxFileName path( tpath.m_pathvar, "" );
path.Normalize(); path.Normalize();
@ -548,11 +544,10 @@ bool S3D_RESOLVER::addPath( const S3D_ALIAS& aPath )
// suppress the message if the missing pathvar is the legacy KISYS3DMOD variable // suppress the message if the missing pathvar is the legacy KISYS3DMOD variable
if( aPath.m_pathvar != "${KISYS3DMOD}" && aPath.m_pathvar != "$(KISYS3DMOD)" ) if( aPath.m_pathvar != "${KISYS3DMOD}" && aPath.m_pathvar != "$(KISYS3DMOD)" )
{ {
wxString errmsg = _( "The given path does not exist" ); wxString msg = _( "The given path does not exist" );
errmsg.append( "\n" ); msg.append( "\n" );
errmsg.append( tpath.m_pathvar ); msg.append( tpath.m_pathvar );
errmsg.append( "\n" ); wxLogMessage( "%s\n", msg.ToUTF8() );
wxLogTrace( tracePathsAndFiles, errmsg );
} }
tpath.m_pathexp.clear(); tpath.m_pathexp.clear();
@ -561,13 +556,13 @@ bool S3D_RESOLVER::addPath( const S3D_ALIAS& aPath )
{ {
tpath.m_pathexp = path.GetFullPath(); tpath.m_pathexp = path.GetFullPath();
#ifdef _WIN32 #ifdef _WIN32
while( tpath.m_pathexp.EndsWith( "\\" ) ) while( tpath.m_pathexp.EndsWith( "\\" ) )
tpath.m_pathexp.erase( tpath.m_pathexp.length() - 1 ); tpath.m_pathexp.erase( tpath.m_pathexp.length() - 1 );
#else #else
while( tpath.m_pathexp.EndsWith( "/" ) && tpath.m_pathexp.length() > 1 ) while( tpath.m_pathexp.EndsWith( "/" ) && tpath.m_pathexp.length() > 1 )
tpath.m_pathexp.erase( tpath.m_pathexp.length() - 1 ); tpath.m_pathexp.erase( tpath.m_pathexp.length() - 1 );
#endif #endif
} }
wxString pname = path.GetPath(); wxString pname = path.GetPath();
@ -724,7 +719,7 @@ bool S3D_RESOLVER::writePathList( void )
std::list< S3D_ALIAS >::const_iterator ePL = m_Paths.end(); std::list< S3D_ALIAS >::const_iterator ePL = m_Paths.end();
while( sPL != ePL && ( sPL->m_alias.StartsWith( "${" ) while( sPL != ePL && ( sPL->m_alias.StartsWith( "${" )
|| sPL->m_alias.StartsWith( "$(" ) ) ) || sPL->m_alias.StartsWith( "$(" ) ) )
++sPL; ++sPL;
wxFileName cfgpath( m_ConfigDir, S3D_RESOLVER_CONFIG ); wxFileName cfgpath( m_ConfigDir, S3D_RESOLVER_CONFIG );
@ -734,8 +729,8 @@ bool S3D_RESOLVER::writePathList( void )
if( sPL == ePL ) if( sPL == ePL )
{ {
wxMessageDialog md( NULL, wxMessageDialog md( NULL,
_( "3D search path list is empty;\ncontinue to write empty file?" ), _( "3D search path list is empty;\ncontinue to write empty file?" ),
_( "Write 3D search path list" ), wxYES_NO ); _( "Write 3D search path list" ), wxYES_NO );
if( md.ShowModal() == wxID_YES ) if( md.ShowModal() == wxID_YES )
{ {
@ -744,7 +739,7 @@ bool S3D_RESOLVER::writePathList( void )
if( !cfgFile.is_open() ) if( !cfgFile.is_open() )
{ {
wxMessageBox( _( "Could not open configuration file" ), wxMessageBox( _( "Could not open configuration file" ),
_( "Write 3D search path list" ) ); _( "Write 3D search path list" ) );
return false; return false;
} }
@ -925,10 +920,10 @@ wxString S3D_RESOLVER::ShortenPath( const wxString& aFullPathName )
{ {
fname = fname.substr( fps.size() ); fname = fname.substr( fps.size() );
#ifdef _WIN32 #ifdef _WIN32
// ensure only the '/' separator is used in the internal name // ensure only the '/' separator is used in the internal name
fname.Replace( "\\", "/" ); fname.Replace( "\\", "/" );
#endif #endif
if( sL->m_alias.StartsWith( "${" ) || sL->m_alias.StartsWith( "$(" ) ) if( sL->m_alias.StartsWith( "${" ) || sL->m_alias.StartsWith( "$(" ) )
{ {
@ -972,7 +967,7 @@ const std::list< S3D_ALIAS >* S3D_RESOLVER::GetPaths( void )
bool S3D_RESOLVER::SplitAlias( const wxString& aFileName, bool S3D_RESOLVER::SplitAlias( const wxString& aFileName,
wxString& anAlias, wxString& aRelPath ) wxString& anAlias, wxString& aRelPath )
{ {
anAlias.clear(); anAlias.clear();
aRelPath.clear(); aRelPath.clear();
@ -1107,7 +1102,7 @@ bool S3D_RESOLVER::ValidateFileName( const wxString& aFileName, bool& hasAlias )
size_t pos0 = aFileName.find( ':' ); size_t pos0 = aFileName.find( ':' );
// ensure that the file separators suit the current platform // ensure that the file separators suit the current platform
#ifdef __WINDOWS__ #ifdef __WINDOWS__
filename.Replace( "/", "\\" ); filename.Replace( "/", "\\" );
// if we see the :\ pattern then it must be a drive designator // if we see the :\ pattern then it must be a drive designator
@ -1122,9 +1117,9 @@ bool S3D_RESOLVER::ValidateFileName( const wxString& aFileName, bool& hasAlias )
if( pos1 != wxString::npos ) if( pos1 != wxString::npos )
pos0 = wxString::npos; pos0 = wxString::npos;
} }
#else #else
filename.Replace( "\\", "/" ); filename.Replace( "\\", "/" );
#endif #endif
// names may not end with ':' // names may not end with ':'
if( pos0 == aFileName.length() -1 ) if( pos0 == aFileName.length() -1 )