diff --git a/src/fgt/edit_hole/fgtBridge.h b/src/fgt/edit_hole/fgtBridge.h index e34362539..8e521bcb5 100644 --- a/src/fgt/edit_hole/fgtBridge.h +++ b/src/fgt/edit_hole/fgtBridge.h @@ -665,13 +665,17 @@ private: if(sideB.h->IsSelected()) sideA.h->SetSelect(true); sideA.h->SetBridged(true); - - typename HoleVector::iterator hit; - for(hit=holesManager->holes.begin(); hit!=holesManager->holes.end(); ++hit) - if(&*hit == sideB.h) - { - holesManager->holes.erase(hit); - return; + typename HoleVector::iterator hit = holesManager->holes.begin(); + //for(hit=holesManager->holes.begin(); hit!=holesManager->holes.end(); ++hit) + while(hit!=holesManager->holes.end()) + { + if(&*hit == sideB.h) + { + holesManager->holes.erase(hit++); + return; + } + else + hit++; } }; diff --git a/src/fgt/edit_hole/fillerDialog.cpp b/src/fgt/edit_hole/fillerDialog.cpp index 32e6eb181..8255f727f 100644 --- a/src/fgt/edit_hole/fillerDialog.cpp +++ b/src/fgt/edit_hole/fillerDialog.cpp @@ -29,7 +29,8 @@ FillerDialog::FillerDialog(QWidget *parent) someBridge = false; ui.setupUi(this); this->setWidget(ui.frame_main); - + ui.bridgeTab->setEnabled(false); + QPoint p=parent->mapToGlobal(QPoint(0,0)); this->setGeometry(p.x()+(parent->width()-width()),p.y()+58,width(),height() ); this->setFloating(true); diff --git a/src/fgt/edit_hole/holeSetManager.h b/src/fgt/edit_hole/holeSetManager.h index 945f18704..0c1a3a288 100644 --- a/src/fgt/edit_hole/holeSetManager.h +++ b/src/fgt/edit_hole/holeSetManager.h @@ -179,11 +179,11 @@ public: } } it->ResetFlag(); - it = holes.erase(it); + it = holes.erase(it++); continue; } } - it++; + else it++; } for(fpit = bridgeF.begin(); fpit != bridgeF.end(); fpit++) @@ -198,7 +198,7 @@ public: { (*bit)->ResetFlag(); delete *bit; - bit = bridges.erase(bit); + bit = bridges.erase(bit++); } else bit++; @@ -454,7 +454,7 @@ private: curPos.NextB(); }while( curPos != hit->p ); } - hit = holes.erase(hit); + hit = holes.erase(hit++); } else hit++;