Lines 800-813
SfxDocumentMetaData::setMetaList(const char* i_name,
Link Here
|
800 |
} |
800 |
} |
801 |
} |
801 |
} |
802 |
|
802 |
|
803 |
// remove old meta data nodes |
803 |
{ |
804 |
for (std::vector<css::uno::Reference<css::xml::dom::XNode> > |
804 |
std::vector<css::uno::Reference<css::xml::dom::XNode> > |
805 |
::reverse_iterator it = vec.rbegin(); it != vec.rend(); ) { |
805 |
::reverse_iterator it(vec.rbegin()); |
806 |
m_xParent->removeChild(*it); |
806 |
try { |
807 |
++it; |
807 |
// remove old meta data nodes |
808 |
vec.pop_back(); |
808 |
for ( ;it != vec.rend(); ++it) |
|
|
809 |
{ |
810 |
m_xParent->removeChild(*it); |
811 |
} |
812 |
} |
813 |
catch (...) |
814 |
{ |
815 |
// Clean up already removed nodes |
816 |
vec.erase(it.base(), vec.end()); |
817 |
throw; |
818 |
} |
819 |
vec.clear(); |
809 |
} |
820 |
} |
810 |
// vec.clear(); // not so good in case of exception |
|
|
811 |
|
821 |
|
812 |
// insert new meta data nodes into DOM tree |
822 |
// insert new meta data nodes into DOM tree |
813 |
for (sal_Int32 i = 0; i < i_rValue.getLength(); ++i) { |
823 |
for (sal_Int32 i = 0; i < i_rValue.getLength(); ++i) { |