summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd/freedesktop_portal_desktop.cpp
diff options
context:
space:
mode:
authorbruvzg <7645683+bruvzg@users.noreply.github.com>2023-03-16 10:44:47 +0200
committerbruvzg <7645683+bruvzg@users.noreply.github.com>2023-03-20 08:10:56 +0200
commitbed46f723c759ce9ffbd467e595deaf001c00499 (patch)
treeebe12ae22639d3c070f275af93ad0ea7958dfdcd /platform/linuxbsd/freedesktop_portal_desktop.cpp
parent161d028ae89acb578cfcd4f29bfe9ac205459e8b (diff)
downloadredot-engine-bed46f723c759ce9ffbd467e595deaf001c00499.tar.gz
[Linux/BSD] Add dynamically loaded library version checks.
Diffstat (limited to 'platform/linuxbsd/freedesktop_portal_desktop.cpp')
-rw-r--r--platform/linuxbsd/freedesktop_portal_desktop.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/platform/linuxbsd/freedesktop_portal_desktop.cpp b/platform/linuxbsd/freedesktop_portal_desktop.cpp
index ec1fcf6698..b45b7e676d 100644
--- a/platform/linuxbsd/freedesktop_portal_desktop.cpp
+++ b/platform/linuxbsd/freedesktop_portal_desktop.cpp
@@ -138,6 +138,17 @@ FreeDesktopPortalDesktop::FreeDesktopPortalDesktop() {
#else
unsupported = false;
#endif
+ bool ver_ok = false;
+ int version_major = 0;
+ int version_minor = 0;
+ int version_rev = 0;
+ dbus_get_version(&version_major, &version_minor, &version_rev);
+ ver_ok = (version_major == 1 && version_minor >= 10) || (version_major > 1); // 1.10.0
+ print_verbose(vformat("PortalDesktop: DBus %d.%d.%d detected.", version_major, version_minor, version_rev));
+ if (!ver_ok) {
+ print_verbose("PortalDesktop: Unsupported DBus library version!");
+ unsupported = true;
+ }
}
#endif // DBUS_ENABLED