From 95b9cbb4c4a41743d409b05023c7d968aa5ebe59 Mon Sep 17 00:00:00 2001 From: Abdelrazak Younes Date: Thu, 21 Feb 2008 11:48:31 +0000 Subject: [PATCH] Fix buffer-switching in split view. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23086 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/qt4/GuiView.cpp | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/frontends/qt4/GuiView.cpp b/src/frontends/qt4/GuiView.cpp index a7e02019ed..653fd779bd 100644 --- a/src/frontends/qt4/GuiView.cpp +++ b/src/frontends/qt4/GuiView.cpp @@ -225,11 +225,9 @@ struct GuiView::GuiViewPrivate return tabWorkArea(0); for (int i = 0; i != splitter_->count(); ++i) { - QWidget * w = splitter_->widget(i); - if (!w->hasFocus()) - continue; - if (TabWorkArea * tab_widget = dynamic_cast(w)) - return tab_widget; + TabWorkArea * twa = tabWorkArea(i); + if (current_work_area_ == twa->currentWorkArea()) + return twa; } // None has the focus so we just take the first one. @@ -695,11 +693,8 @@ GuiToolbar * GuiView::makeToolbar(ToolbarInfo const & tbinfo, bool newline) GuiWorkArea * GuiView::workArea(Buffer & buffer) { - for (int i = 0; i != d.splitter_->count(); ++i) { - GuiWorkArea * wa = d.tabWorkArea(i)->workArea(buffer); - if (wa) - return wa; - } + if (TabWorkArea * twa = d.currentTabWorkArea()) + return twa->workArea(buffer); return 0; } @@ -1821,7 +1816,6 @@ bool GuiView::dispatch(FuncRequest const & cmd) TabWorkArea * twa = addTabWorkArea(); GuiWorkArea * wa = twa->addWorkArea(*buf, *this); setCurrentWorkArea(wa); - connectBufferView(wa->bufferView()); } break; -- 2.39.5