[pygobject] Revert "Revert "pygi-boxed: make in-place copy safer""
- From: Christoph Reiter <creiter src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pygobject] Revert "Revert "pygi-boxed: make in-place copy safer""
- Date: Fri, 16 Feb 2018 19:19:20 +0000 (UTC)
commit 26b7fc3fee55870cc944b0f718da8a75c75f4eae
Author: Mathieu Duponchelle <mathieu centricular com>
Date: Fri Feb 16 00:45:40 2018 +0100
Revert "Revert "pygi-boxed: make in-place copy safer""
This reverts commit 700c785367975995d24a8ffd00b2aa028ccf77e8.
gi/pygi-boxed.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
---
diff --git a/gi/pygi-boxed.c b/gi/pygi-boxed.c
index fa690bb3..599d6d3e 100644
--- a/gi/pygi-boxed.c
+++ b/gi/pygi-boxed.c
@@ -42,6 +42,8 @@ boxed_del (PyGIBoxed *self)
if ( ( (PyGBoxed *) self)->free_on_dealloc && boxed != NULL) {
if (self->slice_allocated) {
g_slice_free1 (self->size, boxed);
+ self->slice_allocated = FALSE;
+ self->size = 0;
} else {
g_type = pyg_type_from_object ( (PyObject *) self);
g_boxed_free (g_type, boxed);
@@ -203,7 +205,11 @@ void
_pygi_boxed_copy_in_place (PyGIBoxed *self)
{
PyGBoxed *pygboxed = (PyGBoxed *)self;
- gpointer copy = g_boxed_copy (pygboxed->gtype, pyg_boxed_get_ptr (self));
+ gpointer ptr = pyg_boxed_get_ptr (self);
+ gpointer copy = NULL;
+
+ if (ptr)
+ copy = g_boxed_copy (pygboxed->gtype, ptr);
boxed_del (self);
pyg_boxed_set_ptr (pygboxed, copy);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]