mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-14 10:21:21 +00:00
cellMsgDialog: fix use-after-free
This commit is contained in:
parent
ae14aa991d
commit
2a344e1d87
@ -166,7 +166,7 @@ error_code open_msg_dialog(bool is_blocking, u32 type, vm::cptr<char> msgString,
|
||||
|
||||
const auto notify = std::make_shared<atomic_t<bool>>(false);
|
||||
|
||||
const auto res = manager->create<rsx::overlays::message_dialog>()->show(is_blocking, msgString.get_ptr(), _type, [callback, userData, &return_code, is_blocking, ¬ify](s32 status)
|
||||
const auto res = manager->create<rsx::overlays::message_dialog>()->show(is_blocking, msgString.get_ptr(), _type, [callback, userData, &return_code, is_blocking, notify](s32 status)
|
||||
{
|
||||
if (is_blocking && return_code)
|
||||
{
|
||||
|
@ -166,7 +166,7 @@ namespace rsx
|
||||
|
||||
overlayman.attach_thread_input(
|
||||
uid, "Home menu",
|
||||
[¬ify]() { *notify = true; notify->notify_one(); }
|
||||
[notify]() { *notify = true; notify->notify_one(); }
|
||||
);
|
||||
|
||||
if (g_cfg.misc.pause_during_home_menu)
|
||||
|
@ -302,14 +302,14 @@ namespace rsx
|
||||
{
|
||||
overlayman.attach_thread_input(
|
||||
uid, "Message dialog",
|
||||
[¬ify]() { *notify = true; notify->notify_one(); }
|
||||
[notify]() { *notify = true; notify->notify_one(); }
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
overlayman.attach_thread_input(
|
||||
uid, "Message dialog",
|
||||
[¬ify]() { *notify = true; notify->notify_one(); },
|
||||
[notify]() { *notify = true; notify->notify_one(); },
|
||||
nullptr,
|
||||
[&]()
|
||||
{
|
||||
|
@ -1625,7 +1625,7 @@ namespace rsx
|
||||
|
||||
overlayman.attach_thread_input(
|
||||
uid, "OSK",
|
||||
[¬ify]() { *notify = true; notify->notify_one(); }
|
||||
[notify]() { *notify = true; notify->notify_one(); }
|
||||
);
|
||||
|
||||
while (!Emu.IsStopped() && !*notify)
|
||||
|
@ -244,7 +244,7 @@ namespace rsx
|
||||
|
||||
overlayman.attach_thread_input(
|
||||
uid, "User list dialog",
|
||||
[¬ify]() { *notify = true; notify->notify_one(); }
|
||||
[notify]() { *notify = true; notify->notify_one(); }
|
||||
);
|
||||
|
||||
while (!Emu.IsStopped() && !*notify)
|
||||
|
Loading…
x
Reference in New Issue
Block a user