aboutsummaryrefslogtreecommitdiff
path: root/src/volume-control.vala
diff options
context:
space:
mode:
authorRatchanan Srirattanamet <ratchanan@ubports.com>2023-11-29 00:42:50 +0700
committerRatchanan Srirattanamet <ratchanan@ubports.com>2023-11-29 01:42:23 +0700
commit41c2b5c21de5a3774f0bbb54de3999eaccc7de70 (patch)
tree8e846264c36e02681cef23cc0bd7e31656546ae8 /src/volume-control.vala
parentb153ce4da15f9ff3dc7f1bd5bd798a402d444f4b (diff)
downloadayatana-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.vala2
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;
}