On 28 Aug 2003, Mike Hearn wrote: > Probably the best way to do it is to have a queue of transaction > structures, and each time you want to change a registry key (or rather > section/value pair) a new ConfigureTransaction is added to the tail of > the queue. The queue can either be processed instantly, or block until > OK/Cancel.
That, or having a dirty flag would work as well. I think we should have a structure describing each value: struct config_param { const char *name; void *value; /* or we can have a union here */ int dirty; const char *flyby_help; HWND control; /* etc, etc. */ } On "Apply", we can simply walk the list and commit all things that are dirty. In general, I think it will be helpful going forward to be able to have such a thing in place so we can easily associtate metadata with each value. -- Dimi.