aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra')
-rw-r--r--linden/indra/newview/primbackup.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/linden/indra/newview/primbackup.cpp b/linden/indra/newview/primbackup.cpp
index 7f050a0..613000a 100644
--- a/linden/indra/newview/primbackup.cpp
+++ b/linden/indra/newview/primbackup.cpp
@@ -625,6 +625,8 @@ void primbackup::export_next_texture()
625 625
626void primbackup::import_object(bool upload) 626void primbackup::import_object(bool upload)
627{ 627{
628
629
628 textures.clear(); 630 textures.clear();
629 assetmap.clear(); 631 assetmap.clear();
630 current_asset=LLUUID::null; 632 current_asset=LLUUID::null;
@@ -641,9 +643,21 @@ void primbackup::import_object(bool upload)
641 std::string file_name = file_picker.getFirstFile().c_str(); 643 std::string file_name = file_picker.getFirstFile().c_str();
642 folder = gDirUtilp->getDirName(file_name); 644 folder = gDirUtilp->getDirName(file_name);
643 645
644 llifstream import_file(file_name); 646 {
645 LLSDSerialize::fromXML(llsd, import_file); 647 LLSD import_llsd;
646 import_file.close(); 648 llifstream import_file(file_name);
649 S32 status;
650 status = LLSDSerialize::fromXML(import_llsd, import_file);
651 import_file.close();
652
653 if (LLSDParser::PARSE_FAILURE == status)
654 {
655 llwarns << "invalid xml file." << llendl;
656 return;
657 }
658
659 llsd = import_llsd;
660 }
647 661
648 show(); 662 show();
649 663