diff options
author | Silenio Quarti <silenio> | 2003-08-06 21:26:25 +0000 |
---|---|---|
committer | Silenio Quarti <silenio> | 2003-08-06 21:26:25 +0000 |
commit | a2de40824747e79e35dcb436467af99e9221d7c5 (patch) | |
tree | ca6b693781abfb000bca44344b423a1ebf7af073 | |
parent | e8bef9ab14352e9698addc0faf2065aa34cba25d (diff) | |
download | eclipse.platform.swt-a2de40824747e79e35dcb436467af99e9221d7c5.tar.gz eclipse.platform.swt-a2de40824747e79e35dcb436467af99e9221d7c5.tar.xz eclipse.platform.swt-a2de40824747e79e35dcb436467af99e9221d7c5.zip |
*** empty log message ***
-rwxr-xr-x | bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Composite.java | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Composite.java index e6db20f0a3..b15f31ac69 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Composite.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Composite.java @@ -648,18 +648,20 @@ void setClientWindow (int window) { display.setWarnings (false); int xDisplay = OS.XtDisplay (handle); if (window != 0) { - clientWindow = window; - sendClientEvent (0, OS.XEMBED_EMBEDDED_NOTIFY, 0, 0, 0); - OS.XtRegisterDrawable (xDisplay, clientWindow, handle); - OS.XSelectInput (xDisplay, clientWindow, OS.PropertyChangeMask); - updateMapped (); - resizeClientWindow (); - Shell shell = getShell (); - if (shell == display.getActiveShell ()) { - shell.bringToTop (true); - sendClientEvent (0, OS.XEMBED_WINDOW_ACTIVATE, 0, 0, 0); - if (this == display.getFocusControl ()) { - sendClientEvent (0, OS.XEMBED_FOCUS_IN, OS.XEMBED_FOCUS_CURRENT, 0, 0); + if (clientWindow == 0) { + clientWindow = window; + sendClientEvent (0, OS.XEMBED_EMBEDDED_NOTIFY, 0, 0, 0); + OS.XtRegisterDrawable (xDisplay, clientWindow, handle); + OS.XSelectInput (xDisplay, clientWindow, OS.PropertyChangeMask); + updateMapped (); + resizeClientWindow (); + Shell shell = getShell (); + if (shell == display.getActiveShell ()) { + shell.bringToTop (true); + sendClientEvent (0, OS.XEMBED_WINDOW_ACTIVATE, 0, 0, 0); + if (this == display.getFocusControl ()) { + sendClientEvent (0, OS.XEMBED_FOCUS_IN, OS.XEMBED_FOCUS_CURRENT, 0, 0); + } } } } else { |