Hi
It is possible for my users to kick off redrawing of a chart while they are in the middle of a zoom (don't ask, I have to defend against this sort of stuff all the time). If this happens then I get "Object reference not set to an instance of an object" and the partial stack trace:
at Nevron.Chart.NNumericAxisPagingView.ConfigureAxisPagingInternal(NRange1DD range, Boolean allowAutoEnable)
at Nevron.Chart.NAxisPagingView.ZoomIn(NRange1DD axisRange, Double dMinPageSize, Boolean l1ll11lIlIl)
at Nevron.Chart.NAxisPagingView.ZoomIn(NRange1DD axisRange, Double dMinPageSize)
at Nevron.Chart.l1l1lI1I1II.l1l1IIlIlI1(Double factor)
at Nevron.Chart.lIl1lIII1l.Process(Double factor, NAnimationService service)
at Nevron.Chart.l1lIl1llIIl.Process(NAnimationService service)
at Nevron.Chart.NAnimationService.OnTimerTick()
at Nevron.Chart.NTimer.OnTimerTick(Object sender, EventArgs e)
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
It's an obscure edge case, but is it possible for you to add a null check in the code, or tell me how to implement an override. I already have a customised NDataZoomTool if there is anything I can access to check in the OnEndDrag method. I've tried
ArrayList selectedCharts = this.GetSelectedCharts(); if (selectedCharts != null && selectedCharts[0] != null) { base.OnEndDrag(sender, e); }
but this doesn't trap the situation.Thanks
Kevin