summaryrefslogtreecommitdiff
path: root/gobject-introspection
diff options
context:
space:
mode:
Diffstat (limited to 'gobject-introspection')
-rw-r--r--gobject-introspection/scanner.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gobject-introspection/scanner.c b/gobject-introspection/scanner.c
index 2feb5eac6..3b186cf6d 100644
--- a/gobject-introspection/scanner.c
+++ b/gobject-introspection/scanner.c
@@ -1203,7 +1203,9 @@ g_igenerator_add_symbol (GIGenerator * igenerator, CSymbol * symbol)
/* that's not very optimized ! */
for (l = igenerator->symbol_list; l != NULL; l = l->next)
{
- if (g_str_equal (((CSymbol*)l->data)->ident, symbol->ident))
+ CSymbol *other_symbol = (CSymbol *)l->data;
+ if (g_str_equal (other_symbol->ident, symbol->ident)
+ && other_symbol->type == symbol->type)
{
g_printerr ("Dropping %s duplicate\n", symbol->ident);
return;