From 1b032b7975f1820bee077babe5a44885532b5b97 Mon Sep 17 00:00:00 2001 From: hneemann Date: Wed, 7 Jun 2017 13:36:07 +0200 Subject: [PATCH] added a plausibility check to the dpi calculation --- .../java/de/neemann/digital/core/element/Keys.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/neemann/digital/core/element/Keys.java b/src/main/java/de/neemann/digital/core/element/Keys.java index c7fcaae1d..4da7eaafa 100644 --- a/src/main/java/de/neemann/digital/core/element/Keys.java +++ b/src/main/java/de/neemann/digital/core/element/Keys.java @@ -372,7 +372,16 @@ public final class Keys { private static int getDefaultScreenResolution() { try { - return Toolkit.getDefaultToolkit().getScreenResolution(); + int dpi = Toolkit.getDefaultToolkit().getScreenResolution(); + + // plausibility check + int widthInPixel = Toolkit.getDefaultToolkit().getScreenSize().width; + int widthInInch = widthInPixel / dpi; + // most people don't use a screen larger than 27 inch, so the resolution is presumably wrong + if (widthInInch > 27) + dpi = widthInPixel / 27; + + return dpi; } catch (HeadlessException e) { return 95; }