summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Decorations.java
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Decorations.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Decorations.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Decorations.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Decorations.java
index 14e1ac5626..60fdbe6711 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Decorations.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Decorations.java
@@ -1650,7 +1650,8 @@ LRESULT WM_ACTIVATE (long /*int*/ wParam, long /*int*/ lParam) {
return LRESULT.ZERO;
}
}
- if (OS.LOWORD (wParam) != 0) {
+ int loWord = OS.LOWORD (wParam);
+ if (loWord != 0) {
/*
* When the high word of wParam is non-zero, the activation
* state of the window is being changed while the window is
@@ -1661,7 +1662,9 @@ LRESULT WM_ACTIVATE (long /*int*/ wParam, long /*int*/ lParam) {
Control control = display.findControl (lParam);
if (control == null || control instanceof Shell) {
if (this instanceof Shell) {
- sendEvent (SWT.Activate);
+ Event event = new Event ();
+ event.detail = loWord == OS.WA_CLICKACTIVE ? SWT.MouseDown : SWT.None;
+ sendEvent (SWT.Activate, event);
if (isDisposed ()) return LRESULT.ZERO;
}
}