Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDMIMEData.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDMIMEData.cpp	(revision 56499)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDMIMEData.cpp	(revision 56500)
@@ -141,57 +141,8 @@
 }
 
-#ifndef RT_OS_WINDOWS
-bool UIDnDMIMEData::eventFilter(QObject *pObject, QEvent *pEvent)
-{
-    bool fRemoveFilter = false;
-
-    if (pEvent)
-    {
-        switch (pEvent->type())
-        {
-            case QEvent::MouseButtonRelease:
-            {
-                LogFlowFunc(("MouseButtonRelease\n"));
-                m_enmState = Dropped;
-
-                fRemoveFilter = true;
-                break;
-            }
-
-            case QEvent::KeyPress:
-            {
-                /* ESC pressed? */
-                if (static_cast<QKeyEvent*>(pEvent)->key() == Qt::Key_Escape)
-                {
-                    LogRel2(("DnD: ESC pressed, cancelling drag and drop operation\n"));
-                    m_enmState = Canceled;
-
-                    fRemoveFilter = true;
-                }
-                break;
-            }
-
-            default:
-                break;
-        }
-    }
-
-    if (fRemoveFilter)
-    {
-        LogFlowFunc(("Removing event filter ...\n"));
-        AssertPtr(qApp);
-        qApp->removeEventFilter(this);
-    }
-
-    /* Propagate further. */
-    return false;
-}
-#endif /* !RT_OS_WINDOWS */
-
-#if 0
-int UIDnDMIMEData::setData(const QString &mimeType)
+int UIDnDMIMEData::setData(const QString &strMIMEType, const QVariant &vaData)
 {
     LogFlowFunc(("mimeType=%s, dataType=%s\n",
-                 mimeType.toAscii().constData(), m_vaData.typeName()));
+                 strMIMEType.toAscii().constData(), vaData.typeName()));
 
     int rc = VINF_SUCCESS;
@@ -201,5 +152,5 @@
         case QVariant::String: /* Plain text. */
         {
-            QMimeData::setText(m_vaData.toString());
+            QMimeData::setText(vaData.toString());
             break;
         }
@@ -207,5 +158,5 @@
         case QVariant::ByteArray: /* Raw byte data. */
         {
-            QMimeData::setData(mimeType, m_vaData.toByteArray());
+            QMimeData::setData(strMIMEType, vaData.toByteArray());
             break;
         }
@@ -213,5 +164,5 @@
         case QVariant::StringList: /* URI. */
         {
-            QList<QVariant> lstData = m_vaData.toList();
+            QList<QVariant> lstData = vaData.toList();
             QList<QUrl> lstURL;
             for (int i = 0; i < lstData.size(); i++)
@@ -240,5 +191,4 @@
     return rc;
 }
-#endif
 
 /**
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDMIMEData.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDMIMEData.h	(revision 56499)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDMIMEData.h	(revision 56500)
@@ -79,8 +79,21 @@
 
     virtual QVariant retrieveData(const QString &strMIMEType, QVariant::Type vaType) const;
+    /** @}  */
 
-#ifndef RT_OS_WINDOWS
-    bool eventFilter(QObject *pObject, QEvent *pEvent);
-#endif
+protected:
+
+    /** @name Internal helper functions.
+     * @{ */
+
+    /**
+     * Sets the object's MIME data according to the given
+     * MIME type and data.
+     *
+     * @returns IPRT status code.
+     * @param   strMIMEType             MIME type to set.
+     * @param   vaData                  Data to set.
+     * @remark
+     */
+    int setData(const QString &strMIMEType, const QVariant &vaData);
     /** @}  */
 
