Make sure the current view is set to busy in order to avoid a crash due to a screen redraw in the middle of a dispatch operation just because a warning or an error was displayed and the focus came back.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36721 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Abdelrazak Younes 2010-12-04 22:07:39 +00:00
parent fefb5e7f71
commit 1376c39ae6

View File

@ -1617,6 +1617,10 @@ void GuiApplication::dispatch(FuncRequest const & cmd, DispatchResult & dr)
BufferView * bv = current_view_->currentBufferView(); BufferView * bv = current_view_->currentBufferView();
LASSERT(bv, /**/); LASSERT(bv, /**/);
// Avoid a screen redraw in the middle of a dispatch operation just
// because a warning or an error was displayed.
current_view_->setBusy(true);
// Let the current BufferView dispatch its own actions. // Let the current BufferView dispatch its own actions.
bv->dispatch(cmd, dr); bv->dispatch(cmd, dr);
if (dr.dispatched()) if (dr.dispatched())
@ -1673,6 +1677,8 @@ void GuiApplication::dispatch(FuncRequest const & cmd, DispatchResult & dr)
} }
dr = bv->cursor().result(); dr = bv->cursor().result();
current_view_->setBusy(false);
} }
// if we executed a mutating lfun, mark the buffer as dirty // if we executed a mutating lfun, mark the buffer as dirty