Fix inventory drag drop flag (#6416)
authorasl97 <asl97@airmail.cc>
Tue, 17 Oct 2017 19:50:58 +0000 (03:50 +0800)
committerLoïc Blot <nerzhul@users.noreply.github.com>
Tue, 17 Oct 2017 19:50:58 +0000 (21:50 +0200)
src/guiFormSpecMenu.cpp
src/guiFormSpecMenu.h

index 0482f59a47b2e1465dbd317145abf86ff798314c..0691bc5982442ae1d005be36ac172c19eb1d5deb 100644 (file)
@@ -3449,7 +3449,7 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
                                                // no shift: select item
                                                m_selected_amount = count;
                                                m_selected_dragging = true;
-                                               m_rmouse_auto_place = false;
+                                               m_auto_place = false;
                                        } else {
                                                // shift pressed: move item
                                                if (button != 1)
@@ -3507,11 +3507,11 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
                        }
 
                        m_selected_dragging = false;
-                       // Keep count of how many times right mouse button has been
-                       // clicked. One click is drag without dropping. Click + release
-                       // + click changes to drop one item when moved mode
-                       if (button == 1 && m_selected_item != NULL)
-                               m_rmouse_auto_place = !m_rmouse_auto_place;
+                       // Keep track of whether the mouse button be released
+                       // One click is drag without dropping. Click + release
+                       // + click changes to drop item when moved mode
+                       if (m_selected_item)
+                               m_auto_place = true;
                } else if (updown == -1) {
                        // Mouse has been moved and rmb is down and mouse pointer just
                        // entered a new inventory field (checked in the entry-if, this
@@ -3519,7 +3519,7 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
                        if (m_selected_item != NULL && s.isValid()) {
                                // Move 1 item
                                // TODO: middle mouse to move 10 items might be handy
-                               if (m_rmouse_auto_place) {
+                               if (m_auto_place) {
                                        // Only move an item if the destination slot is empty
                                        // or contains the same item type as what is going to be
                                        // moved
index 7c283dcc03e717c03e191aa606868a44ea798184..071efb37f9a4dce7506d511cb35b791e2a023f92 100644 (file)
@@ -411,7 +411,7 @@ protected:
        u64 m_hovered_time = 0;
        s32 m_old_tooltip_id = -1;
 
-       bool m_rmouse_auto_place = false;
+       bool m_auto_place = false;
 
        bool m_allowclose = true;
        bool m_lock = false;