Hello:

So do we need a static Sing* in the singleton provider or is the example 
in the documentation correct?

I would guess the provider is called ONCE by the QML engine and not 
multiple times, but I am usually mistaken.

But I guess the static allocation will remove all doubt?

Ben Lau -> Thank you
Dmitry Volosnykh -> Thank you

Mark


On 5/22/2015 8:35 AM, Samuel Stirtzel wrote:
> 2015-05-22 16:30 GMT+02:00 Dmitry Volosnykh <dmitry.volosn...@gmail.com>:
>> Samuel, what you ask is explained here:
>> http://doc.qt.io/qt-5/qqmlengine.html#qmlRegisterSingletonType-2
>>
>> citation:
>>
>> NOTE: A QObject singleton type instance returned from a singleton type
>> provider is owned by the QML engine. For this reason, the singleton type
>> provider function should not be implemented as a singleton factory.
>>
>
> Ah ok thanks, at the first glance this code looked quite malicious,
> but reading the documentation sure helps ;)
>
>> On Fri, May 22, 2015 at 5:27 PM, Samuel Stirtzel <s.stirt...@googlemail.com>
>> wrote:
>>>
>>> 2015-05-22 15:56 GMT+02:00 mark diener <rpzrpz...@gmail.com>:
>>>
>>>> static QObject *singprovider(QQmlEngine *gengine, QJSEngine
>>>> *gscriptEngine)
>>>> {
>>>>      Q_UNUSED(gengine)
>>>>      Q_UNUSED(gscriptEngine)
>>>>      Sing* gsing = new Sing();
>>>>      return gsing;
>>>> }
>>>
>>> Is the return value of the function cached in qt internally?
>>> Or will this just create a new "singleton" with every call?
>>>
>>> how about this:
>>>
>>> static Sing* gsing = new Sing();
>>>
>
>

-- 
No spell checkers were harmed during the creation of this message.
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to