-
Bug
-
Resolution: Fixed
-
P4
-
1.4.0
-
None
-
hopper
-
generic
-
generic
-
Verified
I experience it reproducbly on NetBeans while tring to implement DnD.
I believe it would be the same on other apps.
Scenario:
1) Start drag operation.
2) Let invoke modal dialog to be shown (programatically) while still
doing the drag.
3) The dialog is poped up. The cursor is changed to normal one, but no drapDropFinished on DragSourceContextPeer was made, consequentelly no dragDropEnd on DragSourceListener. Thus the DnD sys prevents any key/mouse event
to be propagated to the dialog, while also the DnD istelf is not able to finish.
4) The app freezes.
Additional comments.
I also tried programatically to close the dialog in that case, and the app seemed to be working, even still the DragSourceDropEvent wasn't propagated.
But that not the acceptable workaround.
I don't see the needed one, at least there is needed ability to programatically cancell of processed DnD, but seems it is internal thing of the DragSourceContextPeer.
===============================
Here is the testcase, (tescase.zip ), extract to default dir compile and execute the Test. It is your example of DnD published on jdc with added button on the bottom which invokes the modal dialog from separate thread in 3 sec. Whithin the time you start do the drag and wait. Dialog appears and you can nothing to do neither from keyboard nor by mouse.
I came closer to the problem, in the testcase the dialog has default close operation DO_NOTHING_ON_CLOSE, which prevents the dialog to be closed by "x" button. But thats the problem of DnD it doesn't let pass other event to the dialog only to the "x" button, thus when the dialog is supposed to be closed on
"Close" button it is not propagated there.
I hope this will help enough.
I also want to point out why there was required testcase. Didn't I describe the problem clearly enough. I guess there shouldn't be a problem for to create a testcase according the description?
###@###.### 2002-03-04
==================================
The above commnent with the DO_NOTHING_ON_CLOSE is not valid, it just helps
in seldom cases. Thus the bug is much more serious.
###@###.### 2002-03-21
=================================
I believe it would be the same on other apps.
Scenario:
1) Start drag operation.
2) Let invoke modal dialog to be shown (programatically) while still
doing the drag.
3) The dialog is poped up. The cursor is changed to normal one, but no drapDropFinished on DragSourceContextPeer was made, consequentelly no dragDropEnd on DragSourceListener. Thus the DnD sys prevents any key/mouse event
to be propagated to the dialog, while also the DnD istelf is not able to finish.
4) The app freezes.
Additional comments.
I also tried programatically to close the dialog in that case, and the app seemed to be working, even still the DragSourceDropEvent wasn't propagated.
But that not the acceptable workaround.
I don't see the needed one, at least there is needed ability to programatically cancell of processed DnD, but seems it is internal thing of the DragSourceContextPeer.
===============================
Here is the testcase, (tescase.zip ), extract to default dir compile and execute the Test. It is your example of DnD published on jdc with added button on the bottom which invokes the modal dialog from separate thread in 3 sec. Whithin the time you start do the drag and wait. Dialog appears and you can nothing to do neither from keyboard nor by mouse.
I came closer to the problem, in the testcase the dialog has default close operation DO_NOTHING_ON_CLOSE, which prevents the dialog to be closed by "x" button. But thats the problem of DnD it doesn't let pass other event to the dialog only to the "x" button, thus when the dialog is supposed to be closed on
"Close" button it is not propagated there.
I hope this will help enough.
I also want to point out why there was required testcase. Didn't I describe the problem clearly enough. I guess there shouldn't be a problem for to create a testcase according the description?
###@###.### 2002-03-04
==================================
The above commnent with the DO_NOTHING_ON_CLOSE is not valid, it just helps
in seldom cases. Thus the bug is much more serious.
###@###.### 2002-03-21
=================================
- relates to
-
JDK-4352221 DND still deadlocks in 1.3 when displaying JOptionPane
-
- Resolved
-
-
JDK-5048265 Invoking modal dialog while DnD is in progress
-
- Open
-