aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/Extensions.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/Extensions.c')
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Extensions.c17
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;