diff options
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/Extensions.c')
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Extensions.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Extensions.c b/nx-X11/programs/Xserver/hw/nxagent/Extensions.c index 211af8ccf..05a4b4f13 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Extensions.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Extensions.c @@ -338,15 +338,26 @@ static int nxagentRandRInitSizes(ScreenPtr pScreen) width = w[i]; height = h[i]; - mmWidth = (width * 254 + monitorResolution * 5) / (monitorResolution * 10); + if (monitorResolution < 0) + { + mmWidth = width * DisplayWidthMM(nxagentDisplay, DefaultScreen(nxagentDisplay)) / + DisplayWidth(nxagentDisplay, DefaultScreen(nxagentDisplay)); + + mmHeight = height * DisplayHeightMM(nxagentDisplay, DefaultScreen(nxagentDisplay)) / + DisplayHeight(nxagentDisplay, DefaultScreen(nxagentDisplay)); + } + else + { + mmWidth = (width * 254 + monitorResolution * 5) / (monitorResolution * 10); + mmHeight = (height * 254 + monitorResolution * 5) / (monitorResolution * 10); + + } if (mmWidth < 1) { mmWidth = 1; } - mmHeight = (height * 254 + monitorResolution * 5) / (monitorResolution * 10); - if (mmHeight < 1) { mmHeight = 1; |