From 4e5532ec51e7091656f2853895cee3dc69f8ad5e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 3 Sep 2010 19:03:34 -0400 Subject: [PATCH] Sort extensions properly Just taking the difference of the priorities has overflow issues, as pointed out in bug 623069. --- gio/giomodule.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gio/giomodule.c b/gio/giomodule.c index 39a38ff..83f4cc7 100644 --- a/gio/giomodule.c +++ b/gio/giomodule.c @@ -791,7 +791,13 @@ extension_prio_compare (gconstpointer a, { const GIOExtension *extension_a = a, *extension_b = b; - return extension_b->priority - extension_a->priority; + if (extension_a->priority > extension_b->priority) + return -1; + + if (extension_b->priority > extension_a->priority) + return 1; + + return 0; } /** -- 2.7.4