]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiView.cpp
Fix handling of the add branch textfield in GuiBranches
[lyx.git] / src / frontends / qt4 / GuiView.cpp
index 1b3df11a79f29e42105dfe3590d128117e05074b..d13fee55cd3864058b1f2a00ced17bac11a7ad15 100644 (file)
@@ -1759,7 +1759,9 @@ bool GuiView::getStatus(FuncRequest const & cmd, FuncStatus & flag)
                else if (name == "latexlog")
                        enable = FileName(doc_buffer->logName()).isReadableFile();
                else if (name == "spellchecker")
-                       enable = theSpellChecker() && !doc_buffer->isReadonly();
+                       enable = theSpellChecker() 
+                               && !doc_buffer->isReadonly()
+                               && !doc_buffer->text().empty();
                else if (name == "vclog")
                        enable = doc_buffer->lyxvc().inUse();
                break;
@@ -2314,7 +2316,10 @@ bool GuiView::renameBuffer(Buffer & b, docstring const & newname)
                }
        }
 
-       return saveBuffer(b, fname);
+       bool const saved = saveBuffer(b, fname);
+       if (saved)
+               b.reload();
+       return saved;
 }
 
 
@@ -3107,10 +3112,16 @@ bool GuiView::GuiViewPrivate::asyncBufferProcessing(
                gv_->message(msg);
        }
        GuiViewPrivate::busyBuffers.insert(used_buffer);
+       Buffer * cloned_buffer = used_buffer->cloneFromMaster();
+       if (!cloned_buffer) {
+               Alert::error(_("Export Error"),
+                            _("Error cloning the Buffer."));
+               return false;
+       }
        QFuture<Buffer::ExportStatus> f = QtConcurrent::run(
                                asyncFunc,
                                used_buffer,
-                               used_buffer->cloneFromMaster(),
+                               cloned_buffer,
                                format);
        setPreviewFuture(f);
        last_export_format = used_buffer->params().bufferFormat();
@@ -3648,9 +3659,14 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
                                command = lyxrc.forward_search_pdf;
                        }
 
-                       int row = doc_buffer->texrow().getRowFromIdPos(bv->cursor().paragraph().id(), bv->cursor().pos());
+                       DocIterator tmpcur = bv->cursor();
+                       // Leave math first
+                       while (tmpcur.inMathed())
+                               tmpcur.pop_back();
+                       int row = tmpcur.inMathed() ? 0 : doc_buffer->texrow().getRowFromIdPos(
+                                                               tmpcur.paragraph().id(), tmpcur.pos());
                        LYXERR(Debug::ACTION, "Forward search: row:" << row
-                               << " id:" << bv->cursor().paragraph().id());
+                               << " id:" << tmpcur.paragraph().id());
                        if (!row || command.empty()) {
                                dr.setMessage(_("Couldn't proceed."));
                                break;