diff options
author | Andreas Haas <liu.gam3@gmail.com> | 2016-10-05 08:56:58 +0200 |
---|---|---|
committer | Andreas Haas <liu.gam3@gmail.com> | 2016-10-05 08:56:58 +0200 |
commit | 8dd026e4f91f802719315fb6b5a45e36723d3adc (patch) | |
tree | e5a8b7cf18e425ef4faad99b37e920ebe40b0a2e | |
parent | 1f9e16119f2b17fa507bdee8529459ed91f27b8c (diff) |
Prevent crash on focus change when no valid next control has been found.
Fixes the crash discussed in #6714.
-rw-r--r-- | scene/gui/control.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp index a5bee32a69..97f0db97c2 100644 --- a/scene/gui/control.cpp +++ b/scene/gui/control.cpp @@ -1725,11 +1725,11 @@ Control *Control::find_next_valid_focus() const { if (next_child==this) // no next control-> return (get_focus_mode()==FOCUS_ALL)?next_child:NULL; - - if (next_child->get_focus_mode()==FOCUS_ALL) - return next_child; - - from = next_child; + if (next_child) { + if (next_child->get_focus_mode()==FOCUS_ALL) + return next_child; + from = next_child; + } else break; } return NULL; |