From 6b58b3f66a63b412685eaecb4663e8d019892e83 Mon Sep 17 00:00:00 2001 From: perry.werneck@gmail.com Date: Fri, 24 May 2013 18:20:04 +0000 Subject: [PATCH] Iniciando implementação do recurso "copy" com atributos --- private.h | 2 ++ selection.c | 8 ++------ widget.c | 15 ++++++++++----- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/private.h b/private.h index 0e54959..724d5bf 100644 --- a/private.h +++ b/private.h @@ -244,6 +244,8 @@ void v3270_draw_shift_status(v3270 *terminal); void v3270_draw_alt_status(v3270 *terminal); void v3270_draw_ins_status(v3270 *terminal); +void v3270_clear_clipboard(v3270 *terminal); + void v3270_update_cursor_surface(v3270 *widget,unsigned char chr,unsigned short attr); void v3270_register_io_handlers(v3270Class *cls); diff --git a/selection.c b/selection.c index 4213745..aace895 100644 --- a/selection.c +++ b/selection.c @@ -138,11 +138,7 @@ const gchar * v3270_get_selected_text(GtkWidget *widget, gboolean cut) terminal = GTK_V3270(widget); - if(terminal->clipboard) - { - g_free(terminal->clipboard); - terminal->clipboard = NULL; - } + v3270_clear_clipboard(terminal); if(cut) text = lib3270_cut_selected(terminal->host); @@ -276,7 +272,7 @@ const gchar * v3270_copy_append(GtkWidget *widget) clip = g_strconcat(terminal->clipboard,"\n",text,NULL); g_free(text); - g_free(terminal->clipboard); + v3270_clear_clipboard(terminal); terminal->clipboard = clip; diff --git a/widget.c b/widget.c index f256229..ed79e14 100644 --- a/widget.c +++ b/widget.c @@ -895,6 +895,15 @@ GtkWidget * v3270_new(void) return g_object_new(GTK_TYPE_V3270, NULL); } +void v3270_clear_clipboard(v3270 *terminal) +{ + if(terminal->clipboard) + { + g_free(terminal->clipboard); + terminal->clipboard = NULL; + } +} + #if GTK_CHECK_VERSION(3,0,0) static void v3270_destroy(GtkWidget *widget) #else @@ -969,11 +978,7 @@ static void v3270_destroy(GtkObject *widget) terminal->input_method = NULL; } - if(terminal->clipboard) - { - g_free(terminal->clipboard); - terminal->clipboard = NULL; - } + v3270_clear_clipboard(terminal); if(terminal->session_name) { -- libgit2 0.21.2