summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/windows/winmain.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd/windows/winmain.cpp')
-rw-r--r--src/osd/windows/winmain.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/osd/windows/winmain.cpp b/src/osd/windows/winmain.cpp
index 721407a777a..1ce656c2a37 100644
--- a/src/osd/windows/winmain.cpp
+++ b/src/osd/windows/winmain.cpp
@@ -66,21 +66,20 @@ using namespace Windows::UI::Popups;
class winui_output_error : public osd_output
{
public:
- virtual void output_callback(osd_output_channel channel, const char *msg, va_list args) override
+ virtual void output_callback(osd_output_channel channel, const util::format_argument_pack<std::ostream> &args) override
{
if (channel == OSD_OUTPUT_CHANNEL_ERROR)
{
- char buffer[1024];
-
// if we are in fullscreen mode, go to windowed mode
if ((video_config.windowed == 0) && !osd_common_t::s_window_list.empty())
winwindow_toggle_full_screen();
- vsnprintf(buffer, ARRAY_LENGTH(buffer), msg, args);
- win_message_box_utf8(!osd_common_t::s_window_list.empty() ? std::static_pointer_cast<win_window_info>(osd_common_t::s_window_list.front())->platform_window() : nullptr, buffer, emulator_info::get_appname(), MB_OK);
+ std::ostringstream buffer;
+ util::stream_format(buffer, args);
+ win_message_box_utf8(!osd_common_t::s_window_list.empty() ? std::static_pointer_cast<win_window_info>(osd_common_t::s_window_list.front())->platform_window() : nullptr, buffer.str().c_str(), emulator_info::get_appname(), MB_OK);
}
else
- chain_output(channel, msg, args);
+ chain_output(channel, args);
}
};