From 34fc3ffb38bc506f6d6de3aedd44aeaee992324f Mon Sep 17 00:00:00 2001 From: vcaesar Date: Fri, 26 Nov 2021 18:07:08 -0400 Subject: [PATCH] Optimize Linux get high DPI code --- window/win_sys.h | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/window/win_sys.h b/window/win_sys.h index 7d10e96..0e1dd15 100644 --- a/window/win_sys.h +++ b/window/win_sys.h @@ -56,16 +56,18 @@ double sys_scale() { // https://github.com/glfw/glfw/issues/1019#issuecomment-302772498 char *rms = XResourceManagerString(dpy); if (rms) { - XrmDatabase db; - XrmValue value; - char *type = NULL; + XrmDatabase db = XrmGetStringDatabase(rms); + if (db) { + XrmValue value; + char *type = NULL; - XrmInitialize(); /* Need to initialize the DB before calling Xrm* functions */ - db = XrmGetStringDatabase(rms); - if (XrmGetResource(db, "Xft.dpi", "String", &type, &value) == True) { - if (value.addr) { - xres = atof(value.addr); + if (XrmGetResource(db, "Xft.dpi", "String", &type, &value)) { + if (value.addr) { + xres = atof(value.addr); + } } + + XrmDestroyDatabase(db); } } XCloseDisplay (dpy);