From 48fc72e95c7e19c6596f1d3a8b94a7d51327c0fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Tue, 2 Sep 2025 09:36:19 +0800 Subject: [PATCH] DisplayServer: improves display size rounding and argument clarity --- .../displayserver/displayserver_android.c | 18 ++++++------------ src/detection/displayserver/linux/drm.c | 9 +++------ .../linux/wayland/global-output.c | 4 ++-- .../displayserver/linux/wayland/kde-output.c | 4 ++-- 4 files changed, 13 insertions(+), 22 deletions(-) diff --git a/src/detection/displayserver/displayserver_android.c b/src/detection/displayserver/displayserver_android.c index b9ab30b5f..04070565d 100644 --- a/src/detection/displayserver/displayserver_android.c +++ b/src/detection/displayserver/displayserver_android.c @@ -83,13 +83,10 @@ static void detectWithDumpsys(FFDisplayServerResult* ds) ffStrbufRecalculateLength(&name); FFDisplayResult* display = ffdsAppendDisplay(ds, - (uint32_t)width, - (uint32_t)height, + (uint32_t)width, (uint32_t)height, refreshRate, - 0, - 0, - 0, - 0, + 0, 0, + 0, 0, 0, 0, &name, @@ -122,13 +119,10 @@ static bool detectWithGetprop(FFDisplayServerResult* ds) ffStrbufSubstrAfterFirstC(&buffer, ','); double scaleFactor = (double) ffStrbufToUInt(&buffer, 0) / 160.; FFDisplayResult* display = ffdsAppendDisplay(ds, - width, - height, - 0, - (uint32_t) (width / scaleFactor + .5), - (uint32_t) (height / scaleFactor + .5), - 0, + width, height, 0, + (uint32_t) (width / scaleFactor + .5), (uint32_t) (height / scaleFactor + .5), + 0, 0, 0, 0, NULL, diff --git a/src/detection/displayserver/linux/drm.c b/src/detection/displayserver/linux/drm.c index d3a5e9954..141b49466 100644 --- a/src/detection/displayserver/linux/drm.c +++ b/src/detection/displayserver/linux/drm.c @@ -396,13 +396,10 @@ static const char* drmConnectLibdrm(FFDisplayServerResult* result) } FFDisplayResult* item = ffdsAppendDisplay(result, - width, - height, + width, height, refreshRate, - 0, - 0, - preferredWidth, - preferredHeight, + 0, 0, + preferredWidth, preferredHeight, preferredRefreshRate, 0, &name, diff --git a/src/detection/displayserver/linux/wayland/global-output.c b/src/detection/displayserver/linux/wayland/global-output.c index 206dc14f2..36a9ff22d 100644 --- a/src/detection/displayserver/linux/wayland/global-output.c +++ b/src/detection/displayserver/linux/wayland/global-output.c @@ -128,8 +128,8 @@ const char* ffWaylandHandleGlobalOutput(WaylandData* wldata, struct wl_registry* (uint32_t) display.width, (uint32_t) display.height, display.refreshRate / 1000.0, - (uint32_t) (display.width / display.scale), - (uint32_t) (display.height / display.scale), + (uint32_t) (display.width / display.scale + .5), + (uint32_t) (display.height / display.scale + .5), (uint32_t) display.preferredWidth, (uint32_t) display.preferredHeight, display.preferredRefreshRate / 1000.0, diff --git a/src/detection/displayserver/linux/wayland/kde-output.c b/src/detection/displayserver/linux/wayland/kde-output.c index 59be773df..9b18f9061 100644 --- a/src/detection/displayserver/linux/wayland/kde-output.c +++ b/src/detection/displayserver/linux/wayland/kde-output.c @@ -220,8 +220,8 @@ const char* ffWaylandHandleKdeOutput(WaylandData* wldata, struct wl_registry* re (uint32_t) display.width, (uint32_t) display.height, display.refreshRate / 1000.0, - (uint32_t) (display.width / display.scale), - (uint32_t) (display.height / display.scale), + (uint32_t) (display.width / display.scale + .5), + (uint32_t) (display.height / display.scale + .5), (uint32_t) display.preferredWidth, (uint32_t) display.preferredHeight, display.preferredRefreshRate / 1000.0,