Changeset 6640


Ignore:
Timestamp:
2004-01-28T14:48:28+13:00 (20 years ago)
Author:
jmt12
Message:

Added a new bojunga of a bug - the dastardly Modal Dialog paradox. While most of the problems can be worked around, the more insideous ones are not.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gli/buglist/status.txt

    r6529 r6640  
    933933NA
    934934Pending
    935 Shift classifier/plugin database creation from new collection step. Redesign argument library to automatically detect changes in classifiers/plugins
     935Shift classifier/plugin database creation from new collection step. Redesign argument library to automatically detect changes in classifiers/plugins. Migrate the serialized data objects into xml.
    936936
    937937203B117
     
    24052405NA
    24062406Pending -- <strong>High priority</strong>
    2407 Download as many translations as I can from dublincore.org
     2407Download as many translations as I can from dublincore.org<br>Languages Remaining (in order of priority):<br>Italian<br>Gernam<br>Portuguese<br>Turkish<br>Greek<br>Finnish<br>Japanese<br>Thai<br>Ukrainian
     2408
     2409204B356
     2410Dialog Modality. The built in method of dialog modality supported by the Swing libraries is not only buggy, but also has the draw back of modality applying to all open frames and dialogs. As we want people to be able to open an interact with a help frame even when a 'modal' dialog is displayed we needed a slightly different approach. Thus we developed a different method of modality. The idea was to essentially hijack control of the AWT event dispatch thread while the modal dialog is open, only allowing non-user events to be passed to the parent dialog. Furthermore it was planned that this only has effect within the current frames component tree by utilitizing a component TreeLock. While this provided necessary functionality in terms of multiple frames, it has also been found to be buggy, causing several problems when attempting to display dialogs from outside the AWT Thread, and when attempting to close the GLI. Some concrete examples of the problems caused by Modal dialogs are:<br>1. If, in the Design view, you enter a collection title that is already in use, and then immediately click File->Exit, the modal dialog warning of the title clash causes GLI to hang during shutdown.<br>2. If you have a modal dialog open, switch to another application which causes a repaint of the entire screen, then switch back to GLI, the modal dialog is hidden and there is no way to restore it.
     2411NZDL
     2412All
     2413NA
     2414Pending
     2415There are two things that need to be done. Extra code must be added to ensure that attempting to acquire the TreeLock doesn't result in Deadlock. This may be as simple as always opening modal dialogs from the AWT Thread using swing workers. Secondly we must ensure that either WindowEvent events are processed properly (which I'm fairly sure they are) and that if a modal dialog is open WindowEvents such as WindowDestroy are vetoed somehow.
     2416
     2417
     2418
     2419
Note: See TracChangeset for help on using the changeset viewer.