summaryrefslogtreecommitdiffstats
path: root/src/osd/sdl/sdlmain.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd/sdl/sdlmain.cpp')
-rw-r--r--src/osd/sdl/sdlmain.cpp32
1 files changed, 17 insertions, 15 deletions
diff --git a/src/osd/sdl/sdlmain.cpp b/src/osd/sdl/sdlmain.cpp
index df99b1938a7..c518191d1a7 100644
--- a/src/osd/sdl/sdlmain.cpp
+++ b/src/osd/sdl/sdlmain.cpp
@@ -8,6 +8,8 @@
//
//============================================================
+// only for oslog callback
+#include <functional>
#ifdef SDLMAME_UNIX
#if (!defined(SDLMAME_MACOSX)) && (!defined(SDLMAME_EMSCRIPTEN)) && (!defined(SDLMAME_ANDROID))
@@ -224,19 +226,6 @@ int main(int argc, char *argv[])
exit(res);
}
-
-
-//============================================================
-// output_oslog
-//============================================================
-
-static void output_oslog(const running_machine &machine, const char *buffer)
-{
- fputs(buffer, stderr);
-}
-
-
-
//============================================================
// constructor
//============================================================
@@ -390,10 +379,20 @@ void sdl_osd_interface::video_register()
//video_options_add("auto", nullptr); // making d3d video default one
}
+
//============================================================
-// init
+// output_oslog
//============================================================
+void sdl_osd_interface::output_oslog(const char *buffer)
+{
+ fputs(buffer, stderr);
+}
+
+
+//============================================================
+// init
+//============================================================
void sdl_osd_interface::init(running_machine &machine)
{
@@ -491,7 +490,10 @@ void sdl_osd_interface::init(running_machine &machine)
osd_common_t::init_subsystems();
if (options().oslog())
- machine.add_logerror_callback(output_oslog);
+ {
+ using namespace std::placeholders;
+ machine.add_logerror_callback(std::bind(&sdl_osd_interface::output_oslog, this, _1));
+ }