I'm working on an app which can make and receive calls. When receiving calls the application displays a toast on the bottom right of the screen. This toast is just a new WPF Window. If the machine has a graphics card the toast will scroll up from underneath the screen. If it does not support graphics hardware the toast will just appear.
However I'm seeing on Windows 7 (and its also been reported on Vista and XP) that the first incoming call after a hibernate or standby (or occasionally after leaving the app idle for a few hours) does not produce a toast. Looking at my logs I can see that my logic is correct. The window is positioned correctly and its Visibility is Visible. But the user does not see anything. At this stage I'm thinking its a WPF problem. This happens on machines both with and without a graphics card.
If I make a second call directly after the first one the toast appears. The logs are exactly the same for both cases. It just appears that WPF does not render the toast for the first call. This is not fully reproducible but it happens often enough to be a major concern. Does anybody have any suggestions on what could be causing this problem? The method I'm using to show the window is newNotification.Show() where newNotification is a Window.