- RowList::iterator kit = rowlist.begin();
- // Increase the pos of all rows with the
- // same id (and where the pos is larger)
- // to avoid putting errorinsets at the
- // same pos.
- for(; kit != rowlist.end(); ++kit) {
- if (&(*kit) != &(*cit)
- && (*kit).id == (*cit).id
- && (*kit).pos >= (*cit).pos)
- (*kit).pos++;
+ id = cit->id();
+ pos = cit->pos();
+ return true;
+ }
+ id = -1;
+ pos = 0;
+ return false;
+}
+
+
+// should perhaps have a better name...
+// Increase the pos of all rows with the
+// same id (and where the pos is larger)
+// to avoid putting errorinsets at the
+// same pos.
+void TexRow::increasePos(int id, int pos) const
+{
+ RowList::iterator kit = rowlist.begin();
+ RowList::iterator end = rowlist.end();
+ for (; kit != end; ++kit) {
+ if (id == kit->id()
+ && pos < kit->pos()) {
+ kit->pos(kit->pos() + 1);
+ lyxerr[Debug::INFO]
+ << "TeXRow::increasePos: ideally this "
+ "should never happen..." << endl;
+ }
+ // When verified to work this clause should be deleted.
+ if (id == kit->id()
+ && pos == kit->pos()) {
+ lyxerr[Debug::INFO]
+ << "TexRow::increasePos: this should happen "
+ "maximum one time for each run of "
+ "increasePos!" << endl;