Added clearAll and clearSingle methods to FTProgress class.
Code improvements.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@380 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/rfb_win32/ProgressControl.cxx b/rfb_win32/ProgressControl.cxx
index 1beced0..85bd15f 100644
--- a/rfb_win32/ProgressControl.cxx
+++ b/rfb_win32/ProgressControl.cxx
@@ -31,6 +31,9 @@
ProgressControl::ProgressControl(HWND hwndProgress)
{
m_hwndProgress = hwndProgress;
+
+ m_dw64MaxValue = 0;
+ m_dw64CurrentValue = 0;
}
ProgressControl::~ProgressControl()
@@ -72,7 +75,12 @@
bool
ProgressControl::show()
{
- DWORD curPos = (DWORD) ((m_dw64CurrentValue * MAX_RANGE) / m_dw64MaxValue);
+ DWORD curPos;
+ if (m_dw64MaxValue != 0) {
+ curPos = (DWORD) ((m_dw64CurrentValue * MAX_RANGE) / m_dw64MaxValue);
+ } else {
+ curPos = 0;
+ }
if (!SendMessage(m_hwndProgress, PBM_SETPOS, (WPARAM) curPos, (LPARAM) 0))
return false;
@@ -83,5 +91,7 @@
int
ProgressControl::getCurrentPercent()
{
+ if (m_dw64MaxValue == 0) return 0;
+
return ((int) ((m_dw64CurrentValue * 100) / m_dw64MaxValue));
}
\ No newline at end of file