c = gtk_combo_box_new_with_model (cat_model);
c_combo_box = GTK_COMBO_BOX (c);
c_cell_layout = GTK_CELL_LAYOUT (c);
- g_object_unref (cat_model);
gtk_combo_box_set_row_separator_func (c_combo_box,
is_it_a_separator, NULL, NULL);
gtk_combo_box_set_active (c_combo_box, 0);
c = gtk_combo_box_new_with_model (activity_model);
c_combo_box = GTK_COMBO_BOX (c);
c_cell_layout = GTK_CELL_LAYOUT (c);
- g_object_unref (activity_model);
gtk_combo_box_set_row_separator_func (c_combo_box,
activity_is_it_a_separator, NULL, NULL);
gtk_combo_box_set_active (c_combo_box, 0);
char * config_dir;
gboolean start_paused;
gboolean is_iconified;
+ gboolean is_closing;
guint activation_count;
guint timer;
GSList * duplicates_list;
GSList * details;
GtkTreeSelection * sel;
- gpointer quit_dialog;
};
static void
{
struct cbdata * data = gdata;
- if (data->refresh_actions_tag == 0)
+ if (!data->is_closing && !data->refresh_actions_tag)
data->refresh_actions_tag = gdk_threads_add_idle (refresh_actions, data);
}
on_app_exit (gpointer vdata)
{
GtkWidget *r, *p, *b, *w, *c;
- struct cbdata *cbdata = vdata;
+ struct cbdata * cbdata = vdata;
struct session_close_struct * session_close_data;
+ cbdata->is_closing = true;
+
/* stop the update timer */
if (cbdata->timer)
{
cbdata->timer = 0;
}
+ /* stop the refresh-actions timer */
+ if (cbdata->refresh_actions_tag)
+ {
+ g_source_remove (cbdata->refresh_actions_tag);
+ cbdata->refresh_actions_tag = 0;
+ }
+
c = GTK_WIDGET (cbdata->wind);
gtk_container_remove (GTK_CONTAINER (c), gtk_bin_get_child (GTK_BIN (c)));