Eeschema: Fix crash of modifying graphic item and abort with ESC by adding re-entrancy guards
This commit is contained in:
parent
6269453416
commit
61d03b41ec
|
@ -344,7 +344,8 @@ private:
|
||||||
|
|
||||||
EE_POINT_EDITOR::EE_POINT_EDITOR() :
|
EE_POINT_EDITOR::EE_POINT_EDITOR() :
|
||||||
EE_TOOL_BASE<SCH_BASE_FRAME>( "eeschema.PointEditor" ),
|
EE_TOOL_BASE<SCH_BASE_FRAME>( "eeschema.PointEditor" ),
|
||||||
m_editedPoint( nullptr )
|
m_editedPoint( nullptr ),
|
||||||
|
m_inPointEditor( false )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -411,6 +412,11 @@ int EE_POINT_EDITOR::Main( const TOOL_EVENT& aEvent )
|
||||||
if( !m_selectionTool )
|
if( !m_selectionTool )
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
if( m_inPointEditor )
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
REENTRANCY_GUARD guard( &m_inPointEditor );
|
||||||
|
|
||||||
if( m_isSymbolEditor )
|
if( m_isSymbolEditor )
|
||||||
{
|
{
|
||||||
SYMBOL_EDIT_FRAME* editor = getEditFrame<SYMBOL_EDIT_FRAME>();
|
SYMBOL_EDIT_FRAME* editor = getEditFrame<SYMBOL_EDIT_FRAME>();
|
||||||
|
|
|
@ -105,6 +105,9 @@ private:
|
||||||
///< Currently edited point, NULL if there is none.
|
///< Currently edited point, NULL if there is none.
|
||||||
EDIT_POINT* m_editedPoint;
|
EDIT_POINT* m_editedPoint;
|
||||||
|
|
||||||
|
///< Re-entrancy guards
|
||||||
|
bool m_inPointEditor;
|
||||||
|
|
||||||
///< Currently available edit points.
|
///< Currently available edit points.
|
||||||
std::shared_ptr<EDIT_POINTS> m_editPoints;
|
std::shared_ptr<EDIT_POINTS> m_editPoints;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue