/* Returns: (type GObject.Object) (transfer full): object content of @value, should be unreferenced when no longer needed.  */
gpointer g_value_dup_object(const GValue *value)
/* Returns: (type GObject.Object) (transfer full): object content of @value, should be unreferenced when no longer needed.  */
gpointer g_value_dup_object(const GValue *value)
{
  g_return_val_if_fail (G_VALUE_HOLDS_OBJECT (value), NULL);
  return value->data[0].v_pointer ? g_object_ref (value->data[0].v_pointer) : NULL;
}