diff options
author | Thomas Hartmann <thomas.hartmann@qt.io> | 2017-05-05 16:08:38 +0200 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2017-05-08 08:29:35 +0000 |
commit | 079e6cb8bbc04f6d8a73c002e7dda2971b24ae1c (patch) | |
tree | d6f68718cda8fd31ba72759fc226d58b3fe75565 | |
parent | 82d928d1893734cef98805d2ff3b45cfaa23cd04 (diff) | |
download | qt-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.cpp | 11 |
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 |