Peter Sorotokin wrote:
>
> Some people suggested that in Mozilla/XPCOM
> world it is OK to change interface if it is not frozen, and there is no
> need to change its IID. That makes it impossible to do anything at all
> with non-frozen interfaces, because if it is ever changed, my code will
> simply crash (and users will blame me). On the other hand, if interface
> is changed, but its IID is also changed, I at least can do something sane.
> [...]
> Would it be feasible for Mozila to change IID of *any* interface every
> time its vtable layout is changed (this would not seem to require anything
> but IID string change in the same IDL file)?
Are you also hoping that the old interfaces will still be available, or
do you just want to be able to detect the change (through
NS_ERROR_NO_INTERFACE)? When you say you can "do something sane" if the
IID changes, I'm assuming all you can do is bail out gracefully. It
sounds to me that the real win will be to put effort into reviewing and
freezing more interfaces.
- Mike.