diff --git a/scripts/src/osd/sdl.lua b/scripts/src/osd/sdl.lua index 8b437fd9336..f07686a885e 100644 --- a/scripts/src/osd/sdl.lua +++ b/scripts/src/osd/sdl.lua @@ -321,6 +321,12 @@ project ("qtdbg_" .. _OPTIONS["osd"]) MAME_DIR .. "src/osd/modules/render", MAME_DIR .. "3rdparty", } + configuration { "linux-*" } + buildoptions { + "-fPIC", + } + configuration { } + qtdebuggerbuild() project ("osd_" .. _OPTIONS["osd"]) @@ -384,7 +390,7 @@ project ("osd_" .. _OPTIONS["osd"]) MAME_DIR .. "src/osd/modules/debugger/osx/registersview.mm", MAME_DIR .. "src/osd/modules/debugger/osx/registersview.h", MAME_DIR .. "src/osd/modules/debugger/osx/watchpointsview.mm", - MAME_DIR .. "src/osd/modules/debugger/osx/watchpointsview.h", + MAME_DIR .. "src/osd/modules/debugger/osx/watchpointsview.h", MAME_DIR .. "src/osd/modules/debugger/osx/debugosx.h", } if _OPTIONS["SDL_LIBVER"]=="sdl" then @@ -453,7 +459,7 @@ project ("ocore_" .. _OPTIONS["osd"]) MAME_DIR .. "src/osd/sdl/sdlsocket.cpp", MAME_DIR .. "src/osd/sdl/sdlos_" .. SDLOS_TARGETOS .. ".cpp", MAME_DIR .. "src/osd/modules/osdmodule.cpp", - MAME_DIR .. "src/osd/modules/osdmodule.h", + MAME_DIR .. "src/osd/modules/osdmodule.h", MAME_DIR .. "src/osd/modules/lib/osdlib_" .. SDLOS_TARGETOS .. ".cpp", MAME_DIR .. "src/osd/modules/lib/osdlib.h", MAME_DIR .. "src/osd/modules/sync/sync_" .. SYNC_IMPLEMENTATION .. ".cpp", @@ -488,9 +494,9 @@ if _OPTIONS["with-tools"] then kind "ConsoleApp" flags { - "Symbols", -- always include minimum symbols for executables + "Symbols", -- always include minimum symbols for executables } - + dofile("sdl_cfg.lua") includedirs { @@ -498,7 +504,7 @@ if _OPTIONS["with-tools"] then MAME_DIR .. "src/lib/util", } - if _OPTIONS["SEPARATE_BIN"]~="1" then + if _OPTIONS["SEPARATE_BIN"]~="1" then targetdir(MAME_DIR) end @@ -549,12 +555,12 @@ if _OPTIONS["targetos"] == "macosx" and _OPTIONS["with-tools"] then kind "ConsoleApp" flags { - "Symbols", -- always include minimum symbols for executables + "Symbols", -- always include minimum symbols for executables } dofile("sdl_cfg.lua") - if _OPTIONS["SEPARATE_BIN"]~="1" then + if _OPTIONS["SEPARATE_BIN"]~="1" then targetdir(MAME_DIR) end diff --git a/src/osd/modules/debugger/debugqt.cpp b/src/osd/modules/debugger/debugqt.cpp index 1819eaa24dd..75d925f1f24 100644 --- a/src/osd/modules/debugger/debugqt.cpp +++ b/src/osd/modules/debugger/debugqt.cpp @@ -18,6 +18,8 @@ #include #include +#include +#include #include "emu.h" #include "config.h" @@ -33,6 +35,9 @@ #include "qt/deviceinformationwindow.h" class debug_qt : public osd_module, public debug_module +#if defined(WIN32) && !defined(SDLMAME_WIN32) +, public QAbstractNativeEventFilter +#endif { public: debug_qt() @@ -49,7 +54,9 @@ public: virtual void init_debugger(running_machine &machine); virtual void wait_for_debugger(device_t &device, bool firststop); virtual void debugger_update(); - +#if defined(WIN32) && !defined(SDLMAME_WIN32) + virtual bool nativeEventFilter(const QByteArray &eventType, void *message, long *) Q_DECL_OVERRIDE; +#endif private: running_machine *m_machine; }; @@ -231,6 +238,12 @@ static void bring_main_window_to_front() #if defined(WIN32) && !defined(SDLMAME_WIN32) bool winwindow_qt_filter(void *message); + +bool debug_qt::nativeEventFilter(const QByteArray &eventType, void *message, long *) +{ + winwindow_qt_filter(message); + return false; +} #endif void debug_qt::init_debugger(running_machine &machine) @@ -240,7 +253,7 @@ void debug_qt::init_debugger(running_machine &machine) // If you're starting from scratch, create a new qApp new QApplication(qtArgc, qtArgv); #if defined(WIN32) && !defined(SDLMAME_WIN32) - QAbstractEventDispatcher::instance()->setEventFilter((QAbstractEventDispatcher::EventFilter)&winwindow_qt_filter); + QAbstractEventDispatcher::instance()->installNativeEventFilter(this); #endif } else