* loadLyXFile::setBuffer(): get rid of a premature optimisation, we make sure that everything is properly drawn in any case.
* GuiView::setCurrentWorkArea(): make sure everything is updated if we don't change tab.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19717
a592a061-630c-0410-9148-
cb99ea01b6c8
void LyXView::setBuffer(Buffer * newBuffer)
{
+ BOOST_ASSERT(newBuffer);
busy(true);
- Buffer * oldBuffer = buffer();
- if (oldBuffer == newBuffer) {
- busy(false);
- return;
- }
-
WorkArea * wa = workArea(*newBuffer);
if (wa == 0) {
updateLabels(*newBuffer->getMasterBuffer());
GuiWorkArea * wa = dynamic_cast<GuiWorkArea *>(work_area);
BOOST_ASSERT(wa);
- d.tab_widget_->setCurrentWidget(wa);
+ if (wa != d.tab_widget_->currentWidget())
+ // Switch to the work area.
+ d.tab_widget_->setCurrentWidget(wa);
+ else
+ // Make sure the work area is up to date.
+ currentTabChanged(d.tab_widget_->currentIndex());
wa->setFocus();
}