mirror of
https://github.com/Armored-Dragon/overte.git
synced 2025-03-11 16:13:16 +01:00
Added QTimer* script data type and some nullptr checks
This commit is contained in:
parent
80e5f2430f
commit
e9984c72f0
21 changed files with 43 additions and 11 deletions
|
@ -7989,6 +7989,7 @@ void Application::addAssetToWorldFromURL(QString url) {
|
|||
|
||||
void Application::addAssetToWorldFromURLRequestFinished() {
|
||||
auto request = qobject_cast<ResourceRequest*>(sender());
|
||||
Q_ASSERT(request != nullptr);
|
||||
auto url = request->getUrl().toString();
|
||||
auto result = request->getResult();
|
||||
|
||||
|
@ -9357,6 +9358,7 @@ void Application::setActiveDisplayPlugin(const QString& pluginName) {
|
|||
|
||||
void Application::handleLocalServerConnection() const {
|
||||
auto server = qobject_cast<QLocalServer*>(sender());
|
||||
Q_ASSERT(server != nullptr);
|
||||
|
||||
qCDebug(interfaceapp) << "Got connection on local server from additional instance - waiting for parameters";
|
||||
|
||||
|
@ -9370,6 +9372,7 @@ void Application::handleLocalServerConnection() const {
|
|||
|
||||
void Application::readArgumentsFromLocalSocket() const {
|
||||
auto socket = qobject_cast<QLocalSocket*>(sender());
|
||||
Q_ASSERT(socket != nullptr);
|
||||
|
||||
auto message = socket->readAll();
|
||||
socket->deleteLater();
|
||||
|
|
|
@ -73,6 +73,7 @@ QString LocationBookmarks::getAddress(const QString& bookmarkName) {
|
|||
|
||||
void LocationBookmarks::teleportToBookmark() {
|
||||
QAction* action = qobject_cast<QAction*>(sender());
|
||||
Q_ASSERT(action != nullptr);
|
||||
QString address = action->data().toString();
|
||||
DependencyManager::get<AddressManager>()->handleLookupString(address);
|
||||
}
|
||||
|
|
|
@ -74,6 +74,7 @@ void CloseEventSender::handleQuitEventFinished() {
|
|||
_hasFinishedQuitEvent = true;
|
||||
|
||||
auto reply = qobject_cast<QNetworkReply*>(sender());
|
||||
Q_ASSERT(reply != nullptr);
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
qCDebug(networking) << "Quit event sent successfully";
|
||||
} else {
|
||||
|
|
|
@ -604,6 +604,7 @@ void WindowScriptingInterface::closeMessageBox(int id) {
|
|||
|
||||
void WindowScriptingInterface::onMessageBoxSelected(int button) {
|
||||
auto messageBox = qobject_cast<QQuickItem*>(sender());
|
||||
Q_ASSERT(messageBox != nullptr);
|
||||
auto keys = _messageBoxes.keys(messageBox);
|
||||
if (keys.length() > 0) {
|
||||
auto id = keys[0]; // Should be just one message box.
|
||||
|
|
|
@ -34,8 +34,7 @@ ScriptValue injectorToScriptValue(ScriptEngine* engine, ScriptAudioInjector* con
|
|||
}
|
||||
|
||||
bool injectorFromScriptValue(const ScriptValue& object, ScriptAudioInjector*& out) {
|
||||
out = qobject_cast<ScriptAudioInjector*>(object.toQObject());
|
||||
return true;
|
||||
return (out = qobject_cast<ScriptAudioInjector*>(object.toQObject())) != nullptr;
|
||||
}
|
||||
|
||||
ScriptAudioInjector::ScriptAudioInjector(const AudioInjectorPointer& injector) :
|
||||
|
|
|
@ -58,6 +58,7 @@ void AutoUpdater::getLatestVersionData() {
|
|||
|
||||
void AutoUpdater::parseLatestVersionData() {
|
||||
QNetworkReply* sender = qobject_cast<QNetworkReply*>(QObject::sender());
|
||||
Q_ASSERT(sender != nullptr);
|
||||
|
||||
QXmlStreamReader xml(sender);
|
||||
|
||||
|
|
|
@ -77,6 +77,7 @@ void JSBaker::loadScript() {
|
|||
|
||||
void JSBaker::handleScriptNetworkReply() {
|
||||
auto requestReply = qobject_cast<QNetworkReply*>(sender());
|
||||
Q_ASSERT(requestReply != nullptr);
|
||||
|
||||
if (requestReply->error() == QNetworkReply::NoError) {
|
||||
qCDebug(js_baking) << "Downloaded script" << _jsURL;
|
||||
|
|
|
@ -177,6 +177,7 @@ void ModelBaker::saveSourceModel() {
|
|||
|
||||
void ModelBaker::handleModelNetworkReply() {
|
||||
auto requestReply = qobject_cast<QNetworkReply*>(sender());
|
||||
Q_ASSERT(requestReply != nullptr);
|
||||
|
||||
if (requestReply->error() == QNetworkReply::NoError) {
|
||||
qCDebug(model_baking) << "Downloaded" << _modelURL;
|
||||
|
|
|
@ -114,6 +114,7 @@ void TextureBaker::loadTexture() {
|
|||
|
||||
void TextureBaker::handleTextureNetworkReply() {
|
||||
auto requestReply = qobject_cast<QNetworkReply*>(sender());
|
||||
Q_ASSERT(requestReply != nullptr);
|
||||
|
||||
if (requestReply->error() == QNetworkReply::NoError) {
|
||||
qCDebug(model_baking) << "Downloaded texture" << _textureURL;
|
||||
|
|
|
@ -37,8 +37,7 @@ ScriptValue inputControllerToScriptValue(ScriptEngine* engine, controller::Input
|
|||
}
|
||||
|
||||
bool inputControllerFromScriptValue(const ScriptValue& object, controller::InputController*& out) {
|
||||
out = qobject_cast<controller::InputController*>(object.toQObject());
|
||||
return true;
|
||||
return (out = qobject_cast<controller::InputController*>(object.toQObject())) != nullptr;
|
||||
}
|
||||
|
||||
STATIC_SCRIPT_TYPES_INITIALIZER((+[](ScriptManager* manager) {
|
||||
|
|
|
@ -27,6 +27,7 @@ STATIC_SCRIPT_INITIALIZER(+[](ScriptManager* manager) {
|
|||
|
||||
ModelScriptingInterface::ModelScriptingInterface(QObject* parent) : QObject(parent) {
|
||||
_modelScriptEngine = qobject_cast<ScriptManager*>(parent)->engine();
|
||||
Q_ASSERT(_modelScriptEngine != nullptr);
|
||||
|
||||
scriptRegisterSequenceMetaType<QList<MeshProxy*>>(_modelScriptEngine.get());
|
||||
scriptRegisterMetaType<MeshFace, meshFaceToScriptValue, meshFaceFromScriptValue>(_modelScriptEngine.get());
|
||||
|
|
|
@ -78,8 +78,10 @@ void AssetClient::initCaching() {
|
|||
<< "(size:" << MAXIMUM_CACHE_SIZE / BYTES_PER_GIGABYTES << "GB)";
|
||||
} else {
|
||||
auto cache = qobject_cast<QNetworkDiskCache*>(networkAccessManager.cache());
|
||||
qInfo() << "ResourceManager disk cache already setup at" << cache->cacheDirectory()
|
||||
<< "(size:" << cache->maximumCacheSize() / BYTES_PER_GIGABYTES << "GB)";
|
||||
if (cache) {
|
||||
qInfo() << "ResourceManager disk cache already setup at" << cache->cacheDirectory()
|
||||
<< "(size:" << cache->maximumCacheSize() / BYTES_PER_GIGABYTES << "GB)";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -294,7 +296,6 @@ void AssetClient::cacheInfoRequest(QObject* reciever, QString slot) {
|
|||
return;
|
||||
}
|
||||
|
||||
|
||||
if (auto* cache = qobject_cast<QNetworkDiskCache*>(NetworkAccessManager::getInstance().cache())) {
|
||||
QMetaObject::invokeMethod(reciever, slot.toStdString().data(), Qt::QueuedConnection,
|
||||
Q_ARG(QString, cache->cacheDirectory()),
|
||||
|
|
|
@ -124,6 +124,7 @@ Font::Pointer Font::load(const QString& family) {
|
|||
|
||||
void Font::handleFontNetworkReply() {
|
||||
auto requestReply = qobject_cast<QNetworkReply*>(sender());
|
||||
Q_ASSERT(requestReply != nullptr);
|
||||
|
||||
if (requestReply->error() == QNetworkReply::NoError) {
|
||||
setLoaded(true);
|
||||
|
|
|
@ -134,6 +134,7 @@ void ScriptCache::scriptContentAvailable(int maxRetries) {
|
|||
qCDebug(scriptengine) << "ScriptCache::scriptContentAvailable() on thread [" << QThread::currentThread() << "] expected thread [" << thread() << "]";
|
||||
#endif
|
||||
ResourceRequest* req = qobject_cast<ResourceRequest*>(sender());
|
||||
Q_ASSERT(req != nullptr);
|
||||
QUrl url = req->getUrl();
|
||||
|
||||
QString scriptContent;
|
||||
|
|
|
@ -555,6 +555,7 @@ ScriptManagerPointer ScriptEngines::getScriptEngine(const QUrl& rawScriptURL) {
|
|||
void ScriptEngines::onScriptEngineLoaded(const QString& rawScriptURL) {
|
||||
UserActivityLogger::getInstance().loadedScript(rawScriptURL);
|
||||
ScriptManagerPointer scriptEngine = qobject_cast<ScriptManager*>(sender())->shared_from_this();
|
||||
Q_ASSERT(scriptEngine != nullptr);
|
||||
|
||||
launchScriptEngine(scriptEngine);
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include <QtCore/QRect>
|
||||
#include <QtCore/QUrl>
|
||||
#include <QtCore/QUuid>
|
||||
#include <QtCore/QTimer>
|
||||
|
||||
#include <AACube.h>
|
||||
#include <shared/MiniPromises.h>
|
||||
|
@ -68,6 +69,7 @@ void registerMetaTypes(ScriptEngine* engine) {
|
|||
scriptRegisterMetaType<QRect, qRectToScriptValue, qRectFromScriptValue>(engine);
|
||||
scriptRegisterMetaType<QUrl, qURLToScriptValue, qURLFromScriptValue>(engine);
|
||||
scriptRegisterMetaType<QColor, qColorToScriptValue, qColorFromScriptValue>(engine);
|
||||
scriptRegisterMetaType<QTimer*, qTimerToScriptValue, qTimerFromScriptValue>(engine, "QTimer*");
|
||||
|
||||
scriptRegisterMetaType<PickRay, pickRayToScriptValue, pickRayFromScriptValue>(engine);
|
||||
scriptRegisterMetaType<Collision, collisionToScriptValue, collisionFromScriptValue>(engine);
|
||||
|
@ -665,6 +667,14 @@ bool aaCubeFromScriptValue(const ScriptValue& object, AACube& aaCube) {
|
|||
return true;
|
||||
}
|
||||
|
||||
ScriptValue qTimerToScriptValue(ScriptEngine* engine, QTimer* const &in) {
|
||||
return engine->newQObject(in, ScriptEngine::QtOwnership);
|
||||
}
|
||||
|
||||
bool qTimerFromScriptValue(const ScriptValue& object, QTimer* &out) {
|
||||
return (out = qobject_cast<QTimer*>(object.toQObject())) != nullptr;
|
||||
}
|
||||
|
||||
bool qColorFromScriptValue(const ScriptValue& object, QColor& color) {
|
||||
if (object.isNumber()) {
|
||||
color.setRgb(object.toUInt32());
|
||||
|
@ -834,8 +844,7 @@ ScriptValue meshToScriptValue(ScriptEngine* engine, MeshProxy* const& in) {
|
|||
}
|
||||
|
||||
bool meshFromScriptValue(const ScriptValue& value, MeshProxy*& out) {
|
||||
out = qobject_cast<MeshProxy*>(value.toQObject());
|
||||
return true;
|
||||
return (out = qobject_cast<MeshProxy*>(value.toQObject())) != nullptr;
|
||||
}
|
||||
|
||||
ScriptValue meshesToScriptValue(ScriptEngine* engine, const MeshProxyList& in) {
|
||||
|
|
|
@ -174,6 +174,11 @@ class QColor;
|
|||
ScriptValue qColorToScriptValue(ScriptEngine* engine, const QColor& color);
|
||||
bool qColorFromScriptValue(const ScriptValue& object, QColor& color);
|
||||
|
||||
//QTimer
|
||||
class QTimer;
|
||||
ScriptValue qTimerToScriptValue(ScriptEngine* engine, QTimer* const &in);
|
||||
bool qTimerFromScriptValue(const ScriptValue& object, QTimer* &out);
|
||||
|
||||
class QUrl;
|
||||
ScriptValue qURLToScriptValue(ScriptEngine* engine, const QUrl& url);
|
||||
bool qURLFromScriptValue(const ScriptValue& object, QUrl& url);
|
||||
|
|
|
@ -218,8 +218,7 @@ ScriptValue webSocketToScriptValue(ScriptEngine* engine, WebSocketClass* const &
|
|||
}
|
||||
|
||||
bool webSocketFromScriptValue(const ScriptValue &object, WebSocketClass* &out) {
|
||||
out = qobject_cast<WebSocketClass*>(object.toQObject());
|
||||
return true;
|
||||
return (out = qobject_cast<WebSocketClass*>(object.toQObject())) != nullptr;
|
||||
}
|
||||
|
||||
ScriptValue wscReadyStateToScriptValue(ScriptEngine* engine, const WebSocketClass::ReadyState& readyState) {
|
||||
|
|
|
@ -321,6 +321,7 @@ void TabletScriptingInterface::processTabletEvents(QObject* object, const QKeyEv
|
|||
void TabletScriptingInterface::processEvent(const QKeyEvent* event) {
|
||||
Q_ASSERT(QThread::currentThread() == qApp->thread());
|
||||
TabletProxy* tablet = qobject_cast<TabletProxy*>(getTablet(SYSTEM_TABLET));
|
||||
Q_ASSERT(tablet != nullptr);
|
||||
QObject* qmlTablet = tablet->getQmlTablet();
|
||||
QObject* qmlMenu = tablet->getQmlMenu();
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ ScriptValue toolbarToScriptValue(ScriptEngine* engine, ToolbarProxy* const &in)
|
|||
|
||||
void toolbarFromScriptValue(const ScriptValue& value, ToolbarProxy* &out) {
|
||||
out = qobject_cast<ToolbarProxy*>(value.toQObject());
|
||||
Q_ASSERT(out != nullptr);
|
||||
}
|
||||
|
||||
ScriptValue toolbarButtonToScriptValue(ScriptEngine* engine, ToolbarButtonProxy* const &in) {
|
||||
|
@ -46,6 +47,7 @@ ScriptValue toolbarButtonToScriptValue(ScriptEngine* engine, ToolbarButtonProxy*
|
|||
|
||||
void toolbarButtonFromScriptValue(const ScriptValue& value, ToolbarButtonProxy* &out) {
|
||||
out = qobject_cast<ToolbarButtonProxy*>(value.toQObject());
|
||||
Q_ASSERT(out != nullptr);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -49,6 +49,7 @@ void ModesWidget::setupUI() {
|
|||
|
||||
void ModesWidget::showModelBakingWidget() {
|
||||
auto stackedWidget = qobject_cast<QStackedWidget*>(parentWidget());
|
||||
Q_ASSERT(stackedWidget != nullptr);
|
||||
|
||||
// add a new widget for model baking to the stack, and switch to it
|
||||
stackedWidget->setCurrentIndex(stackedWidget->addWidget(new ModelBakeWidget));
|
||||
|
@ -56,6 +57,7 @@ void ModesWidget::showModelBakingWidget() {
|
|||
|
||||
void ModesWidget::showDomainBakingWidget() {
|
||||
auto stackedWidget = qobject_cast<QStackedWidget*>(parentWidget());
|
||||
Q_ASSERT(stackedWidget != nullptr);
|
||||
|
||||
// add a new widget for domain baking to the stack, and switch to it
|
||||
stackedWidget->setCurrentIndex(stackedWidget->addWidget(new DomainBakeWidget));
|
||||
|
@ -63,6 +65,7 @@ void ModesWidget::showDomainBakingWidget() {
|
|||
|
||||
void ModesWidget::showSkyboxBakingWidget() {
|
||||
auto stackedWidget = qobject_cast<QStackedWidget*>(parentWidget());
|
||||
Q_ASSERT(stackedWidget != nullptr);
|
||||
|
||||
// add a new widget for skybox baking to the stack, and switch to it
|
||||
stackedWidget->setCurrentIndex(stackedWidget->addWidget(new SkyboxBakeWidget));
|
||||
|
|
Loading…
Reference in a new issue