diff --git a/rpcs3/Emu/Cell/Modules/cellMsgDialog.cpp b/rpcs3/Emu/Cell/Modules/cellMsgDialog.cpp index ee8acabb86..290c185e17 100644 --- a/rpcs3/Emu/Cell/Modules/cellMsgDialog.cpp +++ b/rpcs3/Emu/Cell/Modules/cellMsgDialog.cpp @@ -214,9 +214,9 @@ error_code open_msg_dialog(bool is_blocking, u32 type, vm::cptr msgString, dlg->type = _type; - dlg->on_close = [callback, userData, &return_code, wptr = std::weak_ptr(dlg)](s32 status) + dlg->on_close = [callback, userData, is_blocking, &return_code, wptr = std::weak_ptr(dlg)](s32 status) { - if (return_code) + if (is_blocking && return_code) { *return_code = status; }