From f16dec91b93f08844d999c9056d165951c980148 Mon Sep 17 00:00:00 2001 From: gfgtdf Date: Thu, 4 Jun 2015 20:09:25 +0200 Subject: [PATCH] fix a stack corruption Gui 2 dialogs set the value passed to register_integer to the widgets value when the dialog is closed. So they must live linger than the dialog. In thise case a local variable of the dialogs constructor was passed to register_integer which caused a stack corruption. --- src/gui/dialogs/editor/editor_edit_side.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gui/dialogs/editor/editor_edit_side.cpp b/src/gui/dialogs/editor/editor_edit_side.cpp index 78201f90b439..b0af55a80225 100644 --- a/src/gui/dialogs/editor/editor_edit_side.cpp +++ b/src/gui/dialogs/editor/editor_edit_side.cpp @@ -62,7 +62,7 @@ teditor_edit_side::teditor_edit_side(int side, bool& shroud, bool& share_maps, team::CONTROLLER& controller, - int controller_num, + int /*controller_num*/, bool& no_leader, bool& hidden) : controller_(controller) @@ -80,7 +80,8 @@ teditor_edit_side::teditor_edit_side(int side, register_integer("village_income", true, village_income); register_integer("village_support", true, village_support); - register_integer("controller_number_player", true, controller_num); + //The following line is outommented becasue it causes crashs. + //register_integer("controller_number_player", true, controller_num); register_bool("fog", true, fog); register_bool("share_view", true, share_view);