2016-08-10 46 views
0

我有一些使用Qt 5.6.1中的QtQuick.Controls 1.4的QML代码。我有一些围绕各种控件的包装,如ComboBox;这些使用Style对象。例如,MyComboBox是带有自定义ComboBoxStyleComboBoxQML对应Style对象的QtQuick`control`属性有时为空

每隔一段时间,当被加载某些部件,在Style对象的control属性是null

MyComboBox.qml

... 
style: ComboBoxStyle { 
    ... 
    label: Label { 
     text: control.currentText 
... 

将所得误差输出为:

qrc:/MyComboBox.qml:72: TypeError: Cannot read property 'currentText' of null 

重新启动应用程序通常会修复错误。

我不知道如何发生这种情况或为什么错误出现非确定性。我能做些什么来调查?

+0

它闻起来像5.6.1-1版本修复的问题:https://blog.qt.io/blog/2016/06/22/qt-5-6-1-1-released/ – jpnurmi

+0

@jpnurmi嗯 - 我的应用程序不是*崩溃*,但它绝对看起来可能是相关的,在任何情况下,这听起来像是一个非常丑陋的潜在错误,如果我碰到它可能会遇到。我会尝试修复bugfix,看看是否解决了我的问题。 5.6的这种“长期支持”结果是令人失望的。 –

+0

我认为图卡的描述有点误导。这个错误导致了一个更大的QML应用程序爆炸,这种'无法读取'空'错误的属性'foo'突然到处都是。如果我没有记错,那个特殊的纸袋错误不会导致文字崩溃。为什么它令人失望?当问题的严重性得以实现时,修复程序立即释放。 – jpnurmi

回答

0

这似乎已在release 5.6.1-1中修复;自升级以来,我们没有观察到这个错误。据推测,我们只是观察QTBUG-53761的一个不太关键的症状。

感谢jpnurmi识别我描述的症状与错误行为的相似性,并通知我已有修复的发布版(可惜的是,在Qt 5.6发行版系列中并不明显)页)。