widelands-dev team mailing list archive
-
widelands-dev team
-
Mailing list archive
-
Message #14857
[Merge] lp:~widelands-dev/widelands/bug_1794339_center_wo_parent into lp:widelands
Klaus Halfmann has proposed merging lp:~widelands-dev/widelands/bug_1794339_center_wo_parent into lp:widelands.
Commit message:
Avoid null access in Window::center_to_parent(), keep parent window in GameClient::run()
Requested reviews:
Widelands Developers (widelands-dev)
Related bugs:
Bug #1794339 in widelands: "segfault joining game"
https://bugs.launchpad.net/widelands/+bug/1794339
For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/bug_1794339_center_wo_parent/+merge/355885
Simple check if Window has a parent instead of crashing.
This leaves the window in the top-left corner, but avoids a crash.
Keep d->modal as parent window in GameClient::run() and set to nullptr as late as possible.
This should resolve the original bug.
--
Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands/bug_1794339_center_wo_parent into lp:widelands.
=== modified file 'src/ui_basic/window.cc'
--- src/ui_basic/window.cc 2018-07-08 13:53:45 +0000
+++ src/ui_basic/window.cc 2018-09-30 10:41:01 +0000
@@ -221,13 +221,17 @@
}
/**
- * Move the window so that it is centered wrt the parent.
-*/
+ * Move the window so that it is centered inside the parent.
+ *
+ * Do nothing if window has no parent.
+ */
void Window::center_to_parent() {
- Panel& parent = *get_parent();
+ Panel* parent = get_parent();
- set_pos(Vector2i((static_cast<int32_t>(parent.get_inner_w()) - get_w()) / 2,
- (static_cast<int32_t>(parent.get_inner_h()) - get_h()) / 2));
+ if (parent) {
+ set_pos(Vector2i((static_cast<int32_t>(parent->get_inner_w()) - get_w()) / 2,
+ (static_cast<int32_t>(parent->get_inner_h()) - get_h()) / 2));
+ }
}
/**
Follow ups
-
[Merge] lp:~widelands-dev/widelands/bug_1794339_center_wo_parent into lp:widelands
From: noreply, 2018-10-09
-
Re: [Merge] lp:~widelands-dev/widelands/bug_1794339_center_wo_parent into lp:widelands
From: GunChleoc, 2018-10-09
-
[Merge] lp:~widelands-dev/widelands/bug_1794339_center_wo_parent into lp:widelands
From: bunnybot, 2018-10-06
-
[Merge] lp:~widelands-dev/widelands/bug_1794339_center_wo_parent into lp:widelands
From: Klaus Halfmann, 2018-10-06
-
[Merge] lp:~widelands-dev/widelands/bug_1794339_center_wo_parent into lp:widelands
From: Klaus Halfmann, 2018-10-06
-
[Merge] lp:~widelands-dev/widelands/bug_1794339_center_wo_parent into lp:widelands
From: bunnybot, 2018-10-06
-
Re: [Merge] lp:~widelands-dev/widelands/bug_1794339_center_wo_parent into lp:widelands
From: Klaus Halfmann, 2018-10-05
-
Re: [Merge] lp:~widelands-dev/widelands/bug_1794339_center_wo_parent into lp:widelands
From: GunChleoc, 2018-10-03
-
Re: [Merge] lp:~widelands-dev/widelands/bug_1794339_center_wo_parent into lp:widelands
From: Klaus Halfmann, 2018-10-02
-
Re: [Merge] lp:~widelands-dev/widelands/bug_1794339_center_wo_parent into lp:widelands
From: GunChleoc, 2018-09-30