From e6b2c9e7b06bf67b511db5ae53a172d08c8ab6fb Mon Sep 17 00:00:00 2001 From: Lawrence Lee <45837045+Lawrence37@users.noreply.github.com> Date: Sun, 18 Apr 2021 12:33:32 -0700 Subject: [PATCH] Make options ignore empty custom editor command --- rtgui/options.cc | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/rtgui/options.cc b/rtgui/options.cc index a967ed873..cf577fe7d 100644 --- a/rtgui/options.cc +++ b/rtgui/options.cc @@ -875,7 +875,7 @@ void Options::readFromFile(Glib::ustring fname) // GIMP == 1, Photoshop == 2, Custom == 3. editorToSendTo = keyFile.get_integer("External Editor", "EditorKind"); - #ifdef WIN32 +#ifdef WIN32 Glib::ustring gimpDir = ""; if (keyFile.has_key("External Editor", "GimpDir")) { gimpDir = keyFile.get_string("External Editor", "GimpDir"); @@ -903,7 +903,7 @@ void Options::readFromFile(Glib::ustring fname) if (keyFile.has_key("External Editor", "PhotoshopDir")) { psDir = keyFile.get_string("External Editor", "PhotoshopDir"); } - auto executable = Glib::build_filename(psDir, "Photoshop.exe"); + executable = Glib::build_filename(psDir, "Photoshop.exe"); if (Glib::file_test(executable, Glib::FILE_TEST_IS_EXECUTABLE)) { if (editorToSendTo == 2) { externalEditorIndex = externalEditors.size(); @@ -913,12 +913,14 @@ void Options::readFromFile(Glib::ustring fname) if (keyFile.has_key("External Editor", "CustomEditor")) { executable = keyFile.get_string("External Editor", "CustomEditor"); - if (editorToSendTo == 3) { - externalEditorIndex = externalEditors.size(); + if (!executable.empty()) { + if (editorToSendTo == 3) { + externalEditorIndex = externalEditors.size(); + } + externalEditors.push_back(ExternalEditor("-", executable, "")); } - externalEditors.push_back(ExternalEditor("-", executable, "")); } - #elif defined __APPLE__ +#elif defined __APPLE__ if (editorToSendTo == 1) { externalEditorIndex = externalEditors.size(); } @@ -932,12 +934,14 @@ void Options::readFromFile(Glib::ustring fname) if (keyFile.has_key("External Editor", "CustomEditor")) { auto executable = keyFile.get_string("External Editor", "CustomEditor"); - if (editorToSendTo == 3) { - externalEditorIndex = externalEditors.size(); + if (!executable.empty()) { + if (editorToSendTo == 3) { + externalEditorIndex = externalEditors.size(); + } + externalEditors.push_back(ExternalEditor("-", executable, "")); } - externalEditors.push_back(ExternalEditor("-", executable, "")); } - #else +#else if (Glib::find_program_in_path("gimp").compare("")) { if (editorToSendTo == 1) { externalEditorIndex = externalEditors.size(); @@ -952,12 +956,14 @@ void Options::readFromFile(Glib::ustring fname) if (keyFile.has_key("External Editor", "CustomEditor")) { auto executable = keyFile.get_string("External Editor", "CustomEditor"); - if (editorToSendTo == 3) { - externalEditorIndex = externalEditors.size(); + if (!executable.empty()) { + if (editorToSendTo == 3) { + externalEditorIndex = externalEditors.size(); + } + externalEditors.push_back(ExternalEditor("-", executable, "")); } - externalEditors.push_back(ExternalEditor("-", executable, "")); } - #endif +#endif } }