From 8c447b1ffb5b70eeef2b12e64848a84d040e633a Mon Sep 17 00:00:00 2001
From: chylex <contact@chylex.com>
Date: Fri, 29 Sep 2017 18:04:44 +0200
Subject: [PATCH] Maybe fix dragged tweet links not being recognized from
 certain drag sources

---
 Core/Handling/DragHandlerBrowser.cs | 11 +++++++++--
 Resources/Scripts/code.js           |  2 +-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/Core/Handling/DragHandlerBrowser.cs b/Core/Handling/DragHandlerBrowser.cs
index f6103062..7aa2c1d4 100644
--- a/Core/Handling/DragHandlerBrowser.cs
+++ b/Core/Handling/DragHandlerBrowser.cs
@@ -4,11 +4,18 @@
 namespace TweetDuck.Core.Handling{
     sealed class DragHandlerBrowser : IDragHandler{
         public bool OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask){
+            void TriggerDragStart(string type, string data = null){
+                browserControl.ExecuteScriptAsync("window.TDGF_onGlobalDragStart", type, data);
+            }
+
             if (dragData.IsLink){
-                browserControl.ExecuteScriptAsync("window.TDGF_onGlobalDragStart", "link", dragData.LinkUrl);
+                TriggerDragStart("link", dragData.LinkUrl);
+            }
+            else if (dragData.IsFragment){
+                TriggerDragStart("text", dragData.FragmentText.Trim());
             }
             else{
-                browserControl.ExecuteScriptAsync("window.TDGF_onGlobalDragStart", "unknown");
+                TriggerDragStart("unknown");
             }
 
             return false;
diff --git a/Resources/Scripts/code.js b/Resources/Scripts/code.js
index 4be3ed17..ea62020a 100644
--- a/Resources/Scripts/code.js
+++ b/Resources/Scripts/code.js
@@ -684,7 +684,7 @@
     let isDraggingValid = false;
     
     window.TDGF_onGlobalDragStart = function(type, data){
-      isDraggingValid = type === "link" && tweetRegex.test(data);
+      isDraggingValid = (type === "link" || type === "text") && tweetRegex.test(data);
     };
     
     app.delegate("section.js-column", {