diff options
author | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2024-02-05 19:42:45 +0100 |
---|---|---|
committer | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2024-02-07 02:17:37 +0100 |
commit | c6af5b9c12e1ea4cec007c5efe869636ce97a9d2 (patch) | |
tree | f0aa00ab555268260bdf750654f7e359604ede8f /tests/auto/widgets/widgets | |
parent | 4370532500f7116b5bfb738e99591987827f0545 (diff) |
Q(Plain)TextEdit: don't crash when using a style sheet
When using a style sheet, Q(Plain)TextEdit::isReadOnly() might get
called during the initialization before d->control is properly
initialized which lead to a crash.
This amends 43ce457cbd093fc06d99b5ac833c789ef7c893d5.
Fixes: QTBUG-121697
Fixes: QTBUG-121790
Task-number: QTBUG-1857
Pick-to: 6.7 6.6.2 6.6 6.5 6.2
Change-Id: I15c357c9eef7f6559bcc2ad89033a3d8e7fcbfef
Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'tests/auto/widgets/widgets')
-rw-r--r-- | tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp | 10 | ||||
-rw-r--r-- | tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp | 11 |
2 files changed, 21 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp b/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp index 821270e0e7..ca7cc6d4b4 100644 --- a/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp +++ b/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp @@ -133,6 +133,7 @@ private slots: void placeholderVisibility_data(); void placeholderVisibility(); void scrollBarSignals(); + void dontCrashWithCss(); private: void createSelection(); @@ -1944,5 +1945,14 @@ void tst_QPlainTextEdit::scrollBarSignals() QTRY_COMPARE(spy.count(), 5); } +void tst_QPlainTextEdit::dontCrashWithCss() +{ + qApp->setStyleSheet("QWidget { font: 10pt; }"); + QPlainTextEdit edit; + edit.show(); + qApp->setStyleSheet(QString()); +} + + QTEST_MAIN(tst_QPlainTextEdit) #include "tst_qplaintextedit.moc" diff --git a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp index d0aca9b08b..0136e5b5de 100644 --- a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp +++ b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp @@ -198,6 +198,8 @@ private slots: void nextFormatAfterEnterPressed_data(); void nextFormatAfterEnterPressed(); + void dontCrashWithCss(); + private: void createSelection(); int blockCount() const; @@ -3064,5 +3066,14 @@ void tst_QTextEdit::nextFormatAfterEnterPressed() QCOMPARE(prevBlockCursor.charFormat().property(it.key()), it.value()); } +void tst_QTextEdit::dontCrashWithCss() +{ + qApp->setStyleSheet("QWidget { font: 10pt; }"); + QTextEdit edit; + edit.show(); + qApp->setStyleSheet(QString()); +} + + QTEST_MAIN(tst_QTextEdit) #include "tst_qtextedit.moc" |