瀏覽代碼

recorder: Fix error reading multiple recorders from .bam file

Modified version of #1564 without changing ABI

Fixes #1561
rdb 2 年之前
父節點
當前提交
be958c409f
共有 2 個文件被更改,包括 4 次插入8 次删除
  1. 2 4
      panda/src/recorder/mouseRecorder.cxx
  2. 2 4
      panda/src/recorder/socketStreamRecorder.cxx

+ 2 - 4
panda/src/recorder/mouseRecorder.cxx

@@ -228,11 +228,9 @@ make_from_bam(const FactoryParams &params) {
 RecorderBase *MouseRecorder::
 make_recorder(const FactoryParams &params) {
   MouseRecorder *node = new MouseRecorder("");
-  DatagramIterator scan;
-  BamReader *manager;
+  BamReaderParam *param = DCAST(BamReaderParam, params.get_param(0));
 
-  parse_params(params, scan, manager);
-  node->fillin_recorder(scan, manager);
+  node->fillin_recorder((DatagramIterator &)param->get_iterator(), param->get_manager());
 
   return node;
 }

+ 2 - 4
panda/src/recorder/socketStreamRecorder.cxx

@@ -113,11 +113,9 @@ write_recorder(BamWriter *manager, Datagram &dg) {
 RecorderBase *SocketStreamRecorder::
 make_recorder(const FactoryParams &params) {
   SocketStreamRecorder *node = new SocketStreamRecorder;
-  DatagramIterator scan;
-  BamReader *manager;
+  BamReaderParam *param = DCAST(BamReaderParam, params.get_param(0));
 
-  parse_params(params, scan, manager);
-  node->fillin_recorder(scan, manager);
+  node->fillin_recorder((DatagramIterator &)param->get_iterator(), param->get_manager());
 
   return node;
 }