summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Hartmann <thomas.hartmann@qt.io>2017-05-05 16:08:38 +0200
committerThomas Hartmann <thomas.hartmann@qt.io>2017-05-08 08:29:35 +0000
commit079e6cb8bbc04f6d8a73c002e7dda2971b24ae1c (patch)
treed6f68718cda8fd31ba72759fc226d58b3fe75565
parent82d928d1893734cef98805d2ff3b45cfaa23cd04 (diff)
downloadqt-creator-079e6cb8bbc04f6d8a73c002e7dda2971b24ae1c.tar.gz
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 <tim.jenssen@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
-rw-r--r--src/plugins/qmldesigner/qmldesignerextension/texttool/textedititemwidget.cpp11
1 files 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