From ff141ab1ff26d3c0729354460ebeec3873980ec3 Mon Sep 17 00:00:00 2001 From: Thad House Date: Fri, 20 Jan 2017 00:02:27 -0800 Subject: [PATCH] Fixes exception on camera creation without plugged in camera (#470) Would throw if the camera was disconnected. We handle this properly at the JNI level to not have this crash the entire program, but the error is still kind of annoying, and not really an error. --- .../java/edu/wpi/first/wpilibj/CameraServer.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/CameraServer.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/CameraServer.java index f0ec0d2b99..3dcb81c2ca 100644 --- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/CameraServer.java +++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/CameraServer.java @@ -360,9 +360,13 @@ public class CameraServer { CameraServerJNI.getSourceDescription(event.sourceHandle)); table.putBoolean("connected", CameraServerJNI.isSourceConnected(event.sourceHandle)); table.putStringArray("streams", getSourceStreamValues(event.sourceHandle)); - VideoMode mode = CameraServerJNI.getSourceVideoMode(event.sourceHandle); - table.setDefaultString("mode", videoModeToString(mode)); - table.putStringArray("modes", getSourceModeValues(event.sourceHandle)); + try { + VideoMode mode = CameraServerJNI.getSourceVideoMode(event.sourceHandle); + table.setDefaultString("mode", videoModeToString(mode)); + table.putStringArray("modes", getSourceModeValues(event.sourceHandle)); + } catch (VideoException ex) { + // Do nothing. Let the other event handlers update this if there is an error. + } break; } case kSourceDestroyed: {