Fix crash when resetting spot removal with drag

Do not attempt to update non-existent spots immediately after resetting
the spot removal tool.
This commit is contained in:
Lawrence Lee 2021-05-22 17:51:54 -07:00
parent 76706ac276
commit a5de8920fb

View File

@ -172,6 +172,7 @@ void Spot::resetPressed()
} }
} else { } else {
if (!spots.empty()) { if (!spots.empty()) {
EditSubscriber::action = EditSubscriber::Action::NONE;
spots.clear(); spots.clear();
activeSpot = -1; activeSpot = -1;
lastObject = -1; lastObject = -1;
@ -657,6 +658,10 @@ bool Spot::button3Released()
bool Spot::drag1 (int modifierKey) bool Spot::drag1 (int modifierKey)
{ {
if (EditSubscriber::action != EditSubscriber::Action::DRAGGING) {
return false;
}
EditDataProvider *editProvider = getEditProvider(); EditDataProvider *editProvider = getEditProvider();
int imW, imH; int imW, imH;
editProvider->getImageSize (imW, imH); editProvider->getImageSize (imW, imH);
@ -738,6 +743,10 @@ bool Spot::drag1 (int modifierKey)
bool Spot::drag3 (int modifierKey) bool Spot::drag3 (int modifierKey)
{ {
if (EditSubscriber::action != EditSubscriber::Action::DRAGGING) {
return false;
}
EditDataProvider *editProvider = getEditProvider(); EditDataProvider *editProvider = getEditProvider();
int imW, imH; int imW, imH;
editProvider->getImageSize (imW, imH); editProvider->getImageSize (imW, imH);