@@ -56,7 +56,7 @@ struct PanViewFilterElement
5656struct PanFilterCallbackState
5757{
5858 PanWindow *pw;
59- GList *filter_element;
59+ PanViewFilterElement *filter_element;
6060};
6161
6262void pan_view_filter_element_free (PanViewFilterElement *filter_element)
@@ -68,25 +68,19 @@ void pan_view_filter_element_free(PanViewFilterElement *filter_element)
6868 g_free (filter_element);
6969}
7070
71- void pan_filter_callback_state_free (PanFilterCallbackState *cb_state)
72- {
73- if (!cb_state) return ;
74-
75- g_list_free_full (cb_state->filter_element , reinterpret_cast <GDestroyNotify>(pan_view_filter_element_free));
76- g_free (cb_state);
77- }
78-
7971void pan_filter_kw_button_cb (GtkButton *widget, gpointer data)
8072{
8173 auto cb_state = static_cast <PanFilterCallbackState *>(data);
8274 PanWindow *pw = cb_state->pw ;
8375 PanViewFilterUi *ui = pw->filter_ui ;
8476
85- ui->filter_elements = g_list_remove_link (ui->filter_elements , cb_state->filter_element );
77+ ui->filter_elements = g_list_remove (ui->filter_elements , cb_state->filter_element );
8678 widget_remove_from_parent (GTK_WIDGET (widget));
87- pan_filter_callback_state_free (cb_state);
8879
89- gtk_label_set_text (GTK_LABEL (pw->filter_ui ->filter_label ), _ (" Removed keyword…" ));
80+ pan_view_filter_element_free (cb_state->filter_element );
81+ g_free (cb_state);
82+
83+ gtk_label_set_text (GTK_LABEL (ui->filter_label ), _ (" Removed keyword…" ));
9084 pan_layout_update (pw);
9185}
9286
@@ -129,7 +123,7 @@ void pan_filter_activate_cb(PanWindow *pw, const gchar *text)
129123
130124 auto cb_state = g_new0 (PanFilterCallbackState, 1 );
131125 cb_state->pw = pw;
132- cb_state->filter_element = g_list_last (ui-> filter_elements ) ;
126+ cb_state->filter_element = element ;
133127
134128 g_signal_connect (G_OBJECT (kw_button), " clicked" ,
135129 G_CALLBACK (pan_filter_kw_button_cb), cb_state);
0 commit comments