From 6baef585cfb031b04aaf6d253a8a229cd63f7a12 Mon Sep 17 00:00:00 2001 From: frosch Date: Tue, 24 Apr 2012 17:26:08 +0000 Subject: (svn r24175) -Fix (r24171): Make sure to select a object class with visible objects when opening the object GUI. --- src/object_gui.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/object_gui.cpp b/src/object_gui.cpp index 4b8f70447..3acb3d125 100644 --- a/src/object_gui.cpp +++ b/src/object_gui.cpp @@ -47,6 +47,7 @@ public: this->FinishInitNested(desc, 0); this->SelectFirstAvailableObject(true); + assert(ObjectClass::Get(_selected_object_class)->GetUISpecCount() > 0); // object GUI should be disables elsewise this->GetWidget(WID_BO_OBJECT_MATRIX)->SetCount(4); NWidgetMatrix *matrix = this->GetWidget(WID_BO_SELECT_MATRIX); @@ -354,7 +355,16 @@ public: } } } - /* If all objects are unavailable, select nothing. */ + /* If all objects are unavailable, select nothing... */ + if (ObjectClass::Get(_selected_object_class)->GetUISpecCount() == 0) { + /* ... but make sure that the class is not empty. */ + for (ObjectClassID j = OBJECT_CLASS_BEGIN; j < OBJECT_CLASS_MAX; j++) { + if (ObjectClass::Get(j)->GetUISpecCount() > 0) { + _selected_object_class = j; + break; + } + } + } this->SelectOtherObject(-1); } }; -- cgit v1.2.3-54-g00ecf