src/solaris/classes/sun/awt/X11/XWindowPeer.java

Print this page




1148                 {
1149                     show = true;
1150                 }
1151             }
1152         }
1153 
1154         warningWindow.setSecurityWarningVisible(show, true);
1155     }
1156 
1157     boolean isOverrideRedirect() {
1158         return XWM.getWMID() == XWM.OPENLOOK_WM ||
1159             Window.Type.POPUP.equals(getWindowType());
1160     }
1161 
1162     final boolean isOLWMDecorBug() {
1163         return XWM.getWMID() == XWM.OPENLOOK_WM &&
1164             winAttr.nativeDecor == false;
1165     }
1166 
1167     public void dispose() {







1168         SunToolkit.awtLock();

1169         try {
1170             windows.remove(this);
1171         } finally {
1172             SunToolkit.awtUnlock();
1173         }

1174         if (warningWindow != null) {
1175             warningWindow.destroy();
1176         }

1177         removeRootPropertyEventDispatcher();
1178         mustControlStackPosition = false;
1179         super.dispose();
1180 
1181         /*
1182          * Fix for 6457980.
1183          * When disposing an owned Window we should implicitly
1184          * return focus to its decorated owner because it won't
1185          * receive WM_TAKE_FOCUS.
1186          */
1187         if (isSimpleWindow()) {
1188             if (target == XKeyboardFocusManagerPeer.getCurrentNativeFocusedWindow()) {
1189                 Window owner = getDecoratedOwner((Window)target);
1190                 ((XWindowPeer)AWTAccessor.getComponentAccessor().getPeer(owner)).requestWindowFocus();
1191             }
1192         }
1193     }

1194     boolean isResizable() {
1195         return winAttr.isResizable;
1196     }
1197 
1198     public void handleVisibilityEvent(XEvent xev) {
1199         super.handleVisibilityEvent(xev);
1200         XVisibilityEvent ve = xev.get_xvisibility();
1201         winAttr.visibilityState = ve.get_state();
1202 //         if (ve.get_state() == XlibWrapper.VisibilityUnobscured) {
1203 //             // raiseInputMethodWindow
1204 //         }
1205         repositionSecurityWarning();
1206     }
1207 
1208     void handleRootPropertyNotify(XEvent xev) {
1209         XPropertyEvent ev = xev.get_xproperty();
1210         if( mustControlStackPosition &&
1211             ev.get_atom() == XAtom.get("_NET_CLIENT_LIST_STACKING").getAtom()){
1212             // Restore stack order unhadled/spoiled by WM or some app (nautilus).
1213             // As of now, don't use any generic machinery: just




1148                 {
1149                     show = true;
1150                 }
1151             }
1152         }
1153 
1154         warningWindow.setSecurityWarningVisible(show, true);
1155     }
1156 
1157     boolean isOverrideRedirect() {
1158         return XWM.getWMID() == XWM.OPENLOOK_WM ||
1159             Window.Type.POPUP.equals(getWindowType());
1160     }
1161 
1162     final boolean isOLWMDecorBug() {
1163         return XWM.getWMID() == XWM.OPENLOOK_WM &&
1164             winAttr.nativeDecor == false;
1165     }
1166 
1167     public void dispose() {
1168         if (isGrabbed()) {
1169             if (grabLog.isLoggable(PlatformLogger.FINE)) {
1170                 grabLog.fine("Generating UngrabEvent on {0} because of the window disposal", this);
1171             }
1172             postEventToEventQueue(new sun.awt.UngrabEvent(getEventSource()));
1173         }
1174 
1175         SunToolkit.awtLock();
1176 
1177         try {
1178             windows.remove(this);
1179         } finally {
1180             SunToolkit.awtUnlock();
1181         }
1182 
1183         if (warningWindow != null) {
1184             warningWindow.destroy();
1185         }
1186 
1187         removeRootPropertyEventDispatcher();
1188         mustControlStackPosition = false;
1189         super.dispose();
1190 
1191         /*
1192          * Fix for 6457980.
1193          * When disposing an owned Window we should implicitly
1194          * return focus to its decorated owner because it won't
1195          * receive WM_TAKE_FOCUS.
1196          */
1197         if (isSimpleWindow()) {
1198             if (target == XKeyboardFocusManagerPeer.getCurrentNativeFocusedWindow()) {
1199                 Window owner = getDecoratedOwner((Window)target);
1200                 ((XWindowPeer)AWTAccessor.getComponentAccessor().getPeer(owner)).requestWindowFocus();
1201             }
1202         }
1203     }
1204 
1205     boolean isResizable() {
1206         return winAttr.isResizable;
1207     }
1208 
1209     public void handleVisibilityEvent(XEvent xev) {
1210         super.handleVisibilityEvent(xev);
1211         XVisibilityEvent ve = xev.get_xvisibility();
1212         winAttr.visibilityState = ve.get_state();
1213 //         if (ve.get_state() == XlibWrapper.VisibilityUnobscured) {
1214 //             // raiseInputMethodWindow
1215 //         }
1216         repositionSecurityWarning();
1217     }
1218 
1219     void handleRootPropertyNotify(XEvent xev) {
1220         XPropertyEvent ev = xev.get_xproperty();
1221         if( mustControlStackPosition &&
1222             ev.get_atom() == XAtom.get("_NET_CLIENT_LIST_STACKING").getAtom()){
1223             // Restore stack order unhadled/spoiled by WM or some app (nautilus).
1224             // As of now, don't use any generic machinery: just