Hi,

There is a code like the following:

QVariant objectNameVariant = item->property( "objectName" );
                        QString                          objectNameString = 
objectNameVariant.toString();               
qDebug () << "objectNameString: " << objectNameString;

QVariant keyboardEnabledVariant = item->property( "keyboardEnabled" );
                        bool                     keyboardEnabled = 
keyboardEnabledVariant.toBool();             
qDebug () << "keyboardEnabled: " << keyboardEnabled;

QVariant keyboardRaisedVariant = item->property( "keyboardRaised" );
                        bool                     keyboardRaised = 
keyboardRaisedVariant.toBool();               
qDebug () << "keyboardRaised: " << keyboardRaised;

.. and I'm investigating occasional crashes on the line "QVariant keyboardRaisedVariant = item->property( "keyboardRaised" );"

The first crash was confronted under the Linux/Qt 5.9.1 but it is also reproducible on both Windows and Linux with Qt 5.10 (although not 100% of time).

Based on what I see in DEBUG it happens because of null 'engine' inside QQmlNotifierEndpoint::connect. But under what conditions engine could become null?

The only idea I have at the moment is that 'item' gets garbage-collected by the time of querying 'keyboardRaised' but I'm not sure how to prove it. What other possible theories makes sense to check?

Regards, Alexander
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to