]> git.lyx.org Git - lyx.git/blobdiff - src/LyXFunc.cpp
inset-edit should not make a buffer dirty (it edits the external files used by the...
[lyx.git] / src / LyXFunc.cpp
index 34af99954ace5001a0caccc66a2481447e7d138e..ca9e5fef6bcf759eb1de00d29dee38545c5d71aa 100644 (file)
@@ -748,6 +748,8 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                       << lyxaction.getActionName(action)
                       << " [" << action << "] is disabled at this location");
                setErrorMessage(flag.message());
+               if (lyx_view_)
+                       lyx_view_->restartCursor();
        } else {
                switch (action) {
 
@@ -1497,7 +1499,14 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                case LFUN_LAYOUT_MODULE_ADD: {
                        LASSERT(lyx_view_, /**/);
                        Buffer * buffer = lyx_view_->buffer();
-                       DocumentClass const * const oldClass = buffer->params().documentClassPtr();
+                       BufferParams const & params = buffer->params();
+                       if (!params.moduleCanBeAdded(argument)) {
+                               LYXERR0("Module `" << argument << 
+                                               "' cannot be added due to failed requirements or "
+                                               "conflicts with installed modules.");
+                               break;
+                       }
+                       DocumentClass const * const oldClass = params.documentClassPtr();
                        view()->cursor().recordUndoFullDocument();
                        buffer->params().addLayoutModule(argument);
                        buffer->params().makeDocumentClass();