--- ui/base/x/x11_cursor_loader.cc.orig 2026-06-23 23:37:18 UTC +++ ui/base/x/x11_cursor_loader.cc @@ -38,7 +38,7 @@ #include "ui/gfx/x/connection.h" #include "ui/gfx/x/xproto.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif @@ -80,7 +80,11 @@ std::string CursorPathFromLibXcursor() { void operator()(void* ptr) const { dlclose(ptr); } }; +#if BUILDFLAG(IS_BSD) + std::unique_ptr lib(dlopen("libXcursor.so", RTLD_LAZY)); +#else std::unique_ptr lib(dlopen("libXcursor.so.1", RTLD_LAZY)); +#endif if (!lib) return ""; @@ -235,7 +239,7 @@ scoped_refptr ReadCursorFile( const std::string& rm_xcursor_theme) { constexpr const char kDefaultTheme[] = "default"; std::string themes[] = { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The toolkit theme has the highest priority. LinuxUi::instance() ? LinuxUi::instance()->GetCursorThemeName() : std::string(), @@ -429,7 +433,7 @@ uint32_t XCursorLoader::GetPreferredCursorSize() const return size; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Let the toolkit have the next say. auto* linux_ui = LinuxUi::instance(); size = linux_ui ? linux_ui->GetCursorThemeSize() : 0;