Skip to content
Snippets Groups Projects
  • Nat Goodspeed's avatar
    aea1e469
    DRTVWR-476: Make ~LLEventPumps() call reset() on its way out. · aea1e469
    Nat Goodspeed authored
    ~LLEventPumps() deletes every LLEventPump instance it created itself. However,
    many classes themselves contain LLEventPump subclass instances. These are
    registered with LLEventPumps without it managing their lifespan.
    
    But LLEventPump::reset() frees the LLStandardSignal aka
    boost::signals2::signal instance owned by the LLEventPump, perforce
    disconnecting all current listeners and disabling the LLEventPump. Even though
    the instance still exists, if someone subsequently calls post(), nothing will
    happen -- which is better than control trying to reach a method of a deleted
    object.
    aea1e469
    History
    DRTVWR-476: Make ~LLEventPumps() call reset() on its way out.
    Nat Goodspeed authored
    ~LLEventPumps() deletes every LLEventPump instance it created itself. However,
    many classes themselves contain LLEventPump subclass instances. These are
    registered with LLEventPumps without it managing their lifespan.
    
    But LLEventPump::reset() frees the LLStandardSignal aka
    boost::signals2::signal instance owned by the LLEventPump, perforce
    disconnecting all current listeners and disabling the LLEventPump. Even though
    the instance still exists, if someone subsequently calls post(), nothing will
    happen -- which is better than control trying to reach a method of a deleted
    object.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.