Merge lp:~widelands-dev/widelands/bug-memleak-net-ui into lp:widelands

Proposed by Notabilis
Status: Merged
Merged at revision: 8976
Proposed branch: lp:~widelands-dev/widelands/bug-memleak-net-ui
Merge into: lp:widelands
Diff against target: 44 lines (+6/-6)
1 file modified
src/network/gameclient.cc (+6/-6)
To merge this branch: bzr merge lp:~widelands-dev/widelands/bug-memleak-net-ui
Reviewer Review Type Date Requested Status
Widelands Developers Pending
Review via email: mp+362945@code.launchpad.net

Commit message

Fixing memory leak in network UI.

Description of the change

The leak is reported to me after joining and starting a (localhost) LAN game.

To post a comment you must log in.
Revision history for this message
bunnybot (widelandsofficial) wrote :

Continuous integration builds have changed state:

Travis build 4452. State: passed. Details: https://travis-ci.org/widelands/widelands/builds/491252462.
Appveyor build 4240. State: success. Details: https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_bug_memleak_net_ui-4240.

Revision history for this message
GunChleoc (gunchleoc) wrote :

Memory leak and fix confirmed. Code LGTM :)

@bunnybot merge

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/network/gameclient.cc'
--- src/network/gameclient.cc 2018-12-13 07:24:01 +0000
+++ src/network/gameclient.cc 2019-02-10 13:34:15 +0000
@@ -173,8 +173,8 @@
173 game.set_write_syncstream(g_options.pull_section("global").get_bool("write_syncstreams", true));173 game.set_write_syncstream(g_options.pull_section("global").get_bool("write_syncstreams", true));
174174
175 try {175 try {
176 UI::ProgressWindow* loader_ui = new UI::ProgressWindow();176 std::unique_ptr<UI::ProgressWindow> loader_ui(new UI::ProgressWindow());
177 d->modal = loader_ui;177 d->modal = loader_ui.get();
178 std::vector<std::string> tipstext;178 std::vector<std::string> tipstext;
179 tipstext.push_back("general_game");179 tipstext.push_back("general_game");
180 tipstext.push_back("multiplayer");180 tipstext.push_back("multiplayer");
@@ -182,7 +182,7 @@
182 tipstext.push_back(get_players_tribe());182 tipstext.push_back(get_players_tribe());
183 } catch (NoTribe) {183 } catch (NoTribe) {
184 }184 }
185 GameTips tips(*loader_ui, tipstext);185 GameTips tips(*loader_ui.get(), tipstext);
186186
187 loader_ui->step(_("Preparing game"));187 loader_ui->step(_("Preparing game"));
188188
@@ -199,9 +199,9 @@
199 game.set_ibase(igb);199 game.set_ibase(igb);
200 igb->set_chat_provider(*this);200 igb->set_chat_provider(*this);
201 if (!d->settings.savegame) { // new map201 if (!d->settings.savegame) { // new map
202 game.init_newgame(loader_ui, d->settings);202 game.init_newgame(loader_ui.get(), d->settings);
203 } else { // savegame203 } else { // savegame
204 game.init_savegame(loader_ui, d->settings);204 game.init_savegame(loader_ui.get(), d->settings);
205 }205 }
206 d->time.reset(game.get_gametime());206 d->time.reset(game.get_gametime());
207 d->lasttimestamp = game.get_gametime();207 d->lasttimestamp = game.get_gametime();
@@ -209,7 +209,7 @@
209209
210 d->modal = igb;210 d->modal = igb;
211 game.run(211 game.run(
212 loader_ui,212 loader_ui.get(),
213 d->settings.savegame ?213 d->settings.savegame ?
214 Widelands::Game::Loaded :214 Widelands::Game::Loaded :
215 d->settings.scenario ? Widelands::Game::NewMPScenario : Widelands::Game::NewNonScenario,215 d->settings.scenario ? Widelands::Game::NewMPScenario : Widelands::Game::NewNonScenario,

Subscribers

People subscribed via source and target branches

to status/vote changes: