diff --git a/src/anari_viewer/ui_anari.cpp b/src/anari_viewer/ui_anari.cpp index 02ffc0c7..ef647e3a 100644 --- a/src/anari_viewer/ui_anari.cpp +++ b/src/anari_viewer/ui_anari.cpp @@ -13,13 +13,13 @@ namespace anari_viewer::ui { static ui::Any parseValue(ANARIDataType type, const void *mem) { - if (type == ANARI_STRING) - return ui::Any(ANARI_STRING, ""); - else if (anari::isObject(type)) { + if (anari::isObject(type)) { ANARIObject nullHandle = ANARI_INVALID_HANDLE; return ui::Any(type, &nullHandle); } else if (mem) return ui::Any(type, mem); + else if (type == ANARI_STRING) + return ui::Any(ANARI_STRING, ""); else return {}; } @@ -106,8 +106,11 @@ ParameterList parseParameters( if (maxValue) p.max = parseValue(parameter->type, maxValue); - for (; stringValues && *stringValues; stringValues++) + for (; stringValues && *stringValues; stringValues++) { + if (p.value == *stringValues) + p.currentSelection = p.stringValues.size(); p.stringValues.push_back(*stringValues); + } retval.push_back(p); }