From 0c5c0c79c16a2c6b3e9ebb94860ff259e94839d8 Mon Sep 17 00:00:00 2001 From: phintuka Date: Tue, 2 Jun 2009 14:15:40 +0000 Subject: Eliminated warning (dereferencing pointer ... does break strict-aliasing rules) --- xine/osd_manager.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/xine/osd_manager.c b/xine/osd_manager.c index 7b38baf2..e35f58bf 100644 --- a/xine/osd_manager.c +++ b/xine/osd_manager.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: osd_manager.c,v 1.11 2009-03-17 12:19:19 phintuka Exp $ + * $Id: osd_manager.c,v 1.12 2009-06-02 14:15:40 phintuka Exp $ * */ @@ -437,11 +437,15 @@ static int exec_osd_set_rle(osd_manager_impl_t *this, osd_command_t *cmd) /* tag this overlay */ ov_overlay.hili_rgb_clut = VDR_OSD_MAGIC; - vdr_osd_extradata_t *extra_data = (vdr_osd_extradata_t *)ov_overlay.hili_color; - extra_data->extent_width = osd->extent_width; - extra_data->extent_height = osd->extent_height; - extra_data->layer = cmd->layer; - extra_data->scaling = cmd->scaling; + /* fill extra data */ + const vdr_osd_extradata_t extra_data = { + extent_width: osd->extent_width, + extent_height: osd->extent_height, + layer: cmd->layer, + scaling: cmd->scaling + }; + memcpy(ov_overlay.hili_color, &extra_data, sizeof(extra_data)); + #ifdef VO_CAP_CUSTOM_EXTENT_OVERLAY if (cmd->scaling) { ov_overlay.extent_width = osd->extent_width; -- cgit v1.2.3