diff options
author | Simon Steinbeiss <simon.steinbeiss@elfenbeinturm.at> | 2021-02-07 15:28:01 +0100 |
---|---|---|
committer | Simon Steinbeiss <simon.steinbeiss@elfenbeinturm.at> | 2021-02-07 15:29:03 +0100 |
commit | 9fc6c9669f6e1167a80a201afbf1baacfc129215 (patch) | |
tree | 191b77d0fbe0a4ddfce04e3b33c414c8ad9aa78e /libxfce4ui/xfce-titled-dialog.c | |
parent | 5aacc774ea923d0173e83c166b945c7eed8bfd80 (diff) | |
download | libxfce4ui-9fc6c9669f6e1167a80a201afbf1baacfc129215.tar.gz |
XfceTitledDialog: Add pixbuf support as fallback
Previously only icons set via gtk_window_set_icon_name were handled, now
we also handle GdkPixbufs set by gtk_window_set_icon if no icon_name was
set.
Diffstat (limited to 'libxfce4ui/xfce-titled-dialog.c')
-rw-r--r-- | libxfce4ui/xfce-titled-dialog.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/libxfce4ui/xfce-titled-dialog.c b/libxfce4ui/xfce-titled-dialog.c index 1111278..bdc98f2 100644 --- a/libxfce4ui/xfce-titled-dialog.c +++ b/libxfce4ui/xfce-titled-dialog.c @@ -260,10 +260,19 @@ xfce_titled_dialog_update_icon (XfceTitledDialog *titled_dialog) const gchar *icon_name = gtk_window_get_icon_name (GTK_WINDOW (titled_dialog)); g_return_if_fail (GTK_IS_HEADER_BAR (titled_dialog->priv->headerbar)); - g_return_if_fail (icon_name != NULL); - gtk_image_set_from_icon_name (GTK_IMAGE (titled_dialog->priv->icon), icon_name, GTK_ICON_SIZE_LARGE_TOOLBAR); - gtk_image_set_pixel_size (GTK_IMAGE (titled_dialog->priv->icon), 24); + if (icon_name) + { + gtk_image_set_from_icon_name (GTK_IMAGE (titled_dialog->priv->icon), icon_name, GTK_ICON_SIZE_LARGE_TOOLBAR); + gtk_image_set_pixel_size (GTK_IMAGE (titled_dialog->priv->icon), 24); + } + else + { + GdkPixbuf *pixbuf; + pixbuf = gtk_window_get_icon (GTK_WINDOW (titled_dialog)); + if (pixbuf) + gtk_image_set_from_pixbuf (GTK_IMAGE (titled_dialog->priv->icon), pixbuf); + } } |