From 9df7292af65f681ea764f7180b2229d512ca3fd1 Mon Sep 17 00:00:00 2001 From: jean-pierre charras Date: Wed, 28 Nov 2012 19:04:57 +0100 Subject: [PATCH] Pcbvew: fix a strange bug which swap x and y values for pad offsets when reading a s expr *.kicad_pcb board file. --- pcbnew/edit_pcb_text.cpp | 7 +++++-- pcbnew/pcb_parser.cpp | 5 +++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/pcbnew/edit_pcb_text.cpp b/pcbnew/edit_pcb_text.cpp index a22bec9a8c..0e88051fb6 100644 --- a/pcbnew/edit_pcb_text.cpp +++ b/pcbnew/edit_pcb_text.cpp @@ -205,8 +205,11 @@ TEXTE_PCB* PCB_EDIT_FRAME::CreateTextePcb( wxDC* aDC, TEXTE_PCB* aText ) int layer = ( (PCB_SCREEN*) GetScreen() )->m_Active_Layer; textePcb->SetLayer( layer ); - if( layer == LAYER_N_BACK - || layer == SILKSCREEN_N_BACK ) + // Set the mirrored option for layers on the BACK side of the board + if( layer == LAYER_N_BACK || layer == SILKSCREEN_N_BACK || + layer == SOLDERPASTE_N_BACK || layer == SOLDERMASK_N_FRONT || + layer == ADHESIVE_N_BACK + ) textePcb->SetMirrored( true ); textePcb->SetSize( GetBoard()->GetDesignSettings().m_PcbTextSize ); diff --git a/pcbnew/pcb_parser.cpp b/pcbnew/pcb_parser.cpp index 1a91537c62..8c5b4cd6e5 100644 --- a/pcbnew/pcb_parser.cpp +++ b/pcbnew/pcb_parser.cpp @@ -2117,8 +2117,9 @@ D_PAD* PCB_PARSER::parseD_PAD() throw( IO_ERROR, PARSE_ERROR ) } case T_offset: - pad->SetOffset( wxPoint( parseBoardUnits( "drill offset x" ), - parseBoardUnits( "drill offset y" ) ) ); + pt.x = parseBoardUnits( "drill offset x" ); + pt.y = parseBoardUnits( "drill offset y" ); + pad->SetOffset( pt ); NeedRIGHT(); break;