FIX: You may experience several issues when you render graphics by using Windows Presentation Foundation (WPF) in a .NET Framework 3.5 SP1-based application
You may experience one of the following issues when you render graphics by using Windows Presentation Foundation (WPF) in a .NET Framework 3.5 Service Pack 1 (SP1)-based application.
Issue 1When you change the value of the VisualBrush.Visual property in a WPF application, the application crashes.
Issue 2A memory leak occurs in the render thread of a WPF application when you perform one of the following actions:
- You use the software-rendering pipeline to render a 3D scene that includes a VisualBrush object or a DrawingBrush object. For example, you are using the software-rendering pipeline when you perform one of the following actions:
- You render the scene by using the RenderTargetBitmap class.
- You print the scene.
- You set the rendering tier property to 0.
- You render the scene over a remote desktop connection.
- You render a scene by using the WriteableBitmap class on a computer that does not use the Windows Display Driver Model (WDDM).
- You use the hardware-rendering pipeline to render a scene by using a tiled VisualBrush object or a tiled DrawingBrush object on a computer that does not use the WDDM.
Issue 3WPF applications that use layered windows crash when you perform one of the following actions:
- You put a computer that uses the Windows XP Display Driver Model (XPDDM) into standby, and then you resume the computer from standby.
- You switch to the full-screen console mode on Windows XP.
Cause 1This issue occurs because a generic error is returned from a render thread when the operations in the thread are ordered incorrectly. These operations cause child objects to detach from a null parent object.
For example, a Visual object must be removed from a VisualBrush object before it is detached from the VisualBrush object. However, the operations to remove the Visual object may be ordered incorrectly. Therefore, the Visual object detaches from a null parent object.
Cause 2This issue occurs because of a reference counting error in the render thread.
Cause 3This issue occurs because a Win32 error code is handled incorrectly.
To resolve this issue, apply the hotfix package that is described in the following Microsoft Knowledge Base article:
2667241 An update rollup is available for Windows Presentation Foundation (WPF) for Microsoft .NET Framework 3.5
System.InvalidOperationException: An unspecified error occurred on the render thread.at System.Windows.Media.MediaContext.NotifyPartitionIsZombie(Int32 failureCode)at System.Windows.Media.MediaContext.NotifyChannelMessage()at System.Windows.Interop.HwndTarget.HandleMessage(Int32 msg, IntPtr wparam, IntPtr lparam)at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(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, Boolean isSingleParameter)at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
Article ID: 967634 - Last Review: 04/10/2012 05:59:00 - Revision: 3.0
Microsoft .NET Framework 3.5 Service Pack 1
- kbHotfixServer kbexpertiseadvanced kbqfe kbsurveynew KB967634