Skip to content

Commit 054cbda

Browse files
committed
fix #105: Ignore removed sprites in MouseEventHandler
1 parent 9002d3e commit 054cbda

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/mouseeventhandler.cpp

+8
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,14 @@ void scratchcpprender::MouseEventHandler::getSprites()
113113
Q_ASSERT(sprite->scratchTarget());
114114
m_sprites.push_back(sprite);
115115
}
116+
117+
// Make sure the clicked and hovered item pointers are in the list
118+
// If not, make them nullptr
119+
if (std::find(m_sprites.begin(), m_sprites.end(), m_clickedItem) == m_sprites.end())
120+
m_clickedItem = nullptr;
121+
122+
if (std::find(m_sprites.begin(), m_sprites.end(), m_hoveredItem) == m_sprites.end())
123+
m_hoveredItem = nullptr;
116124
}
117125

118126
void scratchcpprender::MouseEventHandler::addClone(SpriteModel *model)

0 commit comments

Comments
 (0)