shell-app: Use container widget for fallback X11 app icons

Just like StIcon does, we should use a container widget for the fallback
app icon that we get using the cairo surface property. It's needed
because the widget returned by shell_app_create_icon_texture() can be
resized freely, while we want the aspect ratio of the actual texture to
remain the same.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2578


(cherry picked from commit 85846d88f0)
This commit is contained in:
Jonas Dreßler 2020-04-05 18:38:21 +00:00 committed by Florian Müllner
parent 025647f585
commit b982ce394e

View File

@ -218,10 +218,17 @@ window_backed_app_get_icon (ShellApp *app,
if (meta_window_get_client_type (window) == META_WINDOW_CLIENT_TYPE_X11)
{
widget = st_texture_cache_bind_cairo_surface_property (st_texture_cache_get_default (),
G_OBJECT (window),
"icon",
scaled_size);
StWidget *texture_actor;
texture_actor =
st_texture_cache_bind_cairo_surface_property (st_texture_cache_get_default (),
G_OBJECT (window),
"icon",
scaled_size);
widget = g_object_new (ST_TYPE_BIN,
"child", texture_actor,
NULL);
}
else
{