summaryrefslogtreecommitdiff
path: root/xine/osd_manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'xine/osd_manager.c')
-rw-r--r--xine/osd_manager.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/xine/osd_manager.c b/xine/osd_manager.c
index 8777a957..ffe8df14 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.15 2010-02-20 22:28:16 phintuka Exp $
+ * $Id: osd_manager.c,v 1.16 2010-02-20 22:29:41 phintuka Exp $
*
*/
@@ -456,10 +456,19 @@ static int exec_osd_set_rle(osd_manager_impl_t *this, osd_command_t *cmd)
/* if no scaling was required, we may still need to re-center OSD */
if (!this->vo_scaling && !rle_scaled) {
+ if (!use_unscaled) {
if (this->video_width != osd->extent_width)
ov_overlay.x += (this->video_width - osd->extent_width)/2;
if (this->video_height != osd->extent_height)
ov_overlay.y += (this->video_height - osd->extent_height)/2;
+ } else {
+ if (this->win_width >= 360 && this->win_height >= 288) {
+ if (this->win_width != osd->extent_width)
+ ov_overlay.x += (this->win_width - osd->extent_width)/2;
+ if (this->win_height != osd->extent_height)
+ ov_overlay.y += (this->win_height - osd->extent_height)/2;
+ }
+ }
}
/* store rle for later scaling (done if video size changes) */