Index: libs/libmythtv/osd.cpp =================================================================== --- libs/libmythtv/osd.cpp (revision 14907) +++ libs/libmythtv/osd.cpp (working copy) @@ -47,7 +47,9 @@ needPillarBox(false), themepath(FindTheme(gContext->GetSetting("OSDTheme"))), wscale(1.0f), fscale(fontScaling), - hmult(vis_bounds.height() / 480.0f),wmult(vis_bounds.width() / 640.0f), + themeinfo(new ThemeInfo(themepath)), + hmult(vis_bounds.height() / (float)themeinfo->BaseRes().height()), + wmult(vis_bounds.width() / (float)themeinfo->BaseRes().width()), xoffset(vis_bounds.left()), yoffset(vis_bounds.top()), displaywidth(vis_bounds.width()), displayheight(vis_bounds.height()), m_setsvisible(false), @@ -110,6 +114,8 @@ delete set; } + delete themeinfo; + if (editarrowleft) delete editarrowleft; if (editarrowright) @@ -507,8 +513,8 @@ yoffset = visibleBounds.top(); displaywidth = visibleBounds.width(); displayheight = visibleBounds.height(); - wmult = displaywidth / 640.0; - hmult = displayheight / 480.0; + wmult = displaywidth / (float)themeinfo->BaseRes().width(); + hmult = displayheight / (float)themeinfo->BaseRes().height(); needPillarBox = visibleAspect > 1.51f; frameint = (frameRate <= 0) ? frameRate : frameint; @@ -1472,8 +1478,8 @@ // HACK begin -- needed to address ticket #989 xoffset = 0; yoffset = 0; - displaywidth = 640; - displayheight = 480; + displaywidth = themeinfo->BaseRes().width(); + displayheight = themeinfo->BaseRes().height(); hmult = 1.0f; wmult = 1.0f; // HACK end Index: libs/libmythtv/osd.h =================================================================== --- libs/libmythtv/osd.h (revision 14907) +++ libs/libmythtv/osd.h (working copy) @@ -13,6 +13,9 @@ #include #include +// Mythtv Headers +#include "themeinfo.h" + #include using namespace std; @@ -201,6 +204,8 @@ QString themepath; + ThemeInfo *themeinfo; + float wscale, fscale; float hmult, wmult; int xoffset, yoffset, displaywidth, displayheight;