Bug Report T306763
Visible to All Users

CameraControl - NullReferenceException is thrown when changing the camera settings

created 9 years ago

[DevExpress Support Team: CLONED FROM T306441: CameraControl crashes]

Answers approved by DevExpress Support

created 9 years ago (modified 9 years ago)

We have fixed the issue described in this ticket and will include the fix in our next maintenance update. To apply this solution before the official update, request a hotfix by clicking the corresponding link for product versions you require.

Note: Hotfixes may be unavailable for beta versions and updates that are about to be released.

Additional information:

This issue is not yet completely fixed. We need additional time to research the problem and perform additional testing. Thank you for your patience.

    Comments (3)

      Hi, first of all thank you for the quick fix which works when you unplug the webcam from the usb port when the drop drop down menu is closed. But the solution isn't a final solution as there is still a possibility to crash the application as you can see in the enclosed video.
      Please try the following:
      1.) Open the settings of the camera control
      2.) Select "None"
      3.) Open the drop down menu which contains two entries (none and the one for the webcam) and keep it opened
      4.) Unplug the webcam from the usb port (note: the webcam entry is still visible in the opened drop down menu)
      5.) Select the webcam entry
      The stack trace is as follows:
        bei DevExpress.Data.Camera.CameraDevice.Stop(Boolean forced)
        bei DevExpress.Data.Camera.CameraDevice.RunDevice()
        bei DevExpress.Data.Camera.CameraDevice.Start()
        bei DevExpress.XtraEditors.Camera.CameraControl.StartDevice(CameraDevice device)
        bei DevExpress.XtraEditors.Camera.CameraControl.Start(CameraDevice device)
        bei DevExpress.XtraEditors.Camera.CameraSettingsControl.SetCurrentDeviceInfo(CameraDeviceInfo devInfo)
        bei DevExpress.XtraEditors.Camera.CameraSettingsControl.cbDevices_EditValueChanged(Object sender, EventArgs e)
        bei DevExpress.XtraEditors.Repository.RepositoryItem.RaiseEditValueChangedCore(EventArgs e)
        bei DevExpress.XtraEditors.Repository.RepositoryItem.RaiseEditValueChanged(EventArgs e)
        bei DevExpress.XtraEditors.BaseEdit.RaiseEditValueChanged()
        bei DevExpress.XtraEditors.BaseEdit.OnEditValueChanged()
        bei DevExpress.XtraEditors.TextEdit.OnEditValueChanged()
        bei DevExpress.XtraEditors.PopupBaseAutoSearchEdit.OnEditValueChanged()
        bei DevExpress.XtraEditors.BaseEdit.OnEditValueChanging(ChangingEventArgs e)
        bei DevExpress.XtraEditors.TextEdit.OnEditValueChanging(ChangingEventArgs e)
        bei DevExpress.XtraEditors.BaseEdit.set_EditValue(Object value)
        bei DevExpress.XtraEditors.ComboBoxEdit.set_EditValue(Object value)
        bei DevExpress.XtraEditors.PopupBaseEdit.AcceptPopupValue(Object val)
        bei DevExpress.XtraEditors.PopupBaseEdit.UpdateEditValueOnClose(PopupCloseMode closeMode, Boolean acceptValue, Object newValue, Object oldValue)
        bei DevExpress.XtraEditors.PopupBaseEdit.DoClosePopup(PopupCloseMode closeMode)
        bei DevExpress.XtraEditors.PopupBaseEdit.ClosePopup(PopupCloseMode closeMode)
        bei DevExpress.XtraEditors.PopupBaseEdit.ClosePopup()
        bei DevExpress.XtraEditors.Popup.PopupListBox.ClosePopup()
        bei DevExpress.XtraEditors.Popup.SimplePopupListBox.OnMouseUp(MouseEventArgs e)
        bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
        bei System.Windows.Forms.Control.WndProc(Message& m)
        bei DevExpress.Utils.Controls.ControlBase.WndProc(Message& m)
        bei DevExpress.XtraEditors.BaseControl.WndProc(Message& msg)
        bei DevExpress.XtraEditors.BaseListBoxControl.WndProc(Message& m)
        bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
        bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
        bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
        bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
        bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
        bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
        bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
        bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
        bei BackOffice.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:Zeile 81.
        bei System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
        bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
        bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
        bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
        bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
        bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
        bei System.Threading.ThreadHelper.ThreadStart()

      DevExpress Support Team 9 years ago

        Hi Wassim,

        Thank you for pointing out this issue. Please give us additional time to perform additional research. We will get back to you soon.

          Problem is fixed now, ty

          Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

          Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.