changes in Terminal Window Options does not enable the Apply Button.
[ BUILD # : 201306100004 ]
[ JDK VERSION : 1.7.0_21 ]
Some how related to https://netbeans.org/bugzilla/show_bug.cgi?id=230356 ?
The whole Option Dialog is a real mess.
sometimes a option change is recognized by Apply, sometimes not.
sometimes a change does not enable Apply but is recognized by OK.
sometimes nothing, frustating.
Andrew, pls evaluate.
Created attachment 136036 [details]
OK, patch was reviewed and we came to an agreement ;)
So.. to keep record:
'Apply' button appeared just recently - before that only 'OK' button was in the dialog. And that worked.
Now, after the 'Apply' button was implemented we are in the following situation:
- there are two 'models' - the first one is an 'effective' and the second one is it's copy that is passed to the dialog and is modified on changes.
(all this is correct, no changes here)
- the first thing that happens when dialog is created is that 'effective' model is copied; the copy is passed to the dialog; it is registered as dialog's listener and, because of notifications that come from the dialog's controls, immediately becomes 'dirty'.
(this is fixed by introducing 'inApplyingModel' boolean)
- in 500 ms model is asked if it is modified - the answer is 'yes'
- the problem is that in isChanged() method another copy of 'effective' model is created (THIS is the main cause) and at this point TermAdvancedOption forgets about the model (copy) that was passed to a dialog.
(this copying is removed in the fix)
- then infrastructure calls save(), which takes the 'wrong fresh' copy of the 'effective' model and stores it on disk...
+ patch contains some minor changes (like introducing markDirty() method and adding additional TermOptions copy constructor that doesn't perform resetToDefault())
Integrated into 'main-golden', will be available in build *201306212301* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
User: Andrew Krasny <email@example.com>
Log: Bug #231105 - Terminal Window Options changes not accepted