Bläddra i källkod

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 år sedan
förälder
incheckning
960df8a62a
1 ändrade filer med 5 tillägg och 1 borttagningar
  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));