This commit is contained in:
Robbbert 2015-12-27 23:53:15 +11:00
commit 88e4fea8db
2 changed files with 28 additions and 9 deletions

View File

@ -321,6 +321,12 @@ project ("qtdbg_" .. _OPTIONS["osd"])
MAME_DIR .. "src/osd/modules/render", MAME_DIR .. "src/osd/modules/render",
MAME_DIR .. "3rdparty", MAME_DIR .. "3rdparty",
} }
configuration { "linux-*" }
buildoptions {
"-fPIC",
}
configuration { }
qtdebuggerbuild() qtdebuggerbuild()
project ("osd_" .. _OPTIONS["osd"]) project ("osd_" .. _OPTIONS["osd"])

View File

@ -18,6 +18,8 @@
#include <vector> #include <vector>
#include <QtWidgets/QApplication> #include <QtWidgets/QApplication>
#include <QtCore/QAbstractEventDispatcher>
#include <QtCore/QAbstractNativeEventFilter>
#include "emu.h" #include "emu.h"
#include "config.h" #include "config.h"
@ -33,6 +35,9 @@
#include "qt/deviceinformationwindow.h" #include "qt/deviceinformationwindow.h"
class debug_qt : public osd_module, public debug_module class debug_qt : public osd_module, public debug_module
#if defined(WIN32) && !defined(SDLMAME_WIN32)
, public QAbstractNativeEventFilter
#endif
{ {
public: public:
debug_qt() debug_qt()
@ -49,7 +54,9 @@ public:
virtual void init_debugger(running_machine &machine); virtual void init_debugger(running_machine &machine);
virtual void wait_for_debugger(device_t &device, bool firststop); virtual void wait_for_debugger(device_t &device, bool firststop);
virtual void debugger_update(); virtual void debugger_update();
#if defined(WIN32) && !defined(SDLMAME_WIN32)
virtual bool nativeEventFilter(const QByteArray &eventType, void *message, long *) Q_DECL_OVERRIDE;
#endif
private: private:
running_machine *m_machine; running_machine *m_machine;
}; };
@ -231,6 +238,12 @@ static void bring_main_window_to_front()
#if defined(WIN32) && !defined(SDLMAME_WIN32) #if defined(WIN32) && !defined(SDLMAME_WIN32)
bool winwindow_qt_filter(void *message); bool winwindow_qt_filter(void *message);
bool debug_qt::nativeEventFilter(const QByteArray &eventType, void *message, long *)
{
winwindow_qt_filter(message);
return false;
}
#endif #endif
void debug_qt::init_debugger(running_machine &machine) 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 // If you're starting from scratch, create a new qApp
new QApplication(qtArgc, qtArgv); new QApplication(qtArgc, qtArgv);
#if defined(WIN32) && !defined(SDLMAME_WIN32) #if defined(WIN32) && !defined(SDLMAME_WIN32)
QAbstractEventDispatcher::instance()->setEventFilter((QAbstractEventDispatcher::EventFilter)&winwindow_qt_filter); QAbstractEventDispatcher::instance()->installNativeEventFilter(this);
#endif #endif
} }
else else