mirror of
https://gitlab.gnome.org/GNOME/libgnome-volume-control.git
synced 2024-12-22 12:22:06 +00:00
a28e23d900
The callbacks will be called repeatedly, once with data, and later on with eol == 0. Make sure to only free it when we get the eol call instead of once we've applied the settings. Example valgrind output: ==31715== Invalid read of size 8 ==31715== at 0x24529E09: port_status_data_free (gvc-mixer-control.c:2079) ==31715== by 0x1DB81344: ??? (in /usr/lib64/libpulse.so.0.18.2) ==31715== by 0x1DDF3FE0: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so) ==31715== by 0x1DDF436A: pa_pdispatch_run (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so) ==31715== by 0x1DB7507D: ??? (in /usr/lib64/libpulse.so.0.18.2) ==31715== by 0x1DDF6B5E: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so) ==31715== by 0x1DDF91BA: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so) ==31715== by 0x1DDF9568: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so) ==31715== by 0x1DDF9DF9: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so) ==31715== by 0x1D96202A: ??? (in /usr/lib64/libpulse-mainloop-glib.so.0.0.5) ==31715== by 0x7AA7CF9: g_main_dispatch (gmain.c:3154) ==31715== by 0x7AA7CF9: g_main_context_dispatch (gmain.c:3769) ==31715== by 0x7AA8057: g_main_context_iterate.isra.29 (gmain.c:3840) ==31715== Address 0x2bd83480 is 0 bytes inside a block of size 16 free'd ==31715== at 0x4C2ED6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==31715== by 0x7AAD2AD: g_free (gmem.c:189) ==31715== by 0x1DB81562: ??? (in /usr/lib64/libpulse.so.0.18.2) ==31715== by 0x1DDF3FE0: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so) ==31715== by 0x1DDF436A: pa_pdispatch_run (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so) ==31715== by 0x1DB7507D: ??? (in /usr/lib64/libpulse.so.0.18.2) ==31715== by 0x1DDF6B5E: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so) ==31715== by 0x1DDF91BA: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so) ==31715== by 0x1DDF9568: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so) ==31715== by 0x1DDF9DF9: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so) ==31715== by 0x1D96202A: ??? (in /usr/lib64/libpulse-mainloop-glib.so.0.0.5) ==31715== by 0x7AA7CF9: g_main_dispatch (gmain.c:3154) ==31715== by 0x7AA7CF9: g_main_context_dispatch (gmain.c:3769) ==31715== Block was alloc'd at ==31715== at 0x4C2F9C7: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==31715== by 0x7AAD1F0: g_malloc0 (gmem.c:124) ==31715== by 0x2452A39D: gvc_mixer_control_set_port_status_for_headset (gvc-mixer-control.c:2173) ==31715== by 0x2451BE81: audio_selection_done (gsd-media-keys-manager.c:2489) ==31715== by 0x7550ED3: emit_signal_instance_in_idle_cb (gdbusconnection.c:3701) ==31715== by 0x7AA7CF9: g_main_dispatch (gmain.c:3154) ==31715== by 0x7AA7CF9: g_main_context_dispatch (gmain.c:3769) ==31715== by 0x7AA8057: g_main_context_iterate.isra.29 (gmain.c:3840) ==31715== by 0x7AA8371: g_main_loop_run (gmain.c:4034) ==31715== by 0x5CEA204: gtk_main (gtkmain.c:1246) ==31715== by 0x403804: main (main.c:434) |
||
---|---|---|
.gitignore | ||
gvc-channel-map-private.h | ||
gvc-channel-map.c | ||
gvc-channel-map.h | ||
gvc-mixer-card-private.h | ||
gvc-mixer-card.c | ||
gvc-mixer-card.h | ||
gvc-mixer-control-private.h | ||
gvc-mixer-control.c | ||
gvc-mixer-control.h | ||
gvc-mixer-event-role.c | ||
gvc-mixer-event-role.h | ||
gvc-mixer-sink-input.c | ||
gvc-mixer-sink-input.h | ||
gvc-mixer-sink.c | ||
gvc-mixer-sink.h | ||
gvc-mixer-source-output.c | ||
gvc-mixer-source-output.h | ||
gvc-mixer-source.c | ||
gvc-mixer-source.h | ||
gvc-mixer-stream-private.h | ||
gvc-mixer-stream.c | ||
gvc-mixer-stream.h | ||
gvc-mixer-ui-device.c | ||
gvc-mixer-ui-device.h | ||
gvc-pulseaudio-fake.h | ||
libgnome-volume-control.doap | ||
Makefile.am |