improved OSX compatibility and fixed possible crash in debug mode in Pcbnew

This commit is contained in:
charras 2009-07-20 05:18:47 +00:00
parent 527e7922ed
commit 1868bb8e3c
4 changed files with 49 additions and 21 deletions

View File

@ -68,6 +68,11 @@ WinEDA_BasicFrame::~WinEDA_BasicFrame()
if( wxGetApp().m_HtmlCtrl ) if( wxGetApp().m_HtmlCtrl )
delete wxGetApp().m_HtmlCtrl; delete wxGetApp().m_HtmlCtrl;
wxGetApp().m_HtmlCtrl = NULL; wxGetApp().m_HtmlCtrl = NULL;
/* This needed for OSX: avoids furter OnDraw processing after this destructor
* and before the native window is destroyed
*/
this->Freeze( );
} }

Binary file not shown.

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: kicad\n" "Project-Id-Version: kicad\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-07-17 20:36+0100\n" "POT-Creation-Date: 2009-07-20 08:07+0100\n"
"PO-Revision-Date: 2009-07-17 20:53+0100\n" "PO-Revision-Date: 2009-07-20 08:11+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: kicad team <jean-pierre.charras@ujf-grenoble.fr>\n" "Language-Team: kicad team <jean-pierre.charras@ujf-grenoble.fr>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -2128,7 +2128,7 @@ msgstr "Lire les préférences de l'application"
#: pcbnew/menubarpcb.cpp:211 #: pcbnew/menubarpcb.cpp:211
msgid "Design Rules" msgid "Design Rules"
msgstr "Rrègles de Conception" msgstr "Règles de Conception"
#: pcbnew/menubarpcb.cpp:211 #: pcbnew/menubarpcb.cpp:211
msgid "Open the design rules dialog editor" msgid "Open the design rules dialog editor"
@ -4590,19 +4590,19 @@ msgstr ""
"Entrez un nom de fichier si vous ne voulez pas utiliser les noms par défaut\n" "Entrez un nom de fichier si vous ne voulez pas utiliser les noms par défaut\n"
"Ne peut être utilisé que pour imprimer la feuille courante" "Ne peut être utilisé que pour imprimer la feuille courante"
#: pcbnew/class_netinfo_item.cpp:136 #: pcbnew/class_netinfo_item.cpp:137
msgid "Net Name" msgid "Net Name"
msgstr "Nom Equipot" msgstr "Nom Equipot"
#: pcbnew/class_netinfo_item.cpp:139 #: pcbnew/class_netinfo_item.cpp:140
msgid "Net Code" msgid "Net Code"
msgstr "Net Code" msgstr "Net Code"
#: pcbnew/class_netinfo_item.cpp:168 #: pcbnew/class_netinfo_item.cpp:169
msgid "Vias" msgid "Vias"
msgstr "Vias" msgstr "Vias"
#: pcbnew/class_netinfo_item.cpp:171 #: pcbnew/class_netinfo_item.cpp:172
msgid "Net Length" msgid "Net Length"
msgstr "Long. Net" msgstr "Long. Net"
@ -5808,7 +5808,7 @@ msgstr "<< Selectionner Tout"
msgid "Select All >>" msgid "Select All >>"
msgstr "Selectionner Tout >>" msgstr "Selectionner Tout >>"
#: pcbnew/dialog_design_rules_base.cpp:209 #: pcbnew/dialog_design_rules_base.cpp:200
msgid "Net Classes" msgid "Net Classes"
msgstr "Classes d'Equipots." msgstr "Classes d'Equipots."
@ -5849,10 +5849,31 @@ msgstr "Change tous"
msgid "Browse Libs modules" msgid "Browse Libs modules"
msgstr "Liste modules" msgstr "Liste modules"
#: pcbnew/dialog_design_rules.cpp:319 #: pcbnew/dialog_design_rules.cpp:311
msgid "Errors detected, Abort"
msgstr "Erreurs detectées, Abandont"
#: pcbnew/dialog_design_rules.cpp:367
msgid "New Net Class Name:" msgid "New Net Class Name:"
msgstr "Nouveau Nom de Classe d'Equipotentielle:" msgstr "Nouveau Nom de Classe d'Equipotentielle:"
#: pcbnew/dialog_design_rules.cpp:380
msgid "This NetClass is already existing, cannot add it; Aborted"
msgstr "Cette NetClass existe déjà, et ne peut être ajoutée; Abandon"
#: pcbnew/dialog_design_rules.cpp:561
#, c-format
msgid "<small>This layer name <b>%s</b> is already existing<br>"
msgstr "<small>Ce nom de couche <b>%s</b> existe déjà<br>"
#: pcbnew/dialog_design_rules.cpp:585
msgid "The <b>track</b> minimum size is bigger than the size<br>"
msgstr "La <b>track</b>taille minimum est plus grande que la taille<br>"
#: pcbnew/dialog_design_rules.cpp:599
msgid "The <b>via</b> minimum size is bigger than the size<br>"
msgstr "La taille minimum de<b>via</b>est plus grande que la taille<br>"
#: eeschema/libedit.cpp:35 #: eeschema/libedit.cpp:35
msgid " Part: " msgid " Part: "
msgstr "Composant " msgstr "Composant "
@ -11051,20 +11072,20 @@ msgstr "Emplacement des Fichiers des Hotkeys"
msgid "Select hotkey config file location (home directory or kicad tree)" msgid "Select hotkey config file location (home directory or kicad tree)"
msgstr "Sélection emplacement des fichiers de config. des hotkeys(\"home\" ou répertoire kicad)" msgstr "Sélection emplacement des fichiers de config. des hotkeys(\"home\" ou répertoire kicad)"
#: common/basicframe.cpp:219 #: common/basicframe.cpp:224
msgid " file <" msgid " file <"
msgstr " Fichier <" msgstr " Fichier <"
#: common/basicframe.cpp:219 #: common/basicframe.cpp:224
msgid "> was not found." msgid "> was not found."
msgstr "> non trouvé." msgstr "> non trouvé."
#: common/basicframe.cpp:255 #: common/basicframe.cpp:260
#, c-format #, c-format
msgid "Help file %s not found" msgid "Help file %s not found"
msgstr "Fichier d'aide %s non trouvé" msgstr "Fichier d'aide %s non trouvé"
#: common/basicframe.cpp:263 #: common/basicframe.cpp:268
#, c-format #, c-format
msgid "Help file %s could not be found." msgid "Help file %s could not be found."
msgstr "Fichier d'aide %s non trouvé." msgstr "Fichier d'aide %s non trouvé."

View File

@ -823,14 +823,15 @@ SEARCH_RESULT BOARD::Visit( INSPECTOR* inspector, const void* testData,
*/ */
NETINFO_ITEM* BOARD::FindNet( int anetcode ) const NETINFO_ITEM* BOARD::FindNet( int anetcode ) const
{ {
// the first valid netcode is 1. // the first valid netcode is 1 and the last is m_NetInfo->GetNetsCount()-1.
// zero is reserved for "no connection" and is not used. // zero is reserved for "no connection" and is not used.
if( anetcode > 0 ) // NULL is returned for non valid netcodes
NETINFO_ITEM* item = m_NetInfo->GetNetItem( anetcode );
if ( item ) // item can be NULL if not valid
{ {
wxASSERT( anetcode == m_NetInfo->GetNetItem( anetcode )->GetNet() ); wxASSERT( anetcode == item->GetNet() );
return m_NetInfo->GetNetItem( anetcode );
} }
return NULL; return item;
} }
@ -848,8 +849,9 @@ NETINFO_ITEM* BOARD::FindNet( const wxString& aNetname ) const
{ {
for( unsigned ii = 1; ii < m_NetInfo->GetNetsCount(); ii++ ) for( unsigned ii = 1; ii < m_NetInfo->GetNetsCount(); ii++ )
{ {
if( m_NetInfo->GetNetItem( ii )->GetNetname() == aNetname ) NETINFO_ITEM* item = m_NetInfo->GetNetItem( ii );
return m_NetInfo->GetNetItem( ii ); if( item && item->GetNetname() == aNetname )
return item;
} }
} }
return NULL; return NULL;