--- synaptic-0.36.1/gtk/rgmainwindow.cc.gtk2 2003-04-14 05:13:13.000000000 -0500 +++ synaptic-0.36.1/gtk/rgmainwindow.cc 2003-05-16 07:32:03.000000000 -0500 @@ -112,6 +112,21 @@ +#ifndef EVERBODY_USES_GTK2_2_NOW +// this function sucks, but it's needed to be compatible with gtk2.0 +void multipleSelectionHelper(GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data) +{ + //cout << "multipleSelectionHelper()"<_recList)); +#ifdef EVERBODY_USES_GTK2_2_NOW list = li = gtk_tree_selection_get_selected_rows(selection, NULL); +#else + li = list = NULL; + gtk_tree_selection_selected_foreach(selection, multipleSelectionHelper, + &list); + li = list; +#endif while(li != NULL) { -// cout << "path is " -// << gtk_tree_path_to_string((GtkTreePath*)(li->data)) << endl; + // cout << "path is " + // << gtk_tree_path_to_string((GtkTreePath*)(li->data)) << endl; gtk_tree_model_get_iter(GTK_TREE_MODEL(me->_recListStore), &iter, (GtkTreePath*)(li->data)); gtk_tree_model_get(GTK_TREE_MODEL(me->_recListStore), &iter, @@ -516,12 +538,18 @@ GtkTreeSelection *selection; GtkTreeIter iter; RPackage *pkg = NULL; - GList *li = NULL; - GList *list; + GList *li, *list; - selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (_treeView)); - list = li = gtk_tree_selection_get_selected_rows(selection, - (GtkTreeModel**)(&_pkgTree)); + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (_treeView)); +#ifdef EVERBODY_USES_GTK2_2_NOW + list = li = gtk_tree_selection_get_selected_rows(selection, + (GtkTreeModel**)(&_activeTreeModel)); +#else + list = li = NULL; + gtk_tree_selection_selected_foreach(selection, multipleSelectionHelper, + &list); + li = list; +#endif // list is empty if(li == NULL) return NULL; @@ -1313,8 +1341,15 @@ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (me->_treeView)); GList *li, *list; +#ifdef EVERBODY_USES_GTK2_2_NOW list = li = gtk_tree_selection_get_selected_rows(selection, - (GtkTreeModel**)(&me->_pkgTree)); + &me->_activeTreeModel); +#else + li = list = NULL; + gtk_tree_selection_selected_foreach(selection, multipleSelectionHelper, + &list); + li = list; +#endif if(li == NULL) return; @@ -1335,7 +1370,7 @@ me->_lister->openCache(TRUE); while(li != NULL) { - gtk_tree_model_get_iter(GTK_TREE_MODEL(me->_pkgTree), &iter, + gtk_tree_model_get_iter(GTK_TREE_MODEL(me->_pkgTree), &iter, (GtkTreePath*)(li->data)); gtk_tree_model_get(GTK_TREE_MODEL(me->_pkgTree), &iter, PKG_COLUMN, &pkg, -1); @@ -1397,8 +1432,14 @@ // get list of selected pkgs selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (me->_treeView)); - list = li = gtk_tree_selection_get_selected_rows(selection, - (GtkTreeModel**)(&me->_pkgTree)); +#ifdef EVERBODY_USES_GTK2_2_NOW + list = li = gtk_tree_selection_get_selected_rows(selection, + &me->_activeTreeModel); +#else + li = list = NULL; + gtk_tree_selection_selected_foreach(selection, multipleSelectionHelper,&list); + li = list; +#endif // save pkg state RPackageLister::pkgState state; @@ -2537,14 +2578,23 @@ if (me->_pkgTree == NULL) return; +#ifdef EVERBODY_USES_GTK2_2_NOW list = li = gtk_tree_selection_get_selected_rows(selection, - (GtkTreeModel**)(&me->_pkgTree)); + &me->_activeTreeModel); +#else + li = list = NULL; + gtk_tree_selection_selected_foreach(selection, multipleSelectionHelper, + &list); + li = list; +#endif + // list is empty if(li == NULL) return; // we are only interessted in the last element li = g_list_last(li); + cout << "li->data: " << li->data << endl; gtk_tree_model_get_iter(GTK_TREE_MODEL(me->_pkgTree), &iter, (GtkTreePath*)(li->data)); --- synaptic-0.36.1/gtk/rgfiltermanager.h.gtk2 2003-04-08 17:11:40.000000000 -0500 +++ synaptic-0.36.1/gtk/rgfiltermanager.h 2003-05-16 07:23:14.000000000 -0500 @@ -29,6 +29,15 @@ #include "rgwindow.h" #include "rpackagefilter.h" +#ifndef EVERBODY_USES_GTK2_2_NOW +// this function sucks, but it's needed to be compatible with gtk2.0 +void multipleSelectionHelper(GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data); +#endif + + class RPackageLister; class RGFilterManagerWindow; --- synaptic-0.36.1/gtk/rgfiltermanager.cc.gtk2 2003-04-08 18:07:32.000000000 -0500 +++ synaptic-0.36.1/gtk/rgfiltermanager.cc 2003-05-16 07:34:55.000000000 -0500 @@ -587,7 +587,7 @@ GtkTreeSelection *selection; GtkTreeIter iter; char *text; - GList *list; + GList *list, *li; GtkWidget *w = glade_xml_get_widget(_gladeXML, "radiobutton_incl"); assert(w); @@ -596,7 +596,15 @@ f.clear(); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(_sectionList)); - list = gtk_tree_selection_get_selected_rows(selection, NULL); +#ifdef EVERBODY_USES_GTK2_2_NOW + list = li = gtk_tree_selection_get_selected_rows(selection,NULL); +#else + li = list = NULL; + gtk_tree_selection_selected_foreach(selection, multipleSelectionHelper, + &li); + list = li; +#endif + while (list) { if(gtk_tree_model_get_iter(GTK_TREE_MODEL(_sectionListStore),