[Libufo-commits] ufo-0.5/src uabstractdisplay.cpp,1.16,1.17
Status: Beta
Brought to you by:
schmidtjf
|
From: Johannes S. <sch...@us...> - 2005-10-18 15:56:13
|
Update of /cvsroot/libufo/ufo-0.5/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15773/src Modified Files: uabstractdisplay.cpp Log Message: Fixed handling of volatile data. Removed referencing. Index: uabstractdisplay.cpp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/src/uabstractdisplay.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** uabstractdisplay.cpp 18 Aug 2005 18:05:20 -0000 1.16 --- uabstractdisplay.cpp 18 Oct 2005 15:56:00 -0000 1.17 *************** *** 68,77 **** setDefault(NULL); } - // unreference volatile data - for(std::list<UVolatileData*>::iterator iter = m_volatileData.begin(); - iter != m_volatileData.end(); - ++iter) { - (*iter)->unreference(); - } } --- 68,71 ---- *************** *** 92,97 **** m_volatileData.end()) { m_volatileData.push_back(vdata); - // references the volatile data - vdata->reference(); } } --- 86,89 ---- *************** *** 104,108 **** if (iter != m_volatileData.end()) { m_volatileData.erase(iter); - vdata->unreference(); } } --- 96,99 ---- *************** *** 287,302 **** case UEvent::Refresh: { // refresh volatile data and remove unused data ! for(std::list<UVolatileData*>::iterator next_iter, iter = m_volatileData.begin(); ! iter != m_volatileData.end(); ! iter = next_iter) { ! next_iter = iter; ! ++next_iter; ! if ((*iter)->getReferenceCount() == 1) { ! // this object is ready for deletion ! (*iter)->unreference(); ! m_volatileData.erase(iter); ! } else { ! (*iter)->refresh(); ! } } // refresh contexts --- 278,287 ---- case UEvent::Refresh: { // refresh volatile data and remove unused data ! std::list<UVolatileData*>::iterator iter = m_volatileData.begin(); ! std::list<UVolatileData*>::iterator next_iter; ! while (iter != m_volatileData.end()) { ! next_iter = ++iter; ! (*iter)->refresh(); ! iter = next_iter; } // refresh contexts |