From fa3985ab22a5dc9b45ea469cbcfba9debcf46df5 Mon Sep 17 00:00:00 2001 From: Joni Poikelin Date: Wed, 25 Feb 2015 14:14:53 +0200 Subject: [PATCH] Do not emit textEdited on inputMask change Task-number: QTBUG-1266 Change-Id: Ib2f1db15be876c1d6713bd7c28c2b91006b3b2d4 Reviewed-by: Friedemann Kleint Reviewed-by: Andy Shaw --- src/widgets/widgets/qwidgetlinecontrol.cpp | 4 ++-- .../auto/widgets/widgets/qlineedit/tst_qlineedit.cpp | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) 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"