X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3b2fb7a165afff85ee2fdf65c4df4cc84fd343af..07890fbeb5e65f242e8632ed957c54e188779af2:/src/generic/progdlgg.cpp?ds=sidebyside

diff --git a/src/generic/progdlgg.cpp b/src/generic/progdlgg.cpp
index 68b58cada4..77af0c76aa 100644
--- a/src/generic/progdlgg.cpp
+++ b/src/generic/progdlgg.cpp
@@ -522,6 +522,22 @@ wxString wxProgressDialog::GetMessage() const
     return m_msg->GetLabel();
 }
 
+void wxProgressDialog::SetRange(int maximum)
+{
+    wxASSERT_MSG(m_gauge, "The dialog should have been constructed with a range > 0");
+    wxASSERT_MSG(maximum > 0, "Invalid range");
+
+    m_gauge->SetRange(maximum);
+    m_maximum = maximum;
+
+#if defined(__WXMSW__) || defined(__WXPM__)
+    // we can't have values > 65,536 in the progress control under Windows, so
+    // scale everything down
+    m_factor = m_maximum / 65536 + 1;
+    m_maximum /= m_factor;
+#endif // __WXMSW__
+}
+
 // ----------------------------------------------------------------------------
 // event handlers
 // ----------------------------------------------------------------------------