Issue #20440: Massive replacing unsafe attribute setting code with special
macro Py_SETREF.
diff --git a/Modules/_curses_panel.c b/Modules/_curses_panel.c
index 87b9c05..759b731 100644
--- a/Modules/_curses_panel.c
+++ b/Modules/_curses_panel.c
@@ -312,9 +312,8 @@
         PyErr_SetString(_curses_panelstate_global->PyCursesError, "replace_panel() returned ERR");
         return NULL;
     }
-    Py_DECREF(po->wo);
-    po->wo = temp;
-    Py_INCREF(po->wo);
+    Py_INCREF(temp);
+    Py_SETREF(po->wo, temp);
     Py_INCREF(Py_None);
     return Py_None;
 }