Don't hang when trying to paste image as text.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19079
This commit is contained in:
Jeff Young 2024-12-01 18:56:52 +00:00
parent 302dfb4623
commit 5caaf22949

View File

@ -970,7 +970,15 @@ int SYMBOL_EDITOR_EDIT_TOOL::Paste( const TOOL_EVENT& aEvent )
{
// If it's not a symbol then paste as text
newPart = new LIB_SYMBOL( "dummy_part" );
SCH_TEXT* newText = new SCH_TEXT( { 0, 0 }, clipboardData, LAYER_DEVICE );
wxString pasteText( clipboardData );
// Limit of 5000 is totally arbitrary. Without a limit, pasting a bitmap image from
// eeschema makes KiCad appear to hang.
if( pasteText.Length() > 5000 )
pasteText = pasteText.Left( 5000 ) + wxT( "..." );
SCH_TEXT* newText = new SCH_TEXT( { 0, 0 }, pasteText, LAYER_DEVICE );
newPart->AddDrawItem( newText );
}