Selaa lähdekoodia

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 vuotta sitten
vanhempi
commit
960df8a62a
1 muutettua tiedostoa jossa 5 lisäystä ja 1 poistoa
  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));