2016-08-10 79 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發行版系列中並不明顯)頁)。