From 079e6cb8bbc04f6d8a73c002e7dda2971b24ae1c Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Fri, 5 May 2017 16:08:38 +0200 Subject: QmlDesigner: Fix ugly paint glitch The text inline editing has an ugly cursor rendering glitch with Qt 5.8. When we render the widget "manually" using grab then things seem to be ok. Change-Id: Idd00044de783164ca4ec021ae4c7b9f15302c2cb Reviewed-by: Tim Jenssen Reviewed-by: Eike Ziller --- .../qmldesignerextension/texttool/textedititemwidget.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/qmldesignerextension/texttool/textedititemwidget.cpp b/src/plugins/qmldesigner/qmldesignerextension/texttool/textedititemwidget.cpp index b3d0482653..e9380a6c71 100644 --- a/src/plugins/qmldesigner/qmldesignerextension/texttool/textedititemwidget.cpp +++ b/src/plugins/qmldesigner/qmldesignerextension/texttool/textedititemwidget.cpp @@ -46,10 +46,17 @@ TextEditItemWidget::~TextEditItemWidget() setWidget(0); } -void TextEditItemWidget::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +void TextEditItemWidget::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/) { painter->fillRect(boundingRect(), Qt::white); - QGraphicsProxyWidget::paint(painter, option, widget); + + /* Cursor painting is broken. + * QGraphicsProxyWidget::paint(painter, option, widget); + * We draw manually instead. + */ + + QPixmap pixmap = widget()->grab(); + painter->drawPixmap(0, 0, pixmap); } QLineEdit* TextEditItemWidget::lineEdit() const -- cgit v1.2.1