Turns the constructor of VolumeControl and VolumeWarning from internal to protected. This makes Vala emits C declaration of constructors, which is required by the test's mocks extending these classes, in the external header.
Without them, the mocks' C code would then consider them "implicitly declared", and will assume they return int instead of a pointer. If the returned address happened to be higher than INT_MAX, the code will consider the returned address negative and sign-extend it when casting to a pointer, corrupting it.
As for "unprivating" these constructors, this is an internal static library anyway. No libraries or headers are installed from this package. This change is invisible from outside.
Turns the constructor of
VolumeControl
andVolumeWarning
frominternal
toprotected
. This makes Vala emits C declaration of constructors, which is required by the test's mocks extending these classes, in the external header.Without them, the mocks' C code would then consider them "implicitly declared", and will assume they return
int
instead of a pointer. If the returned address happened to be higher thanINT_MAX
, the code will consider the returned address negative and sign-extend it when casting to a pointer, corrupting it.As for "unprivating" these constructors, this is an internal static library anyway. No libraries or headers are installed from this package. This change is invisible from outside.