summaryrefslogtreecommitdiff
path: root/gtk/toolbar.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/toolbar.c')
-rw-r--r--gtk/toolbar.c30
1 files changed, 17 insertions, 13 deletions
diff --git a/gtk/toolbar.c b/gtk/toolbar.c
index 132ab2d7d..dd542d7fa 100644
--- a/gtk/toolbar.c
+++ b/gtk/toolbar.c
@@ -684,19 +684,23 @@ GtkWidget *nsgtk_toolbar_make_widget(struct nsgtk_scaffolding *g,
switch(i) {
/* gtk_tool_button_new() accepts NULL args */
-#define MAKE_STOCKBUTTON(p, q) case p##_BUTTON: {\
- GtkStockItem item;\
- char *label = NULL;\
- gtk_stock_lookup(q, &item);\
- if (item.label != NULL)\
- label = remove_underscores(item.label, false);\
- GtkWidget *w = GTK_WIDGET(gtk_tool_button_new(GTK_WIDGET(\
- theme->image[p##_BUTTON]), label));\
- if (label != NULL) {\
- free(label);\
- label = NULL;\
- }\
- return w;\
+#define MAKE_STOCKBUTTON(p, q) \
+ case p##_BUTTON: { \
+ GtkStockItem item; \
+ GtkWidget *w; \
+ if (nsgtk_stock_lookup(q, &item) && \
+ (item.label != NULL)) { \
+ char *label = NULL; \
+ w = GTK_WIDGET(gtk_tool_button_new(GTK_WIDGET( \
+ theme->image[p##_BUTTON]), label)); \
+ label = remove_underscores(item.label, false); \
+ free(label); \
+ label = NULL; \
+ } else { \
+ w = GTK_WIDGET(gtk_tool_button_new(GTK_WIDGET( \
+ theme->image[p##_BUTTON]), q)); \
+ } \
+ return w; \
}
MAKE_STOCKBUTTON(HOME, NSGTK_STOCK_HOME)