title: Multiple loads of property tree xml-parser exception
body: <p>I am using property tree xml-parsing to edit some settings for my application
  I created a struct default-settings</p>
  
  <pre><code>struct default_settings
  {
      std::string imPath;          
      std::string calPath;
      std::string solPath;
  
      void load(const std::string &amp;filename);
      void save(const std::string &amp;filename,const std::string &amp;image_path,const std::string &amp;cal_path,const std::string &amp;sol_path);
  
  };
  
  void default_settings::save(const std::string &amp;filename,const std::string &amp;image_path,const std::string &amp;cal_path,const std::string &amp;sol_path)
  {
  
      ptree pt;
  
      pt.put("default.image-path", image_path);
      pt.put("default.cal-path", cal_path);
      pt.put("default.sol-path", sol_path);
  
      write_xml(filename, pt);    
  }
  void default_settings::load(const std::string &amp;filename)
  {
  
      ptree pt;
  
      read_xml(filename, pt);
  
      imPath = pt.get&lt;std::string&gt;("default.image-path");
      calPath = pt.get&lt;std::string&gt;("default.cal-path");
      solPath = pt.get&lt;std::string&gt;("default.sol-path");
  
  
  }
  </code></pre>
  
  <p>and I access the variables: imPath, calPath, .. etc
  by creating a global variable in my application default_settings ds
  and calling them through this variable (ds.imPath)</p>
  
  <p>The weird thing is that it works when the load is done once but I get an exception</p>
  
  <pre><code>boost::exception_detail::clone_impl&lt;boost::exception_detail::error_info_injector&lt;boost::property_tree::xml_parser::xml_parser_error&gt; &gt; at memory location 0x0016bf54..
  </code></pre>
  
  <p>What do you suggest?</p>