Mercurial > fife-parpg
diff engine/core/view/renderers/genericrenderer.cpp @ 24:cb87d40e9342
fix exceptions and cleanup code
author | spq@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Fri, 11 Jul 2008 11:00:10 +0000 |
parents | e5e2fec68834 |
children | fc6713d72b80 |
line wrap: on
line diff
--- a/engine/core/view/renderers/genericrenderer.cpp Fri Jul 11 10:42:31 2008 +0000 +++ b/engine/core/view/renderers/genericrenderer.cpp Fri Jul 11 11:00:10 2008 +0000 @@ -89,32 +89,32 @@ Instance* GenericRendererNode::getAttachedInstance() { if(m_instance == NULL) { - throw "asd"; + throw NotSupported("No instance attached."); } return m_instance; } Location* GenericRendererNode::getAttachedLocation() { if(m_instance != NULL or m_location == NULL) { - throw "asd"; + throw NotSupported("No location attached."); } return m_location; } Point GenericRendererNode::getAttachedPoint() { if(m_instance != NULL or m_location != NULL) { - throw "asd"; + throw NotSupported("No point attached."); } return m_point; } Location* GenericRendererNode::getOffsetLocation() { - if(m_instance == NULL) { - throw "asd"; + if(m_instance == NULL or m_location == NULL) { + throw NotSupported("No location as offset used."); } return m_location; } Point GenericRendererNode::getOffsetPoint() { if(m_instance == NULL and m_location == NULL) { - throw "asd"; + throw NotSupported("No point as offset used."); } return m_point; } @@ -265,6 +265,10 @@ m_infos.push_back(info); } void GenericRenderer::removeAll() { + std::vector<GenericRendererElementInfo*>::const_iterator info_it = m_infos.begin(); + for (;info_it != m_infos.end(); ++info_it) { + delete *info_it; + } m_infos.clear(); }