From a6a99547586fb0f4df55b3f649ead7d5986ce5ac Mon Sep 17 00:00:00 2001 From: =?utf8?q?Javier=20Jard=C3=B3n?= Date: Thu, 3 Dec 2009 21:35:23 +0100 Subject: [PATCH] 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(-) create mode 100644 girepository/glib-compat.h 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); -- 2.39.2