Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 8, 2009, 12:58:47 AM (16 years ago)
Author:
dafrick
Message:

Reverted to revision 2906 (because I'm too stupid to merge correctly, 2nd try will follow shortly. ;))

Location:
code/branches/questsystem5
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/branches/questsystem5

  • code/branches/questsystem5/src/core/Iterator.h

    r2907 r2908  
    7575                this->element_ = exp.element_;
    7676                this->list_ = exp.list_;
    77                 this->list_->registerIterator(this);
     77                this->iterator_ = this->list_->registerIterator(this);
    7878            }
    7979
     
    8686                this->element_ = other.element_;
    8787                this->list_ = other.list_;
    88                 this->list_->registerIterator(this);
     88                this->iterator_ = this->list_->registerIterator(this);
    8989            }
    9090
     
    9898                this->element_ = (element) ? static_cast<ObjectListBaseElement*>(element) : 0;
    9999                this->list_ = ClassIdentifier<O>::getIdentifier()->getObjects();
    100                 this->list_->registerIterator(this);
     100                this->iterator_ = this->list_->registerIterator(this);
    101101            }
    102102
     
    110110                this->element_ = (other.element_) ? static_cast<ObjectListBaseElement*>(other.element_) : 0;
    111111                this->list_ = ClassIdentifier<O>::getIdentifier()->getObjects();
    112                 this->list_->registerIterator(this);
     112                this->iterator_ = this->list_->registerIterator(this);
    113113            }
    114114
     
    118118            inline ~Iterator()
    119119            {
    120                 this->list_->unregisterIterator(this);
     120                this->list_->unregisterIterator(this->iterator_);
    121121            }
    122122
     
    128128            {
    129129                if (this->list_)
    130                     this->list_->unregisterIterator(this);
     130                    this->list_->unregisterIterator(this->iterator_);
    131131
    132132                this->element_ = exp.element_;
    133133                this->list_ = exp.list_;
    134                 this->list_->registerIterator(this);
     134                this->iterator_ = this->list_->registerIterator(this);
    135135
    136136                return (*this);
     
    144144            {
    145145                if (this->list_)
    146                     this->list_->unregisterIterator(this);
     146                    this->list_->unregisterIterator(this->iterator_);
    147147
    148148                this->element_ = other.element_;
    149149                this->list_ = other.list_;
    150                 this->list_->registerIterator(this);
     150                this->iterator_ = this->list_->registerIterator(this);
    151151
    152152                return (*this);
     
    161161            {
    162162                if (this->list_)
    163                     this->list_->unregisterIterator(this);
     163                    this->list_->unregisterIterator(this->iterator_);
    164164
    165165                this->element_ = (element) ? static_cast<ObjectListBaseElement*>(element) : 0;
    166166                this->list_ = ClassIdentifier<O>::getIdentifier()->getObjects();
    167                 this->list_->registerIterator(this);
     167                this->iterator_ = this->list_->registerIterator(this);
    168168
    169169                return (*this);
     
    179179            {
    180180                if (this->list_)
    181                     this->list_->unregisterIterator(this);
    182 
    183                 this->element_ = (other.element_) ? static_cast<ObjectListBaseElement*>(other.element_) : 0;
     181                    this->list_->unregisterIterator(this->iterator_);
     182
     183                this->element_ = (other.element_) ? (ObjectListBaseElement*)other.element_ : 0;
    184184                this->list_ = ClassIdentifier<O>::getIdentifier()->getObjects();
    185                 this->list_->registerIterator(this);
     185                this->iterator_ = this->list_->registerIterator(this);
    186186
    187187                return (*this);
     
    300300            ObjectListBaseElement* element_;       //!< The element the Iterator points at
    301301            ObjectListBase* list_;                 //!< The list wherein the element is
     302            std::list<void*>::iterator iterator_;  //!< The iterator in the notifying list of the ObjectList
    302303    };
    303304
Note: See TracChangeset for help on using the changeset viewer.