summaryrefslogtreecommitdiffstats
path: root/subsurface-desktop-main.cpp
diff options
context:
space:
mode:
authorGravatar Lubomir I. Ivanov <neolit123@gmail.com>2017-11-15 23:55:42 +0200
committerGravatar Lubomir I. Ivanov <neolit123@gmail.com>2017-11-16 14:26:14 +0100
commita8fbceac17784d67779cee97c556395e43af359e (patch)
tree1ae0663e703721499362279ce39d06e975879d94 /subsurface-desktop-main.cpp
parentf2911f64ba241b3ec583cdf7da94f72b46eb8ea2 (diff)
downloadsubsurface-a8fbceac17784d67779cee97c556395e43af359e.tar.gz
subsurface-startup: expose print_version() in the header
The Windows auto-verbose + log file creation if starting from a non-terminal has the problem that the print_version() call is never made becase 'verbose' is updated programatically in windows.c and not by the user (by passing -v). To work around the issue: - move the windows console creation call before *everything* else - then immediatelly install the message handler - then see if 'verbose' is set and explicitly call print_version() print_version() now also has a flag (version_printed), to avoid printing the version multiple times, if the user decided to add an extra -v to the Desktop shortcut. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Diffstat (limited to 'subsurface-desktop-main.cpp')
-rw-r--r--subsurface-desktop-main.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/subsurface-desktop-main.cpp b/subsurface-desktop-main.cpp
index 58da1fa43..5b8424487 100644
--- a/subsurface-desktop-main.cpp
+++ b/subsurface-desktop-main.cpp
@@ -33,18 +33,20 @@ static void messageHandler(QtMsgType type, const QMessageLogContext &ctx, const
int main(int argc, char **argv)
{
+ subsurface_console_init();
+ qInstallMessageHandler(messageHandler);
+ if (verbose) /* print the version if the Win32 console_init() code enabled verbose. */
+ print_version();
+
int i;
bool no_filenames = true;
QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* = true"));
- qInstallMessageHandler(messageHandler);
QApplication *application = new QApplication(argc, argv);
(void)application;
QStringList files;
QStringList importedFiles;
QStringList arguments = QCoreApplication::arguments();
- subsurface_console_init();
-
const char *default_directory = system_default_directory();
const char *default_filename = system_default_filename();
subsurface_mkdir(default_directory);