]> git.lyx.org Git - features.git/commitdiff
Only create a new view for lyxfiles-open if no view is open (#12894)
authorJuergen Spitzmueller <spitz@lyx.org>
Fri, 8 Sep 2023 15:47:47 +0000 (17:47 +0200)
committerJuergen Spitzmueller <spitz@lyx.org>
Fri, 8 Sep 2023 15:47:47 +0000 (17:47 +0200)
src/frontends/qt/GuiApplication.cpp

index 57eaaf65587d51bcc1b881f6b60bdf5fd60c87ef..b7abd4297fca1e6b3cfa917f7265892ebda35599 100644 (file)
@@ -1901,12 +1901,6 @@ void GuiApplication::dispatch(FuncRequest const & cmd, DispatchResult & dr)
        }
 
        case LFUN_LYXFILES_OPEN: {
-               // This is the actual reason for this method (#12106).
-               validateCurrentView();
-               if (!current_view_
-                  || (!lyxrc.open_buffers_in_tabs
-                      && current_view_->documentBufferView() != nullptr))
-                       createView();
                string arg = to_utf8(cmd.argument());
                if (arg.empty())
                        // set default
@@ -2263,17 +2257,15 @@ void GuiApplication::dispatch(FuncRequest const & cmd, DispatchResult & dr)
 
        case LFUN_DIALOG_SHOW: {
                string const name = cmd.getArg(0);
-
-               if ( name == "aboutlyx"
-                       || name == "prefs"
-                       || name == "texinfo"
-                       || name == "progress"
-                       || name == "compare")
+               // Workaround: on Mac OS the application
+               // is not terminated when closing the last view.
+               // With the following dialogs which should still
+               // be usable, create a new one to be able
+               // to dispatch LFUN_DIALOG_SHOW to this view.
+               if (name == "aboutlyx" || name == "compare"
+                   || name == "lyxfiles" || name == "prefs"
+                   || name == "progress" || name == "texinfo")
                {
-                       // work around: on Mac OS the application
-                       // is not terminated when closing the last view.
-                       // Create a new one to be able to dispatch the
-                       // LFUN_DIALOG_SHOW to this view.
                        if (current_view_ == nullptr)
                                createView();
                }