- made all iterator classes natively abstract so that they do not get a ConstructNative method so that OP_NEW can refuse creating them without the need to mark them as abstract.

- block creation of actors with the 'new' instruction. Unlike the above these cannot be made abstract because without ConstructNative they cannot be serialized.
This commit is contained in:
Christoph Oelckers 2017-03-09 17:21:37 +01:00
commit 878e6015df
4 changed files with 18 additions and 5 deletions

View file

@ -709,7 +709,7 @@ DThinker *FThinkerIterator::Next (bool exact)
class DThinkerIterator : public DObject, public FThinkerIterator
{
DECLARE_CLASS(DThinkerIterator, DObject)
DECLARE_ABSTRACT_CLASS(DThinkerIterator, DObject)
DThinkerIterator()
{
@ -722,7 +722,7 @@ public:
}
};
IMPLEMENT_CLASS(DThinkerIterator, false, false);
IMPLEMENT_CLASS(DThinkerIterator, true, false);
DEFINE_ACTION_FUNCTION(DThinkerIterator, Create)
{
PARAM_PROLOGUE;