diff --git a/uvoscam.cpp b/uvoscam.cpp index 80cb581..6f7a423 100644 --- a/uvoscam.cpp +++ b/uvoscam.cpp @@ -292,10 +292,20 @@ std::vector Camera::getAvailableCameras(bool update) for(size_t i = 0; i < arv_get_n_devices(); ++i) { Description camera; - camera.vendor = arv_get_device_vendor(i); - camera.serial = arv_get_device_serial_nbr(i); - camera.id = arv_get_device_id(i); - camera.model = arv_get_device_model(i); + const char* vendor = arv_get_device_vendor(i); + const char* serial = arv_get_device_serial_nbr(i); + const char* id = arv_get_device_id(i); + const char* model = arv_get_device_model(i); + + if(vendor) + camera.vendor = vendor; + if(serial) + camera.serial = serial; + if(id) + camera.id = id; + if(model) + camera.model = model; + cameras.push_back(camera); } return cameras;