Browse Source

Implement ClosePopupAt on Windows/Linux

Kevin Sawicki 8 years ago
parent
commit
ce5ac1b056
2 changed files with 5 additions and 1 deletions
  1. 4 0
      atom/browser/api/atom_api_menu_views.cc
  2. 1 1
      atom/browser/api/atom_api_menu_views.h

+ 4 - 0
atom/browser/api/atom_api_menu_views.cc

@@ -62,6 +62,10 @@ void MenuViews::PopupAt(
       ui::MENU_SOURCE_MOUSE));
 }
 
+void MenuViews::ClosePopupAt(int32_t window_id) {
+  menu_runners_.erase(window_id);
+}
+
 // static
 mate::WrappableBase* Menu::New(mate::Arguments* args) {
   return new MenuViews(args->isolate(), args->GetThis());

+ 1 - 1
atom/browser/api/atom_api_menu_views.h

@@ -23,7 +23,7 @@ class MenuViews : public Menu {
  protected:
   void PopupAt(
       Window* window, int x, int y, int positioning_item, bool async) override;
-  void ClosePopupAt(int32_t window_id);
+  void ClosePopupAt(int32_t window_id) override;
 
  private:
   std::map<int32_t, std::unique_ptr<views::MenuRunner>> menu_runners_;