Sophie

Sophie

distrib > Fedora > 13 > i386 > media > updates-src > by-pkgid > 755a929e043dbb966671dab68a081a19 > files > 1

gkrellm-volume-2.1.13-13.fc13.src.rpm

https://bugzilla.redhat.com/show_bug.cgi?id=552022

diff -up gkrellm-volume/volume.c~ gkrellm-volume/volume.c
--- gkrellm-volume/volume.c~	2004-08-19 23:07:27.000000000 +0300
+++ gkrellm-volume/volume.c	2010-01-04 21:18:25.000000000 +0200
@@ -620,72 +620,47 @@ device_name_edited(GtkCellRendererText *
 }
 
 static void up_clicked(GtkWidget *widget,gpointer user_data) {
-  GtkTreeIter selected,up,new;
+  GtkTreeIter selected,up;
   GtkTreeView *view = GTK_TREE_VIEW(user_data);
   GtkTreeSelection *selection;
   GtkTreeModel *model;
   GtkTreePath *path;
-  gchar *name,*id;
-  gpointer *child_model,*nb;
 
   selection = gtk_tree_view_get_selection(view);
 
   if (!gtk_tree_selection_get_selected(selection,&model,&selected)) return;
-  gtk_tree_model_get(model,&selected,
-       ID_COLUMN,&id,
-       NAME_COLUMN,&name,
-       C_MODEL_COLUMN,&child_model,
-       C_NB_COLUMN,&nb,
-        -1);
 
   path = gtk_tree_model_get_path(model,&selected);
-  if (!gtk_tree_path_prev(path)) return;
-  if (!gtk_tree_model_get_iter(model,&up,path)) return;
-  gtk_list_store_remove(GTK_LIST_STORE(model),&selected);
-  gtk_list_store_insert_before(GTK_LIST_STORE(model),&new,&up);
-
-  gtk_list_store_set(GTK_LIST_STORE(model),&new,
-       ID_COLUMN,id,
-       NAME_COLUMN,name,
-       C_MODEL_COLUMN,child_model,
-       C_NB_COLUMN,nb,
-       -1);
+  if (!gtk_tree_path_prev(path)) goto out;
+  if (!gtk_tree_model_get_iter(model,&up,path)) goto out;
+
+  gtk_list_store_swap(GTK_LIST_STORE(model),&selected,&up);
   mixer_config_changed = TRUE;
 
+ out:
+  gtk_tree_path_free(path);
 }
 
 static void down_clicked(GtkWidget *widget,gpointer user_data) {
-  GtkTreeIter selected,down,new;
+  GtkTreeIter selected,down;
   GtkTreeView *view = GTK_TREE_VIEW(user_data);
   GtkTreeSelection *selection;
   GtkTreeModel *model;
   GtkTreePath *path;
-  gchar *name,*id;
-  gpointer *child_model,*nb;
 
   selection = gtk_tree_view_get_selection(view);
 
   if (!gtk_tree_selection_get_selected(selection,&model,&selected)) return;
-  gtk_tree_model_get(model,&selected,
-       ID_COLUMN,&id,
-       NAME_COLUMN,&name,
-       C_MODEL_COLUMN,&child_model,
-       C_NB_COLUMN,&nb,
-        -1);
 
   path = gtk_tree_model_get_path(model,&selected);
   gtk_tree_path_next(path);
-  if (!gtk_tree_model_get_iter(model,&down,path)) return;
-  gtk_list_store_insert_after(GTK_LIST_STORE(model),&new,&down);
+  if (!gtk_tree_model_get_iter(model,&down,path)) goto out;
 
-  gtk_list_store_set(GTK_LIST_STORE(model),&new,
-       ID_COLUMN,id,
-       NAME_COLUMN,name,
-       C_MODEL_COLUMN,child_model,
-       C_NB_COLUMN,nb,
-       -1);
+  gtk_list_store_swap(GTK_LIST_STORE(model),&selected,&down);
   mixer_config_changed = TRUE;
-  gtk_list_store_remove(GTK_LIST_STORE(model),&selected);
+
+ out:
+  gtk_tree_path_free(path);
 }
 
 static GtkWidget *