fix to handle empty dialog

This commit is contained in:
Koh M. Nakagawa 2020-05-21 20:12:10 +09:00
parent b99e791be6
commit c38f3fc7dd

View File

@ -997,10 +997,18 @@ std::vector<ResourceDialog> ResourcesManager::dialogs(void) const {
for (size_t i = 0; i < nodes.size(); ++i) {
const ResourceDirectory* dialog = dynamic_cast<const ResourceDirectory*>(&nodes[i]);
if (!dialog) {
LOG(WARNING) << "Dialog is empty. Skipping";
continue;
}
it_const_childs langs = dialog->childs();
for (size_t j = 0; j < langs.size(); ++j) {
const ResourceData* data_node = dynamic_cast<const ResourceData*>(&langs[j]);
if (!data_node) {
LOG(WARNING) << "Dialog is empty. Skipping";
continue;
}
const std::vector<uint8_t>& content = data_node->content();
VectorStream stream{content};
stream.setpos(0);