Prevent KiCad launch on Windows 7 if python 3.8 or newer is bundled
Soon to be a permanent check regardless of python on Windows
This commit is contained in:
parent
8831b5a785
commit
320ca5a0d0
|
@ -69,6 +69,11 @@
|
|||
#define WXPYTHON_VERSION "@WXPYTHON_VERSION@"
|
||||
#endif
|
||||
|
||||
#if defined( KICAD_SCRIPTING )
|
||||
#define PYTHON_VERSION_MAJOR @PYTHON_VERSION_MAJOR@
|
||||
#define PYTHON_VERSION_MINOR @PYTHON_VERSION_MINOR@
|
||||
#endif
|
||||
|
||||
/// A file extension with a leading '.' is a suffix, and this one is used on
|
||||
/// top level program modules which implement the KIFACE.
|
||||
#define KIFACE_SUFFIX "@KIFACE_SUFFIX@"
|
||||
|
|
|
@ -47,6 +47,10 @@
|
|||
#include <confirm.h>
|
||||
#include <settings/settings_manager.h>
|
||||
|
||||
#if defined(_WIN32)
|
||||
#include <config.h>
|
||||
#include <VersionHelpers.h>
|
||||
#endif
|
||||
|
||||
// Only a single KIWAY is supported in this single_top top level component,
|
||||
// which is dedicated to loading only a single DSO.
|
||||
|
@ -160,6 +164,20 @@ struct APP_SINGLE_TOP : public wxApp
|
|||
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF );
|
||||
#endif
|
||||
|
||||
#if defined( _WIN32 ) && defined( PYTHON_VERSION_MAJOR ) \
|
||||
&& ( ( PYTHON_VERSION_MAJOR == 3 && PYTHON_VERSION_MINOR >= 8 ) \
|
||||
|| PYTHON_VERSION_MAJOR > 3 )
|
||||
|
||||
// Python 3.8 switched to Windows 8+ API, we do not support Windows 7 and will not attempt to hack around it
|
||||
// Gracefully inform the user and refuse to start (because python will crash us if we continue)
|
||||
if( !IsWindows8OrGreater() )
|
||||
{
|
||||
wxMessageBox( _( "Windows 7 and older is no longer supported by KiCad and it's dependencies." ),
|
||||
_( "Unsupported Operating System" ), wxOK | wxICON_ERROR );
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
// Force wxHtmlWinParser initialization when a wxHtmlWindow is used only
|
||||
// in a shared library (.so or .dll file)
|
||||
// Otherwise the Html text is displayed as plain text.
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include <wx/log.h>
|
||||
#include <wx/app.h>
|
||||
#include <wx/stdpaths.h>
|
||||
#include <wx/msgdlg.h>
|
||||
|
||||
#include <filehistory.h>
|
||||
#include <hotkeys_basic.h>
|
||||
|
@ -45,6 +46,10 @@
|
|||
#include "kicad_manager_frame.h"
|
||||
#include "kicad_settings.h"
|
||||
|
||||
#if defined( _WIN32 )
|
||||
#include <config.h>
|
||||
#include <VersionHelpers.h>
|
||||
#endif
|
||||
|
||||
// a dummy to quiet linking with EDA_BASE_FRAME::config();
|
||||
#include <kiface_i.h>
|
||||
|
@ -263,6 +268,20 @@ struct APP_KICAD : public wxApp
|
|||
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF );
|
||||
#endif
|
||||
|
||||
#if defined( _WIN32 ) && defined( PYTHON_VERSION_MAJOR ) \
|
||||
&& ( ( PYTHON_VERSION_MAJOR == 3 && PYTHON_VERSION_MINOR >= 8 ) \
|
||||
|| PYTHON_VERSION_MAJOR > 3 )
|
||||
|
||||
// Python 3.8 switched to Windows 8+ API, we do not support Windows 7 and will not attempt to hack around it
|
||||
// Gracefully inform the user and refuse to start (because python will crash us if we continue)
|
||||
if( !IsWindows8OrGreater() )
|
||||
{
|
||||
wxMessageBox( _( "Windows 7 and older is no longer supported by KiCad and it's dependencies." ),
|
||||
_( "Unsupported Operating System" ), wxOK | wxICON_ERROR );
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
if( !program.OnPgmInit() )
|
||||
{
|
||||
program.OnPgmExit();
|
||||
|
|
Loading…
Reference in New Issue