]> git.lizzy.rs Git - minetest.git/commitdiff
Revert "GUIFormSpecMenu: Shift+Click listring workaround for MacOS"
authorSmallJoker <mk939@ymail.com>
Sun, 13 Dec 2020 17:25:13 +0000 (18:25 +0100)
committerlhofhansl <larsh@apache.org>
Mon, 14 Dec 2020 19:05:24 +0000 (11:05 -0800)
The commit caused Shift-Clicking issues on Linux due to another Irrlicht bug where
KeyInput.Shift released keys do not trigger OnEvent()

MacOS users should build using a recent Irrlicht 1.8 development version.
See also: https://sourceforge.net/p/irrlicht/patches/321/

src/gui/guiFormSpecMenu.cpp

index 74578111ef0089ad2ed893a5d07b0e09440f6a49..632b15992ae9052bd3d0b01cf17ffac2251b47fe 100644 (file)
@@ -4075,9 +4075,6 @@ enum ButtonEventType : u8
 
 bool GUIFormSpecMenu::OnEvent(const SEvent& event)
 {
-       // WORKAROUND: event.MouseInput.Shift is not implemented for MacOS
-       static thread_local bool is_shift_down = false;
-
        if (event.EventType==EET_KEY_INPUT_EVENT) {
                KeyPress kp(event.KeyInput);
                if (event.KeyInput.PressedDown && (
@@ -4087,8 +4084,6 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
                        return true;
                }
 
-               is_shift_down = event.KeyInput.Shift;
-
                if (m_client != NULL && event.KeyInput.PressedDown &&
                                (kp == getKeySetting("keymap_screenshot"))) {
                        m_client->makeScreenshot();
@@ -4138,9 +4133,6 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
                          event.MouseInput.isRightPressed() &&
                          getItemAtPos(m_pointer).i != getItemAtPos(m_old_pointer).i))) {
 
-               // WORKAROUND: In case shift was pressed prior showing the formspec
-               is_shift_down |= event.MouseInput.Shift;
-
                // Get selected item and hovered/clicked item (s)
 
                m_old_tooltip_id = -1;
@@ -4271,7 +4263,7 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
                                        else  // left
                                                count = s_count;
 
-                                       if (!is_shift_down) {
+                                       if (!event.MouseInput.Shift) {
                                                // no shift: select item
                                                m_selected_amount = count;
                                                m_selected_dragging = button != BET_WHEEL_DOWN;