Call releaseMouseModel() in stopSelection() of navigation style

This commit is contained in:
wmayer 2013-07-03 15:04:47 +02:00
parent 14ced6b202
commit 23ebb99827
2 changed files with 12 additions and 7 deletions

View File

@ -53,7 +53,7 @@ AbstractMouseSelection::AbstractMouseSelection() : _pcView3D(0)
void AbstractMouseSelection::grabMouseModel( Gui::View3DInventorViewer* viewer )
{
_pcView3D=viewer;
_pcView3D = viewer;
m_cPrevCursor = _pcView3D->getWidget()->cursor();
// do initialization of your mousemodel
@ -62,11 +62,13 @@ void AbstractMouseSelection::grabMouseModel( Gui::View3DInventorViewer* viewer )
void AbstractMouseSelection::releaseMouseModel()
{
// do termination of your mousemodel
terminate();
if (_pcView3D) {
// do termination of your mousemodel
terminate();
_pcView3D->getWidget()->setCursor(m_cPrevCursor);
_pcView3D = 0;
_pcView3D->getWidget()->setCursor(m_cPrevCursor);
_pcView3D = 0;
}
}
void AbstractMouseSelection::redraw()

View File

@ -1088,8 +1088,11 @@ void NavigationStyle::startSelection(NavigationStyle::SelectionMode mode)
void NavigationStyle::stopSelection()
{
pcPolygon.clear();
delete mouseSelection;
mouseSelection = 0;
if (mouseSelection) {
mouseSelection->releaseMouseModel();
delete mouseSelection;
mouseSelection = 0;
}
}
SbBool NavigationStyle::isSelecting() const