aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordcherepanov <none@none>2010-01-20 01:33:49 +0300
committerdcherepanov <none@none>2010-01-20 01:33:49 +0300
commit4d3bff917f855eb5931d3cecd52a30466f3ff270 (patch)
tree25d2f04e730a49517194503ff14cff2c40a4b588 /src
parent06fd0d861a3c6fdae154a4358a014b758d02b7a9 (diff)
6660258: Java application stops Windows logout/shutdown (regression in 1.5.0_14)
Reviewed-by: anthony, art, uta
Diffstat (limited to 'src')
-rw-r--r--src/windows/native/sun/windows/awt_Component.cpp4
-rw-r--r--src/windows/native/sun/windows/awtmsg.h4
2 files changed, 7 insertions, 1 deletions
diff --git a/src/windows/native/sun/windows/awt_Component.cpp b/src/windows/native/sun/windows/awt_Component.cpp
index b2767bac7..d98f241a1 100644
--- a/src/windows/native/sun/windows/awt_Component.cpp
+++ b/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/src/windows/native/sun/windows/awtmsg.h b/src/windows/native/sun/windows/awtmsg.h
index 6eb06b01d..6f62d75e3 100644
--- a/src/windows/native/sun/windows/awtmsg.h
+++ b/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