diff --git a/rpcs3/Emu/RSX/Overlays/overlays.cpp b/rpcs3/Emu/RSX/Overlays/overlays.cpp index e46ce0660e..d4f1b2ff41 100644 --- a/rpcs3/Emu/RSX/Overlays/overlays.cpp +++ b/rpcs3/Emu/RSX/Overlays/overlays.cpp @@ -18,7 +18,7 @@ namespace rsx if (auto dlg = manager->get()) { if (dlg->progress_bar_count()) - Emu.GetCallbacks().handle_taskbar_progress(0, 0); + Emu.GetCallbacks().handle_taskbar_progress(0, 1); } manager->remove(uid); diff --git a/rpcs3/Emu/System.h b/rpcs3/Emu/System.h index 7014f3df26..40ebfb7a84 100644 --- a/rpcs3/Emu/System.h +++ b/rpcs3/Emu/System.h @@ -182,7 +182,7 @@ struct EmuCallbacks std::function on_stop; std::function on_ready; std::function exit; - std::function handle_taskbar_progress; + std::function handle_taskbar_progress; // (type, value) type: 0 for reset, 1 for increment, 2 for set_limit std::function()> get_kb_handler; std::function()> get_mouse_handler; std::function()> get_pad_handler; diff --git a/rpcs3/rpcs3_app.cpp b/rpcs3/rpcs3_app.cpp index 661226805b..5b48fa4bf7 100644 --- a/rpcs3/rpcs3_app.cpp +++ b/rpcs3/rpcs3_app.cpp @@ -280,7 +280,7 @@ void rpcs3_app::InitializeCallbacks() switch (type) { case 0: - ((gs_frame*)gameWindow)->progress_reset(); + ((gs_frame*)gameWindow)->progress_reset(value); break; case 1: ((gs_frame*)gameWindow)->progress_increment(value); diff --git a/rpcs3/rpcs3qt/gs_frame.cpp b/rpcs3/rpcs3qt/gs_frame.cpp index e066f977f0..15ae6def05 100644 --- a/rpcs3/rpcs3qt/gs_frame.cpp +++ b/rpcs3/rpcs3qt/gs_frame.cpp @@ -417,7 +417,7 @@ wm_event gs_frame::get_default_wm_event() const return (m_user_interaction_active) ? wm_event::geometry_change_in_progress : wm_event::none; } -void gs_frame::progress_reset() +void gs_frame::progress_reset(bool reset_limit) { #ifdef _WIN32 if (m_tb_progress) @@ -427,6 +427,11 @@ void gs_frame::progress_reset() #elif HAVE_QTDBUS UpdateProgress(0); #endif + + if (reset_limit) + { + progress_set_limit(100); + } } void gs_frame::progress_increment(int delta) diff --git a/rpcs3/rpcs3qt/gs_frame.h b/rpcs3/rpcs3qt/gs_frame.h index 32c3f8ff7b..bfb6ea02c4 100644 --- a/rpcs3/rpcs3qt/gs_frame.h +++ b/rpcs3/rpcs3qt/gs_frame.h @@ -52,7 +52,7 @@ public: wm_event get_default_wm_event() const override; // taskbar progress - void progress_reset(); + void progress_reset(bool reset_limit = false); void progress_increment(int delta); void progress_set_limit(int limit);