diff --git a/src/generic/progdlgg.cpp b/src/generic/progdlgg.cpp index 7b96482cd2..0633b59e44 100644 --- a/src/generic/progdlgg.cpp +++ b/src/generic/progdlgg.cpp @@ -313,9 +313,11 @@ wxProgressDialog::Update(int value, const wxString& newmsg) wxASSERT_MSG( value <= m_maximum, wxT("invalid progress value") ); - if ( m_gauge && value < m_maximum ) + // fill up the gauge if value == maximum because this means that the dialog + // is going to close and the gauge shouldn't be partly empty in this case + if ( m_gauge && value <= m_maximum ) { - m_gauge->SetValue(value + 1); + m_gauge->SetValue(value == maximum ? value : value + 1); } if ( !newmsg.IsEmpty() )