Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Oct 28, 2008, 3:05:17 AM (16 years ago)
Author:
landauf
Message:

added spaceship

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/objecthierarchy/src/core/Identifier.h

    r2019 r2024  
    487487            SubclassIdentifier<T>& operator=(Identifier* identifier)
    488488            {
    489                 if (!identifier->isA(ClassIdentifier<T>::getIdentifier()))
     489                if (!identifier || !identifier->isA(ClassIdentifier<T>::getIdentifier()))
    490490                {
    491491                    COUT(1) << "An error occurred in SubclassIdentifier (Identifier.h):" << std::endl;
    492                     COUT(1) << "Error: Class " << identifier->getName() << " is not a " << ClassIdentifier<T>::getIdentifier()->getName() << "!" << std::endl;
    493                     COUT(1) << "Error: SubclassIdentifier<" << ClassIdentifier<T>::getIdentifier()->getName() << "> = Class(" << identifier->getName() << ") is forbidden." << std::endl;
    494                     COUT(1) << "Aborting..." << std::endl;
    495                     abort();
     492                    if (identifier)
     493                    {
     494                        COUT(1) << "Error: Class " << identifier->getName() << " is not a " << ClassIdentifier<T>::getIdentifier()->getName() << "!" << std::endl;
     495                        COUT(1) << "Error: SubclassIdentifier<" << ClassIdentifier<T>::getIdentifier()->getName() << "> = Class(" << identifier->getName() << ") is forbidden." << std::endl;
     496                    }
     497                    else
     498                    {
     499                        COUT(1) << "Error: Can't assign NULL identifier" << std::endl;
     500                    }
    496501                }
    497                 this->identifier_ = identifier;
     502                else
     503                {
     504                    this->identifier_ = identifier;
     505                }
    498506                return *this;
    499507            }
Note: See TracChangeset for help on using the changeset viewer.