Re: [Interest] QQmlEngine: Illegal attempt to connect to PlatformShim(0xb9b2fb58) that is in a different thread than the QML engine QQmlApplicationEngine(0xa17e1494.

2016-12-06 Thread Jason H
I'm still stuck. I don't know how to do this.

To recap: main.cpp make a singleton called platformShim and adds it as a 
property to the QQmlEngine.
Then later when trying to use a Connections element to provide a signal handler 
I am told
QQmlEngine: Illegal attempt to connect to PlatformShim( that is in a different 
thread than the QML engine.

However both of these were created in main().

QQmlApplicationEngine engine;
PlatformShim *shim = PlatformShim::instance();
engine.rootContext()->setContextProperty(QStringLiteral("platformShim"), shim);

I don't know how that error message is correct, or how to work around it.

Any help is appreciated.

> Sent: Friday, December 02, 2016 at 3:02 AM
> From: "Kristoffersen, Even (NO14)" 
> To: "Qt Interest" 
> Subject: Re: [Interest] QQmlEngine: Illegal attempt to connect to 
> PlatformShim(0xb9b2fb58) that is in a different thread than the QML engine 
> QQmlApplicationEngine(0xa17e1494.
>
> The singleton one requires QML to be able to create the instance and own it 
> doesn't it?
> 
> I'd switch to qmlRegisterUncreatableType()
> 
> 
> -Even
> 
> -Original Message-
> From: Interest 
> [mailto:interest-bounces+even.kristoffersen=honeywell@qt-project.org] On 
> Behalf Of Jason H
> Sent: 1. desember 2016 23:46
> To: Jason H 
> Cc: Qt Interest 
> Subject: Re: [Interest] QQmlEngine: Illegal attempt to connect to 
> PlatformShim(0xb9b2fb58) that is in a different thread than the QML engine 
> QQmlApplicationEngine(0xa17e1494.
> 
> Still having issues... But made some "progress"
> So I changed to using 
> qmlRegisterSingletonType("PlatformSupport", 1, 0 
> "PlatformShim", &getPlatformShim) However when I do I get 1 of 2 errors:
> 1. Element is not creatable:  when trying to declare a signal handler like 
> PlatformShim { onPushNotificationReceived; {} } 2. Non-existent attached 
> object: when trying to declare a signal handler (in QML) 
> PlatformShim.onPushTokenReceived: { }
> 
> I also added:
> QObject *getPlatformShim(QQmlEngine *engine, QJSEngine *scriptEngine) {
>   Q_UNUSED(engine)
>   Q_UNUSED(scriptEngine)
> 
>   return PlatformShim::instance();
> }
> 
> and
> import PlatformSupport 1.0 to the QML 
> 
> > Sent: Thursday, December 01, 2016 at 4:45 PM
> > From: "Jason H" 
> > To: "Qt Interest" 
> > Subject: [Interest] QQmlEngine: Illegal attempt to connect to 
> > PlatformShim(0xb9b2fb58) that is in a different thread than the QML engine 
> > QQmlApplicationEngine(0xa17e1494.
> >
> > I get that error when:
> > main.cpp:
> > PlatformShim *shim = PlatformShim::instance(); 
> > engine.rootContext()->setContextProperty(QStringLiteral("platformShim"
> > ), shim);
> > 
> > In a QML file:
> > Connections {
> > target: platformShim
> > onPushTokenReceived: {
> > pushToken = token
> > }
> > }
> > 
> > I thought Connections were ok across threads?
> > ___
> > Interest mailing list
> > Interest@qt-project.org
> > http://lists.qt-project.org/mailman/listinfo/interest
> > 
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
> 
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QQmlEngine: Illegal attempt to connect to PlatformShim(0xb9b2fb58) that is in a different thread than the QML engine QQmlApplicationEngine(0xa17e1494.

2016-12-02 Thread Kristoffersen, Even (NO14)
The singleton one requires QML to be able to create the instance and own it 
doesn't it?

I'd switch to qmlRegisterUncreatableType()


-Even

-Original Message-
From: Interest 
[mailto:interest-bounces+even.kristoffersen=honeywell@qt-project.org] On 
Behalf Of Jason H
Sent: 1. desember 2016 23:46
To: Jason H 
Cc: Qt Interest 
Subject: Re: [Interest] QQmlEngine: Illegal attempt to connect to 
PlatformShim(0xb9b2fb58) that is in a different thread than the QML engine 
QQmlApplicationEngine(0xa17e1494.

Still having issues... But made some "progress"
So I changed to using qmlRegisterSingletonType("PlatformSupport", 
1, 0 "PlatformShim", &getPlatformShim) However when I do I get 1 of 2 errors:
1. Element is not creatable:  when trying to declare a signal handler like 
PlatformShim { onPushNotificationReceived; {} } 2. Non-existent attached 
object: when trying to declare a signal handler (in QML) 
PlatformShim.onPushTokenReceived: { }

I also added:
QObject *getPlatformShim(QQmlEngine *engine, QJSEngine *scriptEngine) {
Q_UNUSED(engine)
Q_UNUSED(scriptEngine)

return PlatformShim::instance();
}

and
import PlatformSupport 1.0 to the QML 

> Sent: Thursday, December 01, 2016 at 4:45 PM
> From: "Jason H" 
> To: "Qt Interest" 
> Subject: [Interest] QQmlEngine: Illegal attempt to connect to 
> PlatformShim(0xb9b2fb58) that is in a different thread than the QML engine 
> QQmlApplicationEngine(0xa17e1494.
>
> I get that error when:
> main.cpp:
> PlatformShim *shim = PlatformShim::instance(); 
> engine.rootContext()->setContextProperty(QStringLiteral("platformShim"
> ), shim);
> 
> In a QML file:
> Connections {
>   target: platformShim
>   onPushTokenReceived: {
>   pushToken = token
>   }
> }
> 
> I thought Connections were ok across threads?
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
> 
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QQmlEngine: Illegal attempt to connect to PlatformShim(0xb9b2fb58) that is in a different thread than the QML engine QQmlApplicationEngine(0xa17e1494.

2016-12-01 Thread Jason H
Still having issues... But made some "progress"
So I changed to using qmlRegisterSingletonType("PlatformSupport", 
1, 0 "PlatformShim", &getPlatformShim)
However when I do I get 1 of 2 errors:
1. Element is not creatable:  when trying to declare a signal handler like 
PlatformShim { onPushNotificationReceived; {} }
2. Non-existent attached object: when trying to declare a signal handler (in 
QML) PlatformShim.onPushTokenReceived: { }

I also added:
QObject *getPlatformShim(QQmlEngine *engine, QJSEngine *scriptEngine)
{
Q_UNUSED(engine)
Q_UNUSED(scriptEngine)

return PlatformShim::instance();
}

and 
import PlatformSupport 1.0 to the QML 

> Sent: Thursday, December 01, 2016 at 4:45 PM
> From: "Jason H" 
> To: "Qt Interest" 
> Subject: [Interest] QQmlEngine: Illegal attempt to connect to 
> PlatformShim(0xb9b2fb58) that is in a different thread than the QML engine 
> QQmlApplicationEngine(0xa17e1494.
>
> I get that error when:
> main.cpp:
> PlatformShim *shim = PlatformShim::instance();
> engine.rootContext()->setContextProperty(QStringLiteral("platformShim"), 
> shim);
> 
> In a QML file:
> Connections {
>   target: platformShim
>   onPushTokenReceived: {
>   pushToken = token
>   }
> }
> 
> I thought Connections were ok across threads?
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
> 
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] QQmlEngine: Illegal attempt to connect to PlatformShim(0xb9b2fb58) that is in a different thread than the QML engine QQmlApplicationEngine(0xa17e1494.

2016-12-01 Thread Jason H
I get that error when:
main.cpp:
PlatformShim *shim = PlatformShim::instance();
engine.rootContext()->setContextProperty(QStringLiteral("platformShim"), shim);

In a QML file:
Connections {
target: platformShim
onPushTokenReceived: {
pushToken = token
}
}

I thought Connections were ok across threads?
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest