Browse Source

display: Fix memory leak in GSG::get_prepared_textures()

rdb 5 years ago
parent
commit
8d22b80698
1 changed files with 2 additions and 1 deletions
  1. 2 1
      panda/src/display/graphicsStateGuardian_ext.cxx

+ 2 - 1
panda/src/display/graphicsStateGuardian_ext.cxx

@@ -25,10 +25,11 @@ static bool traverse_callback(TextureContext *tc, void *data) {
   PyObject *element =
   PyObject *element =
     DTool_CreatePyInstanceTyped(tex, Dtool_Texture,
     DTool_CreatePyInstanceTyped(tex, Dtool_Texture,
                                 true, false, tex->get_type_index());
                                 true, false, tex->get_type_index());
-  tex->ref();
+  tex.cheat() = nullptr;
 
 
   PyObject *list = (PyObject *) data;
   PyObject *list = (PyObject *) data;
   PyList_Append(list, element);
   PyList_Append(list, element);
+  Py_DECREF(element);
 
 
   return true;
   return true;
 }
 }