summaryrefslogtreecommitdiffstats
path: root/Modules/_curses_panel.c
diff options
context:
space:
mode:
authorEddie Elizondo <eduardo.elizondorueda@gmail.com>2019-03-27 11:52:18 (GMT)
committerPetr Viktorin <encukou@gmail.com>2019-03-27 11:52:18 (GMT)
commit364f0b0f19cc3f0d5e63f571ec9163cf41c62958 (patch)
tree977c0c418780824cca9ef9b4d920b9d423253e84 /Modules/_curses_panel.c
parent1fc5bf2ff27b898e8d9460d0fbc791e83009ed71 (diff)
downloadcpython-364f0b0f19cc3f0d5e63f571ec9163cf41c62958.zip
cpython-364f0b0f19cc3f0d5e63f571ec9163cf41c62958.tar.gz
cpython-364f0b0f19cc3f0d5e63f571ec9163cf41c62958.tar.bz2
bpo-35810: Incref heap-allocated types in PyObject_Init (GH-11661)
* Incref heap-allocated types in PyObject_Init * Add documentation and porting notes to What's New
Diffstat (limited to 'Modules/_curses_panel.c')
-rw-r--r--Modules/_curses_panel.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/Modules/_curses_panel.c b/Modules/_curses_panel.c
index e7bbefd..53849e3 100644
--- a/Modules/_curses_panel.c
+++ b/Modules/_curses_panel.c
@@ -250,7 +250,10 @@ PyCursesPanel_New(PANEL *pan, PyCursesWindowObject *wo)
static void
PyCursesPanel_Dealloc(PyCursesPanelObject *po)
{
- PyObject *obj = (PyObject *) panel_userptr(po->pan);
+ PyObject *tp, *obj;
+
+ tp = (PyObject *) Py_TYPE(po);
+ obj = (PyObject *) panel_userptr(po->pan);
if (obj) {
(void)set_panel_userptr(po->pan, NULL);
Py_DECREF(obj);
@@ -261,6 +264,7 @@ PyCursesPanel_Dealloc(PyCursesPanelObject *po)
remove_lop(po);
}
PyObject_DEL(po);
+ Py_DECREF(tp);
}
/* panel_above(NULL) returns the bottom panel in the stack. To get