An alert window is opened on event catching from Options::load (#4428)
This commit is contained in:
parent
185f072481
commit
01f8f4123a
@ -628,20 +628,19 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
|
Glib::ustring fatalError;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Options::load();
|
Options::load();
|
||||||
} catch (Options::Error &e) {
|
} catch (Options::Error &e) {
|
||||||
std::cout << "ERROR: " << e.get_msg() << std::endl;
|
fatalError = e.get_msg();
|
||||||
std::cerr << "Fatal error!" << std::endl;
|
|
||||||
std::cerr << "The RT_SETTINGS and/or RT_PATH environment variables are set, but use a relative path. The path must be absolute!" << std::endl;
|
|
||||||
return -2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gdk_threads_set_lock_functions (G_CALLBACK (myGdkLockEnter), (G_CALLBACK (myGdkLockLeave)));
|
gdk_threads_set_lock_functions (G_CALLBACK (myGdkLockEnter), (G_CALLBACK (myGdkLockLeave)));
|
||||||
gdk_threads_init();
|
gdk_threads_init();
|
||||||
gtk_init (&argc, &argv); // use the "--g-fatal-warnings" command line flag to make warnings fatal
|
gtk_init (&argc, &argv); // use the "--g-fatal-warnings" command line flag to make warnings fatal
|
||||||
|
|
||||||
if (remote) {
|
if (fatalError.empty() && remote) {
|
||||||
char *app_argv[2] = { const_cast<char *> (argv0.c_str()) };
|
char *app_argv[2] = { const_cast<char *> (argv0.c_str()) };
|
||||||
int app_argc = 1;
|
int app_argc = 1;
|
||||||
|
|
||||||
@ -653,7 +652,7 @@ int main (int argc, char **argv)
|
|||||||
RTApplication app;
|
RTApplication app;
|
||||||
ret = app.run (app_argc, app_argv);
|
ret = app.run (app_argc, app_argv);
|
||||||
} else {
|
} else {
|
||||||
if (init_rt()) {
|
if (fatalError.empty() && init_rt()) {
|
||||||
Gtk::Main m (&argc, &argv);
|
Gtk::Main m (&argc, &argv);
|
||||||
gdk_threads_enter();
|
gdk_threads_enter();
|
||||||
const std::unique_ptr<RTWindow> rtWindow (create_rt_window());
|
const std::unique_ptr<RTWindow> rtWindow (create_rt_window());
|
||||||
@ -679,7 +678,7 @@ int main (int argc, char **argv)
|
|||||||
cleanup_rt();
|
cleanup_rt();
|
||||||
} else {
|
} else {
|
||||||
Gtk::Main m (&argc, &argv);
|
Gtk::Main m (&argc, &argv);
|
||||||
Gtk::MessageDialog msgd ("Fatal error!\nThe RT_SETTINGS and/or RT_PATH environment variables are set, but use a relative path. The path must be absolute!", true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true);
|
Gtk::MessageDialog msgd (Glib::ustring::compose("FATAL ERROR!\n\n%1", fatalError), true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true);
|
||||||
msgd.run ();
|
msgd.run ();
|
||||||
ret = -2;
|
ret = -2;
|
||||||
}
|
}
|
||||||
|
@ -102,7 +102,8 @@ void Options::updatePaths()
|
|||||||
g_mkdir_with_parents (profilePath.c_str (), 511);
|
g_mkdir_with_parents (profilePath.c_str (), 511);
|
||||||
|
|
||||||
if (!checkDirPath (profilePath, "")) { // had problems with mkdir_with_parents return value on OS X, just check dir again
|
if (!checkDirPath (profilePath, "")) { // had problems with mkdir_with_parents return value on OS X, just check dir again
|
||||||
printf ("Error: creation of the user's processing profile directory \"%s\" failed!\n", profilePath.c_str());
|
Glib::ustring msg = Glib::ustring::compose ("Creation of the user's processing profile directory \"%1\" failed!\n", profilePath);
|
||||||
|
throw Error (msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,7 +131,8 @@ void Options::updatePaths()
|
|||||||
g_mkdir_with_parents (tmpPath.c_str (), 511);
|
g_mkdir_with_parents (tmpPath.c_str (), 511);
|
||||||
|
|
||||||
if (!checkDirPath (tmpPath, "")) {
|
if (!checkDirPath (tmpPath, "")) {
|
||||||
printf ("Error: creation of the user's processing profile directory \"%s\" failed!\n", tmpPath.c_str());
|
Glib::ustring msg = Glib::ustring::compose ("Creation of the user's processing profile directory \"%1\" failed!\n", tmpPath.c_str());
|
||||||
|
throw Error (msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user