summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Haas <liu.gam3@gmail.com>2016-10-05 08:56:58 +0200
committerAndreas Haas <liu.gam3@gmail.com>2016-10-05 08:56:58 +0200
commit8dd026e4f91f802719315fb6b5a45e36723d3adc (patch)
treee5a8b7cf18e425ef4faad99b37e920ebe40b0a2e
parent1f9e16119f2b17fa507bdee8529459ed91f27b8c (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.cpp10
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;