[gobject-introspection] Substitute deprecated Glib symbol: g_mapped_file_free



commit a6a99547586fb0f4df55b3f649ead7d5986ce5ac
Author: Javier Jardón <jjardon gnome org>
Date:   Thu Dec 3 21:35:23 2009 +0100

    Substitute deprecated Glib symbol: g_mapped_file_free
    
    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    |   17 +++++++++--------
 girepository/girepository.c |    3 ++-
 girepository/glib-compat.h  |   24 ++++++++++++++++++++++++
 girepository/gtypelib.c     |    3 ++-
 4 files changed, 37 insertions(+), 10 deletions(-)
---
diff --git a/girepository/Makefile.am b/girepository/Makefile.am
index 1a449b2..1279f07 100644
--- a/girepository/Makefile.am
+++ b/girepository/Makefile.am
@@ -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)
diff --git a/girepository/girepository.c b/girepository/girepository.c
index e681829..e590616 100644
--- a/girepository/girepository.c
+++ b/girepository/girepository.c
@@ -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
index 0000000..a4d3e49
--- /dev/null
+++ b/girepository/glib-compat.h
@@ -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
diff --git a/girepository/gtypelib.c b/girepository/gtypelib.c
index bc9896d..a34ca32 100644
--- a/girepository/gtypelib.c
+++ b/girepository/gtypelib.c
@@ -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);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]