Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion src/Feature.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
#pragma once

#include "Globals.h"
#include "Menu.h"

struct Feature
{
bool loaded = false;
Expand Down Expand Up @@ -54,7 +57,7 @@ struct Feature
auto [description, keyFeatures] = GetFeatureSummary();

if (!description.empty() || !keyFeatures.empty()) {
ImGui::TextColored(globals::menu->settings.Theme.StatusPalette.Error, "This feature is not installed!");
ImGui::TextColored(Menu::GetSingleton()->GetTheme().StatusPalette.Error, "This feature is not installed!");
ImGui::Spacing();

if (!description.empty()) {
Expand Down
3 changes: 3 additions & 0 deletions src/Menu.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

#include "Utils/Serialize.h"
#include <dxgi1_4.h>
#include <winrt/Base.h>

@coderabbitai coderabbitai Bot Jun 11, 2025

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Incorrect case in winrt include may break builds on case-sensitive filesystems
The Windows C++/WinRT header is winrt/base.h (all lower-case). Using Base.h compiles on the default Windows file-system but fails on case-sensitive environments (WSL, CI containers, cross-platform tool-chains).

-#include <winrt/Base.h>
+#include <winrt/base.h>
🤖 Prompt for AI Agents
In src/Menu.h at line 5, the include directive uses incorrect casing for the
Windows C++/WinRT header. Change the include from #include <winrt/Base.h> to
#include <winrt/base.h> using all lowercase letters to ensure compatibility with
case-sensitive filesystems.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pretty sure that's okay

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@soda3000 It usually builds on a default Windows workstation because NTFS is case-insensitive, but any workflow that compiles the project on a case-sensitive file-system (e.g. WSL, Linux CI runner, macOS, or even Windows with the optional case-sensitive flag enabled) will look for the literal path and fail to find Base.h.

Microsoft ships the header as

…/cppwinrt/winrt/base.h

(all lower-case) in both the VS/BuildTools and vcpkg layouts.
Compilers such as Clang/LLVM on a case-sensitive volume therefore error with:

fatal error: 'winrt/Base.h' file not found

Switching to #include <winrt/base.h> keeps Windows builds unchanged while preventing those portability breaks. Let me know if you’d like me to submit the one-line fix, or if you prefer to leave it as-is and we can revisit later.


using namespace std::chrono;
#define BUFFER_VIEWER_NODE(a_value, a_scale) \
Expand Down Expand Up @@ -178,6 +179,8 @@ class Menu
} PerfOverlay;
};

const ThemeSettings& GetTheme() const { return settings.Theme; } // Provide read-only access to the Theme.

private:
Settings settings;

Expand Down
Loading