File: | nautilus-python-object.c |
Function: | nautilus_python_object_update_file_info |
Error: | ob_refcnt of '*py_handle' is 1 too high |
387 static NautilusOperationResult
388 nautilus_python_object_update_file_info (NautilusInfoProvider *provider,
389 NautilusFile *file,
390 GClosure *update_complete,
391 NautilusOperationHandle **handle)
392 {
393 NautilusPythonObject *object = (NautilusPythonObject*)provider;
394 NautilusOperationResult ret = NAUTILUS_OPERATION_COMPLETE;
395 PyObject *py_ret = NULL;
396 PyGILState_STATE state = pyg_gil_state_ensure();
when treating unknown struct _PyGObject_Functions * from /usr/include/pygtk-2.0/pygobject.h:209 as non-NULL
calling unknown int (*) (void) from nautilus-python-object.c:396
397 PyObject *py_handle = nautilus_python_boxed_new (_PyNautilusOperationHandle_Type, *handle, FALSE);
when treating unknown struct NautilusOperationHandle * * from nautilus-python-object.c:391 as non-NULL
when nautilus_python_boxed_new() succeeds
new ref from (unknown) nautilus_python_boxed_new allocated at: PyObject *py_handle = nautilus_python_boxed_new (_PyNautilusOperationHandle_Type, *handle, FALSE);
ob_refcnt is now refs: 1 + N where N >= 0
398
399 debug_enter();
when considering range: -0x80000000 <= value <= -1
taking True path
400
401 CHECK_OBJECT(object);
when treating unknown struct NautilusInfoProvider * from nautilus-python-object.c:388 as non-NULL
when treating unknown struct PyObject * from nautilus-python-object.c:401 as non-NULL
taking False path
402
403 if (PyObject_HasAttrString(object->instance, "update_file_info_full"))
when treating unknown struct PyObject * from nautilus-python-object.c:403 as non-NULL
when PyObject_HasAttrString() returns 1 (true)
taking True path
404 {
405 py_ret = PyObject_CallMethod(object->instance,
when call fails
when call succeeds
when call fails
when PyObject_CallMethod() fails
406 METHOD_PREFIX "update_file_info_full", "(NNNN)",
407 pygobject_new((GObject*)provider),
408 py_handle,
409 pyg_boxed_new(G_TYPE_CLOSURE, update_complete, TRUE, TRUE),
410 pygobject_new((GObject*)file));
411 }
412 else if (PyObject_HasAttrString(object->instance, "update_file_info"))
413 {
414 py_ret = PyObject_CallMethod(object->instance,
415 METHOD_PREFIX METHOD_NAME, "(N)",
416 pygobject_new((GObject*)file));
417 }
418 else
419 {
420 goto beach;
421 }
422
423 HANDLE_RETVAL(py_ret);
taking True path
calling PyErr_Print()
424
425 if (!PyInt_Check(py_ret))
426 {
427 PyErr_SetString(PyExc_TypeError,
428 METHOD_NAME " must return None or a int");
429 goto beach;
430 }
431
432 ret = PyInt_AsLong(py_ret);
433
434 beach:
435 free_pygobject_data(file, NULL);
436 Py_XDECREF(py_ret);
taking True path
437 pyg_gil_state_release(state);
calling unknown void (*) (int) from nautilus-python-object.c:437
438 return ret;
returning
ob_refcnt of '*py_handle' is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 2 similar trace(s) to this
439 }
File: | nautilus-python-object.c |
Function: | nautilus_python_object_update_file_info |
Error: | ob_refcnt of new ref from call through function pointer is 1 too high |
387 static NautilusOperationResult
388 nautilus_python_object_update_file_info (NautilusInfoProvider *provider,
389 NautilusFile *file,
390 GClosure *update_complete,
391 NautilusOperationHandle **handle)
392 {
393 NautilusPythonObject *object = (NautilusPythonObject*)provider;
394 NautilusOperationResult ret = NAUTILUS_OPERATION_COMPLETE;
395 PyObject *py_ret = NULL;
396 PyGILState_STATE state = pyg_gil_state_ensure();
when treating unknown struct _PyGObject_Functions * from /usr/include/pygtk-2.0/pygobject.h:209 as non-NULL
calling unknown int (*) (void) from nautilus-python-object.c:396
397 PyObject *py_handle = nautilus_python_boxed_new (_PyNautilusOperationHandle_Type, *handle, FALSE);
when treating unknown struct NautilusOperationHandle * * from nautilus-python-object.c:391 as non-NULL
when nautilus_python_boxed_new() succeeds
398
399 debug_enter();
when considering range: -0x80000000 <= value <= -1
taking True path
400
401 CHECK_OBJECT(object);
when treating unknown struct NautilusInfoProvider * from nautilus-python-object.c:388 as non-NULL
when treating unknown struct PyObject * from nautilus-python-object.c:401 as non-NULL
taking False path
402
403 if (PyObject_HasAttrString(object->instance, "update_file_info_full"))
when treating unknown struct PyObject * from nautilus-python-object.c:403 as non-NULL
when PyObject_HasAttrString() returns 1 (true)
taking True path
404 {
405 py_ret = PyObject_CallMethod(object->instance,
when call fails
when call succeeds
when call fails
when PyObject_CallMethod() fails
new ref from call through function pointer allocated at: py_ret = PyObject_CallMethod(object->instance,
ob_refcnt is now refs: 1 + N where N >= 0
406 METHOD_PREFIX "update_file_info_full", "(NNNN)",
407 pygobject_new((GObject*)provider),
408 py_handle,
409 pyg_boxed_new(G_TYPE_CLOSURE, update_complete, TRUE, TRUE),
410 pygobject_new((GObject*)file));
411 }
412 else if (PyObject_HasAttrString(object->instance, "update_file_info"))
413 {
414 py_ret = PyObject_CallMethod(object->instance,
415 METHOD_PREFIX METHOD_NAME, "(N)",
416 pygobject_new((GObject*)file));
417 }
418 else
419 {
420 goto beach;
421 }
422
423 HANDLE_RETVAL(py_ret);
taking True path
calling PyErr_Print()
424
425 if (!PyInt_Check(py_ret))
426 {
427 PyErr_SetString(PyExc_TypeError,
428 METHOD_NAME " must return None or a int");
429 goto beach;
430 }
431
432 ret = PyInt_AsLong(py_ret);
433
434 beach:
435 free_pygobject_data(file, NULL);
436 Py_XDECREF(py_ret);
taking True path
437 pyg_gil_state_release(state);
calling unknown void (*) (int) from nautilus-python-object.c:437
438 return ret;
returning
ob_refcnt of new ref from call through function pointer is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 4 similar trace(s) to this
439 }