# HG changeset patch # User Eric Polino # Date 1181088408 0 # Node ID 57c508361cff6b4aa890db6d9f8439c9af25290e # Parent 85c6b51d30856c87c41ad2c6d0f52ac31387e21f Made rebind_info a static member with default values. Removed a few remaining debug lines. diff -r 85c6b51d3085 -r 57c508361cff finch/libgnt/gntwm.c --- a/finch/libgnt/gntwm.c Tue Jun 05 23:35:26 2007 +0000 +++ b/finch/libgnt/gntwm.c Wed Jun 06 00:06:48 2007 +0000 @@ -61,16 +61,14 @@ static gboolean ignore_keys = FALSE; -typedef struct +static struct { char * keys; /* Keystrokes being bound to the action */ GntBindableClass * klass; /* Class of the object that's getting keys rebound */ char * name; /* The name of the action */ GList * params; /* The list of paramaters */ -} RebindInfo; - -RebindInfo * rebind_info; +} rebind_info = {NULL,NULL,NULL,NULL}; static GList * g_list_bring_to_front(GList *list, gpointer data) @@ -501,16 +499,14 @@ static void free_rebind_info() { - g_free(rebind_info->name); - g_free(rebind_info->keys); - g_free(rebind_info); + g_free(rebind_info.name); + g_free(rebind_info.keys); } static gboolean help_for_widget_cancel_button_activate(GntBindable *bindable, gpointer data) { free_rebind_info(); - gnt_widget_destroy(GNT_WIDGET(data)); return TRUE; } @@ -519,13 +515,12 @@ help_for_widget_bind_button_activate(GntBindable *bindable, gpointer data) { - gnt_bindable_register_binding(rebind_info->klass, - rebind_info->name, - rebind_info->keys, - rebind_info->params); + gnt_bindable_register_binding(rebind_info.klass, + rebind_info.name, + rebind_info.keys, + rebind_info.params); + free_rebind_info(); - free_rebind_info(); - gnt_widget_destroy(GNT_WIDGET(data)); return TRUE; @@ -549,7 +544,8 @@ new_text = g_strdup_printf("KEY: \"%s\"",tmp); gnt_label_set_text(label,new_text); - rebind_info->keys = g_strdup(text); + g_free(rebind_info.keys); + rebind_info.keys = g_strdup(text); g_free(new_text); @@ -578,19 +574,15 @@ GList * current_row_data,*itr; char * tmp; - rebind_info = g_new0(RebindInfo,1); - - rebind_info->klass = GNT_BINDABLE_GET_CLASS(widget); + rebind_info.klass = GNT_BINDABLE_GET_CLASS(widget); current_row_data = gnt_tree_get_selection_text_list(tree); - rebind_info->name = g_strdup(g_list_nth_data(current_row_data,1)); + rebind_info.name = g_strdup(g_list_nth_data(current_row_data,1)); keys = gnt_tree_get_selection_data(tree); - rebind_info->keys = g_strdup(gnt_key_translate(keys)); + rebind_info.keys = g_strdup(gnt_key_translate(keys)); - rebind_info->params = NULL; - - fprintf(stderr,"name: '%s' keys: '%s'\n",rebind_info->name,keys); + rebind_info.params = NULL; itr = current_row_data; while(itr){ @@ -603,7 +595,7 @@ gnt_box_set_title(GNT_BOX(win),"Key Capture"); - tmp = g_strdup_printf("Type the new bindings for %s in a %s.",rebind_info->name,widget_name); + tmp = g_strdup_printf("Type the new bindings for %s in a %s.",rebind_info.name,widget_name); label = gnt_label_new(tmp); g_free(tmp); gnt_box_add_widget(GNT_BOX(vbox),label);