Use gdbpy_ref to simplify some logic
[deliverable/binutils-gdb.git] / gdb / python / py-breakpoint.c
index 507b866ed32b526c55a8126b282fd727e1d7ba63..724a7ed41c96c54cf849d8f290ff8bc9456e1575 100644 (file)
@@ -911,25 +911,23 @@ gdbpy_breakpoint_deleted (struct breakpoint *b)
   int num = b->number;
   PyGILState_STATE state;
   struct breakpoint *bp = NULL;
-  gdbpy_breakpoint_object *bp_obj;
 
   state = PyGILState_Ensure ();
   bp = get_breakpoint (num);
   if (bp)
     {
-      bp_obj = bp->py_bp_object;
-      if (bp_obj)
+      gdbpy_ref<gdbpy_breakpoint_object> bp_obj (bp->py_bp_object);
+      if (bp_obj != NULL)
        {
          if (!evregpy_no_listeners_p (gdb_py_events.breakpoint_deleted))
            {
-             if (evpy_emit_event ((PyObject *) bp_obj,
+             if (evpy_emit_event ((PyObject *) bp_obj.get (),
                                   gdb_py_events.breakpoint_deleted) < 0)
                gdbpy_print_stack ();
            }
 
          bp_obj->bp = NULL;
          --bppy_live;
-         Py_DECREF (bp_obj);
        }
     }
   PyGILState_Release (state);
This page took 0.024951 seconds and 4 git commands to generate.