diff --git a/extclass.h b/extclass.h index 48017f78..154d8506 100644 --- a/extclass.h +++ b/extclass.h @@ -397,7 +397,7 @@ class ExtensionClass { BaseClassInfo baseInfo(base, &ConversionFunction::downcast_ptr); ClassRegistry::register_base_class(baseInfo); - add_base(Ptr(as_object(base))); + add_base(Ptr(as_object(base), Ptr::new_ref)); SubClassInfo subInfo(this, &ConversionFunction::upcast_ptr); ClassRegistry::register_sub_class(subInfo); @@ -410,7 +410,7 @@ class ExtensionClass { BaseClassInfo baseInfo(base, 0); ClassRegistry::register_base_class(baseInfo); - add_base(Ptr(as_object(base))); + add_base(Ptr(as_object(base), Ptr::new_ref)); SubClassInfo subInfo(this, &ConversionFunction::upcast_ptr); ClassRegistry::register_sub_class(subInfo); diff --git a/extclass_demo.cpp b/extclass_demo.cpp index 4ce70904..59e8099f 100644 --- a/extclass_demo.cpp +++ b/extclass_demo.cpp @@ -363,6 +363,7 @@ static int getX(OverloadTest * u) return u->x(); } + /************************************************************/ /* */ /* classes to test base declarations and conversions */