From e4cffdc6408e635b6eefb2e157baaa59b0731e01 Mon Sep 17 00:00:00 2001 From: perry.werneck@gmail.com Date: Wed, 28 Mar 2012 11:51:22 +0000 Subject: [PATCH] Teste rapido com valgrind, retirando erros no gerenciamento de memória --- pw3270.cbp | 1 + src/gtk/dialog.c | 1 + src/gtk/v3270/widget.c | 10 +++++++--- src/gtk/valgrind.suppression | 7 +++++++ ui/00default.xml | 11 ++++++++++- 5 files changed, 26 insertions(+), 4 deletions(-) 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 @@ + + + @@ -176,7 +185,7 @@ - + -- libgit2 0.21.2