]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/guiFormSpecMenu.cpp
Fix modstore/favourites hang by adding asynchronous lua job support
[dragonfireclient.git] / src / guiFormSpecMenu.cpp
index eecd2c1b26d9db16223e166e27c81af1470e5b50..8ffddcbc60c705145693d3bf5a2037a122a822ab 100644 (file)
@@ -1875,8 +1875,8 @@ void GUIFormSpecMenu::drawMenu()
                                core::dimension2d<s32> absrec_size = AbsoluteRect.getSize();
                                rect = core::rect<s32>(AbsoluteRect.UpperLeftCorner.X - spec.pos.X,
                                                                        AbsoluteRect.UpperLeftCorner.Y - spec.pos.Y,
-                                                                       AbsoluteRect.UpperLeftCorner.X + absrec_size.Width + spec.pos.X*2,
-                                                                       AbsoluteRect.UpperLeftCorner.Y + absrec_size.Height + spec.pos.Y*2);
+                                                                       AbsoluteRect.UpperLeftCorner.X + absrec_size.Width + spec.pos.X,
+                                                                       AbsoluteRect.UpperLeftCorner.Y + absrec_size.Height + spec.pos.Y);
                        }
 
                        const video::SColor color(255,255,255,255);
@@ -2297,12 +2297,7 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
 
                        switch (event.KeyInput.Key) {
                                case KEY_RETURN:
-                                       if (m_allowclose) {
-                                               acceptInput(true);
-                                               quitMenu();
-                                       }
-                                       else
-                                               current_keys_pending.key_enter = true;
+                                       current_keys_pending.key_enter = true;
                                        break;
                                case KEY_UP:
                                        current_keys_pending.key_up = true;
@@ -2316,7 +2311,13 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
                                        assert("reached a source line that can't ever been reached" == 0);
                                        break;
                        }
-                       acceptInput();
+                       if (current_keys_pending.key_enter && m_allowclose) {
+                               acceptInput(true);
+                               quitMenu();
+                       }
+                       else {
+                               acceptInput();
+                       }
                        return true;
                }