File Fix-build-with-gpsd-3.20.patch of Package marble4

From 51e0d9122cf2871167d7466faf16fc33d660ae25 Mon Sep 17 00:00:00 2001
From: Antonio Rojas <arojas@archlinux.org>
Date: Tue, 7 Jan 2020 22:14:42 +0100
Subject: Fix build with gpsd 3.20

gps_data_t.fix.time is a struct timespec in gpsd>=3.20

Differential Revision: https://phabricator.kde.org/D26486
---
 src/plugins/positionprovider/gpsd/GpsdPositionProviderPlugin.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/plugins/positionprovider/gpsd/GpsdPositionProviderPlugin.cpp b/src/plugins/positionprovider/gpsd/GpsdPositionProviderPlugin.cpp
index 5d199ce..3a787eb 100644
--- a/src/plugins/positionprovider/gpsd/GpsdPositionProviderPlugin.cpp
+++ b/src/plugins/positionprovider/gpsd/GpsdPositionProviderPlugin.cpp
@@ -110,9 +110,17 @@ void GpsdPositionProviderPlugin::update( gps_data_t data )
             m_track = data.fix.track;
         }
 
+#if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 9 )
+        if ( !isnan( data.fix.time.tv_sec ) )
+#else
         if ( !isnan( data.fix.time ) )
+#endif
         {
+#if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 9 )
+            m_timestamp = QDateTime::fromMSecsSinceEpoch( data.fix.time.tv_sec * 1000 + data.fix.time.tv_nsec / 1000000 );
+#else
             m_timestamp = QDateTime::fromMSecsSinceEpoch( data.fix.time * 1000 );
+#endif
         }
     }
     if (m_status != oldStatus)
-- 
cgit v1.1

openSUSE Build Service is sponsored by