(svn r17503) -Fix (r17502): Save all files before commit.

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
alberth 15 years ago
parent 669b7d01ac
commit e1ae20a307

@ -503,16 +503,33 @@ public:
*/
inline bool SetFocusedWidget(byte widget_index)
{
if (widget_index >= this->widget_count || this->widget + widget_index == this->focused_widget) {
return false;
if (this->widget != NULL) {
/* Do nothing if widget_index is already focused, or if it wasn't a valid widget. */
if (widget_index >= this->widget_count || this->widget + widget_index == this->focused_widget) return false;
if (this->focused_widget != NULL) {
/* Repaint the widget that lost focus. A focused edit box may else leave the caret on the screen. */
this->InvalidateWidget(this->focused_widget - this->widget);
}
this->focused_widget = &this->widget[widget_index];
return true;
}
if (this->focused_widget != NULL) {
/* Repaint the widget that lost focus. A focused edit box may else leave the caret on the screen. */
this->InvalidateWidget(this->focused_widget - this->widget);
if (this->nested_array != NULL) {
/* Do nothing if widget_index is already focused, or if it wasn't a valid widget. */
if (widget_index >= this->nested_array_size) return false;
assert(this->nested_array[widget_index] != NULL); // Setting focus to a non-existing widget is a bad idea.
if (this->nested_focus != NULL) {
if (this->nested_array[widget_index] == this->nested_focus) return false;
/* Repaint the widget that lost focus. A focused edit box may else leave the caret on the screen. */
this->nested_focus->Invalidate(this);
}
this->nested_focus = this->nested_array[widget_index];
return true;
}
this->focused_widget = &this->widget[widget_index];
return true;
NOT_REACHED();
}
/**

Loading…
Cancel
Save