From b5c9d6b82915a4457abae4754a4dff6dbfe39821 Mon Sep 17 00:00:00 2001 From: Salikh Gurgenidze Date: Mon, 29 Dec 2025 23:27:53 +0400 Subject: [PATCH] fix: memory issue on shift+drag questItemBar or trackedItemBar --- Guda.toc | 2 +- Sorting/SortEngine.lua | 2 +- UI/QuestItemBar.lua | 2 +- UI/TrackedItemBar.lua | 8 +++++--- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Guda.toc b/Guda.toc index f2930c5..b348c8e 100644 --- a/Guda.toc +++ b/Guda.toc @@ -2,7 +2,7 @@ ## Title: Guda ## Notes: All-in-one bag and bank addon for Turtle WoW ## Author: Vati -## Version: 1.5.2 +## Version: 1.5.3 ## SavedVariables: Guda_DB ## SavedVariablesPerCharacter: Guda_CharDB diff --git a/Sorting/SortEngine.lua b/Sorting/SortEngine.lua index e2747d0..ac58621 100644 --- a/Sorting/SortEngine.lua +++ b/Sorting/SortEngine.lua @@ -1475,7 +1475,7 @@ function SortEngine:ExecuteSort(sortFunction, analyzeFunction, updateFrame, sort sortType, passCount, moveCount, currentAnalysis.itemsOutOfPlace, currentAnalysis.totalItems, remainingRatio * 100) -- PROGRESSIVE DELAY: Calculate delay based on remaining complexity - local baseDelay = 1.2 + local baseDelay = 0.9 local complexityDelay = math.min(currentAnalysis.itemsOutOfPlace * 0.06, 2.5) -- max 2.5 seconds local totalDelay = baseDelay + complexityDelay diff --git a/UI/QuestItemBar.lua b/UI/QuestItemBar.lua index 8d8fcfd..cc51034 100644 --- a/UI/QuestItemBar.lua +++ b/UI/QuestItemBar.lua @@ -192,7 +192,7 @@ function QuestItemBar:Update() button:SetScript("OnReceiveDrag", function() end) button:SetScript("OnMouseDown", function() if arg1 == "LeftButton" then - if IsShiftKeyDown() then + if IsShiftKeyDown() and not (CursorHasItem and CursorHasItem()) then this:GetParent():StartMoving() this:GetParent().isMoving = true end diff --git a/UI/TrackedItemBar.lua b/UI/TrackedItemBar.lua index 2af12c2..9580de9 100644 --- a/UI/TrackedItemBar.lua +++ b/UI/TrackedItemBar.lua @@ -95,7 +95,7 @@ function TrackedItemBar:Update() button:SetScript("OnReceiveDrag", function() end) button:SetScript("OnMouseDown", function() if arg1 == "LeftButton" then - if IsShiftKeyDown() then + if IsShiftKeyDown() and not (CursorHasItem and CursorHasItem()) then this:GetParent():StartMoving() this:GetParent().isMoving = true end @@ -190,8 +190,10 @@ function TrackedItemBar:Initialize() frame:RegisterForDrag("LeftButton") frame:SetScript("OnMouseDown", function() if arg1 == "LeftButton" then - this:StartMoving() - this.isMoving = true + if IsShiftKeyDown() and not (CursorHasItem and CursorHasItem()) then + this:StartMoving() + this.isMoving = true + end end end) frame:SetScript("OnMouseUp", function()