mirror of
https://github.com/go-gst/go-gst.git
synced 2025-10-04 23:52:55 +08:00
don't dereference glib.Value pointers, to not risk triggering the finalizer
This commit is contained in:
@@ -634,8 +634,7 @@ func ValueList(ss []interface{}) *ValueListValue {
|
|||||||
(*C.GValue)(unsafe.Pointer(val.GValue)),
|
(*C.GValue)(unsafe.Pointer(val.GValue)),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
out := ValueListValue(*v)
|
return (*ValueListValue)(v)
|
||||||
return &out
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Size returns the size of the list.
|
// Size returns the size of the list.
|
||||||
@@ -672,8 +671,8 @@ func (v *ValueListValue) Concat(value *ValueListValue) *ValueListValue {
|
|||||||
(*C.GValue)(unsafe.Pointer(v.GValue)),
|
(*C.GValue)(unsafe.Pointer(v.GValue)),
|
||||||
(*C.GValue)(unsafe.Pointer(value.GValue)),
|
(*C.GValue)(unsafe.Pointer(value.GValue)),
|
||||||
)
|
)
|
||||||
o := ValueListValue(*out)
|
|
||||||
return &o
|
return (*ValueListValue)(out)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Merge merges copies of value into this list. Values that are not of type TypeValueList are treated as
|
// Merge merges copies of value into this list. Values that are not of type TypeValueList are treated as
|
||||||
@@ -691,12 +690,12 @@ func (v *ValueListValue) Merge(value *ValueListValue) *ValueListValue {
|
|||||||
(*C.GValue)(unsafe.Pointer(v.GValue)),
|
(*C.GValue)(unsafe.Pointer(v.GValue)),
|
||||||
(*C.GValue)(unsafe.Pointer(value.GValue)),
|
(*C.GValue)(unsafe.Pointer(value.GValue)),
|
||||||
)
|
)
|
||||||
o := ValueListValue(*out)
|
|
||||||
return &o
|
return (*ValueListValue)(out)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToGValue implements a glib.ValueTransformer.
|
// ToGValue implements a glib.ValueTransformer.
|
||||||
func (v *ValueListValue) ToGValue() (*glib.Value, error) {
|
func (v *ValueListValue) ToGValue() (*glib.Value, error) {
|
||||||
out := glib.Value(*v)
|
val := (*glib.Value)(v)
|
||||||
return &out, nil
|
return val.Copy()
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user