diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 80ce2eeeb9..51de97f5e3 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -5,6 +5,18 @@ Started 2007-June-11 Please add newer entries at the top, list the date and your name with email address. +2009-Feb-24 UPDATE Jean-Pierre Charras +================================================================================ +++pcbnew: + bug fix: + 2628615 Error message after right click into zone + 2625434 Crash after trying to edit a line/drawing + +++cvpcb + fix: 2625090 CVpcb - language selection + + + 2009-Feb-17 UPDATE Jean-Pierre Charras ================================================================================ ++gr_basic.cpp diff --git a/cvpcb/cvframe.cpp b/cvpcb/cvframe.cpp index cc48ac2903..991f69bb3c 100644 --- a/cvpcb/cvframe.cpp +++ b/cvpcb/cvframe.cpp @@ -488,6 +488,8 @@ void WinEDA_CvpcbFrame::SetLanguage( wxCommandEvent& event ) wxGetApp().SetLanguageIdentifier( id ); wxGetApp().SetLanguage(); + ReCreateMenuBar(); + Refresh(); } diff --git a/include/build_version.h b/include/build_version.h index a2d4d2bb4a..d306ab4464 100644 --- a/include/build_version.h +++ b/include/build_version.h @@ -3,13 +3,15 @@ #ifndef KICAD_BUILD_VERSION #define KICAD_BUILD_VERSION +#define BUILD_VERSION wxT("(20090216-RC3)") + COMMON_GLOBL wxString g_BuildVersion #ifdef EDA_BASE # ifdef HAVE_SVN_VERSION # include "config.h" (wxT(KICAD_SVN_VERSION)) # else - (wxT("(20090216-RC2)")) /* main program version */ + (BUILD_VERSION) /* main program version */ # endif #endif ; @@ -20,7 +22,7 @@ COMMON_GLOBL wxString g_BuildAboutVersion # include "config.h" (wxT(KICAD_ABOUT_VERSION)) # else - (wxT("(20090216-RC2)")) /* svn date & rev (normally overridden) */ + (BUILD_VERSION) /* svn date & rev (normally overridden) */ # endif #endif ; diff --git a/pcbnew/dialog_graphic_item_properties.cpp b/pcbnew/dialog_graphic_item_properties.cpp index 112299549f..de114908fa 100644 --- a/pcbnew/dialog_graphic_item_properties.cpp +++ b/pcbnew/dialog_graphic_item_properties.cpp @@ -13,6 +13,7 @@ #include "fctsys.h" #include "macros.h" #include "common.h" +#include "confirm.h" #include "class_drawpanel.h" #include "pcbnew.h" @@ -51,6 +52,11 @@ DialogGraphicItemProperties::DialogGraphicItemProperties( WinEDA_BasePcbFrame* a void WinEDA_BasePcbFrame::InstallGraphicItemPropertiesDialog(DRAWSEGMENT * aItem, wxDC* aDC) /*******************************************************************************************/ { + if ( aItem == NULL ) + { + DisplayError(this, wxT("nstallGraphicItemPropertiesDialog() error: NULL item")); + return; + } DrawPanel->m_IgnoreMouseEvents = TRUE; DialogGraphicItemProperties* dialog = new DialogGraphicItemProperties( this, aItem, aDC ); diff --git a/pcbnew/edit.cpp b/pcbnew/edit.cpp index 1fd336ba05..3532ae284b 100644 --- a/pcbnew/edit.cpp +++ b/pcbnew/edit.cpp @@ -135,6 +135,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_POPUP_PCB_VIA_HOLE_EXPORT: case ID_POPUP_PCB_VIA_HOLE_RESET_TO_DEFAULT: case ID_POPUP_PCB_VIA_HOLE_EXPORT_TO_OTHERS: + case ID_POPUP_PCB_EDIT_DRAWING: break; case ID_POPUP_CANCEL_CURRENT_COMMAND: @@ -574,13 +575,13 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event ) break; case ID_POPUP_PCB_REMOVE_FILLED_AREAS_IN_ALL_ZONES: // Remove all zones : - GetBoard()->m_Zone.DeleteAll(); + GetBoard()->m_Zone.DeleteAll(); // remove zone segments used to fill zones. for( int ii = 0; ii < GetBoard()->GetAreaCount(); ii++ ) - { + { // Remove filled aresa in zone ZONE_CONTAINER* zone_container = GetBoard()->GetArea( ii ); zone_container->m_FilledPolysList.clear();; } - + SetCurItem(NULL); // CurItem might be deleted by this command, clear the pointer test_connexions( NULL ); Tst_Ratsnest( NULL, 0 ); // Recalculate the active ratsnest, i.e. the unconnected links */ GetScreen()->SetModify(); diff --git a/pcbnew/zones_by_polygon.cpp b/pcbnew/zones_by_polygon.cpp index e6b10206f3..4605dd38cc 100644 --- a/pcbnew/zones_by_polygon.cpp +++ b/pcbnew/zones_by_polygon.cpp @@ -127,7 +127,10 @@ void WinEDA_PcbFrame::Delete_Zone_Fill( wxDC* DC, SEGZONE* aZone, long aTimestam { ZONE_CONTAINER* zone = GetBoard()->GetArea( ii ); if( zone->m_TimeStamp == TimeStamp ) + { + modify = TRUE; zone->m_FilledPolysList.clear(); + } } if( modify )