Extracted from r14281

* CoordCache:
  - startUpdating(), doneUpdating(): deleted because the screen drawing
    is now done at one place (WorkArea::redraw()) and cannot be called
    for within itself. Those debug methods are then not useful.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14382 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Lars Gullik Bjønnes 2006-07-08 20:40:04 +00:00
parent 28c5673ff4
commit b4b9c09202
3 changed files with 3 additions and 40 deletions

View File

@ -699,11 +699,6 @@ void BufferView::Pimpl::update(Update::flags flags)
<< "] buffer: " << buffer_ << endl; << "] buffer: " << buffer_ << endl;
} }
// This, together with doneUpdating(), verifies (using
// asserts) that screen redraw is not called from
// within itself.
theCoords.startUpdating();
// Check needed to survive LyX startup // Check needed to survive LyX startup
if (buffer_) { if (buffer_) {
// Update macro store // Update macro store
@ -727,10 +722,6 @@ void BufferView::Pimpl::update(Update::flags flags)
owner_->redrawWorkArea(); owner_->redrawWorkArea();
owner_->view_state_changed(); owner_->view_state_changed();
// Abort updating of the coord
// cache - just restore the old one
theCoords.doneUpdating();
} }

View File

@ -33,7 +33,6 @@ void lyxbreaker(void const * data, const char * hint, int size)
void CoordCache::clear() void CoordCache::clear()
{ {
BOOST_ASSERT(updating);
arrays_.clear(); arrays_.clear();
insets_.clear(); insets_.clear();
pars_.clear(); pars_.clear();
@ -42,20 +41,6 @@ void CoordCache::clear()
} }
void CoordCache::startUpdating()
{
BOOST_ASSERT(!updating);
updating = true;
}
void CoordCache::doneUpdating()
{
BOOST_ASSERT(updating);
updating = false;
}
Point CoordCache::get(LyXText const * text, lyx::pit_type pit) Point CoordCache::get(LyXText const * text, lyx::pit_type pit)
{ {
ParPosCache::iterator const it = pars_.find(text); ParPosCache::iterator const it = pars_.find(text);

View File

@ -108,12 +108,6 @@ private:
*/ */
class CoordCache { class CoordCache {
public: public:
CoordCache() : updating(false) { }
/// In order to find bugs, we record when we start updating the cache
void startUpdating();
/// When we are done, we record that to help find bugs
void doneUpdating();
void clear(); void clear();
Point get(LyXText const *, lyx::pit_type); Point get(LyXText const *, lyx::pit_type);
@ -125,18 +119,17 @@ public:
typedef std::map<LyXText const *, InnerParPosCache> SliceCache; typedef std::map<LyXText const *, InnerParPosCache> SliceCache;
/// A map from MathArray to position on the screen /// A map from MathArray to position on the screen
CoordCacheBase<MathArray> & arrays() { BOOST_ASSERT(updating); return arrays_; } CoordCacheBase<MathArray> & arrays() { return arrays_; }
CoordCacheBase<MathArray> const & getArrays() const { return arrays_; } CoordCacheBase<MathArray> const & getArrays() const { return arrays_; }
/// A map from insets to positions on the screen /// A map from insets to positions on the screen
CoordCacheBase<InsetBase> & insets() { BOOST_ASSERT(updating); return insets_; } CoordCacheBase<InsetBase> & insets() { return insets_; }
CoordCacheBase<InsetBase> const & getInsets() const { return insets_; } CoordCacheBase<InsetBase> const & getInsets() const { return insets_; }
/// A map from (LyXText, paragraph) pair to screen positions /// A map from (LyXText, paragraph) pair to screen positions
ParPosCache & parPos() { BOOST_ASSERT(updating); return pars_; } ParPosCache & parPos() { return pars_; }
ParPosCache const & getParPos() const { return pars_; } ParPosCache const & getParPos() const { return pars_; }
/// ///
SliceCache & slice(bool boundary) SliceCache & slice(bool boundary)
{ {
BOOST_ASSERT(updating);
return boundary ? slices1_ : slices0_; return boundary ? slices1_ : slices0_;
} }
SliceCache const & getSlice(bool boundary) const SliceCache const & getSlice(bool boundary) const
@ -155,12 +148,6 @@ private:
SliceCache slices0_; SliceCache slices0_;
/// Used with boundary == 1 /// Used with boundary == 1
SliceCache slices1_; SliceCache slices1_;
/**
* Debugging flag only: Set to true while the cache is being built.
* No changes to the structure are allowed unless we are updating.
*/
bool updating;
}; };
extern CoordCache theCoords; extern CoordCache theCoords;