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

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 46,55 **** --- 46,57 ---- import java.util.HashSet; import java.util.Map; import java.util.Arrays; + import sun.awt.AWTAccessor; + import sun.awt.AWTAccessor.DropTargetContextAccessor; import sun.util.logging.PlatformLogger; import java.io.IOException; import java.io.InputStream;
*** 311,331 **** Component c = (Component)event.getSource(); DropTarget dt = c.getDropTarget(); Point hots = event.getPoint(); local = getJVMLocalSourceTransferable(); ! if (currentDTC != null) { // some wreckage from last time ! currentDTC.removeNotify(); currentDTC = null; } if (c.isShowing() && dt != null && dt.isActive()) { currentDT = dt; currentDTC = currentDT.getDropTargetContext(); ! currentDTC.addNotify(this); currentA = dt.getDefaultActions(); try { ((DropTargetListener)dt).dragEnter(new DropTargetDragEvent(currentDTC, --- 313,334 ---- Component c = (Component)event.getSource(); DropTarget dt = c.getDropTarget(); Point hots = event.getPoint(); local = getJVMLocalSourceTransferable(); ! DropTargetContextAccessor acc = ! AWTAccessor.getDropTargetContextAccessor(); if (currentDTC != null) { // some wreckage from last time ! acc.reset(currentDTC); currentDTC = null; } if (c.isShowing() && dt != null && dt.isActive()) { currentDT = dt; currentDTC = currentDT.getDropTargetContext(); ! acc.setDropTargetContextPeer(currentDTC, this); currentA = dt.getDefaultActions(); try { ((DropTargetListener)dt).dragEnter(new DropTargetDragEvent(currentDTC,
*** 368,401 **** protected void processExitMessage(SunDropTargetEvent event) { Component c = (Component)event.getSource(); DropTarget dt = c.getDropTarget(); DropTargetContext dtc = null; if (dt == null) { currentDT = null; currentT = null; if (currentDTC != null) { ! currentDTC.removeNotify(); } currentDTC = null; return; } if (dt != currentDT) { if (currentDTC != null) { ! currentDTC.removeNotify(); } currentDT = dt; currentDTC = dt.getDropTargetContext(); ! currentDTC.addNotify(this); } dtc = currentDTC; if (dt.isActive()) try { --- 371,406 ---- protected void processExitMessage(SunDropTargetEvent event) { Component c = (Component)event.getSource(); DropTarget dt = c.getDropTarget(); DropTargetContext dtc = null; + DropTargetContextAccessor acc = + AWTAccessor.getDropTargetContextAccessor(); if (dt == null) { currentDT = null; currentT = null; if (currentDTC != null) { ! acc.reset(currentDTC); } currentDTC = null; return; } if (dt != currentDT) { if (currentDTC != null) { ! acc.reset(currentDTC); } currentDT = dt; currentDTC = dt.getDropTargetContext(); ! acc.setDropTargetContextPeer(currentDTC, this); } dtc = currentDTC; if (dt.isActive()) try {
*** 407,417 **** currentSA = DnDConstants.ACTION_NONE; currentDA = DnDConstants.ACTION_NONE; currentDT = null; currentT = null; ! currentDTC.removeNotify(); currentDTC = null; local = null; dragRejected = false; --- 412,422 ---- currentSA = DnDConstants.ACTION_NONE; currentDA = DnDConstants.ACTION_NONE; currentDT = null; currentT = null; ! acc.reset(currentDTC); currentDTC = null; local = null; dragRejected = false;
*** 438,466 **** Component c = (Component)event.getSource(); Point hots = event.getPoint(); int id = event.getID(); DropTarget dt = c.getDropTarget(); DropTargetContext dtc = null; if (c.isShowing() && (dt != null) && dt.isActive()) { if (currentDT != dt) { if (currentDTC != null) { ! currentDTC.removeNotify(); } currentDT = dt; currentDTC = null; } dtc = currentDT.getDropTargetContext(); if (dtc != currentDTC) { if (currentDTC != null) { ! currentDTC.removeNotify(); } currentDTC = dtc; ! currentDTC.addNotify(this); } currentA = currentDT.getDefaultActions(); try { --- 443,473 ---- Component c = (Component)event.getSource(); Point hots = event.getPoint(); int id = event.getID(); DropTarget dt = c.getDropTarget(); DropTargetContext dtc = null; + DropTargetContextAccessor acc = + AWTAccessor.getDropTargetContextAccessor(); if (c.isShowing() && (dt != null) && dt.isActive()) { if (currentDT != dt) { if (currentDTC != null) { ! acc.reset(currentDTC); } currentDT = dt; currentDTC = null; } dtc = currentDT.getDropTargetContext(); if (dtc != currentDTC) { if (currentDTC != null) { ! acc.reset(currentDTC); } currentDTC = dtc; ! acc.setDropTargetContextPeer(currentDTC, this); } currentA = currentDT.getDefaultActions(); try {
*** 516,532 **** if (c.isShowing() && dt != null && dt.isActive()) { DropTargetContext dtc = dt.getDropTargetContext(); currentDT = dt; if (currentDTC != null) { ! currentDTC.removeNotify(); } currentDTC = dtc; ! currentDTC.addNotify(this); currentA = dt.getDefaultActions(); synchronized(_globalLock) { if ((local = getJVMLocalSourceTransferable()) != null) setCurrentJVMLocalSourceTransferable(null); --- 523,541 ---- if (c.isShowing() && dt != null && dt.isActive()) { DropTargetContext dtc = dt.getDropTargetContext(); currentDT = dt; + DropTargetContextAccessor acc = + AWTAccessor.getDropTargetContextAccessor(); if (currentDTC != null) { ! acc.reset(currentDTC); } currentDTC = dtc; ! acc.setDropTargetContextPeer(currentDTC, this); currentA = dt.getDefaultActions(); synchronized(_globalLock) { if ((local = getJVMLocalSourceTransferable()) != null) setCurrentJVMLocalSourceTransferable(null);
*** 685,695 **** public synchronized void dropComplete(boolean success) { if (dropStatus == STATUS_NONE) { throw new InvalidDnDOperationException("No Drop pending"); } ! if (currentDTC != null) currentDTC.removeNotify(); currentDT = null; currentDTC = null; currentT = null; currentA = DnDConstants.ACTION_NONE; --- 694,706 ---- public synchronized void dropComplete(boolean success) { if (dropStatus == STATUS_NONE) { throw new InvalidDnDOperationException("No Drop pending"); } ! if (currentDTC != null) { ! AWTAccessor.getDropTargetContextAccessor().reset(currentDTC); ! } currentDT = null; currentDTC = null; currentT = null; currentA = DnDConstants.ACTION_NONE;