Substitute deprecated Glib symbol: g_mapped_file_free GOBJECT_INTROSPECTION_0_6_7
authorJavier Jardón <jjardon@gnome.org>
Thu, 3 Dec 2009 20:35:23 +0000 (21:35 +0100)
committerJohan Dahlin <johan@gnome.org>
Tue, 15 Dec 2009 13:06:50 +0000 (11:06 -0200)
glib-compat.h file created to use g_mapped_file_unref only if
glib >= 2.22 is available

https://bugzilla.gnome.org/show_bug.cgi?id=603727

girepository/Makefile.am
girepository/girepository.c
girepository/glib-compat.h [new file with mode: 0644]
girepository/gtypelib.c

index 1a449b2..1279f07 100644 (file)
@@ -9,16 +9,17 @@ lib_LTLIBRARIES = libgirepository-1.0.la
 noinst_LTLIBRARIES = libgirepository-parser.la
 
 libgirepository_1_0_la_SOURCES =               \
+       gdump.c                                 \
+       gfield.c                                \
+       ginfo.c                                 \
+       ginfo.h                                 \
+       ginvoke.c                               \
        girepository.c                          \
-       gtypelib.h                              \
+       girffi.c                                \
+       girffi.h                                \
+       glib-compat.h                           \
        gtypelib.c                              \
-       gfield.c                                \
-       ginfo.h                                 \
-       ginfo.c                                 \
-       girffi.c                                \
-       girffi.h                                \
-       gdump.c                                 \
-       ginvoke.c
+       gtypelib.h
 
 libgirepository_1_0_la_CPPFLAGS = $(GIREPO_CFLAGS)
 libgirepository_1_0_la_LIBADD = $(GIREPO_LIBS)
index e681829..e590616 100644 (file)
@@ -31,6 +31,7 @@
 #include "girepository.h"
 #include "gtypelib.h"
 #include "ginfo.h"
+#include "glib-compat.h"
 
 #include "config.h"
 
@@ -1039,7 +1040,7 @@ compare_candidate_reverse (struct NamespaceVersionCandidadate *c1,
 static void
 free_candidate (struct NamespaceVersionCandidadate *candidate)
 {
-  g_mapped_file_free (candidate->mfile);
+  g_mapped_file_unref (candidate->mfile);
   g_free (candidate->path);
   g_free (candidate->version);
   g_free (candidate);
diff --git a/girepository/glib-compat.h b/girepository/glib-compat.h
new file mode 100644 (file)
index 0000000..a4d3e49
--- /dev/null
@@ -0,0 +1,24 @@
+/* GObject introspection: Compatibility definitions
+ *
+ * Copyright (C) 2009 Javier Jardón
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser 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.
+ */
+
+
+#if !GLIB_CHECK_VERSION(2,22,0)
+#define g_mapped_file_unref(x) g_mapped_file_free(x)
+#endif
index bc9896d..a34ca32 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "config.h"
 #include "gtypelib.h"
+#include "glib-compat.h"
 
 typedef struct {
   GTypelib *typelib;
@@ -2134,7 +2135,7 @@ void
 g_typelib_free (GTypelib *typelib)
 {
   if (typelib->mfile)
-    g_mapped_file_free (typelib->mfile);
+    g_mapped_file_unref (typelib->mfile);
   else
     if (typelib->owns_memory)
       g_free (typelib->data);