diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index f66c3330fcdfffea3c0f2d15ed151dd3d1c728a2..bca53785fafc368c2916f2eda1f087551926241e 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -2135,7 +2135,7 @@ void BaseTextEditor::paintEvent(QPaintEvent *e) } } - if (d->m_animator) { + if (d->m_animator && d->m_animator->isRunning()) { QTextCursor cursor = textCursor(); cursor.setPosition(d->m_animator->position()); d->m_animator->draw(&painter, cursorRect(cursor).topLeft()); @@ -3420,6 +3420,11 @@ void BaseTextEditorAnimator::draw(QPainter *p, const QPointF &pos) p->drawText(r, m_text); } +bool BaseTextEditorAnimator::isRunning() const +{ + return m_timeline->state() == QTimeLine::Running; +} + QRectF BaseTextEditorAnimator::rect() const { QFont f = m_font; diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h index ce9809dd6ef049f6a79bf938761e42c9e2d2527a..5ed1fc91b7a4d244980ba96f38b6c6c9641c4d3c 100644 --- a/src/plugins/texteditor/basetexteditor.h +++ b/src/plugins/texteditor/basetexteditor.h @@ -239,6 +239,8 @@ public: void finish(); + bool isRunning() const; + signals: void updateRequest(int position, QRectF rect);