Can we use g_boxed_type_register_static type with g_signal_new ?



Because I have a core dumped with gnome-panel:Action->Open Recent with AIX

Why ?

Segmentation fault in egg_recent_item_unref at line 75 in file "" ($t1)
couldn't read
"/users5/vivierl/sandboxes/gnome_220/src/gnome-panel/gnome-panel/egg-recent-item.c"
(dbx) where
egg_recent_item_unref(item = 0x00000003), line 75 in "egg-recent-item.c"
boxed_proxy_value_free(0x2ff215f0) at 0xd99a07dc
g_value_unset(0x2ff215f0) at 0xd99a27bc
g_signal_emit_valist(0x2030fc18, 0xa5, 0x0, 0x2ff21928) at 0xd99c3b6c
g_signal_emit(0x2030fc18, 0xa5, 0x0, 0x2035f838, 0x0, 0x0, 0x10000001,
0x5) at 0xd99c314c
egg_recent_view_gtk_menu_cb(0x20361388, 0x20314e78), line 169 in
"egg-recent-view-gtk.c"
...
   +72  void
   +73  egg_recent_item_unref (EggRecentItem *item)
   +74  {
   +75          item->refcount--;
   +76
   +77          if (item->refcount == 0) {
   +78                  egg_recent_item_free (item);
   +79          }
   +80  }

(dbx) p item
0x00000003

As you can see, this value is not a pointer !!!

But the good value is in var_args of g_signal_emit_valist().

This value is extracted from var_args in g_signal_emit_valist()

 +2528        g_value_init (param_values + i, ptype);
 +2529        G_VALUE_COLLECT (param_values + i,
 +2530                         var_args,
 +2531                         static_scope ? G_VALUE_NOCOPY_CONTENTS : 0,
 +2532                         &error);

but it seems that G_VALUE_COLLECT() cannot manage correctly the type to
extract the value.

I think this type comes from g_signal_new(), it's a GBoxed type.

Where is the problem ?

Laurent






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