< prev index next >

src/java.desktop/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java

Print this page




 891                     // This event has already been unregistered.
 892                     return;
 893                 }
 894                 if (eventSet.isEmpty()) {
 895                     if (!dispatcherDone && dispatchType == DISPATCH_SYNC) {
 896                         handler.exit();
 897                     }
 898                     dispatcherDone = true;
 899                 }
 900             } finally {
 901                 handler.unlock();
 902             }
 903 
 904             try {
 905                 peer.eventProcessed(e, returnValue, dispatcherDone);
 906             } finally {
 907                 /*
 908                  * Clear the reference to the native context if all copies of
 909                  * the original event are processed.
 910                  */
 911                 if (dispatcherDone) {
 912                     nativeCtxt = 0;
 913                     // Fix for 6342381
 914                     peer.nativeDragContext = 0;
 915 
 916                 }
 917             }
 918         }
 919 
 920         public void unregisterAllEvents() {
 921             Object[] events = null;
 922             handler.lock();
 923             try {
 924                 events = eventSet.toArray();
 925             } finally {
 926                 handler.unlock();
 927             }
 928 
 929             if (events != null) {
 930                 for (int i = 0; i < events.length; i++) {
 931                     unregisterEvent((SunDropTargetEvent)events[i]);


 891                     // This event has already been unregistered.
 892                     return;
 893                 }
 894                 if (eventSet.isEmpty()) {
 895                     if (!dispatcherDone && dispatchType == DISPATCH_SYNC) {
 896                         handler.exit();
 897                     }
 898                     dispatcherDone = true;
 899                 }
 900             } finally {
 901                 handler.unlock();
 902             }
 903 
 904             try {
 905                 peer.eventProcessed(e, returnValue, dispatcherDone);
 906             } finally {
 907                 /*
 908                  * Clear the reference to the native context if all copies of
 909                  * the original event are processed.
 910                  */
 911                 if (dispatcherDone && !peer.dropInProcess) {
 912                     nativeCtxt = 0;
 913                     // Fix for 6342381
 914                     peer.nativeDragContext = 0;
 915 
 916                 }
 917             }
 918         }
 919 
 920         public void unregisterAllEvents() {
 921             Object[] events = null;
 922             handler.lock();
 923             try {
 924                 events = eventSet.toArray();
 925             } finally {
 926                 handler.unlock();
 927             }
 928 
 929             if (events != null) {
 930                 for (int i = 0; i < events.length; i++) {
 931                     unregisterEvent((SunDropTargetEvent)events[i]);
< prev index next >