瀏覽代碼

WindowServer: Don't try to load unspecified icons

Some apps (looking at you, VisualBuilder) don't specify an icon
in their .af file, so WindowServer was trying to open an empty path.
That made it print a perror message to the log each time. Let's not
do that ^)
Sergey Bugaev 5 年之前
父節點
當前提交
960df8a62a
共有 1 個文件被更改,包括 5 次插入1 次删除
  1. 5 1
      Servers/WindowServer/MenuManager.cpp

+ 5 - 1
Servers/WindowServer/MenuManager.cpp

@@ -102,8 +102,12 @@ MenuManager::MenuManager()
     // Then we create and insert all the app menu items into the right place.
     int app_identifier = 1;
     for (const auto& app : m_apps) {
+        RefPtr<Gfx::Bitmap> icon;
+        if (!app.icon_path.is_empty())
+             icon = Gfx::Bitmap::load_from_file(app.icon_path);
+
         auto parent_menu = m_app_category_menus.get(app.category).value_or(*m_system_menu);
-        parent_menu->add_item(make<MenuItem>(*m_system_menu, app_identifier++, app.name, String(), true, false, false, Gfx::Bitmap::load_from_file(app.icon_path)));
+        parent_menu->add_item(make<MenuItem>(*m_system_menu, app_identifier++, app.name, String(), true, false, false, icon));
     }
 
     m_system_menu->add_item(make<MenuItem>(*m_system_menu, MenuItem::Separator));