Commit 2fc643de authored by jean-pierre charras's avatar jean-pierre charras
Browse files

Eeschema, Libedit: Fix potential issues when using some hot keys.

parent 9c62d2df
Loading
Loading
Loading
Loading
+21 −12
Original line number Original line Diff line number Diff line
@@ -543,7 +543,7 @@ void LIB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition,


    cmd.SetEventObject( this );
    cmd.SetEventObject( this );


    bool itemInEdit = m_drawItem && m_drawItem->GetFlags();
    bool itemInEdit = m_drawItem && m_drawItem->InEditMode();


    /* Convert lower to upper case (the usual toupper function has problem
    /* Convert lower to upper case (the usual toupper function has problem
     * with non ascii codes like function keys */
     * with non ascii codes like function keys */
@@ -598,9 +598,12 @@ void LIB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition,
        break;
        break;


    case HK_REPEAT_LAST:
    case HK_REPEAT_LAST:
        if( m_lastDrawItem && (m_lastDrawItem->GetFlags() == 0)
        if( ! itemInEdit )
            && ( m_lastDrawItem->Type() == LIB_PIN_T ) )
        {
            if( m_lastDrawItem && !m_lastDrawItem->InEditMode() &&
                ( m_lastDrawItem->Type() == LIB_PIN_T ) )
                RepeatPinItem( aDC, (LIB_PIN*) m_lastDrawItem );
                RepeatPinItem( aDC, (LIB_PIN*) m_lastDrawItem );
        }
        break;
        break;


    case HK_EDIT:
    case HK_EDIT:
@@ -648,8 +651,11 @@ void LIB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition,
        break;
        break;


    case HK_LIBEDIT_CREATE_PIN:
    case HK_LIBEDIT_CREATE_PIN:
        if( ! itemInEdit )
        {
            SetToolID( ID_LIBEDIT_PIN_BUTT, wxCURSOR_PENCIL, _( "Add Pin" ) );
            SetToolID( ID_LIBEDIT_PIN_BUTT, wxCURSOR_PENCIL, _( "Add Pin" ) );
            OnLeftClick( aDC, aPosition );
            OnLeftClick( aDC, aPosition );
        }
        break;
        break;


    case HK_DELETE:
    case HK_DELETE:
@@ -677,6 +683,8 @@ void LIB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition,
        break;
        break;


    case HK_DRAG:
    case HK_DRAG:
        if( !itemInEdit )
        {
            m_drawItem = LocateItemUsingCursor( aPosition );
            m_drawItem = LocateItemUsingCursor( aPosition );


            if( m_drawItem && !m_drawItem->InEditMode() )
            if( m_drawItem && !m_drawItem->InEditMode() )
@@ -684,6 +692,7 @@ void LIB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition,
                cmd.SetId( ID_POPUP_LIBEDIT_MODIFY_ITEM );
                cmd.SetId( ID_POPUP_LIBEDIT_MODIFY_ITEM );
                Process_Special_Functions( cmd );
                Process_Special_Functions( cmd );
            }
            }
        }
        break;
        break;
    }
    }
}
}