Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8186263

The SunDropTargetEvent sometimes is not dispatched

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 8, 9, 10
    • Fix Version/s: 10
    • Component/s: client-libs
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b23
    • CPU:
      generic
    • OS:
      generic

      Description

      Each SunDropTargetEvent should be dispatched, because this event stop the ToolkitThreadBlockedHandler.

       - The nested event loop is started before SunDropTargetEvent is created. See SunDropTargetContextPeer.postDropTargetEvent()
       - The SunDropTargetEvent is posted with assumption that when it will be dispatched it will stop the nested event loop. See SunDropTargetContextPeer.unregisterEvent().

      SunDropTargetEvent is a subclass of MouseEvent. The dispatch of MouseEvent can be skipped if this event will be coalesced or if the target component will be disposed.

      The coalescing of the SunDropTargetEvent was fixed in JDK-7177144, but it is still possible to lose the SunDropTargetEvent if the target component wll be disposed after event was posted but before dispatch. This can cause a hang in DnD machinery.

        Attachments

          Activity

            People

            • Assignee:
              serb Sergey Bylokhov
              Reporter:
              serb Sergey Bylokhov
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: