From 1b41d5491743d7ddcdb8d98aacbab811794e9e17 Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Sun, 25 Jan 2026 12:28:31 +0100 Subject: [PATCH] do-not-fail-if-icon-fails --- app/src/screen.c | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/app/src/screen.c b/app/src/screen.c index 475d5e20..1bb07afd 100644 --- a/app/src/screen.c +++ b/app/src/screen.c @@ -461,28 +461,25 @@ sc_screen_init(struct sc_screen *screen, if (!SDL_SetWindowIcon(screen->window, icon)) { LOGW("Could not set window icon: %s", SDL_GetError()); } - } else if (params->video) { - // just a warning - LOGW("Could not load icon"); - } else { - // without video, the icon is used as window content, it must be present - LOGE("Could not load icon"); - goto error_destroy_texture; - } - if (!params->video) { - assert(icon); - screen->content_size.width = icon->w; - screen->content_size.height = icon->h; - ok = sc_texture_set_from_surface(&screen->tex, icon); - if (!ok) { + if (!params->video) { + screen->content_size.width = icon->w; + screen->content_size.height = icon->h; + ok = sc_texture_set_from_surface(&screen->tex, icon); sc_icon_destroy(icon); - goto error_destroy_texture; + if (!ok) { + LOGE("Could not set icon: %s", SDL_GetError()); + } } - } + } else { + // not fatal + LOGE("Could not load icon"); - if (icon) { - sc_icon_destroy(icon); + if (!params->video) { + // Make sure the content size is initialized + screen->content_size.width = 256; + screen->content_size.height = 256; + } } screen->frame = av_frame_alloc();