]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkrecentchooserutils.c
GtkIconTheme: fix regression from 0db32f0632ef4675bfcfc9ec201f7af157a48ab0
[~andy/gtk] / gtk / gtkrecentchooserutils.c
index 102e2fdfd696552d7d1f710d38295d1bf82a54bc..3d496d041c151a46a32b6175155fae797bb170d1 100644 (file)
@@ -16,9 +16,7 @@
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  *
  * Based on gtkfilechooserutils.c:
  *     Copyright (C) 2003 Red Hat, Inc.
@@ -27,7 +25,6 @@
 #include "config.h"
 
 #include "gtkrecentchooserutils.h"
-#include "gtkalias.h"
 
 /* Methods */
 static void      delegate_set_sort_func              (GtkRecentChooser  *chooser,
@@ -161,7 +158,7 @@ _gtk_recent_chooser_set_delegate (GtkRecentChooser *receiver,
                    G_CALLBACK (delegate_notify), receiver);
   g_signal_connect (delegate, "selection-changed",
                    G_CALLBACK (delegate_selection_changed), receiver);
-  g_signal_connect (delegate, "item_activated",
+  g_signal_connect (delegate, "item-activated",
                    G_CALLBACK (delegate_item_activated), receiver);
 }
 
@@ -302,7 +299,7 @@ sort_recent_items_mru (GtkRecentInfo *a,
 {
   g_assert (a != NULL && b != NULL);
   
-  return (gtk_recent_info_get_modified (a) < gtk_recent_info_get_modified (b));
+  return gtk_recent_info_get_modified (b) - gtk_recent_info_get_modified (a);
 }
 
 static gint
@@ -312,7 +309,7 @@ sort_recent_items_lru (GtkRecentInfo *a,
 {
   g_assert (a != NULL && b != NULL);
   
-  return (gtk_recent_info_get_modified (a) > gtk_recent_info_get_modified (b));
+  return -1 * (gtk_recent_info_get_modified (b) - gtk_recent_info_get_modified (a));
 }
 
 typedef struct
@@ -332,9 +329,7 @@ sort_recent_items_proxy (gpointer *a,
   SortRecentData *sort_recent = user_data;
 
   if (sort_recent->func)
-    return (* sort_recent->func) (info_a,
-                                  info_b,
-                                  sort_recent->data);
+    return (* sort_recent->func) (info_a, info_b, sort_recent->data);
   
   /* fallback */
   return 0;
@@ -404,8 +399,8 @@ get_is_recent_filtered (GtkRecentFilter *filter,
  * _gtk_recent_chooser_get_items:
  * @chooser: a #GtkRecentChooser
  * @filter: a #GtkRecentFilter
- * @sort_func: sorting function, or %NULL
- * @sort_data: sorting function data, or %NULL
+ * @sort_func: (allow-none): sorting function, or %NULL
+ * @sort_data: (allow-none): sorting function data, or %NULL
  *
  * Default implementation for getting the filtered, sorted and
  * clamped list of recently used resources from a #GtkRecentChooser.
@@ -508,15 +503,12 @@ _gtk_recent_chooser_get_items (GtkRecentChooser  *chooser,
 
   if (compare_func)
     {
-      SortRecentData *sort_recent;
+      SortRecentData sort_recent;
 
-      sort_recent = g_slice_new (SortRecentData);
-      sort_recent->func = sort_func;
-      sort_recent->data = sort_data;
+      sort_recent.func = sort_func;
+      sort_recent.data = sort_data;
 
-      items = g_list_sort_with_data (items, compare_func, sort_recent);
-
-      g_slice_free (SortRecentData, sort_recent);
+      items = g_list_sort_with_data (items, compare_func, &sort_recent);
     }
   
   length = g_list_length (items);
@@ -531,8 +523,7 @@ _gtk_recent_chooser_get_items (GtkRecentChooser  *chooser,
       l = clamp->next;
       clamp->next = NULL;
     
-      g_list_foreach (l, (GFunc) gtk_recent_info_unref, NULL);
-      g_list_free (l);
+      g_list_free_full (l, (GDestroyNotify) gtk_recent_info_unref);
     }
 
   return items;