projects
/
gnome.gobject-introspection
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
be00b87
)
increase limit of GIRealInfo's ref_count
author
Maxim Ermilov
<zaspire@rambler.ru>
Sun, 24 Jan 2010 21:26:29 +0000
(
00:26
+0300)
committer
Maxim Ermilov
<zaspire@rambler.ru>
Mon, 25 Jan 2010 19:08:11 +0000
(22:08 +0300)
New limit is 0x7FFFFFFF.
girepository/ginfo.c
patch
|
blob
|
history
diff --git
a/girepository/ginfo.c
b/girepository/ginfo.c
index
ed2fc93
..
76d60ef
100644
(file)
--- a/
girepository/ginfo.c
+++ b/
girepository/ginfo.c
@@
-69,6
+69,8
@@
struct _GIUnresolvedInfo
const gchar *namespace;
};
const gchar *namespace;
};
+#define INVALID_REFCOUNT 0x7FFFFFFF
+
static void
g_info_init (GIRealInfo *info,
GIInfoType type,
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 */
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;
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;
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);
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;
{
GIRealInfo *rinfo = (GIRealInfo*)info;
- g_assert (rinfo->ref_count !=
0xFFFF
);
+ g_assert (rinfo->ref_count !=
INVALID_REFCOUNT
);
((GIRealInfo*)info)->ref_count++;
return info;
((GIRealInfo*)info)->ref_count++;
return info;
@@
-181,12
+183,12
@@
g_base_info_unref (GIBaseInfo *info)
{
GIRealInfo *rinfo = (GIRealInfo*)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)
{
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)
g_base_info_unref (rinfo->container);
if (rinfo->repository)