diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp index f259f7e3a4..759e41a5fa 100644 --- a/src/widgets/widgets/qwidgetlinecontrol.cpp +++ b/src/widgets/widgets/qwidgetlinecontrol.cpp @@ -936,7 +936,7 @@ void QWidgetLineControl::parseInputMask(const QString &maskFields) delete [] m_maskData; m_maskData = 0; m_maxLength = 32767; - internalSetText(QString()); + internalSetText(QString(), -1, false); } return; } @@ -1022,7 +1022,7 @@ void QWidgetLineControl::parseInputMask(const QString &maskFields) } } } - internalSetText(m_text); + internalSetText(m_text, -1, false); } diff --git a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp index 4e29688de6..9417541040 100644 --- a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp +++ b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp @@ -308,6 +308,7 @@ private slots: void shouldShowPlaceholderText_data(); void shouldShowPlaceholderText(); + void QTBUG1266_setInputMaskEmittingTextEdited(); protected slots: void editingFinished(); @@ -4362,5 +4363,15 @@ void tst_QLineEdit::shouldShowPlaceholderText() } +void tst_QLineEdit::QTBUG1266_setInputMaskEmittingTextEdited() +{ + QLineEdit lineEdit; + lineEdit.setText("test"); + QSignalSpy spy(&lineEdit, SIGNAL(textEdited(QString))); + lineEdit.setInputMask("AAAA"); + lineEdit.setInputMask(QString()); + QVERIFY(spy.count() == 0); +} + QTEST_MAIN(tst_QLineEdit) #include "tst_qlineedit.moc"