diff -Nru kicad-201907231006+30c724e~100~ubuntu18.10.1/debian/changelog kicad-201907241005+3514473~100~ubuntu18.10.1/debian/changelog --- kicad-201907231006+30c724e~100~ubuntu18.10.1/debian/changelog 2019-07-23 10:06:33.000000000 +0000 +++ kicad-201907241005+3514473~100~ubuntu18.10.1/debian/changelog 2019-07-24 10:05:57.000000000 +0000 @@ -1,8 +1,8 @@ -kicad (201907231006+30c724e~100~ubuntu18.10.1) cosmic; urgency=low +kicad (201907241005+3514473~100~ubuntu18.10.1) cosmic; urgency=low * Auto build. - -- js-reynaud Tue, 23 Jul 2019 10:06:33 +0000 + -- js-reynaud Wed, 24 Jul 2019 10:05:57 +0000 kicad (3.9.9-16) unstable; urgency=medium diff -Nru kicad-201907231006+30c724e~100~ubuntu18.10.1/debian/git-build-recipe.manifest kicad-201907241005+3514473~100~ubuntu18.10.1/debian/git-build-recipe.manifest --- kicad-201907231006+30c724e~100~ubuntu18.10.1/debian/git-build-recipe.manifest 2019-07-23 10:06:33.000000000 +0000 +++ kicad-201907241005+3514473~100~ubuntu18.10.1/debian/git-build-recipe.manifest 2019-07-24 10:05:57.000000000 +0000 @@ -1,3 +1,3 @@ -# git-build-recipe format 0.4 deb-version 201907231006+30c724e~100 +# git-build-recipe format 0.4 deb-version 201907241005+3514473~100 lp:~js-reynaud/+git/kicad-daily-pkg git-commit:f724c0caca52e1df9ded6144741feea6db91e6aa -nest kicad lp:kicad kicad git-commit:30c724e858bfc2f37bc1adaf1696afb70dda3ba4 +nest kicad lp:kicad kicad git-commit:3514473a5af62c249b9cd02b4c2c7d6e473c5c3d diff -Nru kicad-201907231006+30c724e~100~ubuntu18.10.1/kicad/common/wildcards_and_files_ext.cpp kicad-201907241005+3514473~100~ubuntu18.10.1/kicad/common/wildcards_and_files_ext.cpp --- kicad-201907231006+30c724e~100~ubuntu18.10.1/kicad/common/wildcards_and_files_ext.cpp 2019-07-23 10:06:32.000000000 +0000 +++ kicad-201907241005+3514473~100~ubuntu18.10.1/kicad/common/wildcards_and_files_ext.cpp 2019-07-24 10:05:56.000000000 +0000 @@ -91,7 +91,6 @@ const std::string SchematicSymbolFileExtension( "sym" ); const std::string SchematicLibraryFileExtension( "lib" ); -const std::string SchematicBackupFileExtension( "bak" ); const std::string VrmlFileExtension( "wrl" ); diff -Nru kicad-201907231006+30c724e~100~ubuntu18.10.1/kicad/eeschema/files-io.cpp kicad-201907241005+3514473~100~ubuntu18.10.1/kicad/eeschema/files-io.cpp --- kicad-201907231006+30c724e~100~ubuntu18.10.1/kicad/eeschema/files-io.cpp 2019-07-23 10:06:32.000000000 +0000 +++ kicad-201907241005+3514473~100~ubuntu18.10.1/kicad/eeschema/files-io.cpp 2019-07-24 10:05:56.000000000 +0000 @@ -92,8 +92,8 @@ { wxFileName backupFileName = schematicFileName; - // Rename the old file to a '.bak' one: - backupFileName.SetExt( SchematicBackupFileExtension ); + // Rename the old file to a '-bak' suffixed one: + backupFileName.SetExt( schematicFileName.GetExt() + GetBackupSuffix() ); if( backupFileName.FileExists() ) wxRemoveFile( backupFileName.GetFullPath() ); diff -Nru kicad-201907231006+30c724e~100~ubuntu18.10.1/kicad/kicad/dialogs/dialog_template_selector_base.cpp kicad-201907241005+3514473~100~ubuntu18.10.1/kicad/kicad/dialogs/dialog_template_selector_base.cpp --- kicad-201907231006+30c724e~100~ubuntu18.10.1/kicad/kicad/dialogs/dialog_template_selector_base.cpp 2019-07-23 10:06:32.000000000 +0000 +++ kicad-201907241005+3514473~100~ubuntu18.10.1/kicad/kicad/dialogs/dialog_template_selector_base.cpp 2019-07-24 10:05:56.000000000 +0000 @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 1 2018) +// C++ code generated with wxFormBuilder (version Apr 23 2019) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -102,7 +102,7 @@ TEMPLATE_WIDGET_BASE::TEMPLATE_WIDGET_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxPanel( parent, id, pos, size, style, name ) { - this->SetMinSize( wxSize( 74,-1 ) ); + this->SetMinSize( wxSize( 74,150 ) ); this->SetMaxSize( wxSize( 74,-1 ) ); wxBoxSizer* bSizer4; diff -Nru kicad-201907231006+30c724e~100~ubuntu18.10.1/kicad/kicad/dialogs/dialog_template_selector_base.fbp kicad-201907241005+3514473~100~ubuntu18.10.1/kicad/kicad/dialogs/dialog_template_selector_base.fbp --- kicad-201907231006+30c724e~100~ubuntu18.10.1/kicad/kicad/dialogs/dialog_template_selector_base.fbp 2019-07-23 10:06:32.000000000 +0000 +++ kicad-201907241005+3514473~100~ubuntu18.10.1/kicad/kicad/dialogs/dialog_template_selector_base.fbp 2019-07-24 10:05:56.000000000 +0000 @@ -14,6 +14,7 @@ dialog_template_selector_base 1000 none + 1 DIALOG_TEMPLATE_SELECTOR_BASE @@ -25,6 +26,7 @@ 1 1 UI + 0 0 0 @@ -644,7 +646,7 @@ 0 wxID_ANY 74,-1 - 74,-1 + 74,150 TEMPLATE_WIDGET_BASE 74,118 diff -Nru kicad-201907231006+30c724e~100~ubuntu18.10.1/kicad/kicad/dialogs/dialog_template_selector_base.h kicad-201907241005+3514473~100~ubuntu18.10.1/kicad/kicad/dialogs/dialog_template_selector_base.h --- kicad-201907231006+30c724e~100~ubuntu18.10.1/kicad/kicad/dialogs/dialog_template_selector_base.h 2019-07-23 10:06:32.000000000 +0000 +++ kicad-201907241005+3514473~100~ubuntu18.10.1/kicad/kicad/dialogs/dialog_template_selector_base.h 2019-07-24 10:05:56.000000000 +0000 @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 1 2018) +// C++ code generated with wxFormBuilder (version Apr 23 2019) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! diff -Nru kicad-201907231006+30c724e~100~ubuntu18.10.1/kicad/kicad/project_template.cpp kicad-201907241005+3514473~100~ubuntu18.10.1/kicad/kicad/project_template.cpp --- kicad-201907231006+30c724e~100~ubuntu18.10.1/kicad/kicad/project_template.cpp 2019-07-23 10:06:32.000000000 +0000 +++ kicad-201907241005+3514473~100~ubuntu18.10.1/kicad/kicad/project_template.cpp 2019-07-24 10:05:56.000000000 +0000 @@ -253,27 +253,25 @@ while( input.IsOk() && !input.Eof() && !done ) { wxString line = text.ReadLine(); + wxString upperline = line.Clone().Upper(); - start = line.Find( wxT( "" ) ); - if( start == wxNOT_FOUND ) - start = line.Find( wxT( "<TITLE>" ) ); - - finish = line.Find( wxT( "" ) ); - if( finish == wxNOT_FOUND ) - finish = line.Find( wxT( "" ) ); + start = upperline.Find( wxT( "" ) ); + finish = upperline.Find( wxT( "" ) ); + int length = finish - start - 7; // find the opening tag if( start != wxNOT_FOUND ) { if( finish != wxNOT_FOUND ) { - title = line.SubString( start + 7, finish ); + title = line( start + 7, length ); } else { - title = line.SubString( start + 7, line.Len() - 1 ); - done = true; + title = line.Mid( start + 7 ); } + + done = true; } else { @@ -282,15 +280,11 @@ title += line.SubString( 0, finish ); done = true; } - else - { - title += line; - } } // Remove line endings - title.Replace( wxT( "\r" ), wxT( "" ) ); - title.Replace( wxT( "\n" ), wxT( "" ) ); + title.Replace( wxT( "\r" ), wxT( " " ) ); + title.Replace( wxT( "\n" ), wxT( " " ) ); } } diff -Nru kicad-201907231006+30c724e~100~ubuntu18.10.1/kicad/pcbnew/zone_filler.cpp kicad-201907241005+3514473~100~ubuntu18.10.1/kicad/pcbnew/zone_filler.cpp --- kicad-201907231006+30c724e~100~ubuntu18.10.1/kicad/pcbnew/zone_filler.cpp 2019-07-23 10:06:32.000000000 +0000 +++ kicad-201907241005+3514473~100~ubuntu18.10.1/kicad/pcbnew/zone_filler.cpp 2019-07-24 10:05:56.000000000 +0000 @@ -760,6 +760,9 @@ } } + // Ensure previous changes (adding thermal stubs) do not add + // filled areas outside the zone boundary + aRawPolys.BooleanIntersection( aSmoothedOutline, SHAPE_POLY_SET::PM_FAST ); aRawPolys.Simplify( SHAPE_POLY_SET::PM_FAST ); if( s_DumpZonesWhenFilling ) @@ -793,7 +796,7 @@ // If we've deflated/inflated by something near our corner radius then we will have // ended up with too-sharp corners. Apply outline smoothing again. - if( aZone->GetMinThickness() > aZone->GetCornerRadius() ) + if( aZone->GetMinThickness() > (int)aZone->GetCornerRadius() ) aRawPolys.BooleanIntersection( aSmoothedOutline, SHAPE_POLY_SET::PM_FAST ); } @@ -901,7 +904,14 @@ int thermalReliefGap = aZone->GetThermalReliefGap( pad ); // Calculate thermal bridge half width - int spoke_half_w = aZone->GetThermalReliefCopperBridge( pad ) / 2; + int spoke_w = aZone->GetThermalReliefCopperBridge( pad ); + // Avoid spoke_w bigger than the smaller pad size, because + // it is not possible to create stubs bigger than the pad. + // Possible refinement: have a separate size for vertical and horizontal stubs + spoke_w = std::min( spoke_w, pad->GetSize().x ); + spoke_w = std::min( spoke_w, pad->GetSize().y ); + + int spoke_half_w = spoke_w / 2; // Quick test here to possibly save us some work BOX2I itemBB = pad->GetBoundingBox();