1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-12 13:20:55 +00:00

Merge pull request #101812 from bruvzg/portal_chk

[FreeDesktop portal] Check for `FileChooser` and `Settings` interface availability instead of assuming it's always available.
This commit is contained in:
Thaddeus Crews
2025-02-03 08:16:10 -06:00
4 changed files with 94 additions and 15 deletions

View File

@@ -220,7 +220,7 @@ bool DisplayServerWayland::has_feature(Feature p_feature) const {
case FEATURE_NATIVE_DIALOG_FILE:
case FEATURE_NATIVE_DIALOG_FILE_EXTRA:
case FEATURE_NATIVE_DIALOG_FILE_MIME: {
return true;
return (portal_desktop && portal_desktop->is_supported() && portal_desktop->is_file_chooser_supported());
} break;
#endif
@@ -282,10 +282,13 @@ void DisplayServerWayland::tts_stop() {
#ifdef DBUS_ENABLED
bool DisplayServerWayland::is_dark_mode_supported() const {
return portal_desktop->is_supported();
return portal_desktop && portal_desktop->is_supported() && portal_desktop->is_settings_supported();
}
bool DisplayServerWayland::is_dark_mode() const {
if (!is_dark_mode_supported()) {
return false;
}
switch (portal_desktop->get_appearance_color_scheme()) {
case 1:
// Prefers dark theme.