work around Qt crash, thanks mizapf (nw)

This commit is contained in:
Vas Crabb 2018-12-25 23:54:24 +11:00
parent 33e8629060
commit c36b648d96

View File

@ -59,15 +59,19 @@ private:
running_machine *m_machine; running_machine *m_machine;
}; };
namespace {
//============================================================ //============================================================
// "Global" variables to make QT happy // "Global" variables to make QT happy
//============================================================ //============================================================
int qtArgc = 0; int qtArgc = 1;
char** qtArgv = nullptr; char qtArg0[] = "mame";
char *qtArgv[] = { qtArg0, nullptr };
bool oneShot = true; bool oneShot = true;
static MainWindow* mainQtWindow = nullptr; MainWindow *mainQtWindow = nullptr;
//============================================================ //============================================================
// XML configuration save/load // XML configuration save/load
@ -77,7 +81,7 @@ static MainWindow* mainQtWindow = nullptr;
std::vector<WindowQtConfig*> xmlConfigurations; std::vector<WindowQtConfig*> xmlConfigurations;
static void xml_configuration_load(running_machine &machine, config_type cfg_type, util::xml::data_node const *parentnode) void xml_configuration_load(running_machine &machine, config_type cfg_type, util::xml::data_node const *parentnode)
{ {
// We only care about game files // We only care about game files
if (cfg_type != config_type::GAME) if (cfg_type != config_type::GAME)
@ -112,7 +116,7 @@ static void xml_configuration_load(running_machine &machine, config_type cfg_typ
} }
static void xml_configuration_save(running_machine &machine, config_type cfg_type, util::xml::data_node *parentnode) void xml_configuration_save(running_machine &machine, config_type cfg_type, util::xml::data_node *parentnode)
{ {
// We only write to game configurations // We only write to game configurations
if (cfg_type != config_type::GAME) if (cfg_type != config_type::GAME)
@ -133,7 +137,7 @@ static void xml_configuration_save(running_machine &machine, config_type cfg_typ
} }
static void gather_save_configurations() void gather_save_configurations()
{ {
for (int i = 0; i < xmlConfigurations.size(); i++) for (int i = 0; i < xmlConfigurations.size(); i++)
delete xmlConfigurations[i]; delete xmlConfigurations[i];
@ -173,7 +177,7 @@ static void gather_save_configurations()
// Utilities // Utilities
//============================================================ //============================================================
static void load_and_clear_main_window_config(std::vector<WindowQtConfig*>& configList) void load_and_clear_main_window_config(std::vector<WindowQtConfig*>& configList)
{ {
for (int i = 0; i < configList.size(); i++) for (int i = 0; i < configList.size(); i++)
{ {
@ -188,7 +192,7 @@ static void load_and_clear_main_window_config(std::vector<WindowQtConfig*>& conf
} }
static void setup_additional_startup_windows(running_machine& machine, std::vector<WindowQtConfig*>& configList) void setup_additional_startup_windows(running_machine& machine, std::vector<WindowQtConfig*>& configList)
{ {
for (int i = 0; i < configList.size(); i++) for (int i = 0; i < configList.size(); i++)
{ {
@ -217,7 +221,7 @@ static void setup_additional_startup_windows(running_machine& machine, std::vect
} }
static void bring_main_window_to_front() void bring_main_window_to_front()
{ {
foreach (QWidget* widget, QApplication::topLevelWidgets()) foreach (QWidget* widget, QApplication::topLevelWidgets())
{ {
@ -228,6 +232,8 @@ static void bring_main_window_to_front()
} }
} }
} // anonymous namespace
//============================================================ //============================================================
// Core functionality // Core functionality