diff --git a/pcbnew/connectivity/connectivity_algo.cpp b/pcbnew/connectivity/connectivity_algo.cpp index c32758ab1e..60987d503d 100644 --- a/pcbnew/connectivity/connectivity_algo.cpp +++ b/pcbnew/connectivity/connectivity_algo.cpp @@ -431,7 +431,7 @@ void reportProgress( PROGRESS_REPORTER* aReporter, int aCount, int aSize, int aD void CN_CONNECTIVITY_ALGO::Build( BOARD* aBoard, PROGRESS_REPORTER* aReporter ) { - int delta = 100; // Number of additions between 2 calls to the progress bar + int delta = 200; // Number of additions between 2 calls to the progress bar int ii = 0; int size = 0; @@ -443,7 +443,7 @@ void CN_CONNECTIVITY_ALGO::Build( BOARD* aBoard, PROGRESS_REPORTER* aReporter ) size *= 2; // Our caller us gets the other half of the progress bar - delta = std::max( delta, size / 50 ); + delta = std::max( delta, size / 10 ); for( ZONE* zone : aBoard->Zones() ) { diff --git a/pcbnew/connectivity/connectivity_data.cpp b/pcbnew/connectivity/connectivity_data.cpp index 85dd2ab1fd..53ee26732c 100644 --- a/pcbnew/connectivity/connectivity_data.cpp +++ b/pcbnew/connectivity/connectivity_data.cpp @@ -36,6 +36,7 @@ #include #include +#include #include CONNECTIVITY_DATA::CONNECTIVITY_DATA() @@ -99,7 +100,19 @@ void CONNECTIVITY_DATA::Build( BOARD* aBoard, PROGRESS_REPORTER* aReporter ) if( net->GetNetClass()->GetName() != NETCLASS::Default ) m_netclassMap[ net->GetNetCode() ] = net->GetNetClass()->GetName(); + if( aReporter ) + { + aReporter->SetCurrentProgress( 0.75 ); + aReporter->KeepRefreshing( false ); + } + RecalculateRatsnest(); + + if( aReporter ) + { + aReporter->SetCurrentProgress( 1.0 ); + aReporter->KeepRefreshing( false ); + } }