about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0004-Revert-QCocoaDrag-avoid-using-the-deprecated-API-if-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0004-Revert-QCocoaDrag-avoid-using-the-deprecated-API-if-.patch')
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0004-Revert-QCocoaDrag-avoid-using-the-deprecated-API-if-.patch194
1 files changed, 0 insertions, 194 deletions
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0004-Revert-QCocoaDrag-avoid-using-the-deprecated-API-if-.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0004-Revert-QCocoaDrag-avoid-using-the-deprecated-API-if-.patch
deleted file mode 100644
index ee9b80ca6ed4..000000000000
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0004-Revert-QCocoaDrag-avoid-using-the-deprecated-API-if-.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-From d5c155a9f3ff38e28ac073f6df43175724ebc290 Mon Sep 17 00:00:00 2001
-From: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
-Date: Mon, 7 Dec 2020 12:32:34 -0500
-Subject: [PATCH 4/6] Revert "QCocoaDrag - avoid using the deprecated API if
- possible"
-
-This reverts commit 8481a9fc974a1f1dd44a9f82decb18fe2290689f.
----
- src/plugins/platforms/cocoa/qcocoadrag.h      |  6 --
- src/plugins/platforms/cocoa/qcocoadrag.mm     | 90 -------------------
- .../platforms/cocoa/qnsview_dragging.mm       |  9 +-
- 3 files changed, 1 insertion(+), 104 deletions(-)
-
-diff --git a/src/plugins/platforms/cocoa/qcocoadrag.h b/src/plugins/platforms/cocoa/qcocoadrag.h
-index 975741c270..5a5b985c6e 100644
---- a/src/plugins/platforms/cocoa/qcocoadrag.h
-+++ b/src/plugins/platforms/cocoa/qcocoadrag.h
-@@ -48,8 +48,6 @@
- #include <QtGui/private/qdnd_p.h>
- #include <QtGui/private/qinternalmimedata_p.h>
- 
--#include <QtCore/qeventloop.h>
--
- QT_BEGIN_NAMESPACE
- 
- class QCocoaDrag : public QPlatformDrag
-@@ -71,15 +69,11 @@ public:
-     void setLastMouseEvent(NSEvent *event, NSView *view);
- 
-     void setAcceptedAction(Qt::DropAction act);
--    void exitDragLoop();
- private:
-     QDrag *m_drag;
-     NSEvent *m_lastEvent;
-     NSView *m_lastView;
-     Qt::DropAction m_executed_drop_action;
--    QEventLoop internalDragLoop;
--
--    bool maybeDragMultipleItems();
- 
-     QPixmap dragPixmap(QDrag *drag, QPoint &hotSpot) const;
- };
-diff --git a/src/plugins/platforms/cocoa/qcocoadrag.mm b/src/plugins/platforms/cocoa/qcocoadrag.mm
-index ab6863a432..b4a16ab912 100644
---- a/src/plugins/platforms/cocoa/qcocoadrag.mm
-+++ b/src/plugins/platforms/cocoa/qcocoadrag.mm
-@@ -44,9 +44,6 @@
- #include <QtWidgets/qwidget.h>
- #endif
- #include <QtGui/private/qcoregraphics_p.h>
--#include <QtCore/qsysinfo.h>
--
--#include <vector>
- 
- QT_BEGIN_NAMESPACE
- 
-@@ -131,9 +128,6 @@ Qt::DropAction QCocoaDrag::drag(QDrag *o)
-     m_drag = o;
-     m_executed_drop_action = Qt::IgnoreAction;
- 
--    if (maybeDragMultipleItems())
--        return m_executed_drop_action;
--
-     QPoint hotSpot = m_drag->hotSpot();
-     QPixmap pm = dragPixmap(m_drag, hotSpot);
-     NSImage *dragImage = [NSImage imageFromQImage:pm.toImage()];
-@@ -164,95 +158,11 @@ Qt::DropAction QCocoaDrag::drag(QDrag *o)
-     return m_executed_drop_action;
- }
- 
--bool QCocoaDrag::maybeDragMultipleItems()
--{
--    Q_ASSERT(m_drag && m_drag->mimeData());
--    Q_ASSERT(m_executed_drop_action == Qt::IgnoreAction);
--
--    if (QOperatingSystemVersion::current() < QOperatingSystemVersion::MacOSMojave) {
--        // -dragImage: stopped working in 10.14 first.
--        return false;
--    }
--
--    const QMacAutoReleasePool pool;
--
--    NSWindow *theWindow = [m_lastEvent window];
--    Q_ASSERT(theWindow);
--
--    if (![theWindow.contentView respondsToSelector:@selector(draggingSession:sourceOperationMaskForDraggingContext:)])
--        return false;
--
--    auto *sourceView = static_cast<NSView<NSDraggingSource>*>(theWindow.contentView);
--
--    const auto &qtUrls = m_drag->mimeData()->urls();
--    NSPasteboard *dragBoard = [NSPasteboard pasteboardWithName:NSPasteboardNameDrag];
--
--    if (int(dragBoard.pasteboardItems.count) == 1 && qtUrls.size() <= 1) {
--        // Good old -dragImage: works perfectly for this ...
--        return false;
--    }
--
--    std::vector<NSPasteboardItem *> nonUrls;
--    for (NSPasteboardItem *item in dragBoard.pasteboardItems) {
--        bool isUrl = false;
--        for (NSPasteboardType type in item.types) {
--            using NSStringRef = NSString *;
--            if ([type isEqualToString:NSStringRef(kUTTypeFileURL)]) {
--                isUrl = true;
--                break;
--            }
--        }
--
--        if (!isUrl)
--            nonUrls.push_back(item);
--    }
--
--    QPoint hotSpot = m_drag->hotSpot();
--    const auto pixmap = dragPixmap(m_drag, hotSpot);
--    NSImage *dragImage = [NSImage imageFromQImage:pixmap.toImage()];
--    Q_ASSERT(dragImage);
--
--    NSMutableArray<NSDraggingItem *> *dragItems = [[[NSMutableArray alloc] init] autorelease];
--    const NSPoint itemLocation = m_drag->hotSpot().toCGPoint();
--    // 0. We start from URLs, which can be actually in a list (thus technically
--    // only ONE item in the pasteboard. The fact it's only one does not help, we are
--    // still getting an exception because of the number of items/images mismatch ...
--    for (const auto &qtUrl : qtUrls) {
--        NSURL *nsUrl = qtUrl.toNSURL();
--        auto *newItem = [[[NSDraggingItem alloc] initWithPasteboardWriter:nsUrl] autorelease];
--        const NSRect itemFrame = NSMakeRect(itemLocation.x, itemLocation.y,
--                                            dragImage.size.width,
--                                            dragImage.size.height);
--        [newItem setDraggingFrame:itemFrame contents:dragImage];
--        [dragItems addObject:newItem];
--    }
--    // 1. Repeat for non-url items, if any:
--    for (auto *pbItem : nonUrls) {
--        auto *newItem = [[[NSDraggingItem alloc] initWithPasteboardWriter:pbItem] autorelease];
--        const NSRect itemFrame = NSMakeRect(itemLocation.x, itemLocation.y,
--                                            dragImage.size.width,
--                                            dragImage.size.height);
--        [newItem setDraggingFrame:itemFrame contents:dragImage];
--        [dragItems addObject:newItem];
--    }
--
--    [sourceView beginDraggingSessionWithItems:dragItems event:m_lastEvent source:sourceView];
--    internalDragLoop.exec();
--    return true;
--}
--
- void QCocoaDrag::setAcceptedAction(Qt::DropAction act)
- {
-     m_executed_drop_action = act;
- }
- 
--void QCocoaDrag::exitDragLoop()
--{
--    if (internalDragLoop.isRunning())
--        internalDragLoop.exit();
--}
--
--
- QPixmap QCocoaDrag::dragPixmap(QDrag *drag, QPoint &hotSpot) const
- {
-     const QMimeData* data = drag->mimeData();
-diff --git a/src/plugins/platforms/cocoa/qnsview_dragging.mm b/src/plugins/platforms/cocoa/qnsview_dragging.mm
-index 978d73f7d9..463e3c5579 100644
---- a/src/plugins/platforms/cocoa/qnsview_dragging.mm
-+++ b/src/plugins/platforms/cocoa/qnsview_dragging.mm
-@@ -232,10 +232,6 @@ static QPoint mapWindowCoordinates(QWindow *source, QWindow *target, QPoint poin
-     if (!target)
-         return;
- 
--    auto *nativeDrag = QCocoaIntegration::instance()->drag();
--    Q_ASSERT(nativeDrag);
--    nativeDrag->exitDragLoop();
--
-     QPoint windowPoint = QPointF::fromCGPoint([self convertPoint:sender.draggingLocation fromView:nil]).toPoint();
- 
-     qCDebug(lcQpaMouse) << QEvent::DragLeave << self << "at" << windowPoint;
-@@ -294,12 +294,7 @@ static QPoint mapWindowCoordinates(QWindow *source, QWindow *target, QPoint poin
-     if (!target)
-         return;
- 
--    QCocoaDrag* nativeDrag = QCocoaIntegration::instance()->drag();
--    Q_ASSERT(nativeDrag);
--    nativeDrag->exitDragLoop();
--    // for internal drag'n'drop, don't override the action the drop event accepted
--    if (!nativeDrag->currentDrag())
--        nativeDrag->setAcceptedAction(qt_mac_mapNSDragOperation(operation));
-+    QCocoaIntegration::instance()->drag();
- 
-     // Qt starts drag-and-drop on a mouse button press event. Cococa in
-     // this case won't send the matching release event, so we have to
--- 
-2.21.0
-