mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-12 09:36:33 +01:00
Fix function pointer to void* cast (and vice-versa) related warnings on POSIX systems
git-svn-id: svn://localhost/ardour2/branches/3.0@8300 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
e212c8de66
commit
bb7dbe6d86
1 changed files with 19 additions and 8 deletions
|
|
@ -31,6 +31,12 @@
|
||||||
#include "canvas-waveview.h"
|
#include "canvas-waveview.h"
|
||||||
#include "rgb_macros.h"
|
#include "rgb_macros.h"
|
||||||
|
|
||||||
|
/* POSIX guarantees casting between void* and function pointers, ISO C doesn't
|
||||||
|
* We can work around warnings by going one step deeper in our casts
|
||||||
|
*/
|
||||||
|
#ifdef _POSIX_VERSION
|
||||||
|
#define POSIX_FUNC_PTR_CAST(type, object) *((type*) &(object))
|
||||||
|
#endif // _POSIX_VERSION
|
||||||
|
|
||||||
extern void c_stacktrace();
|
extern void c_stacktrace();
|
||||||
|
|
||||||
|
|
@ -751,6 +757,7 @@ gnome_canvas_waveview_set_property (GObject *object,
|
||||||
item = GNOME_CANVAS_ITEM (object);
|
item = GNOME_CANVAS_ITEM (object);
|
||||||
waveview = GNOME_CANVAS_WAVEVIEW (object);
|
waveview = GNOME_CANVAS_WAVEVIEW (object);
|
||||||
|
|
||||||
|
void * ptr;
|
||||||
switch (prop_id) {
|
switch (prop_id) {
|
||||||
case PROP_DATA_SRC:
|
case PROP_DATA_SRC:
|
||||||
gnome_canvas_waveview_set_data_src (waveview, g_value_get_pointer(value));
|
gnome_canvas_waveview_set_data_src (waveview, g_value_get_pointer(value));
|
||||||
|
|
@ -763,22 +770,26 @@ gnome_canvas_waveview_set_property (GObject *object,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_LENGTH_FUNCTION:
|
case PROP_LENGTH_FUNCTION:
|
||||||
waveview->length_function = (waveview_length_function_t) g_value_get_pointer(value);
|
ptr = g_value_get_pointer(value);
|
||||||
|
waveview->length_function = POSIX_FUNC_PTR_CAST(waveview_length_function_t, ptr);
|
||||||
redraw = TRUE;
|
redraw = TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_SOURCEFILE_LENGTH_FUNCTION:
|
case PROP_SOURCEFILE_LENGTH_FUNCTION:
|
||||||
waveview->sourcefile_length_function = (waveview_sourcefile_length_function_t) g_value_get_pointer(value);
|
ptr = g_value_get_pointer(value);
|
||||||
|
waveview->sourcefile_length_function = POSIX_FUNC_PTR_CAST(waveview_sourcefile_length_function_t, ptr);
|
||||||
redraw = TRUE;
|
redraw = TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_PEAK_FUNCTION:
|
case PROP_PEAK_FUNCTION:
|
||||||
waveview->peak_function = (waveview_peak_function_t) g_value_get_pointer(value);
|
ptr = g_value_get_pointer(value);
|
||||||
|
waveview->peak_function = POSIX_FUNC_PTR_CAST(waveview_peak_function_t, ptr);
|
||||||
redraw = TRUE;
|
redraw = TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_GAIN_FUNCTION:
|
case PROP_GAIN_FUNCTION:
|
||||||
waveview->gain_curve_function = (waveview_gain_curve_function_t) g_value_get_pointer(value);
|
ptr = g_value_get_pointer(value);
|
||||||
|
waveview->gain_curve_function = POSIX_FUNC_PTR_CAST(waveview_gain_curve_function_t, ptr);
|
||||||
redraw = TRUE;
|
redraw = TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -946,19 +957,19 @@ gnome_canvas_waveview_get_property (
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_LENGTH_FUNCTION:
|
case PROP_LENGTH_FUNCTION:
|
||||||
g_value_set_pointer(value, (void*) waveview->length_function);
|
g_value_set_pointer(value, POSIX_FUNC_PTR_CAST(void*, waveview->length_function));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_SOURCEFILE_LENGTH_FUNCTION:
|
case PROP_SOURCEFILE_LENGTH_FUNCTION:
|
||||||
g_value_set_pointer(value, (void*) waveview->sourcefile_length_function);
|
g_value_set_pointer(value, POSIX_FUNC_PTR_CAST(void*, waveview->sourcefile_length_function));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_PEAK_FUNCTION:
|
case PROP_PEAK_FUNCTION:
|
||||||
g_value_set_pointer(value, (void*) waveview->peak_function);
|
g_value_set_pointer(value, POSIX_FUNC_PTR_CAST(void*, waveview->peak_function));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_GAIN_FUNCTION:
|
case PROP_GAIN_FUNCTION:
|
||||||
g_value_set_pointer(value, (void*) waveview->gain_curve_function);
|
g_value_set_pointer(value, POSIX_FUNC_PTR_CAST(void*, waveview->gain_curve_function));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_GAIN_SRC:
|
case PROP_GAIN_SRC:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue