From 342932ad32b6eb9afc0845717d2e3f25433bb5f1 Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Mon, 4 Feb 2002 11:30:25 +0000 Subject: [PATCH] two patches from john git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3479 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/BufferView_pimpl.C | 3 +++ src/ChangeLog | 5 +++++ src/frontends/controllers/ChangeLog | 5 +++++ src/frontends/controllers/ControlSpellchecker.C | 6 ++++++ 4 files changed, 19 insertions(+) diff --git a/src/BufferView_pimpl.C b/src/BufferView_pimpl.C index 843b8e7241..b8cc2a3996 100644 --- a/src/BufferView_pimpl.C +++ b/src/BufferView_pimpl.C @@ -742,6 +742,9 @@ void BufferView::Pimpl::tripleClick(int /*x*/, int /*y*/, unsigned int button) void BufferView::Pimpl::selectionRequested() { + if (!available()) + return; + string const sel(bv_->getLyXText()->selectionAsString(bv_->buffer(), false)); if (!sel.empty()) { diff --git a/src/ChangeLog b/src/ChangeLog index 38b7be22ab..0d81928b38 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2002-02-01 John Levon + + * BufferView_pimpl.C: fix crash on close buffer + during selection (#227) + 2002-01-27 Herbert Voss * buffer.C: link old Figure to new graphic inset diff --git a/src/frontends/controllers/ChangeLog b/src/frontends/controllers/ChangeLog index db1ded68ac..5b5bf2d3fe 100644 --- a/src/frontends/controllers/ChangeLog +++ b/src/frontends/controllers/ChangeLog @@ -1,3 +1,8 @@ +2002-02-01 John Levon + + * ControlSpellchecker.C: clear any selection left + (bug #211) + 2002-02-01 Herbert Voss * ControlGraphics.[C] (readBB): search only, if it is a diff --git a/src/frontends/controllers/ControlSpellchecker.C b/src/frontends/controllers/ControlSpellchecker.C index f336253c2d..2571de4e14 100644 --- a/src/frontends/controllers/ControlSpellchecker.C +++ b/src/frontends/controllers/ControlSpellchecker.C @@ -34,6 +34,7 @@ #include "lyxrc.h" #include "BufferView.h" #include "LyXView.h" +#include "lyxtext.h" #include "gettext.h" #include "support/lstrings.h" #include "language.h" @@ -109,6 +110,11 @@ void ControlSpellchecker::check() result_ = SpellBase::ISP_OK; stop_ = false; + // clear any old selection + LyXText * text = lv_.view()->getLyXText(); + lv_.view()->toggleSelection(true); + lv_.view()->update(text, BufferView::SELECT); + while ((result_==SpellBase::ISP_OK || result_==SpellBase::ISP_IGNORE) && !stop_) { word_ = lv_.view()->nextWord(newval_); -- 2.39.2