diff --git a/pw3270.cbp b/pw3270.cbp
index 800089b..ffcac9f 100644
--- a/pw3270.cbp
+++ b/pw3270.cbp
@@ -134,6 +134,7 @@
+
diff --git a/src/gtk/dialog.c b/src/gtk/dialog.c
index 2340962..d1b766a 100644
--- a/src/gtk/dialog.c
+++ b/src/gtk/dialog.c
@@ -274,6 +274,7 @@
if(encattr)
g_free(encattr);
+ trace("Removing dialog %p",dialog);
gtk_widget_destroy(dialog);
}
diff --git a/src/gtk/v3270/widget.c b/src/gtk/v3270/widget.c
index 5f6a0d2..4529eba 100644
--- a/src/gtk/v3270/widget.c
+++ b/src/gtk/v3270/widget.c
@@ -934,7 +934,12 @@ void v3270_set_font_family(GtkWidget *widget, const gchar *name)
terminal = GTK_V3270(widget);
if(terminal->font_family)
+ {
+ if(!g_strcasecmp(terminal->font_family,name))
+ return;
g_free(terminal->font_family);
+ terminal->font_family = NULL;
+ }
if(!name)
{
@@ -942,11 +947,11 @@ void v3270_set_font_family(GtkWidget *widget, const gchar *name)
name = "courier new";
}
- trace("%s(%s)",__FUNCTION__,name);
-
terminal->font_family = g_strdup(name);
terminal->font_weight = lib3270_get_toggle(terminal->host,LIB3270_TOGGLE_BOLD) ? CAIRO_FONT_WEIGHT_BOLD : CAIRO_FONT_WEIGHT_NORMAL;
+ trace("%s: %s (%p)",__FUNCTION__,terminal->font_family,terminal->font_family);
+
g_signal_emit(widget,v3270_widget_signal[SIGNAL_UPDATE_CONFIG], 0, "font-family", name);
v3270_reload(widget);
@@ -958,7 +963,6 @@ void v3270_set_font_family(GtkWidget *widget, const gchar *name)
const gchar * v3270_get_font_family(GtkWidget *widget)
{
g_return_val_if_fail(GTK_IS_V3270(widget),NULL);
-
return GTK_V3270(widget)->font_family;
}
diff --git a/src/gtk/valgrind.suppression b/src/gtk/valgrind.suppression
index d811901..a37bfa5 100644
--- a/src/gtk/valgrind.suppression
+++ b/src/gtk/valgrind.suppression
@@ -94,3 +94,10 @@
...
}
+{
+ gdk_window_get_root_coords
+ Memcheck:Cond
+ fun:gdk_window_get_root_coords
+ ...
+}
+
diff --git a/ui/00default.xml b/ui/00default.xml
index 02330e2..f02429a 100644
--- a/ui/00default.xml
+++ b/ui/00default.xml
@@ -32,9 +32,18 @@