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 .. "3rdparty",
}
configuration { "linux-*" }
buildoptions {
"-fPIC",
}
configuration { }
qtdebuggerbuild()
project ("osd_" .. _OPTIONS["osd"])

View File

@ -18,6 +18,8 @@
#include <vector>
#include <QtWidgets/QApplication>
#include <QtCore/QAbstractEventDispatcher>
#include <QtCore/QAbstractNativeEventFilter>
#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