diff --git a/jdk/src/windows/native/sun/windows/awt_Component.cpp b/jdk/src/windows/native/sun/windows/awt_Component.cpp index b2767bac72c..d98f241a145 100644 --- a/jdk/src/windows/native/sun/windows/awt_Component.cpp +++ b/jdk/src/windows/native/sun/windows/awt_Component.cpp @@ -378,7 +378,9 @@ LRESULT CALLBACK AwtComponent::WndProc(HWND hWnd, UINT message, TRY; AwtComponent * self = AwtComponent::GetComponentImpl(hWnd); - if (self == NULL || self->GetHWnd() != hWnd) { + if (self == NULL || self->GetHWnd() != hWnd || + message == WM_UNDOCUMENTED_CLIENTSHUTDOWN) // handle log-off gracefully + { return ComCtl32Util::GetInstance().DefWindowProc(NULL, hWnd, message, wParam, lParam); } else { return self->WindowProc(message, wParam, lParam); diff --git a/jdk/src/windows/native/sun/windows/awtmsg.h b/jdk/src/windows/native/sun/windows/awtmsg.h index 6eb06b01db5..6f62d75e37b 100644 --- a/jdk/src/windows/native/sun/windows/awtmsg.h +++ b/jdk/src/windows/native/sun/windows/awtmsg.h @@ -253,4 +253,8 @@ enum { #define WM_UNDOCUMENTED_CLICKMENUBAR 0x0313 #endif +#ifndef WM_UNDOCUMENTED_CLIENTSHUTDOWN +#define WM_UNDOCUMENTED_CLIENTSHUTDOWN 0x003b +#endif + #endif // AWTMSG_H