summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtkaction.c4
-rw-r--r--gtk/gtkactiongroup.c6
-rw-r--r--gtk/gtktoolbutton.c3
3 files changed, 8 insertions, 5 deletions
diff --git a/gtk/gtkaction.c b/gtk/gtkaction.c
index afc80780ae..6822e5f5cf 100644
--- a/gtk/gtkaction.c
+++ b/gtk/gtkaction.c
@@ -712,7 +712,9 @@ connect_proxy (GtkAction *action,
image);
gtk_widget_show (image);
}
- if (action->private_data->stock_id)
+
+ if (action->private_data->stock_id &&
+ gtk_icon_factory_lookup_default (action->private_data->stock_id))
gtk_image_set_from_stock (GTK_IMAGE (image),
action->private_data->stock_id, GTK_ICON_SIZE_MENU);
else if (action->private_data->icon_name)
diff --git a/gtk/gtkactiongroup.c b/gtk/gtkactiongroup.c
index dfa48f7461..7b7bd6b7f6 100644
--- a/gtk/gtkactiongroup.c
+++ b/gtk/gtkactiongroup.c
@@ -782,9 +782,9 @@ gtk_action_group_add_actions_full (GtkActionGroup *action_group,
if (entries[i].stock_id)
{
- if (gtk_icon_factory_lookup_default (entries[i].stock_id))
- g_object_set (action, "stock-id", entries[i].stock_id, NULL);
- else
+ g_object_set (action, "stock-id", entries[i].stock_id, NULL);
+ if (gtk_icon_theme_has_icon (gtk_icon_theme_get_default (),
+ entries[i].stock_id))
g_object_set (action, "icon-name", entries[i].stock_id, NULL);
}
diff --git a/gtk/gtktoolbutton.c b/gtk/gtktoolbutton.c
index ae9c7ad550..5c7ff4daf1 100644
--- a/gtk/gtktoolbutton.c
+++ b/gtk/gtktoolbutton.c
@@ -405,7 +405,8 @@ gtk_tool_button_construct_contents (GtkToolItem *tool_item)
NULL);
}
}
- else if (button->priv->stock_id)
+ else if (button->priv->stock_id &&
+ gtk_icon_factory_lookup_default (button->priv->stock_id))
{
icon = gtk_image_new_from_stock (button->priv->stock_id, icon_size);
gtk_widget_show (icon);