diff options
author | Ratchanan Srirattanamet <ratchanan@ubports.com> | 2023-11-29 00:42:50 +0700 |
---|---|---|
committer | Ratchanan Srirattanamet <ratchanan@ubports.com> | 2023-11-29 01:42:23 +0700 |
commit | 41c2b5c21de5a3774f0bbb54de3999eaccc7de70 (patch) | |
tree | 8e846264c36e02681cef23cc0bd7e31656546ae8 /src/volume-control.vala | |
parent | b153ce4da15f9ff3dc7f1bd5bd798a402d444f4b (diff) | |
download | ayatana-indicator-sound-41c2b5c21de5a3774f0bbb54de3999eaccc7de70.tar.gz ayatana-indicator-sound-41c2b5c21de5a3774f0bbb54de3999eaccc7de70.tar.bz2 ayatana-indicator-sound-41c2b5c21de5a3774f0bbb54de3999eaccc7de70.zip |
src, tests: fix -Wint-to-pointer-cast and a chance of test crashpersonal/peat-psuwit/protected-superclass
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.
Diffstat (limited to 'src/volume-control.vala')
-rw-r--r-- | src/volume-control.vala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/volume-control.vala b/src/volume-control.vala index f4244b4..a8ba3c7 100644 --- a/src/volume-control.vala +++ b/src/volume-control.vala @@ -54,7 +54,7 @@ public abstract class VolumeControl : Object protected IndicatorSound.Options _options = null; - internal VolumeControl(IndicatorSound.Options options) { + protected VolumeControl(IndicatorSound.Options options) { _options = options; } |