From d320867569d8314f192ef1571f579c72c9e3fc80 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Tue, 14 Feb 2023 02:41:26 +0300 Subject: [PATCH] rsx/overlays: Add a name to the input thread context --- rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_menu.cpp | 2 +- rpcs3/Emu/RSX/Overlays/overlay_manager.cpp | 4 +++- rpcs3/Emu/RSX/Overlays/overlay_manager.h | 2 ++ rpcs3/Emu/RSX/Overlays/overlay_message_dialog.cpp | 4 ++-- rpcs3/Emu/RSX/Overlays/overlay_osk.cpp | 2 +- rpcs3/Emu/RSX/Overlays/overlay_user_list_dialog.cpp | 2 +- 6 files changed, 10 insertions(+), 6 deletions(-) diff --git a/rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_menu.cpp b/rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_menu.cpp index 7a4160c16f..e7be8ab684 100644 --- a/rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_menu.cpp +++ b/rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_menu.cpp @@ -165,7 +165,7 @@ namespace rsx auto& overlayman = g_fxo->get(); overlayman.attach_thread_input( - uid, + uid, "Home menu", [¬ify]() { *notify = true; notify->notify_one(); } ); diff --git a/rpcs3/Emu/RSX/Overlays/overlay_manager.cpp b/rpcs3/Emu/RSX/Overlays/overlay_manager.cpp index f5201ce24a..d01595ccfe 100644 --- a/rpcs3/Emu/RSX/Overlays/overlay_manager.cpp +++ b/rpcs3/Emu/RSX/Overlays/overlay_manager.cpp @@ -151,6 +151,7 @@ namespace rsx void display_manager::attach_thread_input( u32 uid, + const std::string_view& name, std::function on_input_loop_enter, std::function on_input_loop_exit, std::function input_loop_override) @@ -158,6 +159,7 @@ namespace rsx if (auto iface = std::dynamic_pointer_cast(get(uid))) { m_input_token_stack.push( + name, std::move(iface), on_input_loop_enter, on_input_loop_exit, @@ -209,7 +211,7 @@ namespace rsx } else if (result && result != user_interface::selection_code::canceled) { - rsx_log.error("Input loop exited with error code=%d", result); + rsx_log.error("%s exited with error code=%d", input_context.name, result); } } diff --git a/rpcs3/Emu/RSX/Overlays/overlay_manager.h b/rpcs3/Emu/RSX/Overlays/overlay_manager.h index 720eb7665a..5c7d1cc869 100644 --- a/rpcs3/Emu/RSX/Overlays/overlay_manager.h +++ b/rpcs3/Emu/RSX/Overlays/overlay_manager.h @@ -157,6 +157,7 @@ namespace rsx // Enable input thread attach to the specified interface void attach_thread_input( u32 uid, // The input target + const std::string_view& name, // The name of the target std::function on_input_loop_enter = nullptr, // [optional] What to do before running the input routine std::function on_input_loop_exit = nullptr, // [optional] What to do with the result if any std::function input_loop_override = nullptr); // [optional] What to do during the input loop. By default calls user_interface::run_input_loop @@ -169,6 +170,7 @@ namespace rsx struct input_thread_context_t { + std::string_view name; std::shared_ptr target; std::function input_loop_prologue = nullptr; std::function input_loop_epilogue = nullptr; diff --git a/rpcs3/Emu/RSX/Overlays/overlay_message_dialog.cpp b/rpcs3/Emu/RSX/Overlays/overlay_message_dialog.cpp index f35a829d8e..b21184c836 100644 --- a/rpcs3/Emu/RSX/Overlays/overlay_message_dialog.cpp +++ b/rpcs3/Emu/RSX/Overlays/overlay_message_dialog.cpp @@ -303,14 +303,14 @@ namespace rsx if (interactive) { overlayman.attach_thread_input( - uid, + uid, "Message dialog", [¬ify]() { *notify = true; notify->notify_one(); } ); } else { overlayman.attach_thread_input( - uid, + uid, "Message dialog", [¬ify]() { *notify = true; notify->notify_one(); }, nullptr, [&]() diff --git a/rpcs3/Emu/RSX/Overlays/overlay_osk.cpp b/rpcs3/Emu/RSX/Overlays/overlay_osk.cpp index 5119fba942..8ad296861a 100644 --- a/rpcs3/Emu/RSX/Overlays/overlay_osk.cpp +++ b/rpcs3/Emu/RSX/Overlays/overlay_osk.cpp @@ -1624,7 +1624,7 @@ namespace rsx auto& overlayman = g_fxo->get(); overlayman.attach_thread_input( - uid, + uid, "OSK", [¬ify]() { *notify = true; notify->notify_one(); } ); diff --git a/rpcs3/Emu/RSX/Overlays/overlay_user_list_dialog.cpp b/rpcs3/Emu/RSX/Overlays/overlay_user_list_dialog.cpp index 2d90331c9b..95a144e1bb 100644 --- a/rpcs3/Emu/RSX/Overlays/overlay_user_list_dialog.cpp +++ b/rpcs3/Emu/RSX/Overlays/overlay_user_list_dialog.cpp @@ -243,7 +243,7 @@ namespace rsx auto& overlayman = g_fxo->get(); overlayman.attach_thread_input( - uid, + uid, "User list dialog", [¬ify]() { *notify = true; notify->notify_one(); } );