Now I changed the interface to have pointers, and meanwhile found a few more 
bad uses...

I think the real optimal solution would be to move to C++11 and return 
std::unique_ptr-s, that can be caught by its move constructor outside :)

With this change I wanted to unify which abstraction level handles the deletion 
of these pointers, so that "low level" file-accessing code looks at it as just 
a reference, and those that handle the location and filenames and such do the 
work. I couldn't completely do this because of the way Settlers 2 map loading 
is handled together with Widelands map loading in the get_correct_loader 
function. I might look into how I could refactor that so that WL_Map_Loader 
doesn't have to delete the pointer in its destructor.
-- 
https://code.launchpad.net/~csirkeee/widelands/memory-leaks-2/+merge/150290
Your team Widelands Developers is requested to review the proposed merge of 
lp:~csirkeee/widelands/memory-leaks-2 into lp:widelands.

_______________________________________________
Mailing list: https://launchpad.net/~widelands-dev
Post to     : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to