Commit dfc624e6 authored by Administrateur's avatar Administrateur
Browse files

Fixed a crash that happens sometimes when opening the design rule dialog.

preparing auto refresh of the 3D view in mod edit (not yet working)
parent 5f971428
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line Diff line number Diff line
@@ -33,6 +33,7 @@ double DataScale3D; // 3D conversion units.




BEGIN_EVENT_TABLE( WinEDA3D_DrawFrame, wxFrame )
BEGIN_EVENT_TABLE( WinEDA3D_DrawFrame, wxFrame )
    EVT_ACTIVATE( WinEDA3D_DrawFrame::OnActivate )
    EVT_TOOL_RANGE( ID_ZOOM_IN, ID_ZOOM_PAGE, WinEDA3D_DrawFrame::Process_Zoom )
    EVT_TOOL_RANGE( ID_ZOOM_IN, ID_ZOOM_PAGE, WinEDA3D_DrawFrame::Process_Zoom )
    EVT_TOOL_RANGE( ID_START_COMMAND_3D, ID_END_COMMAND_3D,
    EVT_TOOL_RANGE( ID_START_COMMAND_3D, ID_END_COMMAND_3D,
                    WinEDA3D_DrawFrame::Process_Special_Functions )
                    WinEDA3D_DrawFrame::Process_Special_Functions )
@@ -351,6 +352,18 @@ void WinEDA3D_DrawFrame::NewDisplay()
}
}




void WinEDA3D_DrawFrame::OnActivate( wxActivateEvent& event )
{
    // Reload data if 3D frame shows a footprint,
    // because it can be changed since last frame activation
    if( m_Parent->m_Ident == MODULE_EDITOR_FRAME )
    {
//        NewDisplay();
    }
    event.Skip();   // required under wxMAC
}


/* called to set the background color of the 3D scene
/* called to set the background color of the 3D scene
 */
 */
void WinEDA3D_DrawFrame::Set3DBgColor()
void WinEDA3D_DrawFrame::Set3DBgColor()
+2 −1
Original line number Original line Diff line number Diff line
@@ -219,6 +219,7 @@ public:
    void RedrawActiveWindow( wxDC* DC, bool EraseBg );
    void RedrawActiveWindow( wxDC* DC, bool EraseBg );
    void Process_Special_Functions( wxCommandEvent& event );
    void Process_Special_Functions( wxCommandEvent& event );
    void Process_Zoom( wxCommandEvent& event );
    void Process_Zoom( wxCommandEvent& event );
    void OnActivate( wxActivateEvent& event );


    void NewDisplay();
    void NewDisplay();
    void Set3DBgColor();
    void Set3DBgColor();
+6 −3
Original line number Original line Diff line number Diff line
@@ -290,12 +290,15 @@ void DIALOG_DESIGN_RULES::InitDimensionsLists()
static bool sortByClassThenName( NETCUP* a, NETCUP* b )
static bool sortByClassThenName( NETCUP* a, NETCUP* b )
{
{
    // return a < b
    // return a < b

    if( a->clazz < b->clazz )
    if( a->clazz < b->clazz )
        return true;
        return true;


    // inside the same class, sort by net name:
    if( a->clazz == b->clazz )
    {
        if( a->net < b->net )
        if( a->net < b->net )
            return true;
            return true;
    }


    return false;
    return false;
}
}