After the recent update to reporting I'm seeing a NullReferenceException when loading a ReportViewer whose ReportSource hasn't been set. My particular use case is that I dynamically create reports based on user input and set the ReportSource through data binding. This means that the report source will be null until the user hits my "generate" button. This is an issue that is a show stopper for a release next week, so any sort of quick help that someone can provide would be greatly appreciated.
To reproduce you simply need to load any view that has a ReportViewer whose ReportSource hasn't been set.
Here is the stack trace:
at Telerik.ReportViewer.Wpf.ReportViewerModel.CreateReportSourceSnapshot()
at Telerik.ReportViewer.Wpf.ReportViewerModel.CreateHistoryRecord(Boolean isTemporary)
at Telerik.ReportViewer.Wpf.ReportViewerModel.LogHistory(LogHistoryRecord logHistory, Boolean logTemporaryHistoryRecord)
at Telerik.ReportViewer.Wpf.ReportViewerModel.RefreshReportInternal(Boolean reloadParameters, LogHistoryRecord logHistory, Boolean resetCachedResults)
at Telerik.ReportViewer.Wpf.ReportViewerModel.RefreshReport()
at Telerik.ReportViewer.Wpf.ReportViewer.RefreshReport()
at Telerik.ReportViewer.Wpf.ReportViewer.OnLoaded(Object sender, RoutedEventArgs e)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at MS.Internal.FrameworkObject.OnLoaded(RoutedEventArgs args)
at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
at System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()
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)
To reproduce you simply need to load any view that has a ReportViewer whose ReportSource hasn't been set.
Here is the stack trace:
at Telerik.ReportViewer.Wpf.ReportViewerModel.CreateReportSourceSnapshot()
at Telerik.ReportViewer.Wpf.ReportViewerModel.CreateHistoryRecord(Boolean isTemporary)
at Telerik.ReportViewer.Wpf.ReportViewerModel.LogHistory(LogHistoryRecord logHistory, Boolean logTemporaryHistoryRecord)
at Telerik.ReportViewer.Wpf.ReportViewerModel.RefreshReportInternal(Boolean reloadParameters, LogHistoryRecord logHistory, Boolean resetCachedResults)
at Telerik.ReportViewer.Wpf.ReportViewerModel.RefreshReport()
at Telerik.ReportViewer.Wpf.ReportViewer.RefreshReport()
at Telerik.ReportViewer.Wpf.ReportViewer.OnLoaded(Object sender, RoutedEventArgs e)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at MS.Internal.FrameworkObject.OnLoaded(RoutedEventArgs args)
at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
at System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()
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)