Kevin M Stange wrote:
> Robert McQueen wrote:
>> I'd say as a nice UI fix, it'd be good to put it into the 1.x branch
>> too if it works. Provided you implement it as an additive-only change
>> to the struct that represents the conversation window (ie add any new
>> widgets to the end) so anything that manipulates that struct has the
>> right offsets for the existing widgets. Of course, you can order your
>> change differently in HEAD, so just arrange the struct logically there.
> If I remember understanding our API versioning rules correctly, such a
> change would require us to increment the version number to 1.2.0, since
> it relates to additional API that would make an item compiled against
> this version potentially not binary compatible against a 1.1.0. It
> seems like we shouldn't bother with this unless we're throwing in some
> more important API additions as well, but I guess it doesn't really matter.
I could make the case that this would require a major version bump to
2.0.0, because it changes the size of a struct. If I allocate that
structure in a plugin (not likely) and my plugin is compiled against a
version without this change, and my plugin is used in a version with
this change, the struct will be too small, and that will cause serious
This is why I eventually want to remove ALL struct defines from header
files. Opaque structures fix this problem, because nothing outside of
1 file can allocate, because nothing actually knows how big it is.
Most of Gaim is made up of cases like this: the structure is not opaque,
but it is very unlikely that anything outside of Gaim would be
allocating this structure. However, I'm not a big fan of coding based
on how likely someone is to do something.
This is a minor cosmetic thing, and HEAD is nearing completion. Once I
or someone else fixes the problem with contacts and priority (so I can
actually see who is online and who isn't), I plan on going back to using
it on a regular basis. The sooner HEAD is usable by everyone for
day-to-day stuff, I think we'll quit caring about oldstatus (as we
should) and get on with our lives.