GTK3: Fix --nogui option

This commit is contained in:
robxnano 2024-08-26 23:31:25 +01:00
parent 94b687a626
commit 208c2645da
No known key found for this signature in database
GPG Key ID: 9FB6B03B782D1E42
2 changed files with 28 additions and 18 deletions

View File

@ -430,7 +430,7 @@ static void gui_startup (void)
#ifdef ENABLE_GTK_3_22
color_scheme_set(APP_PREFERS_LIGHT);
#endif
if (!PrefsEditor())
if (use_gui && !PrefsEditor())
QuitEmulator();
}
@ -514,23 +514,28 @@ int main(int argc, char **argv)
printf("switch address not defined\n");
usage(argv[0]);
}
vde_sock = argv[i];
argv[i] = NULL;
} else if (strcmp(argv[i], "--nogui") == 0) {
// We intercept the --nogui commandline so that the settings
// window can change the setting from the prefs file
} else if (strcmp(argv[i], "--nogui") == 0) {
argv[i++] = NULL;
if (i < argc) {
if (strcmp(argv[i], "true") == 0)
if (strcmp(argv[i], "true") == 0) {
use_gui = false;
else
argv[i] = NULL;
}
else if (strcmp(argv[i], "false") == 0) {
use_gui = true;
argv[i] = NULL;
}
// Alternative commands to enter the GUI
} else {
use_gui = false;
}
} else if (strcmp(argv[i], "--gui") == 0 || strcmp(argv[i], "--settings") == 0) {
// Alternative commands to enter the GUI
use_gui = true;
argv[i] = NULL;
vde_sock = argv[i];
argv[i] = NULL;
}
#if defined(__APPLE__) && defined(__MACH__)

View File

@ -862,19 +862,24 @@ int main(int argc, char **argv)
UserPrefsPath = argv[i];
argv[i] = NULL;
}
} else if (strcmp(argv[i], "--nogui") == 0) {
// We intercept the --nogui commandline so that the settings
// window can change the setting from the prefs file
} else if (strcmp(argv[i], "--nogui") == 0) {
argv[i++] = NULL;
if (i < argc) {
if (strcmp(argv[i], "true") == 0)
if (strcmp(argv[i], "true") == 0) {
use_gui = false;
else
argv[i] = NULL;
}
else if (strcmp(argv[i], "false") == 0) {
use_gui = true;
argv[i] = NULL;
}
// Alternative commands to enter the GUI
} else {
use_gui = false;
}
} else if (strcmp(argv[i], "--gui") == 0 || strcmp(argv[i], "--settings") == 0) {
// Alternative commands to enter the GUI
use_gui = true;
argv[i] = NULL;
} else if (valid_vmdir(argv[i])) {