When switching from always to top to normal the drop shadow remains visible.
Select window A which is always on top. Switch to normal. Select a window from another process (for example Explorer). You will see, that the drop shadow is still visible even when you move the Explorer window.
Below code fixes it, but maybe there is a smarter solution.
void NativeDesktopWindow::setAlwaysOnTop (bool isOnTop)
{
SetWindowPos ((HWND) nativeHandle,
(isOnTop) ? HWND_TOPMOST
: HWND_NOTOPMOST,
0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
// force redraw of dropshadow when switching
if(shadower)
shadower->componentVisibilityChanged(*getComponent());
}