Remove deleted item global variables
Fixes https://gitlab.com/kicad/code/kicad/issues/4819
This commit is contained in:
parent
7cea4b23f1
commit
ccc0ceb32f
|
@ -63,6 +63,16 @@ public:
|
||||||
return wxT( "DELETED_SHEET_ITEM" );
|
return wxT( "DELETED_SHEET_ITEM" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static DELETED_SHEET_ITEM* GetInstance()
|
||||||
|
{
|
||||||
|
static DELETED_SHEET_ITEM* item = nullptr;
|
||||||
|
|
||||||
|
if( !item )
|
||||||
|
item = new DELETED_SHEET_ITEM();
|
||||||
|
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
// pure virtuals:
|
// pure virtuals:
|
||||||
void SetPosition( const wxPoint& ) override {}
|
void SetPosition( const wxPoint& ) override {}
|
||||||
void Print( RENDER_SETTINGS* aSettings, const wxPoint& aOffset ) override {}
|
void Print( RENDER_SETTINGS* aSettings, const wxPoint& aOffset ) override {}
|
||||||
|
@ -76,8 +86,6 @@ public:
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
DELETED_SHEET_ITEM* g_DeletedItem = nullptr;
|
|
||||||
|
|
||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
|
@ -530,10 +538,7 @@ SCH_ITEM* SCH_SHEET_LIST::GetItem( const KIID& aID, SCH_SHEET_PATH* aPathOut )
|
||||||
}
|
}
|
||||||
|
|
||||||
// Not found; weak reference has been deleted.
|
// Not found; weak reference has been deleted.
|
||||||
if( !g_DeletedItem )
|
return DELETED_SHEET_ITEM::GetInstance();
|
||||||
g_DeletedItem = new DELETED_SHEET_ITEM();
|
|
||||||
|
|
||||||
return g_DeletedItem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -76,6 +76,15 @@ public:
|
||||||
return wxPoint(0, 0);
|
return wxPoint(0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static DELETED_BOARD_ITEM* GetInstance()
|
||||||
|
{
|
||||||
|
static DELETED_BOARD_ITEM* item = nullptr;
|
||||||
|
|
||||||
|
if( !item )
|
||||||
|
item = new DELETED_BOARD_ITEM();
|
||||||
|
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
#if defined(DEBUG)
|
#if defined(DEBUG)
|
||||||
void Show( int , std::ostream& ) const override {}
|
void Show( int , std::ostream& ) const override {}
|
||||||
|
@ -807,10 +816,7 @@ BOARD_ITEM* BOARD::GetItem( const KIID& aID )
|
||||||
return this;
|
return this;
|
||||||
|
|
||||||
// Not found; weak reference has been deleted.
|
// Not found; weak reference has been deleted.
|
||||||
if( !g_DeletedItem )
|
return DELETED_BOARD_ITEM::GetInstance();
|
||||||
g_DeletedItem = new DELETED_BOARD_ITEM();
|
|
||||||
|
|
||||||
return g_DeletedItem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue