diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index a1a5cb842..3da07580d 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3235,19 +3235,6 @@ void FurnaceGUI::pointUp(int x, int y, int button) { if (dragMobileEditButton) { dragMobileEditButton=false; } - if (selecting) { - if (!selectingFull) cursor=selEnd; - finishSelection(); - if (!mobileUI) { - demandScrollX=true; - if (cursor.xCoarse==selStart.xCoarse && cursor.xFine==selStart.xFine && cursor.y==selStart.y && - cursor.xCoarse==selEnd.xCoarse && cursor.xFine==selEnd.xFine && cursor.y==selEnd.y) { - if (!settings.cursorMoveNoScroll) { - updateScroll(cursor.y); - } - } - } - } } void FurnaceGUI::pointMotion(int x, int y, int xrel, int yrel) { diff --git a/src/gui/pattern.cpp b/src/gui/pattern.cpp index a34a856d8..ddce32a6e 100644 --- a/src/gui/pattern.cpp +++ b/src/gui/pattern.cpp @@ -934,6 +934,21 @@ void FurnaceGUI::drawPattern() { ImGui::TableNextColumn(); } } + // release selection if mouse released + if (ImGui::IsMouseReleased(ImGuiMouseButton_Left) && selecting) { + if (!selectingFull) cursor=selEnd; + finishSelection(); + if (!mobileUI) { + demandScrollX=true; + if (cursor.xCoarse==selStart.xCoarse && cursor.xFine==selStart.xFine && cursor.y==selStart.y && + cursor.xCoarse==selEnd.xCoarse && cursor.xFine==selEnd.xFine && cursor.y==selEnd.y) { + if (!settings.cursorMoveNoScroll) { + updateScroll(cursor.y); + } + } + } + } + ImGui::EndDisabled(); ImGui::PopStyleVar(); oldRow=curRow;