diff --git a/src/frontends/qt4/GuiView.cpp b/src/frontends/qt4/GuiView.cpp index 5c89e8dbed..c6139666e2 100644 --- a/src/frontends/qt4/GuiView.cpp +++ b/src/frontends/qt4/GuiView.cpp @@ -1011,8 +1011,15 @@ bool GuiView::focusNextPrevChild(bool /*next*/) } +bool GuiView::busy() +{ + return busy_; +} + + void GuiView::setBusy(bool busy) { + busy_ = busy; if (d.current_work_area_) { d.current_work_area_->setUpdatesEnabled(!busy); if (busy) diff --git a/src/frontends/qt4/GuiView.h b/src/frontends/qt4/GuiView.h index b540094f0b..33f9fb3108 100644 --- a/src/frontends/qt4/GuiView.h +++ b/src/frontends/qt4/GuiView.h @@ -73,7 +73,10 @@ public: int id() const { return id_; } + /// void setBusy(bool); + /// are we busy ? + bool busy(); /// \name Generic accessor functions //@{ @@ -402,6 +405,8 @@ private: /// flag to avoid two concurrent close events. bool closing_; + /// if the view is busy the cursor shouldn't blink for instance. + bool busy_; }; } // namespace frontend diff --git a/src/frontends/qt4/GuiWorkArea.cpp b/src/frontends/qt4/GuiWorkArea.cpp index 9d9d82abf8..368fa774b1 100644 --- a/src/frontends/qt4/GuiWorkArea.cpp +++ b/src/frontends/qt4/GuiWorkArea.cpp @@ -391,6 +391,10 @@ void GuiWorkArea::stopBlinkingCursor() void GuiWorkArea::startBlinkingCursor() { + // do not show the cursor if the view is busy + if (view().busy()) + return; + Point p; int h = 0; buffer_view_->cursorPosAndHeight(p, h);