From 2c4ab1644265e5c8e58637aeaa3640c7c4031b7c Mon Sep 17 00:00:00 2001 From: Filippo Cucchetto Date: Wed, 23 Mar 2016 22:52:07 +0100 Subject: [PATCH] Fixed missing return type in QDeclarative global functions --- src/private/qdeclarative.nim | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/private/qdeclarative.nim b/src/private/qdeclarative.nim index b431131..69fc145 100644 --- a/src/private/qdeclarative.nim +++ b/src/private/qdeclarative.nim @@ -15,20 +15,22 @@ proc deleter(id: cint, nimQObject: NimQObject) {.cdecl.} = let qobject = cast[QObject](nimQObject) GC_unref(qobject) -proc qmlRegisterType*[T](uri: string, major: int, minor: int, qmlName: string, ctor: proc(): T) {.cdecl.} = - var result: cint = 0 +proc qmlRegisterType*[T](uri: string, major: int, minor: int, qmlName: string, ctor: proc(): T): int = + var id: cint = 0 let metaObject: QMetaObject = T.staticMetaObject() let dosQmlRegisterType = DosQmlRegisterType(major: major.cint, minor: minor.cint, uri: uri.cstring, qml: qmlName.cstring, staticMetaObject: metaObject.vptr, createCallback: creator, deleteCallback: deleter) - dos_qdeclarative_qmlregistertype(dosQmlRegisterType.unsafeAddr, result) - ctorTable[result] = proc(): QObject = ctor().QObject + dos_qdeclarative_qmlregistertype(dosQmlRegisterType.unsafeAddr, id) + ctorTable[id] = proc(): QObject = ctor().QObject + id.int -proc qmlRegisterSingletonType*[T](uri: string, major: int, minor: int, qmlName: string, ctor: proc(): T) {.cdecl.} = - var result: cint = 0 +proc qmlRegisterSingletonType*[T](uri: string, major: int, minor: int, qmlName: string, ctor: proc(): T): int = + var id: cint = 0 let metaObject: QMetaObject = T.staticMetaObject() let dosQmlRegisterType = DosQmlRegisterType(major: major.cint, minor: minor.cint, uri: uri.cstring, qml: qmlName.cstring, staticMetaObject: metaObject.vptr, createCallback: creator, deleteCallback: deleter) - dos_qdeclarative_qmlregistersingletontype(dosQmlRegisterType.unsafeAddr, result) - ctorTable[result] = proc(): QObject = ctor().QObject + dos_qdeclarative_qmlregistersingletontype(dosQmlRegisterType.unsafeAddr, id) + ctorTable[id] = proc(): QObject = ctor().QObject + id.int