Fix crash when exporting vrml (see bug Bug #1502549) when there is a Glu error.
Enhancement: dialog_footprint_wizard_list remembers now its size.
This commit is contained in:
parent
2930506f03
commit
19124ceee8
|
@ -1,5 +1,5 @@
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// C++ code generated with wxFormBuilder (version Jun 5 2014)
|
// C++ code generated with wxFormBuilder (version Jun 17 2015)
|
||||||
// http://www.wxformbuilder.org/
|
// http://www.wxformbuilder.org/
|
||||||
//
|
//
|
||||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||||
|
@ -150,15 +150,11 @@ DIALOG_EXPORT_3DFILE_BASE::DIALOG_EXPORT_3DFILE_BASE( wxWindow* parent, wxWindow
|
||||||
|
|
||||||
// Connect Events
|
// Connect Events
|
||||||
m_filePicker->Connect( wxEVT_COMMAND_FILEPICKER_CHANGED, wxFileDirPickerEventHandler( DIALOG_EXPORT_3DFILE_BASE::OnFileChanged ), NULL, this );
|
m_filePicker->Connect( wxEVT_COMMAND_FILEPICKER_CHANGED, wxFileDirPickerEventHandler( DIALOG_EXPORT_3DFILE_BASE::OnFileChanged ), NULL, this );
|
||||||
m_sdbSizer1Cancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EXPORT_3DFILE_BASE::OnCancelClick ), NULL, this );
|
|
||||||
m_sdbSizer1OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EXPORT_3DFILE_BASE::OnOkClick ), NULL, this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DIALOG_EXPORT_3DFILE_BASE::~DIALOG_EXPORT_3DFILE_BASE()
|
DIALOG_EXPORT_3DFILE_BASE::~DIALOG_EXPORT_3DFILE_BASE()
|
||||||
{
|
{
|
||||||
// Disconnect Events
|
// Disconnect Events
|
||||||
m_filePicker->Disconnect( wxEVT_COMMAND_FILEPICKER_CHANGED, wxFileDirPickerEventHandler( DIALOG_EXPORT_3DFILE_BASE::OnFileChanged ), NULL, this );
|
m_filePicker->Disconnect( wxEVT_COMMAND_FILEPICKER_CHANGED, wxFileDirPickerEventHandler( DIALOG_EXPORT_3DFILE_BASE::OnFileChanged ), NULL, this );
|
||||||
m_sdbSizer1Cancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EXPORT_3DFILE_BASE::OnCancelClick ), NULL, this );
|
|
||||||
m_sdbSizer1OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EXPORT_3DFILE_BASE::OnOkClick ), NULL, this );
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1662,11 +1662,11 @@
|
||||||
<property name="name">m_sdbSizer1</property>
|
<property name="name">m_sdbSizer1</property>
|
||||||
<property name="permission">protected</property>
|
<property name="permission">protected</property>
|
||||||
<event name="OnApplyButtonClick"></event>
|
<event name="OnApplyButtonClick"></event>
|
||||||
<event name="OnCancelButtonClick">OnCancelClick</event>
|
<event name="OnCancelButtonClick"></event>
|
||||||
<event name="OnContextHelpButtonClick"></event>
|
<event name="OnContextHelpButtonClick"></event>
|
||||||
<event name="OnHelpButtonClick"></event>
|
<event name="OnHelpButtonClick"></event>
|
||||||
<event name="OnNoButtonClick"></event>
|
<event name="OnNoButtonClick"></event>
|
||||||
<event name="OnOKButtonClick">OnOkClick</event>
|
<event name="OnOKButtonClick"></event>
|
||||||
<event name="OnSaveButtonClick"></event>
|
<event name="OnSaveButtonClick"></event>
|
||||||
<event name="OnYesButtonClick"></event>
|
<event name="OnYesButtonClick"></event>
|
||||||
</object>
|
</object>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// C++ code generated with wxFormBuilder (version Jun 5 2014)
|
// C++ code generated with wxFormBuilder (version Jun 17 2015)
|
||||||
// http://www.wxformbuilder.org/
|
// http://www.wxformbuilder.org/
|
||||||
//
|
//
|
||||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||||
|
@ -69,8 +69,6 @@ class DIALOG_EXPORT_3DFILE_BASE : public DIALOG_SHIM
|
||||||
|
|
||||||
// Virtual event handlers, overide them in your derived class
|
// Virtual event handlers, overide them in your derived class
|
||||||
virtual void OnFileChanged( wxFileDirPickerEvent& event ) { event.Skip(); }
|
virtual void OnFileChanged( wxFileDirPickerEvent& event ) { event.Skip(); }
|
||||||
virtual void OnCancelClick( wxCommandEvent& event ) { event.Skip(); }
|
|
||||||
virtual void OnOkClick( wxCommandEvent& event ) { event.Skip(); }
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -30,24 +30,26 @@
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <kiface_i.h>
|
||||||
#include <dialog_footprint_wizard_list.h>
|
#include <dialog_footprint_wizard_list.h>
|
||||||
#include <class_footprint_wizard.h>
|
#include <class_footprint_wizard.h>
|
||||||
|
|
||||||
#define ROW_NAME 0
|
#define ROW_NAME 0
|
||||||
#define ROW_DESCR 1
|
#define ROW_DESCR 1
|
||||||
|
#define FPWIZARTDLIST_HEIGHT_KEY wxT( "FpWizardListHeight" )
|
||||||
|
#define FPWIZARTDLIST_WIDTH_KEY wxT( "FpWizardListWidth" )
|
||||||
|
|
||||||
DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST( wxWindow* aParent )
|
DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST( wxWindow* aParent )
|
||||||
: DIALOG_FOOTPRINT_WIZARD_LIST_BASE( aParent )
|
: DIALOG_FOOTPRINT_WIZARD_LIST_BASE( aParent )
|
||||||
{
|
{
|
||||||
int n_wizards = FOOTPRINT_WIZARDS::GetWizardsCount();
|
int n_wizards = FOOTPRINT_WIZARDS::GetWizardsCount();
|
||||||
|
m_config = Kiface().KifaceSettings();
|
||||||
|
|
||||||
// Current wizard selection, empty or first
|
// Current wizard selection, empty or first
|
||||||
m_FootprintWizard = NULL;
|
m_footprintWizard = NULL;
|
||||||
|
|
||||||
if( n_wizards )
|
if( n_wizards )
|
||||||
m_FootprintWizard = FOOTPRINT_WIZARDS::GetWizard( 0 );
|
m_footprintWizard = FOOTPRINT_WIZARDS::GetWizard( 0 );
|
||||||
|
|
||||||
// Choose selection mode and insert the needed rows
|
// Choose selection mode and insert the needed rows
|
||||||
|
|
||||||
|
@ -71,20 +73,38 @@ DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST( wxWindow* aParent )
|
||||||
m_footprintWizardsGrid->ClearSelection();
|
m_footprintWizardsGrid->ClearSelection();
|
||||||
m_footprintWizardsGrid->SelectRow( 0, false );
|
m_footprintWizardsGrid->SelectRow( 0, false );
|
||||||
|
|
||||||
GetSizer()->SetSizeHints( this );
|
if( m_config )
|
||||||
|
{
|
||||||
|
wxSize size;
|
||||||
|
m_config->Read( FPWIZARTDLIST_WIDTH_KEY, &size.x, -1 );
|
||||||
|
m_config->Read( FPWIZARTDLIST_HEIGHT_KEY, &size.y, -1 );
|
||||||
|
SetSize( size );
|
||||||
|
}
|
||||||
|
|
||||||
Center();
|
Center();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
DIALOG_FOOTPRINT_WIZARD_LIST::~DIALOG_FOOTPRINT_WIZARD_LIST()
|
||||||
|
{
|
||||||
|
if( m_config && !IsIconized() )
|
||||||
|
{
|
||||||
|
m_config->Write( FPWIZARTDLIST_WIDTH_KEY, GetSize().x );
|
||||||
|
m_config->Write( FPWIZARTDLIST_HEIGHT_KEY, GetSize().y );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void DIALOG_FOOTPRINT_WIZARD_LIST::OnCellWizardClick( wxGridEvent& event )
|
void DIALOG_FOOTPRINT_WIZARD_LIST::OnCellWizardClick( wxGridEvent& event )
|
||||||
{
|
{
|
||||||
int click_row = event.GetRow();
|
int click_row = event.GetRow();
|
||||||
m_FootprintWizard = FOOTPRINT_WIZARDS::GetWizard( click_row );
|
m_footprintWizard = FOOTPRINT_WIZARDS::GetWizard( click_row );
|
||||||
m_footprintWizardsGrid->SelectRow( event.GetRow(), false );
|
m_footprintWizardsGrid->SelectRow( event.GetRow(), false );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
FOOTPRINT_WIZARD* DIALOG_FOOTPRINT_WIZARD_LIST::GetWizard()
|
FOOTPRINT_WIZARD* DIALOG_FOOTPRINT_WIZARD_LIST::GetWizard()
|
||||||
{
|
{
|
||||||
return m_FootprintWizard;
|
return m_footprintWizard;
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,10 +31,12 @@
|
||||||
class DIALOG_FOOTPRINT_WIZARD_LIST: public DIALOG_FOOTPRINT_WIZARD_LIST_BASE
|
class DIALOG_FOOTPRINT_WIZARD_LIST: public DIALOG_FOOTPRINT_WIZARD_LIST_BASE
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
FOOTPRINT_WIZARD *m_FootprintWizard;
|
FOOTPRINT_WIZARD* m_footprintWizard; ///< The selected python script wizard
|
||||||
|
wxConfigBase* m_config;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DIALOG_FOOTPRINT_WIZARD_LIST( wxWindow * parent );
|
DIALOG_FOOTPRINT_WIZARD_LIST( wxWindow * aParent );
|
||||||
|
~DIALOG_FOOTPRINT_WIZARD_LIST();
|
||||||
|
|
||||||
FOOTPRINT_WIZARD* GetWizard();
|
FOOTPRINT_WIZARD* GetWizard();
|
||||||
|
|
||||||
|
|
|
@ -1499,8 +1499,13 @@ void VRML_LAYER::glEnd( void )
|
||||||
// set the error message
|
// set the error message
|
||||||
void VRML_LAYER::SetGLError( GLenum errorID )
|
void VRML_LAYER::SetGLError( GLenum errorID )
|
||||||
{
|
{
|
||||||
error = "";
|
const char * msg = (const char*)gluErrorString( errorID );
|
||||||
error = (const char*)gluGetString( errorID );
|
|
||||||
|
// If errorID is an illegal id, gluErrorString returns NULL
|
||||||
|
if( msg )
|
||||||
|
error = msg;
|
||||||
|
else
|
||||||
|
error.clear();
|
||||||
|
|
||||||
if( error.empty() )
|
if( error.empty() )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue