You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-15 13:51:40 +00:00
Check if DisplayServer supports icons before attempting setting it
This commit is contained in:
@@ -2885,7 +2885,7 @@ Error Main::setup2() {
|
||||
}
|
||||
|
||||
#if defined(TOOLS_ENABLED) && defined(MACOS_ENABLED)
|
||||
if (OS::get_singleton()->get_bundle_icon_path().is_empty()) {
|
||||
if (DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_ICON) && OS::get_singleton()->get_bundle_icon_path().is_empty()) {
|
||||
Ref<Image> icon = memnew(Image(app_icon_png));
|
||||
DisplayServer::get_singleton()->set_icon(icon);
|
||||
}
|
||||
@@ -3802,7 +3802,7 @@ bool Main::start() {
|
||||
|
||||
#ifdef MACOS_ENABLED
|
||||
String mac_icon_path = GLOBAL_GET("application/config/macos_native_icon");
|
||||
if (!mac_icon_path.is_empty()) {
|
||||
if (DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_NATIVE_ICON) && !mac_icon_path.is_empty()) {
|
||||
DisplayServer::get_singleton()->set_native_icon(mac_icon_path);
|
||||
has_icon = true;
|
||||
}
|
||||
@@ -3810,14 +3810,14 @@ bool Main::start() {
|
||||
|
||||
#ifdef WINDOWS_ENABLED
|
||||
String win_icon_path = GLOBAL_GET("application/config/windows_native_icon");
|
||||
if (!win_icon_path.is_empty()) {
|
||||
if (DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_NATIVE_ICON) && !win_icon_path.is_empty()) {
|
||||
DisplayServer::get_singleton()->set_native_icon(win_icon_path);
|
||||
has_icon = true;
|
||||
}
|
||||
#endif
|
||||
|
||||
String icon_path = GLOBAL_GET("application/config/icon");
|
||||
if ((!icon_path.is_empty()) && (!has_icon)) {
|
||||
if (DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_ICON) && !icon_path.is_empty() && !has_icon) {
|
||||
Ref<Image> icon;
|
||||
icon.instantiate();
|
||||
if (ImageLoader::load_image(icon_path, icon) == OK) {
|
||||
@@ -3850,7 +3850,7 @@ bool Main::start() {
|
||||
#endif
|
||||
}
|
||||
|
||||
if (!has_icon && OS::get_singleton()->get_bundle_icon_path().is_empty()) {
|
||||
if (DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_ICON) && !has_icon && OS::get_singleton()->get_bundle_icon_path().is_empty()) {
|
||||
Ref<Image> icon = memnew(Image(app_icon_png));
|
||||
DisplayServer::get_singleton()->set_icon(icon);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user