"Object reference " error will be thrown when C1TreeView reset tree view items

Posted by: andrew on 22 October 2019, 2:48 pm EST

  • Posted 22 October 2019, 2:48 pm EST

    Hello. “Object reference not set to an instance of an object” will be thrown when C1TreeView reset tree view items in the C1DockTabItem, the promblem can be reproduced as followed:

    1. Click Show button, the explorer tab item with tree view will display.
    2. Click Hide button, the explorer tab item will hide.
    3. Click Show button, “Object reference not set to an instance of an object” will be thrown.

    Error StackTrace:

    at C1.WPF.C1TreeView.RegisterDragSource(C1TreeViewItem item)

    at C1.WPF.C1TreeView.PrepareContainerForItemOverride(DependencyObject element, Object item)

    at System.Windows.Controls.ItemsControl.MS.Internal.Controls.IGeneratorHost.PrepareItemContainer(DependencyObject container, Object item)

    at System.Windows.Controls.ItemContainerGenerator.System.Windows.Controls.Primitives.IItemContainerGenerator.PrepareItemContainer(DependencyObject container)

    at C1.WPF.C1TreeViewPanel.MeasureOverride(Size availableSize)

    at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

    at System.Windows.UIElement.Measure(Size availableSize)

    at System.Windows.ContextLayoutManager.UpdateLayout()

    at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)

    at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork()

    at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()

    at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)

    at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)

    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

    at System.Windows.Threading.DispatcherOperation.InvokeImpl()

    at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)

    at System.Threading.ExecutionContext.runTryCode(Object userData)

    at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)

    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)

    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)

    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

    at System.Windows.Threading.DispatcherOperation.Invoke()

    at System.Windows.Threading.Dispatcher.ProcessQueue()

    at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

    at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

    at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)

    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

    at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)

    at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)

    at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)

    at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)

    at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)

    at System.Windows.Threading.Dispatcher.Run()

    at System.Windows.Application.RunDispatcher(Object ignore)

    at System.Windows.Application.RunInternal(Window window)

    at System.Windows.Application.Run(Window window)

    at System.Windows.Application.Run()

    at TestC1TreeView.App.Main() in C:\Projects\TestC1TreeView\TestC1TreeView\obj\x86\Debug\App.g.cs:line 0

    at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String args)

    at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String args)

    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()

    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)

    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)

    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

    at System.Threading.ThreadHelper.ThreadStart()

    I have uploaded the source code as attachment, please refer.

    The dll version as followed:

    C1.WPF.4.dll

    Runtime Version: v4.0.30319

    Version: 4.0.20192.658

    C1.WPF.Docking.4

    Runtime Version: v4.0.30319

    Version: 4.0.20192.658

  • Posted 22 October 2019, 2:53 pm EST

  • Posted 22 October 2019, 6:01 pm EST

    Hello Andrew,

    Thank you for sharing the application. Running it we also faced the exception.

    However, this issue is a known bug in the control. The developers are working over to fix it.

    I will update you when the release version including fix is public.

    Best wishes,

    Ruchir

  • Posted 22 October 2019, 7:06 pm EST

    Hello Ruchir,

    Thank you for reply. Will there be new patches available for 4.0.20192.658?

  • Posted 23 October 2019, 6:33 pm EST

    Hi,

    The fix will be available in the next release (2019v3) as there will be no more hotfixes coming in the current 2019v2 version.

    Thanks,

Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels