diff --git a/cpp/capi.cpp b/cpp/capi.cpp index da705af4..024e5ec9 100644 --- a/cpp/capi.cpp +++ b/cpp/capi.cpp @@ -743,6 +743,15 @@ void packDataValue(QVariant_ *var, DataValue *value) *(DataValue**)(value->data) = dvlist; } break; + case QMetaType::User: + { + static const int qjstype = QVariant::fromValue(QJSValue()).userType(); + if (qvar->userType() == qjstype) { + auto var = qvar->value().toVariant(); + packDataValue(&var, value); + } + } + break; default: if (qvar->type() == (int)QMetaType::QObjectStar || qvar->canConvert()) { QObject *qobject = qvar->value(); @@ -846,6 +855,8 @@ QQmlListProperty_ *newListProperty(GoAddr *addr, intptr_t reflectIndex, intptr_t void internalLogHandler(QtMsgType severity, const QMessageLogContext &context, const QString &text) { + if (context.file == NULL) return; + QByteArray textba = text.toUtf8(); LogMessage message = {severity, textba.constData(), textba.size(), context.file, (int)strlen(context.file), context.line}; hookLogHandler(&message);