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 #include #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--; }