< prev index next >

src/java.desktop/unix/classes/sun/awt/X11/XMSelection.java

Print this page




 183                 e.printStackTrace();
 184             }
 185             finally {
 186                 if (log.isLoggable(PlatformLogger.Level.FINE)) {
 187                     log.fine("UnGrabbing XServer");
 188                 }
 189                 XlibWrapper.XUngrabServer(XToolkit.getDisplay());
 190             }
 191         } finally {
 192             XToolkit.awtUnlock();
 193         }
 194     }
 195 
 196 
 197     static boolean processClientMessage(XEvent xev, int screen) {
 198         XClientMessageEvent xce = xev.get_xclient();
 199         if (xce.get_message_type() == XA_MANAGER.getAtom()) {
 200             if (log.isLoggable(PlatformLogger.Level.FINE)) {
 201                 log.fine("client messags = " + xce);
 202             }
 203             long timestamp = xce.get_data(0);
 204             long atom = xce.get_data(1);
 205             long owner = xce.get_data(2);
 206             long data = xce.get_data(3);
 207 
 208             XMSelection sel = getInstance(atom);
 209             if (sel != null) {
 210                 sel.resetOwner(owner,screen);
 211                 sel.dispatchOwnerChangedEvent(xev,screen,owner,data, timestamp);
 212             }
 213         }
 214         return false;
 215     }
 216 
 217     static  boolean processRootEvent(XEvent xev, int screen) {
 218         switch (xev.get_type()) {
 219             case XConstants.ClientMessage: {
 220                 return processClientMessage(xev, screen);
 221             }
 222         }
 223 




 183                 e.printStackTrace();
 184             }
 185             finally {
 186                 if (log.isLoggable(PlatformLogger.Level.FINE)) {
 187                     log.fine("UnGrabbing XServer");
 188                 }
 189                 XlibWrapper.XUngrabServer(XToolkit.getDisplay());
 190             }
 191         } finally {
 192             XToolkit.awtUnlock();
 193         }
 194     }
 195 
 196 
 197     static boolean processClientMessage(XEvent xev, int screen) {
 198         XClientMessageEvent xce = xev.get_xclient();
 199         if (xce.get_message_type() == XA_MANAGER.getAtom()) {
 200             if (log.isLoggable(PlatformLogger.Level.FINE)) {
 201                 log.fine("client messags = " + xce);
 202             }
 203             long timestamp = xce.get_data(0) & 0xFFFFFFFFL;
 204             long atom = xce.get_data(1);
 205             long owner = xce.get_data(2);
 206             long data = xce.get_data(3);
 207 
 208             XMSelection sel = getInstance(atom);
 209             if (sel != null) {
 210                 sel.resetOwner(owner,screen);
 211                 sel.dispatchOwnerChangedEvent(xev,screen,owner,data, timestamp);
 212             }
 213         }
 214         return false;
 215     }
 216 
 217     static  boolean processRootEvent(XEvent xev, int screen) {
 218         switch (xev.get_type()) {
 219             case XConstants.ClientMessage: {
 220                 return processClientMessage(xev, screen);
 221             }
 222         }
 223 


< prev index next >