Removed an very old bug in onrightclick.cpp which crashes eeschema.
This commit is contained in:
parent
9e35d3ef1b
commit
198b10cf92
|
@ -5,6 +5,13 @@ Started 2007-June-11
|
||||||
Please add newer entries at the top, list the date and your name with
|
Please add newer entries at the top, list the date and your name with
|
||||||
email address.
|
email address.
|
||||||
|
|
||||||
|
2008-Mar-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
|
||||||
|
================================================================================
|
||||||
|
+eeschema
|
||||||
|
Removed an very old bug in onrightclick.cpp which crashes eeschema when right clicking in a field inside a component.
|
||||||
|
Old code should never works, but ...
|
||||||
|
|
||||||
|
|
||||||
2008-Mar-20 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
|
2008-Mar-20 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
|
||||||
================================================================================
|
================================================================================
|
||||||
+pcbnew
|
+pcbnew
|
||||||
|
|
|
@ -91,7 +91,7 @@ bool WinEDA_SchematicFrame::OnRightClick( const wxPoint& MousePos,
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
EDA_BaseStruct* DrawStruct = GetScreen()->GetCurItem();
|
EDA_BaseStruct* DrawStruct = GetScreen()->GetCurItem();
|
||||||
bool BlockActive = (GetScreen()->BlockLocate.m_Command != BLOCK_IDLE);
|
bool BlockActive = (GetScreen()->BlockLocate.m_Command != BLOCK_IDLE);
|
||||||
|
|
||||||
|
|
||||||
DrawPanel->m_CanStartBlock = -1; // Ne pas engager un debut de bloc sur validation menu
|
DrawPanel->m_CanStartBlock = -1; // Ne pas engager un debut de bloc sur validation menu
|
||||||
|
@ -103,7 +103,7 @@ bool WinEDA_SchematicFrame::OnRightClick( const wxPoint& MousePos,
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Simple localisation des elements si possible
|
// Simple localisation des elements si possible
|
||||||
if( (DrawStruct == NULL) || (DrawStruct->m_Flags == 0) )
|
if( (DrawStruct == NULL) || (DrawStruct->m_Flags == 0) )
|
||||||
{
|
{
|
||||||
DrawStruct = SchematicGeneralLocateAndDisplay( FALSE );
|
DrawStruct = SchematicGeneralLocateAndDisplay( FALSE );
|
||||||
|
@ -111,7 +111,7 @@ bool WinEDA_SchematicFrame::OnRightClick( const wxPoint& MousePos,
|
||||||
{
|
{
|
||||||
DrawSheetLabelStruct* slabel;
|
DrawSheetLabelStruct* slabel;
|
||||||
slabel = LocateSheetLabel( (DrawSheetStruct*) DrawStruct,
|
slabel = LocateSheetLabel( (DrawSheetStruct*) DrawStruct,
|
||||||
GetScreen()->m_Curseur );
|
GetScreen()->m_Curseur );
|
||||||
if( slabel )
|
if( slabel )
|
||||||
DrawStruct = slabel;
|
DrawStruct = slabel;
|
||||||
}
|
}
|
||||||
|
@ -205,11 +205,11 @@ bool WinEDA_SchematicFrame::OnRightClick( const wxPoint& MousePos,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// Many fields are inside a component. If this is the case, add the component menu
|
// Many fields are inside a component. If this is the case, add the component menu
|
||||||
SCH_COMPONENT* Component = LocateSmallestComponent( (SCH_SCREEN*)GetScreen() );
|
SCH_COMPONENT* Component = LocateSmallestComponent( (SCH_SCREEN*) GetScreen() );
|
||||||
if( Component )
|
if( Component )
|
||||||
{
|
{
|
||||||
PopMenu->AppendSeparator();
|
PopMenu->AppendSeparator();
|
||||||
AddMenusForComponent( PopMenu, (SCH_COMPONENT*) DrawStruct );
|
AddMenusForComponent( PopMenu, Component );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -284,6 +284,12 @@ void AddMenusForComponent( wxMenu* PopMenu, SCH_COMPONENT* Component )
|
||||||
/* Add menu commands for a component
|
/* Add menu commands for a component
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
|
if( Component->Type() != TYPE_SCH_COMPONENT )
|
||||||
|
{
|
||||||
|
wxASSERT( 0 );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
||||||
EDA_LibComponentStruct* LibEntry;
|
EDA_LibComponentStruct* LibEntry;
|
||||||
|
@ -326,7 +332,9 @@ void AddMenusForComponent( wxMenu* PopMenu, SCH_COMPONENT* Component )
|
||||||
|
|
||||||
ADD_MENUITEM( editmenu, ID_POPUP_SCH_EDIT_REF_CMP, _( "Reference" ), edit_comp_ref_xpm );
|
ADD_MENUITEM( editmenu, ID_POPUP_SCH_EDIT_REF_CMP, _( "Reference" ), edit_comp_ref_xpm );
|
||||||
|
|
||||||
msg = AddHotkeyName( _( "Footprint " ), s_Schematic_Hokeys_Descr, HK_EDIT_COMPONENT_FOOTPRINT );
|
msg = AddHotkeyName( _(
|
||||||
|
"Footprint " ), s_Schematic_Hokeys_Descr,
|
||||||
|
HK_EDIT_COMPONENT_FOOTPRINT );
|
||||||
ADD_MENUITEM( editmenu, ID_POPUP_SCH_EDIT_FOOTPRINT_CMP, msg, edit_comp_footprint_xpm );
|
ADD_MENUITEM( editmenu, ID_POPUP_SCH_EDIT_FOOTPRINT_CMP, msg, edit_comp_footprint_xpm );
|
||||||
}
|
}
|
||||||
if( LibEntry && (LookForConvertPart( LibEntry ) >= 2) )
|
if( LibEntry && (LookForConvertPart( LibEntry ) >= 2) )
|
||||||
|
@ -387,9 +395,12 @@ void AddMenusForGLabel( wxMenu* PopMenu, SCH_GLOBALLABEL* GLabel )
|
||||||
ADD_MENUITEM_WITH_SUBMENU( PopMenu, menu_change_type,
|
ADD_MENUITEM_WITH_SUBMENU( PopMenu, menu_change_type,
|
||||||
ID_POPUP_SCH_CHANGE_TYPE_TEXT, _( "Change Type" ), gl_change_xpm );
|
ID_POPUP_SCH_CHANGE_TYPE_TEXT, _( "Change Type" ), gl_change_xpm );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
void AddMenusForHLabel( wxMenu* PopMenu, SCH_HIERLABEL* HLabel )
|
void AddMenusForHLabel( wxMenu* PopMenu, SCH_HIERLABEL* HLabel )
|
||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
|
|
||||||
/* Add menu commands for a hierarchal Label
|
/* Add menu commands for a hierarchal Label
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue