eeschema: fix memory leakage.

Pcbnew: fix a minor issue.
Version update.
This commit is contained in:
jean-pierre charras 2011-06-09 15:30:46 +02:00
parent f53e8971b4
commit 95388c6ec4
10 changed files with 105 additions and 94 deletions

View File

@ -57,7 +57,6 @@ set(COMMON_SRCS
msgpanel.cpp msgpanel.cpp
netlist_keywords.cpp netlist_keywords.cpp
newstroke_font.cpp newstroke_font.cpp
../pcbnew/class_drc_item.cpp
projet_config.cpp projet_config.cpp
richio.cpp richio.cpp
selcolor.cpp selcolor.cpp

View File

@ -6,7 +6,7 @@
#endif #endif
#ifndef KICAD_BUILD_VERSION #ifndef KICAD_BUILD_VERSION
#define KICAD_BUILD_VERSION "(2011-05-31)" #define KICAD_BUILD_VERSION "(2011-06-08)"
#endif #endif

View File

@ -1,79 +1,77 @@
update=18/4/2006-09:31:05 update=09/06/2011 08:34:19
last_client=pcbnew last_client=cvpcb
[general] [general]
version=1 version=1
RootSch=pic_programmer.sch RootSch=pic_programmer.sch
BoardNm=pic_programmer.brd BoardNm=pic_programmer.brd
[cvpcb] [common]
version=1 NetDir=
NetITyp=0 [pcbnew]
NetIExt=.net version=1
PkgIExt=.pkg PadDril=400
NetType=0 PadDimH=700
[cvpcb/libraries] PadDimV=700
EquName1=devcms PadForm=1
[common] PadMask=14745599
NetDir= ViaDiam=650
[pcbnew] ViaDril=250
version=1 Isol=100
PadDril=400 Countlayer=2
PadDimH=700 Lpiste=250
PadDimV=700 RouteTo=15
PadForm=1 RouteBo=0
PadMask=14745599 TypeVia=3
ViaDiam=650 Segm45=1
ViaDril=250 Racc45=1
Isol=100 Unite=0
Countlayer=2 SegFill=1
Lpiste=250 SegAffG=0
RouteTo=15 NewAffG=1
RouteBo=0 PadFill=1
TypeVia=3 PadAffG=1
Segm45=1 PadSNum=1
Racc45=1 ModAffC=1
Unite=0 ModAffT=1
SegFill=1 PcbAffT=1
SegAffG=0 SgPcb45=1
NewAffG=1 TxtPcbV=800
PadFill=1 TxtPcbH=600
PadAffG=1 TxtModV=600
PadSNum=1 TxtModH=600
ModAffC=1 TxtModW=120
ModAffT=1 HPGLnum=1
PcbAffT=1 HPGdiam=15
SgPcb45=1 HPGLSpd=20
TxtPcbV=800 HPGLrec=2
TxtPcbH=600 HPGLorg=0
TxtModV=600 GERBmin=15
TxtModH=600 VEgarde=100
TxtModW=120 DrawLar=150
HPGLnum=1 EdgeLar=150
HPGdiam=15 TxtLar=120
HPGLSpd=20 MSegLar=150
HPGLrec=2 ForPlot=1
HPGLorg=0 WpenSer=10
GERBmin=15 UserGrX=0,01
VEgarde=100 UserGrY=0,01
DrawLar=150 UserGrU=1
EdgeLar=150 DivGrPc=1
TxtLar=120 TimeOut=600
MSegLar=150 MaxLnkS=3
ForPlot=1 ShowRat=0
WpenSer=10 ShowMRa=1
UserGrX=0,01 [pcbnew/libraries]
UserGrY=0,01 LibName1=dip_sockets
UserGrU=1 LibName2=sockets
DivGrPc=1 LibName3=connect
TimeOut=600 LibName4=discret
MaxLnkS=3 LibName5=pin_array
ShowRat=0 LibName6=divers
ShowMRa=1 LibName7=libcms
[pcbnew/libraries] LibName8=display
LibDir= LibDir=
LibName1=supports [cvpcb]
LibName2=connect version=1
LibName3=discret NetIExt=net
LibName4=pin_array [cvpcb/libraries]
LibName5=divers EquName1=devcms
LibName6=libcms
LibName7=display

View File

@ -304,7 +304,7 @@ bool SCH_SHEET_PIN::Load( LINE_READER& aLine, wxString& aErrorMsg )
static const char delims[] = " \t"; static const char delims[] = " \t";
// Read coordinates. // Read coordinates.
D( printf( "line: \"%s\"\n", line );) // D( printf( "line: \"%s\"\n", line );)
cp = strtok( line, delims ); cp = strtok( line, delims );

View File

@ -352,12 +352,12 @@ void SCH_EDIT_FRAME::CreateScreens()
void SCH_EDIT_FRAME::SetUndoItem( const SCH_ITEM* aItem ) void SCH_EDIT_FRAME::SetUndoItem( const SCH_ITEM* aItem )
{ {
if( (aItem != NULL) && (m_undoItem != NULL) ) if( m_undoItem != NULL )
{ {
delete m_undoItem; delete m_undoItem;
m_undoItem = NULL;
} }
m_undoItem = NULL;
if( aItem ) if( aItem )
m_undoItem = aItem->Clone(); m_undoItem = aItem->Clone();
@ -366,13 +366,16 @@ void SCH_EDIT_FRAME::SetUndoItem( const SCH_ITEM* aItem )
void SCH_EDIT_FRAME::SaveUndoItemInUndoList( SCH_ITEM* aItem ) void SCH_EDIT_FRAME::SaveUndoItemInUndoList( SCH_ITEM* aItem )
{ {
wxCHECK_RET( aItem != NULL && m_undoItem != NULL && (aItem->Type() == m_undoItem->Type() ), wxCHECK_RET( aItem != NULL,
wxT( "Cannot swap undo item structures. Bad programmer!." ) );
wxCHECK_RET( m_undoItem != NULL,
wxT( "Cannot swap undo item structures. Bad programmer!." ) );
wxCHECK_RET( aItem->Type() == m_undoItem->Type(),
wxT( "Cannot swap undo item structures. Bad programmer!." ) ); wxT( "Cannot swap undo item structures. Bad programmer!." ) );
aItem->SwapData( m_undoItem ); aItem->SwapData( m_undoItem );
SaveCopyInUndoList( aItem, UR_CHANGED ); SaveCopyInUndoList( aItem, UR_CHANGED );
aItem->SwapData( m_undoItem ); aItem->SwapData( m_undoItem );
m_undoItem = NULL;
} }

View File

@ -91,7 +91,7 @@ public:
/** /**
* Function SwapDate * Function SwapDate
* swap the internal data structures \a aItem with the schematic item. * swap the internal data structures \a aItem with the schematic item.
* * Obviously, aItem must have the same type than me
* @param aItem The item to swap the data structures with. * @param aItem The item to swap the data structures with.
*/ */
virtual void SwapData( SCH_ITEM* aItem ); virtual void SwapData( SCH_ITEM* aItem );

View File

@ -17,7 +17,7 @@
; General Product Description Definitions ; General Product Description Definitions
!define PRODUCT_NAME "KiCad" !define PRODUCT_NAME "KiCad"
!define PRODUCT_VERSION "2011.05.31" !define PRODUCT_VERSION "2011.06.08"
!define PRODUCT_WEB_SITE "http://iut-tice.ujf-grenoble.fr/kicad/" !define PRODUCT_WEB_SITE "http://iut-tice.ujf-grenoble.fr/kicad/"
!define SOURCEFORGE_WEB_SITE "http://kicad.sourceforge.net/" !define SOURCEFORGE_WEB_SITE "http://kicad.sourceforge.net/"
!define COMPANY_NAME "" !define COMPANY_NAME ""

View File

@ -237,6 +237,7 @@ private:
*/ */
MARKER_PCB* fillMarker( int aErrorCode, const wxString& aMessage, MARKER_PCB* fillMe ); MARKER_PCB* fillMarker( int aErrorCode, const wxString& aMessage, MARKER_PCB* fillMe );
//-----<categorical group tests>----------------------------------------- //-----<categorical group tests>-----------------------------------------
/** /**
@ -447,6 +448,15 @@ public:
* dialog, and optionally prints a report of such. * dialog, and optionally prints a report of such.
*/ */
void ListUnconnectedPads(); void ListUnconnectedPads();
/**
* @return a pointer to the current marker (last created marker
*/
MARKER_PCB* GetCurrentMarker( )
{
return m_currentMarker;
}
}; };

View File

@ -207,10 +207,11 @@ bool PCB_EDIT_FRAME::Other_Layer_Route( TRACK* aTrack, wxDC* DC )
Delete_Segment( DC, g_CurrentTrackSegment ); Delete_Segment( DC, g_CurrentTrackSegment );
} }
// use the form of SetCurItem() which does not write to the msg panel, SetCurItem( g_CurrentTrackSegment, false );
// SCREEN::SetCurItem(), so the DRC error remains on screen.
// PCB_EDIT_FRAME::SetCurItem() calls DisplayInfo(). // Refresh DRC diag, erased by previous calls
GetScreen()->SetCurItem( g_CurrentTrackSegment ); if( m_drc->GetCurrentMarker() )
m_drc->GetCurrentMarker()->DisplayInfo( this );
return false; return false;
} }

View File

@ -1,4 +1,4 @@
release version: release version:
2011 may 31 2011 june 08
files (.zip,.tgz): files (.zip,.tgz):
kicad-2011-05-31 kicad-2011-06-08