diff options
Diffstat (limited to 'src/widgets/widgets/qplaintextedit.cpp')
-rw-r--r-- | src/widgets/widgets/qplaintextedit.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp index 0a81931b57..d54c0d0b20 100644 --- a/src/widgets/widgets/qplaintextedit.cpp +++ b/src/widgets/widgets/qplaintextedit.cpp @@ -81,7 +81,7 @@ class QPlainTextDocumentLayoutPrivate : public QAbstractTextDocumentLayoutPrivat Q_DECLARE_PUBLIC(QPlainTextDocumentLayout) public: QPlainTextDocumentLayoutPrivate() { - mainViewPrivate = 0; + mainViewPrivate = nullptr; width = 0; maximumWidth = 0; maximumWidthBlockNumber = 0; @@ -755,7 +755,7 @@ void QPlainTextEditPrivate::updateViewport() } QPlainTextEditPrivate::QPlainTextEditPrivate() - : control(0), + : control(nullptr), tabChangesFocus(false), lineWrap(QPlainTextEdit::WidgetWidth), wordWrap(QTextOption::WrapAtWordBoundaryOrAnywhere), @@ -839,7 +839,8 @@ void QPlainTextEditPrivate::_q_textChanged() placeholderVisible = !placeholderText.isEmpty() && q->document()->isEmpty() - && q->firstVisibleBlock().layout()->preeditAreaText().isEmpty(); + && (!q->firstVisibleBlock().isValid() || + q->firstVisibleBlock().layout()->preeditAreaText().isEmpty()); if (placeholderCurrentyVisible != placeholderVisible) viewport->update(); @@ -1302,7 +1303,7 @@ QPlainTextEdit::~QPlainTextEdit() Q_D(QPlainTextEdit); if (d->documentLayoutPtr) { if (d->documentLayoutPtr->priv()->mainViewPrivate == d) - d->documentLayoutPtr->priv()->mainViewPrivate = 0; + d->documentLayoutPtr->priv()->mainViewPrivate = nullptr; } } @@ -1321,7 +1322,7 @@ QPlainTextEdit::~QPlainTextEdit() void QPlainTextEdit::setDocument(QTextDocument *document) { Q_D(QPlainTextEdit); - QPlainTextDocumentLayout *documentLayout = 0; + QPlainTextDocumentLayout *documentLayout = nullptr; if (!document) { document = new QTextDocument(d->control); @@ -1891,7 +1892,7 @@ void QPlainTextEditPrivate::relayoutDocument() int width = viewport->width(); - if (documentLayout->priv()->mainViewPrivate == 0 + if (documentLayout->priv()->mainViewPrivate == nullptr || documentLayout->priv()->mainViewPrivate == this || width > documentLayout->textWidth()) { documentLayout->priv()->mainViewPrivate = this; @@ -2328,6 +2329,7 @@ void QPlainTextEdit::changeEvent(QEvent *e) d->autoScrollTimer.stop(); } else if (e->type() == QEvent::EnabledChange) { e->setAccepted(isEnabled()); + d->control->setPalette(palette()); d->sendControlEvent(e); } else if (e->type() == QEvent::PaletteChange) { d->control->setPalette(palette()); |