#557·Captura

Webcam setting causing Captura to crash

Author: OasYs1068Created May 27, 2020Updated Jul 6, 2020
Labelsbug

Describe the bug If I set webcam to "No Webcam" in the setting, the next time I try to enter Webcam section in the setting, Captura will crash.

To Reproduce

  1. Go to Webcam setting
  2. Switch Webcam to "No Webcam"
  3. Click "back" then click "Webcam" again
  4. Crash

Expected behavior I should be able to enter Webcam setting again normally.

Desktop

  • OS: Windows 10
  • RAM: 8GB
  • CPU: i7 2GHz
  • Graphic Card: NVIDIA GeForce MX150
  • Captura Version: v9.0.0

Error Messages System.NullReferenceException: 未将对象引用设置到对象的实例。 在 Captura.WebcamPage.b__9_0(Object S, DependencyPropertyChangedEventArgs E) 在 System.Windows.UIElement.RaiseDependencyPropertyChanged(EventPrivateKey key, DependencyPropertyChangedEventArgs args) 在 System.Windows.UIElement.OnIsVisibleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) 在 System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e) 在 System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) 在 System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) 在 System.Windows.UIElement.UpdateIsVisibleCache() 在 System.Windows.UIElement.OnVisualParentChanged(DependencyObject oldParent) 在 System.Windows.Controls.Page.OnVisualParentChanged(DependencyObject oldParent) 在 System.Windows.Media.Visual.FireOnVisualParentChanged(DependencyObject oldParent) 在 System.Windows.Media.Visual.AddVisualChild(Visual child) 在 System.Windows.FrameworkElement.set_TemplateChild(UIElement value) 在 System.Windows.Controls.ContentPresenter.UseContentTemplate.BuildVisualTree(FrameworkElement container) 在 System.Windows.StyleHelper.ApplyTemplateContent(UncommonField1 dataField, DependencyObject container, FrameworkElementFactory templateRoot, Int32 lastChildIndex, HybridDictionary childIndexFromChildID, FrameworkTemplate frameworkTemplate) 在 System.Windows.FrameworkTemplate.ApplyTemplateContent(UncommonField1 templateDataField, FrameworkElement container) 在 System.Windows.FrameworkElement.ApplyTemplate() 在 System.Windows.FrameworkElement.MeasureCore(Size availableSize) 在 System.Windows.UIElement.Measure(Size availableSize) 在 System.Windows.Controls.Border.MeasureOverride(Size constraint) 在 System.Windows.FrameworkElement.MeasureCore(Size availableSize) 在 System.Windows.UIElement.Measure(Size availableSize) 在 System.Windows.Controls.Control.MeasureOverride(Size constraint) 在 System.Windows.FrameworkElement.MeasureCore(Size availableSize) 在 System.Windows.UIElement.Measure(Size availableSize) 在 System.Windows.Controls.DockPanel.MeasureOverride(Size constraint) 在 System.Windows.FrameworkElement.MeasureCore(Size availableSize) 在 System.Windows.UIElement.Measure(Size availableSize) 在 MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) 在 System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) 在 System.Windows.FrameworkElement.MeasureCore(Size availableSize) 在 System.Windows.UIElement.Measure(Size availableSize) 在 System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint) 在 System.Windows.FrameworkElement.MeasureCore(Size availableSize) 在 System.Windows.UIElement.Measure(Size availableSize) 在 System.Windows.Controls.Border.MeasureOverride(Size constraint) 在 System.Windows.FrameworkElement.MeasureCore(Size availableSize) 在 System.Windows.UIElement.Measure(Size availableSize) 在 System.Windows.Window.MeasureOverrideHelper(Size constraint) 在 System.Windows.Window.MeasureOverride(Size availableSize) 在 System.Windows.FrameworkElement.MeasureCore(Size availableSize) 在 System.Windows.UIElement.Measure(Size availableSize) 在 System.Windows.ContextLayoutManager.UpdateLayout() 在 System.Windows.Interop.HwndSource.SetLayoutSize() 在 System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value) 在 System.Windows.Window.SetRootVisual() 在 System.Windows.Window.SetRootVisualAndUpdateSTC() 在 System.Windows.Window.SetupInitialState(Double requestedTop, Double requestedLeft, Double requestedWidth, Double requestedHeight) 在 System.Windows.Window.CreateSourceWindow(Boolean duringShow) 在 System.Windows.Window.ShowHelper(Object booleanBox) 在 System.Windows.Window.ShowDialog() 在 Captura.App.App_OnDispatcherUnhandledException(Object Sender, DispatcherUnhandledExceptionEventArgs Args) 在 System.Windows.Threading.Dispatcher.CatchException(Exception e) 在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) 在 System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) 在 MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) 在 MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg) 在 System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame) 在 System.Windows.Application.RunDispatcher(Object ignore) 在 System.Windows.Application.RunInternal(Window window) 在 Captura.App.Main()