Browse Source

LibGUI: Make window-parented actions actually scoped to the window

We were relying on Core::is<Window>() to tell us whether the parent
of an action is a window. This didn't work since we only saw a forward
declaration of GUI::Window in Action.cpp.

This is an unfortunate flaw in the is<T> pattern and we should solve
it somehow but not in this patch.
Andreas Kling 5 years ago
parent
commit
4392413cd1
1 changed files with 3 additions and 1 deletions
  1. 3 1
      Libraries/LibGUI/Action.cpp

+ 3 - 1
Libraries/LibGUI/Action.cpp

@@ -29,6 +29,7 @@
 #include <LibGUI/Application.h>
 #include <LibGUI/Button.h>
 #include <LibGUI/MenuItem.h>
+#include <LibGUI/Window.h>
 
 namespace GUI {
 
@@ -157,8 +158,9 @@ Action::Action(const StringView& text, const Shortcut& shortcut, RefPtr<Gfx::Bit
         m_scope = ShortcutScope::WindowLocal;
     } else {
         m_scope = ShortcutScope::ApplicationGlobal;
-        if (auto* app = Application::the())
+        if (auto* app = Application::the()) {
             app->register_global_shortcut_action({}, *this);
+        }
     }
 }