From b36f0c6aadbd7a6bf28581b464ef6b5cb35e7d6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20Gullik=20Bj=C3=B8nnes?= Date: Mon, 12 Mar 2001 13:58:11 +0000 Subject: [PATCH] mathed55.diff git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1744 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/mathed/ChangeLog | 4 ++++ src/mathed/math_rowst.h | 19 ++++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/mathed/ChangeLog b/src/mathed/ChangeLog index 56f81a59f7..e48fb0bedc 100644 --- a/src/mathed/ChangeLog +++ b/src/mathed/ChangeLog @@ -1,4 +1,8 @@ +2001-03-12 André Pönitz + * math_rowst.h: replace MathedRowSt with MathedRowSt, + more robust MathedRowSt::[gs]etTab (to get rid of the constructor arg) + 2001-03-10 André Pönitz * math_xiter.[Ch]: math_matrixinset.C: move adjustVerticalSt to the only place where diff --git a/src/mathed/math_rowst.h b/src/mathed/math_rowst.h index 3b1c7f24ba..222a8eb5e0 100644 --- a/src/mathed/math_rowst.h +++ b/src/mathed/math_rowst.h @@ -39,13 +39,13 @@ public: /// void descent(int d); /// - int getTab(int i) const; + int getTab(unsigned int i) const; /// void setLabel(string const & l); /// void setNumbered(bool nf); /// - void setTab(int i, int t); + void setTab(unsigned int i, int t); /// friend class MathedRowSt; protected: @@ -72,6 +72,9 @@ public: explicit MathedRowSt(int n) : MathedRowStruct(n), next_(0) {} + explicit MathedRowSt(MathedRowStruct const & t) + : MathedRowStruct(t), next_(0) + {} //private: /// MathedRowSt * next_; @@ -150,7 +153,7 @@ struct MathedRowContainer { bool empty() const { return data_ == 0; } /// insert 'item' before 'iterator' - void insert(iterator const & it, MathedRowSt const & item) { + void insert(iterator const & it, MathedRowStruct const & item) { MathedRowSt * r = new MathedRowSt(item); if (data_ == it.st_) data_ = r; @@ -163,7 +166,7 @@ struct MathedRowContainer { } /// insert 'item' after 'iterator' - void insert_after(iterator & it, MathedRowSt const & item) { + void insert_after(iterator & it, MathedRowStruct const & item) { MathedRowSt * r = new MathedRowSt(item); if (it) { r->next_ = it.st_->next_; @@ -251,9 +254,9 @@ void MathedRowStruct::descent(int d) inline -int MathedRowStruct::getTab(int i) const +int MathedRowStruct::getTab(unsigned int i) const { - return widths_[i]; + return i < widths_.size() ? widths_[i] : 0; } @@ -272,8 +275,10 @@ void MathedRowStruct::setNumbered(bool nf) inline -void MathedRowStruct::setTab(int i, int t) +void MathedRowStruct::setTab(unsigned int i, int t) { + if (i >= widths_.size()) + widths_.resize(i + 2); widths_[i] = t; } #endif