[gobject-introspection] increase limit of GIRealInfo's ref_count
- From: Maxim Ermilov <mermilov src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gobject-introspection] increase limit of GIRealInfo's ref_count
- Date: Mon, 25 Jan 2010 19:04:48 +0000 (UTC)
commit d02fa080445ebcea8b878dd496ec3f5affb59a64
Author: Maxim Ermilov <zaspire rambler ru>
Date: Mon Jan 25 00:26:29 2010 +0300
increase limit of GIRealInfo's ref_count
New limit is 0x7FFFFFFF.
girepository/ginfo.c | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
---
diff --git a/girepository/ginfo.c b/girepository/ginfo.c
index ed2fc93..76d60ef 100644
--- a/girepository/ginfo.c
+++ b/girepository/ginfo.c
@@ -69,6 +69,8 @@ struct _GIUnresolvedInfo
const gchar *namespace;
};
+#define INVALID_REFCOUNT 0x7FFFFFFF
+
static void
g_info_init (GIRealInfo *info,
GIInfoType type,
@@ -80,7 +82,7 @@ g_info_init (GIRealInfo *info,
memset (info, 0, sizeof (GIRealInfo));
/* Invalid refcount used to flag stack-allocated infos */
- info->ref_count = 0xFFFF;
+ info->ref_count = INVALID_REFCOUNT;
info->type = type;
info->typelib = typelib;
@@ -110,7 +112,7 @@ g_info_new_full (GIInfoType type,
g_info_init (info, type, repository, container, typelib, offset);
info->ref_count = 1;
- if (container && ((GIRealInfo *) container)->ref_count != 0xFFFF)
+ if (container && ((GIRealInfo *) container)->ref_count != INVALID_REFCOUNT)
g_base_info_ref (info->container);
g_object_ref (info->repository);
@@ -170,7 +172,7 @@ g_base_info_ref (GIBaseInfo *info)
{
GIRealInfo *rinfo = (GIRealInfo*)info;
- g_assert (rinfo->ref_count != 0xFFFF);
+ g_assert (rinfo->ref_count != INVALID_REFCOUNT);
((GIRealInfo*)info)->ref_count++;
return info;
@@ -181,12 +183,12 @@ g_base_info_unref (GIBaseInfo *info)
{
GIRealInfo *rinfo = (GIRealInfo*)info;
- g_assert (rinfo->ref_count > 0 && rinfo->ref_count != 0xFFFF);
+ g_assert (rinfo->ref_count > 0 && rinfo->ref_count != INVALID_REFCOUNT);
rinfo->ref_count--;
if (!rinfo->ref_count)
{
- if (rinfo->container && ((GIRealInfo *) rinfo->container)->ref_count != 0xFFFF)
+ if (rinfo->container && ((GIRealInfo *) rinfo->container)->ref_count != INVALID_REFCOUNT)
g_base_info_unref (rinfo->container);
if (rinfo->repository)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]