mirror of
https://github.com/overte-org/overte.git
synced 2025-08-04 03:03:35 +02:00
Cleanup web entity connections
This commit is contained in:
parent
908c1072ce
commit
981c6c7af5
2 changed files with 14 additions and 4 deletions
|
@ -54,6 +54,11 @@ RenderableWebEntityItem::~RenderableWebEntityItem() {
|
||||||
webSurface->deleteLater();
|
webSurface->deleteLater();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QObject::disconnect(_mousePressConnection);
|
||||||
|
QObject::disconnect(_mouseReleaseConnection);
|
||||||
|
QObject::disconnect(_mouseMoveConnection);
|
||||||
|
QObject::disconnect(_hoverLeaveConnection);
|
||||||
qDebug() << "Destroyed web entity " << getID();
|
qDebug() << "Destroyed web entity " << getID();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,10 +161,10 @@ void RenderableWebEntityItem::render(RenderArgs* args) {
|
||||||
};
|
};
|
||||||
|
|
||||||
EntityTreeRenderer* renderer = static_cast<EntityTreeRenderer*>(args->_renderer);
|
EntityTreeRenderer* renderer = static_cast<EntityTreeRenderer*>(args->_renderer);
|
||||||
QObject::connect(renderer, &EntityTreeRenderer::mousePressOnEntity, forwardMouseEvent);
|
_mousePressConnection = QObject::connect(renderer, &EntityTreeRenderer::mousePressOnEntity, forwardMouseEvent);
|
||||||
QObject::connect(renderer, &EntityTreeRenderer::mouseReleaseOnEntity, forwardMouseEvent);
|
_mouseReleaseConnection = QObject::connect(renderer, &EntityTreeRenderer::mouseReleaseOnEntity, forwardMouseEvent);
|
||||||
QObject::connect(renderer, &EntityTreeRenderer::mouseMoveOnEntity, forwardMouseEvent);
|
_mouseMoveConnection = QObject::connect(renderer, &EntityTreeRenderer::mouseMoveOnEntity, forwardMouseEvent);
|
||||||
QObject::connect(renderer, &EntityTreeRenderer::hoverLeaveEntity, [=](const EntityItemID& entityItemID, const MouseEvent& event) {
|
_hoverLeaveConnection = QObject::connect(renderer, &EntityTreeRenderer::hoverLeaveEntity, [=](const EntityItemID& entityItemID, const MouseEvent& event) {
|
||||||
if (this->_pressed && this->getID() == entityItemID) {
|
if (this->_pressed && this->getID() == entityItemID) {
|
||||||
// If the user mouses off the entity while the button is down, simulate a mouse release
|
// If the user mouses off the entity while the button is down, simulate a mouse release
|
||||||
QMouseEvent mappedEvent(QEvent::MouseButtonRelease,
|
QMouseEvent mappedEvent(QEvent::MouseButtonRelease,
|
||||||
|
|
|
@ -40,6 +40,11 @@ private:
|
||||||
ivec2 _lastPress{ INT_MIN };
|
ivec2 _lastPress{ INT_MIN };
|
||||||
bool _pressed{ false };
|
bool _pressed{ false };
|
||||||
ivec2 _lastMove{ INT_MIN };
|
ivec2 _lastMove{ INT_MIN };
|
||||||
|
|
||||||
|
QMetaObject::Connection _mousePressConnection;
|
||||||
|
QMetaObject::Connection _mouseReleaseConnection;
|
||||||
|
QMetaObject::Connection _mouseMoveConnection;
|
||||||
|
QMetaObject::Connection _hoverLeaveConnection;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue