gravatar
kpeter (Peter Kovacs)
kpeter@inf.elte.hu
Memory leak bugfix in BellmanFord (#51)
0 1 0
default
1 file changed with 7 insertions and 1 deletions:
↑ Collapse diff ↑
Ignore white space 12 line context
... ...
@@ -234,13 +234,15 @@
234 234
	_pred = Traits::createPredMap(*_gr);
235 235
      }
236 236
      if(!_dist) {
237 237
	_local_dist = true;
238 238
	_dist = Traits::createDistMap(*_gr);
239 239
      }
240
      _mask = new MaskMap(*_gr, false);
240
      if(!_mask) {
241
        _mask = new MaskMap(*_gr);
242
      }
241 243
    }
242 244
    
243 245
  public :
244 246
 
245 247
    typedef BellmanFord Create;
246 248

	
... ...
@@ -401,12 +403,16 @@
401 403
      _process.clear();
402 404
      if (OperationTraits::less(value, OperationTraits::infinity())) {
403 405
	for (NodeIt it(*_gr); it != INVALID; ++it) {
404 406
	  _process.push_back(it);
405 407
	  _mask->set(it, true);
406 408
	}
409
      } else {
410
	for (NodeIt it(*_gr); it != INVALID; ++it) {
411
	  _mask->set(it, false);
412
	}
407 413
      }
408 414
    }
409 415
    
410 416
    /// \brief Adds a new source node.
411 417
    ///
412 418
    /// This function adds a new source node. The optional second parameter
0 comments (0 inline)