From f46200a3b630b460e7555b3ee67eb17e7df84e48 Mon Sep 17 00:00:00 2001
From: Rodrigo Braz Monteiro <zeratul@cellosoft.com>
Date: Wed, 29 Oct 2008 00:18:13 +0000
Subject: [PATCH] A few more tweaks to progress dialog.

Originally committed to SVN as r2429.
---
 aegisub/audio_provider_hd.cpp  | 4 +++-
 aegisub/audio_provider_ram.cpp | 4 +++-
 aegisub/dialog_progress.cpp    | 5 +++--
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/aegisub/audio_provider_hd.cpp b/aegisub/audio_provider_hd.cpp
index d79c42534..10ea95ed6 100644
--- a/aegisub/audio_provider_hd.cpp
+++ b/aegisub/audio_provider_hd.cpp
@@ -44,6 +44,8 @@
 #include "standard_paths.h"
 #include "options.h"
 #include "utils.h"
+#include "frame_main.h"
+#include "main.h"
 
 
 ///////////////
@@ -72,7 +74,7 @@ HDAudioProvider::HDAudioProvider(AudioProvider *source) {
 
 	// Start progress
 	volatile bool canceled = false;
-	DialogProgress *progress = new DialogProgress(NULL,_T("Load audio"),&canceled,_T("Reading to Hard Disk cache"),0,num_samples);
+	DialogProgress *progress = new DialogProgress(AegisubApp::Get()->frame,_T("Load audio"),&canceled,_T("Reading to Hard Disk cache"),0,num_samples);
 	progress->Show();
 
 	// Write to disk
diff --git a/aegisub/audio_provider_ram.cpp b/aegisub/audio_provider_ram.cpp
index 0e5550f7c..6a960db9b 100644
--- a/aegisub/audio_provider_ram.cpp
+++ b/aegisub/audio_provider_ram.cpp
@@ -39,6 +39,8 @@
 #include "dialog_progress.h"
 #include "audio_provider_ram.h"
 #include "utils.h"
+#include "frame_main.h"
+#include "main.h"
 
 
 ///////////
@@ -82,7 +84,7 @@ RAMAudioProvider::RAMAudioProvider(AudioProvider *source) {
 
 	// Start progress
 	volatile bool canceled = false;
-	DialogProgress *progress = new DialogProgress(NULL,_("Load audio"),&canceled,_("Reading into RAM"),0,source->GetNumSamples());
+	DialogProgress *progress = new DialogProgress(AegisubApp::Get()->frame,_("Load audio"),&canceled,_("Reading into RAM"),0,source->GetNumSamples());
 	progress->Show();
 	progress->SetProgress(0,1);
 
diff --git a/aegisub/dialog_progress.cpp b/aegisub/dialog_progress.cpp
index 00ddcdeef..4bde8fb3f 100644
--- a/aegisub/dialog_progress.cpp
+++ b/aegisub/dialog_progress.cpp
@@ -39,6 +39,7 @@
 #include <wx/button.h>
 #include <wx/sizer.h>
 #include "dialog_progress.h"
+#include "utils.h"
 
 
 DEFINE_EVENT_TYPE(wxEVT_PROGRESS_UPDATE)
@@ -82,7 +83,7 @@ void DialogProgress::SetProgress(int cur,int max) {
 
 	// Check if it's the main thread, if so, just process it now
 	if (wxIsMainThread()) {
-		gauge->SetValue(value);
+		gauge->SetValue(MID(0,value,100));
 		wxYield();
 		return;
 	}
@@ -105,7 +106,7 @@ void DialogProgress::SetProgress(int cur,int max) {
 void DialogProgress::OnUpdateProgress(wxCommandEvent &event)
 {
 	int value = event.GetInt();
-	if (gauge->GetValue() != value) gauge->SetValue(value);
+	if (gauge->GetValue() != value) gauge->SetValue(MID(0,value,100));
 	wxMutexLocker locker(mutex);
 	count--;
 }
-- 
GitLab