Commit Graph

16 Commits

Author SHA1 Message Date
Martin Thümmel
178ef391c7 Fix of important memory leak in Python module
Dear all,
As described in the issue https://github.com/syoyo/tinyobjloader/issues/188#issue-385341218 there is a memory leak in the function pyLoadObj(). The reference count for all created Python objects must be decreased after they are fed into the lists and dictionaries. The only  exception from this is the function PyTuple_SetItem() in pyTupleFromfloat3(), which decreases the reference counter of the Python object *tuple automatically by calling this function. In all other cases like PyList_Insert(), the references are only borrowed and not decreased. Therefore, each created Python object will remain in the heap, since there is one reference to it left in the counter.

These facts are explained in https://docs.python.org/2/c-api/intro.html#reference-counts in detail.

Best regards
Martin.
P.S. sorry, that i did not put that much effort into a more readable code and just inserted the Py_DECREF() function at every necessary position.
2018-11-28 17:16:12 +01:00
Ododo
eb1f395101 Fix mapping for #131 and compilation error #139 #132 (related) 2017-10-08 04:00:14 +02:00
chrisliebert
e3508c3ca3 Added mapping from material index to to material name (#131) to Python wrapper. 2017-07-17 01:07:40 -07:00
Syoyo Fujita
e0b39341fc Merge pull request #111 from longjon/python2
Support Python 2.7
2016-12-06 14:37:05 +09:00
Jonathan L Long
c207ff3561 Support Python 2.7. 2016-12-05 15:24:22 -08:00
Jonathan L Long
41dd7c806e (Re-)expose attribs to Python. 2016-12-05 15:12:28 -08:00
Syoyo Fujita
5eef2b0914 Fix python binding. 2016-08-20 16:23:20 +09:00
Syoyo Fujita
a13e1d6164 Update python binding to match new API. 2015-11-07 23:10:42 +09:00
Olivier
fcad68bf2d update 2015-10-21 03:23:06 +02:00
root
aabdad4bc4 changed to switch structure 2014-11-17 22:06:25 +01:00
root
9587ad9aee cleaning code.. 2014-11-16 23:53:21 +01:00
root
93d7232614 fix shapes / adding setup file 2014-11-16 23:39:20 +01:00
Ododo
e5bbda3835 Update howto.py 2014-11-16 21:08:44 +01:00
root
f750f3faeb adding setup.py file 2014-11-16 19:35:18 +01:00
root
878a6560cd fix makefile 2014-11-14 15:22:50 +01:00
root
80b243092b base of python module 2014-11-14 14:32:20 +01:00