Ignore:
Timestamp:
May 5, 2016, 5:14:19 PM (10 years ago)
Author:
Frederik Heber <heber@…>
Children:
4a33f6
Parents:
fa6af2
git-author:
Frederik Heber <heber@…> (05/05/16 11:46:01)
git-committer:
Frederik Heber <heber@…> (05/05/16 17:14:19)
Message:

FIX: Replaced all uses of getInstance() inside dstors to signOff() by stored Observable ptrs.

  • this is cleaner anyway and how it should be done. We require the pointer eventually to signOff. Also, it serves as an indicator to whether we already received subjectKilled() on it.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Views/Qt4/QtFragmentList.cpp

    rfa6af2 r8c076a  
    5959QtFragmentList::QtFragmentList(QWidget * _parent) :
    6060    QTreeWidget (_parent),
    61     Observer("QtFragmentList")
     61    Observer("QtFragmentList"),
     62    observed_fragmentationresultcontainer(FragmentationResultContainer::getPointer())
    6263{
    6364  setColumnCount(COLUMNCOUNT);
     
    7475  refill();
    7576
    76   FragmentationResultContainer &fragments =
    77       FragmentationResultContainer::getInstance();
    78         fragments.signOn(this);
     77  observed_fragmentationresultcontainer->signOn(this);
    7978
    8079  connect(this,SIGNAL(itemSelectionChanged()),this,SLOT(rowSelected()));
     
    8483QtFragmentList::~QtFragmentList()
    8584{
    86   FragmentationResultContainer &fragments =
    87       FragmentationResultContainer::getInstance();
    88   fragments.signOff(this);
     85  if (observed_fragmentationresultcontainer)
     86    observed_fragmentationresultcontainer->signOff(this);
    8987}
    9088
     
    186184void QtFragmentList::subjectKilled(Observable *publisher)
    187185{
    188   // as a new instance should always already be present ... just sign on
    189   FragmentationResultContainer &fragments =
    190       FragmentationResultContainer::getInstance();
    191   fragments.signOn(this);
     186  if (publisher == observed_fragmentationresultcontainer)
     187    observed_fragmentationresultcontainer = NULL;
     188  else
     189    ASSERT(0,"QtFragmentList::subjectKilled() - unknown publisher "
     190        +toString(publisher));
    192191}
    193192
Note: See TracChangeset for help on using the changeset viewer.