From 523314b4a93fb45b47d3db9877bbb5d19b98aedb Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Mon, 27 Aug 2012 19:19:22 +0200 Subject: [PATCH] create the delegate in the proper context --- declarativeimports/draganddrop/DeclarativeDragArea.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/declarativeimports/draganddrop/DeclarativeDragArea.cpp b/declarativeimports/draganddrop/DeclarativeDragArea.cpp index 5f0e3a346..fbca7f732 100644 --- a/declarativeimports/draganddrop/DeclarativeDragArea.cpp +++ b/declarativeimports/draganddrop/DeclarativeDragArea.cpp @@ -30,6 +30,7 @@ #include #include #include +#include /*! A DragArea is used to make an item draggable. @@ -207,7 +208,7 @@ void DeclarativeDragArea::mouseMoveEvent(QGraphicsSceneMouseEvent *event) drag->setPixmap(QPixmap::fromImage(m_delegateImage)); } else if (m_delegate) { // Render the delegate to a Pixmap - QDeclarativeItem* item = qobject_cast(m_delegate->create()); + QDeclarativeItem* item = qobject_cast(m_delegate->create(m_delegate->creationContext())); QGraphicsScene scene; scene.addItem(item); @@ -217,6 +218,7 @@ void DeclarativeDragArea::mouseMoveEvent(QGraphicsSceneMouseEvent *event) QPainter painter(&pixmap); painter.setRenderHint(QPainter::Antialiasing); + painter.setRenderHint(QPainter::SmoothPixmapTransform); scene.render(&painter); painter.end(); delete item;