From cdf248b236fb04c1a776fd1f3d8ac6fc5c673c37 Mon Sep 17 00:00:00 2001 From: charras Date: Sat, 21 Nov 2009 20:44:19 +0000 Subject: [PATCH] minor bugs fix. --- gerbview/files.cpp | 39 ++++------ gerbview/gerbview.cpp | 13 ++-- gerbview/gerbview.h | 4 +- gerbview/readgerb.cpp | 11 ++- gerbview/rs274d.cpp | 2 +- gerbview/rs274x.cpp | 2 +- gerbview/wxGerberFrame.h | 10 ++- internat/fr/kicad.mo | Bin 207445 -> 206112 bytes internat/fr/kicad.po | 143 +++++++++++++++++-------------------- pcbnew/board_undo_redo.cpp | 31 +++++--- pcbnew/class_track.h | 2 +- 11 files changed, 114 insertions(+), 143 deletions(-) diff --git a/gerbview/files.cpp b/gerbview/files.cpp index 236abe4015..c382674b16 100644 --- a/gerbview/files.cpp +++ b/gerbview/files.cpp @@ -14,8 +14,7 @@ static void LoadDCodeFile( WinEDA_GerberFrame* frame, - const wxString& FullFileName, - wxDC* DC ); + const wxString& FullFileName ); void WinEDA_GerberFrame::OnFileHistory( wxCommandEvent& event ) @@ -26,11 +25,7 @@ void WinEDA_GerberFrame::OnFileHistory( wxCommandEvent& event ) if( fn != wxEmptyString && Clear_Pcb( true ) ) { - wxClientDC dc( DrawPanel ); - DrawPanel->CursorOff( &dc ); - LoadOneGerberFile( fn, &dc, false ); - DrawPanel->MouseToCursorSchema(); - DrawPanel->CursorOn( &dc ); + LoadOneGerberFile( fn, false ); } } @@ -40,16 +35,12 @@ void WinEDA_GerberFrame::Files_io( wxCommandEvent& event ) { int id = event.GetId(); - wxClientDC dc( DrawPanel ); - - DrawPanel->CursorOff( &dc ); - switch( id ) { case ID_LOAD_FILE: if( Clear_Pcb( TRUE ) ) { - LoadOneGerberFile( wxEmptyString, &dc, 0 ); + LoadOneGerberFile( wxEmptyString, 0 ); } break; @@ -60,7 +51,7 @@ void WinEDA_GerberFrame::Files_io( wxCommandEvent& event ) GetScreen()->m_Active_Layer++; - if( !LoadOneGerberFile( wxEmptyString, &dc, 0 ) ) + if( !LoadOneGerberFile( wxEmptyString, 0 ) ) GetScreen()->m_Active_Layer = origLayer; SetToolbars(); @@ -68,7 +59,7 @@ void WinEDA_GerberFrame::Files_io( wxCommandEvent& event ) break; case ID_APPEND_FILE: - LoadOneGerberFile( wxEmptyString, &dc, 0 ); + LoadOneGerberFile( wxEmptyString, 0 ); break; case ID_NEW_BOARD: @@ -82,24 +73,21 @@ void WinEDA_GerberFrame::Files_io( wxCommandEvent& event ) break; case ID_GERBVIEW_LOAD_DCODE_FILE: - LoadDCodeFile( this, wxEmptyString, &dc ); + LoadDCodeFile( this, wxEmptyString ); break; case ID_SAVE_BOARD: - SaveGerberFile( GetScreen()->m_FileName, &dc ); + SaveGerberFile( GetScreen()->m_FileName ); break; case ID_SAVE_BOARD_AS: - SaveGerberFile( wxEmptyString, &dc ); + SaveGerberFile( wxEmptyString ); break; default: DisplayError( this, wxT( "File_io Internal Error" ) ); break; } - - DrawPanel->MouseToCursorSchema(); - DrawPanel->CursorOn( &dc ); } @@ -111,8 +99,7 @@ void WinEDA_GerberFrame::Files_io( wxCommandEvent& event ) * 1 if OK */ bool WinEDA_GerberFrame::LoadOneGerberFile( const wxString& FullFileName, - wxDC* DC, - int mode ) + int mode ) { wxString filetypes; wxFileName filename = FullFileName; @@ -165,7 +152,7 @@ bool WinEDA_GerberFrame::LoadOneGerberFile( const wxString& FullFileName, wxSetWorkingDirectory( filename.GetPath() ); filename.SetExt( g_PenFilenameExt ); - if( Read_GERBER_File( DC, GetScreen()->m_FileName, filename.GetFullPath() ) ) + if( Read_GERBER_File( GetScreen()->m_FileName, filename.GetFullPath() ) ) SetLastProject( GetScreen()->m_FileName ); Zoom_Automatique( FALSE ); @@ -184,8 +171,7 @@ bool WinEDA_GerberFrame::LoadOneGerberFile( const wxString& FullFileName, * 1 if OK */ static void LoadDCodeFile( WinEDA_GerberFrame* frame, - const wxString& FullFileName, - wxDC* DC ) + const wxString& FullFileName ) { wxString wildcard; wxFileName fn = FullFileName; @@ -218,8 +204,7 @@ static void LoadDCodeFile( WinEDA_GerberFrame* frame, /* Save the file in ASCII PCB. */ -bool WinEDA_GerberFrame::SaveGerberFile( const wxString& FullFileName, - wxDC* DC ) +bool WinEDA_GerberFrame::SaveGerberFile( const wxString& FullFileName ) { wxString wildcard; wxFileName fn = FullFileName; diff --git a/gerbview/gerbview.cpp b/gerbview/gerbview.cpp index b56a43b9ab..6c94e7569a 100644 --- a/gerbview/gerbview.cpp +++ b/gerbview/gerbview.cpp @@ -95,26 +95,21 @@ bool WinEDA_App::OnInit() return true; fn = argv[1]; - fn.SetExt( g_PhotoFilenameExt ); if( fn.IsOk() ) { - wxClientDC dc( frame->DrawPanel ); - frame->DrawPanel->PrepareGraphicContext( &dc ); - if( fn.DirExists() ) wxSetWorkingDirectory( fn.GetPath() ); // Load all files specified on the command line. - for( int i = 1; i < argc; ++i ) + for( int ii = 1; ii < argc && ii <= LAYER_COUNT; ++ii ) { - fn = wxFileName( argv[i] ); - fn.SetExt( g_PhotoFilenameExt ); + fn = wxFileName( argv[ii] ); if( fn.FileExists() ) { - ( (PCB_SCREEN*) frame->GetScreen() )->m_Active_Layer = i - 1; - frame->LoadOneGerberFile( fn.GetFullPath(), &dc, FALSE ); + ( (PCB_SCREEN*) frame->GetScreen() )->m_Active_Layer = ii - 1; + frame->LoadOneGerberFile( fn.GetFullPath(), FALSE ); } } } diff --git a/gerbview/gerbview.h b/gerbview/gerbview.h index be9d022a16..bb6d826407 100644 --- a/gerbview/gerbview.h +++ b/gerbview/gerbview.h @@ -380,7 +380,7 @@ public: int ReturnGCodeNumber( char*& Text ); int ReturnDCodeNumber( char*& Text ); bool Execute_G_Command( char*& text, int G_commande ); - bool Execute_DCODE_Command( WinEDA_GerberFrame* frame, wxDC* DC, + bool Execute_DCODE_Command( WinEDA_GerberFrame* frame, char*& text, int D_commande ); /** @@ -393,7 +393,7 @@ public: * Function ReadRS274XCommand * reads a single RS274X command terminated with a % */ - bool ReadRS274XCommand( WinEDA_GerberFrame* frame, wxDC* DC, + bool ReadRS274XCommand( WinEDA_GerberFrame* frame, char aBuff[GERBER_BUFZ], char*& text ); /** diff --git a/gerbview/readgerb.cpp b/gerbview/readgerb.cpp index 6c815ec6f4..44b2dc52cd 100644 --- a/gerbview/readgerb.cpp +++ b/gerbview/readgerb.cpp @@ -102,8 +102,7 @@ * CrLf after each command * G codes BROKE */ -bool WinEDA_GerberFrame::Read_GERBER_File( wxDC* DC, - const wxString& GERBER_FullFileName, +bool WinEDA_GerberFrame::Read_GERBER_File( const wxString& GERBER_FullFileName, const wxString& D_Code_FullFileName ) { int G_commande = 0, @@ -197,7 +196,7 @@ bool WinEDA_GerberFrame::Read_GERBER_File( wxDC* DC, case 'D': /* Line type Dxx : Tool selection (xx > 0) or * command if xx = 0..9 */ D_commande = gerber->ReturnDCodeNumber( text ); - gerber->Execute_DCODE_Command( this, DC, text, D_commande ); + gerber->Execute_DCODE_Command( this, text, D_commande ); break; case 'X': @@ -205,7 +204,7 @@ bool WinEDA_GerberFrame::Read_GERBER_File( wxDC* DC, pos = gerber->ReadXYCoord( text ); if( *text == '*' ) // command like X12550Y19250* { - gerber->Execute_DCODE_Command( this, DC, text, + gerber->Execute_DCODE_Command( this, text, gerber->m_Last_Pen_Command ); } break; @@ -220,7 +219,7 @@ bool WinEDA_GerberFrame::Read_GERBER_File( wxDC* DC, { gerber->m_CommandState = ENTER_RS274X_CMD; - if( !gerber->ReadRS274XCommand( this, DC, line, text ) ) + if( !gerber->ReadRS274XCommand( this, line, text ) ) { error++; } @@ -244,7 +243,7 @@ bool WinEDA_GerberFrame::Read_GERBER_File( wxDC* DC, if( error ) { msg.Printf( _( "%d errors while reading Gerber file [%s]" ), - error, GERBER_FullFileName.GetData() ); + error, GetChars(GERBER_FullFileName) ); DisplayError( this, msg ); } fclose( gerber->m_Current_File ); diff --git a/gerbview/rs274d.cpp b/gerbview/rs274d.cpp index e24a21c3fe..2a8fd2c4d6 100644 --- a/gerbview/rs274d.cpp +++ b/gerbview/rs274d.cpp @@ -849,7 +849,7 @@ static bool mapExposure( int param1, bool curExposure, bool isNegative ) } -bool GERBER::Execute_DCODE_Command( WinEDA_GerberFrame* frame, wxDC* DC, +bool GERBER::Execute_DCODE_Command( WinEDA_GerberFrame* frame, char*& text, int D_commande ) { wxSize size( 15, 15 ); diff --git a/gerbview/rs274x.cpp b/gerbview/rs274x.cpp index 1134d8b9ca..ad43830eaf 100644 --- a/gerbview/rs274x.cpp +++ b/gerbview/rs274x.cpp @@ -106,7 +106,7 @@ static double ReadDouble( char*& text ) } -bool GERBER::ReadRS274XCommand( WinEDA_GerberFrame* frame, wxDC* DC, +bool GERBER::ReadRS274XCommand( WinEDA_GerberFrame* frame, char buff[GERBER_BUFZ], char*& text ) { bool ok = true; diff --git a/gerbview/wxGerberFrame.h b/gerbview/wxGerberFrame.h index f976c1dcb3..b2dedaa942 100644 --- a/gerbview/wxGerberFrame.h +++ b/gerbview/wxGerberFrame.h @@ -138,13 +138,11 @@ public: void Files_io( wxCommandEvent& event ); void OnFileHistory( wxCommandEvent& event ); - bool LoadOneGerberFile( const wxString& FileName, wxDC* DC, - int mode ); - int ReadGerberFile( wxDC* DC, FILE* File, bool Append ); - bool Read_GERBER_File( wxDC* DC, - const wxString& GERBER_FullFileName, + bool LoadOneGerberFile( const wxString& FileName, int mode ); + int ReadGerberFile( FILE* File, bool Append ); + bool Read_GERBER_File( const wxString& GERBER_FullFileName, const wxString& D_Code_FullFileName ); - bool SaveGerberFile( const wxString& FileName, wxDC* DC ); + bool SaveGerberFile( const wxString& FileName ); void GeneralControle( wxDC* DC, wxPoint Mouse ); diff --git a/internat/fr/kicad.mo b/internat/fr/kicad.mo index 601aadaa748facce2e54f13f783e12d279466e34..0010fed880c5fb64ded606455e8743f007062014 100644 GIT binary patch delta 62116 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 HkNE!sLFxOl diff --git a/internat/fr/kicad.po b/internat/fr/kicad.po index ab9bff3f58..fec9ca3fc0 100644 --- a/internat/fr/kicad.po +++ b/internat/fr/kicad.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: kicad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-11-20 20:25+0100\n" -"PO-Revision-Date: 2009-11-20 20:28+0100\n" +"POT-Creation-Date: 2009-11-21 20:29+0100\n" +"PO-Revision-Date: 2009-11-21 20:35+0100\n" "Last-Translator: \n" "Language-Team: kicad team \n" "MIME-Version: 1.0\n" @@ -2552,49 +2552,9 @@ msgstr "Attention: option d'échelle ajustée à une valeur très grande" msgid "No layer selected" msgstr "Pas de couche sélectionnée" -#: pcbnew/dialog_freeroute_exchange.cpp:179 -msgid "Export a Specctra Design (*.dsn) File" -msgstr "Exporter un fichier de conception Specctra (*.dsn)" - -#: pcbnew/dialog_freeroute_exchange.cpp:181 -msgid "Export a Specctra DSN file (to FreeRouter)" -msgstr "Exporter un fichier Specctra DSN (pour FreeRoute)" - -#: pcbnew/dialog_freeroute_exchange.cpp:184 -msgid "Launch FreeRouter via Java Web Start" -msgstr "Lancer FreeRouter via Java Web Start" - -#: pcbnew/dialog_freeroute_exchange.cpp:186 -msgid "Use Java Web Start function to run FreeRouter via Internet (or your Browser if not found)" -msgstr "Utiliser Java Web Start function pour lancer FreeRouter via Internet (ou votre Navigateur si non trouvé)" - -#: pcbnew/dialog_freeroute_exchange.cpp:189 -msgid "Back Import the Specctra Session (*.ses) File" -msgstr "Importer un Fichier Specctra Session (*.ses)" - -#: pcbnew/dialog_freeroute_exchange.cpp:191 -msgid "Merge a session file created by FreeRouter with the current board." -msgstr "Importer un fichier session créé par FreeRouter dans le C.I. courant." - -#: pcbnew/dialog_freeroute_exchange.cpp:198 -msgid "Visit FreeRouting.net website" -msgstr "Visiter le site FreeRouting.net" - -#: pcbnew/dialog_freeroute_exchange.cpp:200 -msgid "Launch your browser and go to the FreeRouting.net website" -msgstr "Lancer votre navigateur pour aller sur FreeRouting.net" - -#: pcbnew/dialog_freeroute_exchange.cpp:203 -msgid "FreeRouting.net URL" -msgstr "URL FreeRouting.net" - -#: pcbnew/dialog_freeroute_exchange.cpp:208 -msgid "The URL of the FreeRouting.net website" -msgstr "L' URL du site FreeRouting.net" - -#: pcbnew/dialog_freeroute_exchange.cpp:214 -msgid "&Close" -msgstr "&Fermer" +#: pcbnew/dialog_freeroute_exchange.cpp:68 +msgid "Freeroute Help" +msgstr "" #: pcbnew/dialog_edit_module_for_Modedit.cpp:83 msgid "Use this attribute for most non smd components" @@ -3925,10 +3885,6 @@ msgstr "Test module" msgid "Add Pads" msgstr "Addition de \"pins\"" -#: pcbnew/tool_modedit.cpp:203 -msgid "Display Grid OFF" -msgstr "Suppression de l'affichage de la grille" - #: pcbnew/tool_modedit.cpp:208 msgid "Display Polar Coord ON" msgstr "Activer affichage coord Polaires" @@ -4890,7 +4846,7 @@ msgstr "Effacer Marqueur" #: pcbnew/onrightclick.cpp:792 msgid "Marker Error Info" -msgstr "Info de Marqueurd'Erreur" +msgstr "Info du Marqueur d'Erreur" #: pcbnew/onrightclick.cpp:812 msgid "Auto Width" @@ -4911,7 +4867,7 @@ msgstr "Utiliser les dimensions de pistes et vias de leur valeurs en Netclasse" #: pcbnew/onrightclick.cpp:832 #, c-format msgid "Track %s" -msgstr "Piste %s:" +msgstr "Piste %s" #: pcbnew/onrightclick.cpp:834 #: pcbnew/onrightclick.cpp:862 @@ -7401,6 +7357,10 @@ msgstr "Offset de tracé X" msgid "Plot Offset Y" msgstr "Offset de tracé Y" +#: eeschema/plothpgl.cpp:372 +msgid "&Close" +msgstr "&Fermer" + #: eeschema/plothpgl.cpp:381 msgid "&Accept Offset" msgstr "&Accepter Offset" @@ -10444,6 +10404,7 @@ msgid "File <" msgstr "Fichier <" #: cvpcb/readschematicnetlist.cpp:115 +#: kicad/prjconfig.cpp:93 msgid "> not found" msgstr "> non trouvé" @@ -11009,25 +10970,24 @@ msgstr "Polygones:" msgid "Show D codes" msgstr "Montrer DCodes" -#: gerbview/readgerb.cpp:138 -#: gerbview/dcode.cpp:299 +#: gerbview/readgerb.cpp:137 msgid "File " msgstr "Fichier " -#: gerbview/readgerb.cpp:246 +#: gerbview/readgerb.cpp:245 #, c-format msgid "%d errors while reading Gerber file [%s]" msgstr "%d erreurs pendant lecture fichier gerber [%s]" -#: gerbview/readgerb.cpp:268 -#: gerbview/files.cpp:197 -#: gerbview/files.cpp:231 +#: gerbview/readgerb.cpp:267 +#: gerbview/files.cpp:183 +#: gerbview/files.cpp:216 #, c-format msgid "Gerber DCODE files (%s)|*.%s" msgstr "Fichiers Gerber DCODE (%s)|*.%s" -#: gerbview/readgerb.cpp:273 -#: gerbview/files.cpp:203 +#: gerbview/readgerb.cpp:272 +#: gerbview/files.cpp:189 msgid "Load GERBER DCODE File" msgstr "Charger Fichier de DCodes" @@ -11056,67 +11016,67 @@ msgstr "Effacer textes pcb" msgid "Delete layer %d?" msgstr "Effacer couche %d" -#: gerbview/files.cpp:81 +#: gerbview/files.cpp:72 msgid "Not yet available..." msgstr "non encore disponible" -#: gerbview/files.cpp:127 +#: gerbview/files.cpp:114 msgid "Gerber files (.gbr .gbx .lgr .ger .pho)| .gbr;*.GBR;*.gbx;*.GBX;*.lgr;*.LGR;*.ger;*.GER;*.pho;*.PHO|" msgstr "Fichiers Gerber (.gbr .gbx .lgr .ger .pho)| *.gbr;*.GBR;*.gbx;*.GBX;*.lgr;*.LGR;*.ger;*.GER;*.pho;*.PHO|" -#: gerbview/files.cpp:131 +#: gerbview/files.cpp:118 msgid "Top layer (*.GTL)|*.GTL;*.gtl|" msgstr "Couche composant" -#: gerbview/files.cpp:132 +#: gerbview/files.cpp:119 msgid "Bottom layer (*.GBL)|*.GBL;*.gbl|" msgstr "Couche cuivre" -#: gerbview/files.cpp:133 +#: gerbview/files.cpp:120 msgid "Bottom solder resist (*.GBS)|*.GBS;*.gbs|" msgstr "Masque soudure cuivre (*.GBS)|*.GBS;*.gbs|" -#: gerbview/files.cpp:134 +#: gerbview/files.cpp:121 msgid "Top solder resist (*.GTS)|*.GTS;*.gts|" msgstr "Masque soudure composant (*.GTS)|*.GTS;*.gts|" -#: gerbview/files.cpp:135 +#: gerbview/files.cpp:122 msgid "Bottom overlay (*.GBO)|*.GBO;*.gbo|" msgstr "" -#: gerbview/files.cpp:136 +#: gerbview/files.cpp:123 msgid "Top overlay (*.GTO)|*.GTO;*.gto|" msgstr "" -#: gerbview/files.cpp:137 +#: gerbview/files.cpp:124 msgid "Bottom paste (*.GBP)|*.GBP;*.gbp|" msgstr "Bottom paste (*.GBP)|*.GBP;*.gbp|" -#: gerbview/files.cpp:138 +#: gerbview/files.cpp:125 msgid "Top paste (*.GTP)|*.GTP;*.gtp|" msgstr "Masque pate à souder composant (*.GTP)|*.GTP;*.gtp|" -#: gerbview/files.cpp:139 +#: gerbview/files.cpp:126 msgid "Keep-out layer (*.GKO)|*.GKO;*.gko|" msgstr "" -#: gerbview/files.cpp:140 +#: gerbview/files.cpp:127 msgid "Mechanical layers (*.GMx)|*.GM1;*.gm1;*.GM2;*.gm2;*.GM3;*.gm3|" msgstr "Couches mécaniques (*.GMx)|*.GM1;*.gm1;*.GM2;*.gm2;*.GM3;*.gm3|" -#: gerbview/files.cpp:141 +#: gerbview/files.cpp:128 msgid "Top Pad Master (*.GPT)|*.GPT;*.gpt|" msgstr "" -#: gerbview/files.cpp:142 +#: gerbview/files.cpp:129 msgid "Bottom Pad Master (*.GPB)|*.GPB;*.gpb|" msgstr "" -#: gerbview/files.cpp:152 +#: gerbview/files.cpp:139 msgid "Open Gerber File" msgstr "Ouvrir Fichier Gerber" -#: gerbview/files.cpp:235 +#: gerbview/files.cpp:220 msgid "Save Gerber File" msgstr "Sauver Fichier Gerber" @@ -12158,10 +12118,6 @@ msgstr "Options de Nettoyage" msgid "TextMod properties" msgstr "Propriétés du Texte sur Module" -#: pcbnew/dialog_freeroute_exchange.h:46 -msgid "dialog_freeroute_exchange" -msgstr "dialog_freeroute_exchange" - #: pcbnew/dialog_initpcb.h:38 msgid "Global Delete" msgstr "Effacements Globaux" @@ -12567,6 +12523,35 @@ msgstr "DCodes id." msgid "Page Settings" msgstr "Ajustage opt Page" +#~ msgid "Export a Specctra Design (*.dsn) File" +#~ msgstr "Exporter un fichier de conception Specctra (*.dsn)" +#~ msgid "Export a Specctra DSN file (to FreeRouter)" +#~ msgstr "Exporter un fichier Specctra DSN (pour FreeRoute)" +#~ msgid "Launch FreeRouter via Java Web Start" +#~ msgstr "Lancer FreeRouter via Java Web Start" +#~ msgid "" +#~ "Use Java Web Start function to run FreeRouter via Internet (or your " +#~ "Browser if not found)" +#~ msgstr "" +#~ "Utiliser Java Web Start function pour lancer FreeRouter via Internet (ou " +#~ "votre Navigateur si non trouvé)" +#~ msgid "Back Import the Specctra Session (*.ses) File" +#~ msgstr "Importer un Fichier Specctra Session (*.ses)" +#~ msgid "Merge a session file created by FreeRouter with the current board." +#~ msgstr "" +#~ "Importer un fichier session créé par FreeRouter dans le C.I. courant." +#~ msgid "Visit FreeRouting.net website" +#~ msgstr "Visiter le site FreeRouting.net" +#~ msgid "Launch your browser and go to the FreeRouting.net website" +#~ msgstr "Lancer votre navigateur pour aller sur FreeRouting.net" +#~ msgid "FreeRouting.net URL" +#~ msgstr "URL FreeRouting.net" +#~ msgid "The URL of the FreeRouting.net website" +#~ msgstr "L' URL du site FreeRouting.net" +#~ msgid "Display Grid OFF" +#~ msgstr "Suppression de l'affichage de la grille" +#~ msgid "dialog_freeroute_exchange" +#~ msgstr "dialog_freeroute_exchange" #~ msgid "Drc OFF" #~ msgstr "Drc DESACTIVEE" #~ msgid "Show General Ratsnest" diff --git a/pcbnew/board_undo_redo.cpp b/pcbnew/board_undo_redo.cpp index fc7057fd6c..0df6a091f5 100644 --- a/pcbnew/board_undo_redo.cpp +++ b/pcbnew/board_undo_redo.cpp @@ -164,19 +164,28 @@ void SwapData( BOARD_ITEM* aItem, BOARD_ITEM* aImage ) case TYPE_TRACK: case TYPE_VIA: - EXCHG( ( (TRACK*) aItem )->m_Start, ( (TRACK*) aImage )->m_Start ); - EXCHG( ( (TRACK*) aItem )->m_End, ( (TRACK*) aImage )->m_End ); - EXCHG( ( (TRACK*) aItem )->m_Width, ( (TRACK*) aImage )->m_Width ); - EXCHG( ( (TRACK*) aItem )->m_Shape, ( (TRACK*) aImage )->m_Shape ); { - int itmp = ((TRACK*) aItem )->GetDrillValue(); - if( ((TRACK*) aItem )->IsDrillDefault() ) - itmp = -1; - int atmp = ((TRACK*) aImage )->GetDrillValue(); - if( ((TRACK*) aImage )->IsDrillDefault() ) + TRACK* track = (TRACK*) aItem; + TRACK* image = (TRACK*) aImage; + EXCHG( track->m_Start, image->m_Start ); + EXCHG( track->m_End, image->m_End ); + EXCHG( track->m_Width, image->m_Width ); + EXCHG( track->m_Shape, image->m_Shape ); + int atmp = track->GetDrillValue(); + if( track->IsDrillDefault() ) atmp = -1; - ( (TRACK*) aItem )->SetDrillValue( atmp ); - ( (TRACK*) aImage )->SetDrillValue(itmp); + int itmp = image->GetDrillValue(); + if( image->IsDrillDefault() ) + itmp = -1; + EXCHG(itmp, atmp ); + if( atmp > 0 ) + track->SetDrillValue( atmp ); + else + track->SetDrillDefault(); + if( itmp > 0 ) + image->SetDrillValue( itmp ); + else + image->SetDrillDefault(); } break; diff --git a/pcbnew/class_track.h b/pcbnew/class_track.h index bf941a1426..72af5a702a 100644 --- a/pcbnew/class_track.h +++ b/pcbnew/class_track.h @@ -181,7 +181,7 @@ public: * Function IsDrillDefault * @return true if the drill value is default value (-1) */ - bool IsDrillDefault(void) { return m_Drill < 0; } + bool IsDrillDefault(void) { return m_Drill <= 0; } /** * Function GetDrillValue