I've modified the function, but the problem persists. I suppose the
problem isn't in this function but somewhere else, even if all the other
related functions work.

Here is the new version of the func based on the "fixed remove function"
from treestoretest.c:
 
static void
rem_item ()
{
  Files *tmp;
  gint row;
  GtkTreeModel *model;
  GtkTreeIter iter;
  GtkTreePath *path;


  /* First of all detects the row selected and the model */
  if (gtk_tree_selection_get_selected
      (gtk_tree_view_get_selection (GTK_TREE_VIEW (main_list_view)),
&model,
       &iter))
    {
      if (GTK_IS_LIST_STORE (model))
        {
          /* Let's retrive the current row index */
          path = gtk_tree_model_get_path (model, &iter);
          gchar *str_row = g_strdup (gtk_tree_path_to_string (path));
          row = atoi (str_row);
          g_free (str_row);
          //row = atoi (gtk_tree_path_to_string (path));
#if DEBUG
          g_print ("I'm going to delete row %d... ", row);
#endif

          /* Then deletes the element from the files list */
          tmp = del_file (fileslist, row);
          fileslist = tmp;

          if (gtk_list_store_remove (GTK_LIST_STORE (model), &iter))
            {
              gtk_tree_selection_select_iter
                (gtk_tree_view_get_selection
                 (GTK_TREE_VIEW (main_list_view)), &iter);
            }
          else if (gtk_tree_path_prev (path))
            {
              gtk_tree_selection_select_path
                (gtk_tree_view_get_selection
                 (GTK_TREE_VIEW (main_list_view)), path);
            }
          gtk_tree_path_free (path);
        }
    }
}


This is the func where I construct the GtkTreeView and model etc. :

-- 
LordGolem <[EMAIL PROTECTED]>

_______________________________________________
gtk-list mailing list
[EMAIL PROTECTED]
http://mail.gnome.org/mailman/listinfo/gtk-list

Reply via email to