summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/platforms/cocoa/qcocoadrag.h1
-rw-r--r--src/plugins/platforms/cocoa/qcocoadrag.mm8
2 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoadrag.h b/src/plugins/platforms/cocoa/qcocoadrag.h
index 80259df600..6810a21944 100644
--- a/src/plugins/platforms/cocoa/qcocoadrag.h
+++ b/src/plugins/platforms/cocoa/qcocoadrag.h
@@ -55,6 +55,7 @@ class QCocoaDrag : public QPlatformDrag
{
public:
QCocoaDrag();
+ virtual ~QCocoaDrag();
virtual QMimeData *platformDropData();
virtual Qt::DropAction drag(QDrag *m_drag);
diff --git a/src/plugins/platforms/cocoa/qcocoadrag.mm b/src/plugins/platforms/cocoa/qcocoadrag.mm
index a37552d844..a22830f64e 100644
--- a/src/plugins/platforms/cocoa/qcocoadrag.mm
+++ b/src/plugins/platforms/cocoa/qcocoadrag.mm
@@ -53,9 +53,15 @@ QCocoaDrag::QCocoaDrag() :
m_lastView = 0;
}
+QCocoaDrag::~QCocoaDrag()
+{
+ [m_lastEvent release];
+}
+
void QCocoaDrag::setLastMouseEvent(NSEvent *event, NSView *view)
{
- m_lastEvent = event;
+ [m_lastEvent release];
+ m_lastEvent = [event copy];
m_lastView = view;
}