summaryrefslogtreecommitdiff
path: root/iup/src/gtk/iupgtk_button.c
diff options
context:
space:
mode:
Diffstat (limited to 'iup/src/gtk/iupgtk_button.c')
-rwxr-xr-xiup/src/gtk/iupgtk_button.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/iup/src/gtk/iupgtk_button.c b/iup/src/gtk/iupgtk_button.c
index 18be87c..f8474ae 100755
--- a/iup/src/gtk/iupgtk_button.c
+++ b/iup/src/gtk/iupgtk_button.c
@@ -150,8 +150,10 @@ static int gtkButtonSetPaddingAttrib(Ihandle* ih, const char* value)
gtk_alignment_set_padding(alignment, ih->data->vert_padding, ih->data->vert_padding,
ih->data->horiz_padding, ih->data->horiz_padding);
}
+ return 0;
}
- return 0;
+ else
+ return 1; /* store until not mapped, when mapped will be set again */
}
#ifdef WIN32
@@ -366,12 +368,12 @@ static int gtkButtonMapMethod(Ihandle* ih)
ih->data->type = IUP_BUTTON_IMAGE;
value = iupAttribGet(ih, "TITLE");
- if (value)
+ if (value && *value!=0)
{
GtkSettings* settings = gtk_widget_get_settings(ih->handle);
g_object_set(settings, "gtk-button-images", (int)TRUE, NULL);
- gtk_button_set_label((GtkButton*)ih->handle, value);
+ gtk_button_set_label((GtkButton*)ih->handle, iupgtkStrConvertToUTF8(value));
ih->data->type |= IUP_BUTTON_TEXT;
#if GTK_CHECK_VERSION(2, 10, 0)
@@ -397,7 +399,7 @@ static int gtkButtonMapMethod(Ihandle* ih)
#endif
}
else
- gtk_button_set_label((GtkButton*)ih->handle, title);
+ gtk_button_set_label((GtkButton*)ih->handle, iupgtkStrConvertToUTF8(title));
ih->data->type = IUP_BUTTON_TEXT;
}