DEBUG_printf(("%s: %p release use=%d", class_name(), this, use));
use --;
- if (!use)
+
+#ifdef DEBUG
+ if (use < 0)
+ {
+ fprintf(stderr, "ERROR: Over-release of %s: %p\n", class_name(), this);
+ abort();
+ }
+#endif /* DEBUG */
+
+ if (use == 0)
delete this;
}