Skip to Content
0
Aug 06, 2013 at 03:26 AM

WPF Viewer crashes application when searching

59 Views

Hi,

I can consistently get the WPF viewer to crash my application when searching within a report. The steps are:

1. View a multi page report.

2. Enter a search string. I use "a".

3. Press Enter until the end of the report.

4. Use the navigation buttons to get back to the start of the report.

5. Change the search string to something else. I use "b".

6. Go back to step 3 and repeat until the unhandled exception is thrown. (usually happens within 10 repeats)

See below for the stack trace.

Any help would be appreciated.

Thanks

Anthony

A first chance exception of type 'System.InvalidOperationException' occurred in PresentationCore.dll

at System.Windows.Media.Visual.TrySimpleTransformToAncestor(Visual ancestor, Boolean inverse, GeneralTransform& generalTransform, Matrix& simpleTransform)

at System.Windows.Media.Visual.TransformToAncestor(Visual ancestor)

at SAPBusinessObjects.WPF.ViewerShared.PageView.DrawSelectedObject(MyDrawingVisual objVisual, Boolean scrollTo)

at SAPBusinessObjects.WPF.Viewer.DocumentView.SearchForText(String text, Boolean matchCase, Boolean matchWholeWord)

at SAPBusinessObjects.WPF.Viewer.ReportAlbum.SearchForText(String text, Boolean matchCase, Boolean matchWholeWord)

at SAPBusinessObjects.WPF.Viewer.ViewerCore.SearchForText(String text, Boolean matchCase, Boolean matchWholeWord)

at SAPBusinessObjects.WPF.Viewer.CrystalReportsViewer.searchBox_PreviewTextInput(Object sender, TextCompositionEventArgs e)

at System.Windows.Input.TextCompositionEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)

at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)

at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)

at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)

at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)

at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)

at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)

at System.Windows.Input.InputManager.ProcessStagingArea()

at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)

at System.Windows.Input.TextCompositionManager.UnsafeCompleteComposition(TextComposition composition)

at System.Windows.Input.TextCompositionManager.PostProcessInput(Object sender, ProcessInputEventArgs e)

at System.Windows.Input.InputManager.RaiseProcessInputEventHandlers(ProcessInputEventHandler postProcessInput, ProcessInputEventArgs processInputEventArgs)

at System.Windows.Input.InputManager.ProcessStagingArea()

at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)

at System.Windows.Input.TextCompositionManager.UnsafeStartComposition(TextComposition composition)

at System.Windows.Input.TextCompositionManager.PostProcessInput(Object sender, ProcessInputEventArgs e)

at System.Windows.Input.InputManager.RaiseProcessInputEventHandlers(ProcessInputEventHandler postProcessInput, ProcessInputEventArgs processInputEventArgs)

at System.Windows.Input.InputManager.ProcessStagingArea()

at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)

at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)

at System.Windows.Interop.HwndKeyboardInputProvider.ProcessTextInputAction(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

at System.Windows.Interop.HwndSource.OnPreprocessMessage(Object param)

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 System.Windows.Interop.HwndSource.OnPreprocessMessageThunk(MSG& msg, Boolean& handled)

at System.Windows.Interop.HwndSource.WeakEventPreprocessMessage.OnPreprocessMessage(MSG& msg, Boolean& handled)

at System.Windows.Interop.ThreadMessageEventHandler.Invoke(MSG& msg, Boolean& handled)

at System.Windows.Interop.ComponentDispatcherThread.RaiseThreadMessage(MSG& msg)

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

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

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()