summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphintuka <phintuka>2009-06-02 14:15:40 +0000
committerphintuka <phintuka>2009-06-02 14:15:40 +0000
commit0c5c0c79c16a2c6b3e9ebb94860ff259e94839d8 (patch)
tree625c371d2f3b79ea32464c1779c2560e13f5cfe2
parentb43cd6e2e100dcece34e63b7f69acc15868b5ee3 (diff)
downloadxineliboutput-0c5c0c79c16a2c6b3e9ebb94860ff259e94839d8.tar.gz
xineliboutput-0c5c0c79c16a2c6b3e9ebb94860ff259e94839d8.tar.bz2
Eliminated warning
(dereferencing pointer ... does break strict-aliasing rules)
-rw-r--r--xine/osd_manager.c16
1 files 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;