rpms/qlandkartegt/F-11 qlandkartegt-0.17.0-exif.patch, NONE, 1.1 qlandkartegt-0.17.0-gpx.patch, NONE, 1.1 qlandkartegt.spec, 1.16, 1.17

Dan Horák sharkcz at fedoraproject.org
Tue Jan 26 22:36:54 UTC 2010


Author: sharkcz

Update of /cvs/pkgs/rpms/qlandkartegt/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28126

Modified Files:
	qlandkartegt.spec 
Added Files:
	qlandkartegt-0.17.0-exif.patch qlandkartegt-0.17.0-gpx.patch 
Log Message:
* Tue Jan 26 2010 Dan Horák <dan[at]danny.cz> 0.17.0-2
- added 2 fixes from upstream


qlandkartegt-0.17.0-exif.patch:
 CWptDB.cpp |   14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

--- NEW FILE qlandkartegt-0.17.0-exif.patch ---
commit 83152504078bc9501fc0224127133b72064fccb7
Author: kiozen <kiozen at 0913f4f3-0441-0410-8e4e-9da9205379dc>
Date:   Tue Jan 26 09:57:29 2010 +0000

    fix overflow in retrieving GPS position from exif data
    
    
    git-svn-id: https://qlandkartegt.svn.sourceforge.net/svnroot/qlandkartegt/QLandkarteGT/trunk@1916 0913f4f3-0441-0410-8e4e-9da9205379dc

diff --git a/src/CWptDB.cpp b/src/CWptDB.cpp
index 23f1958..689c7c7 100644
--- a/src/CWptDB.cpp
+++ b/src/CWptDB.cpp
@@ -487,9 +487,12 @@ static void exifContentForeachEntryFuncGPS(ExifEntry * exifEntry, void *user_dat
         case EXIF_TAG_GPS_LATITUDE:
         {
             ExifRational * p = (ExifRational*)exifEntry->data;
-
             if(exifEntry->components == 3) {
-                exifGPS.lat = double(p[0].numerator)/p[0].denominator + double(p[1].numerator)/(p[1].denominator * 60) + double(p[2].numerator)/(p[2].denominator * 3600);
+//                 qDebug() << "lat" << exifEntry->components;
+//                 qDebug() <<  p[0].numerator <<  p[0].denominator << ((double)p[0].numerator / p[0].denominator);
+//                 qDebug() <<  p[1].numerator <<  p[1].denominator << ((double)p[1].numerator / (p[1].denominator * 60));
+//                 qDebug() <<  p[2].numerator <<  p[2].denominator << ((double)p[2].numerator / ((double)p[2].denominator * 3600.0));
+                exifGPS.lat = (double)p[0].numerator/p[0].denominator + (double)p[1].numerator/(p[1].denominator * 60) + (double)p[2].numerator/((double)p[2].denominator * 3600.0);
             }
             break;
         }
@@ -503,9 +506,12 @@ static void exifContentForeachEntryFuncGPS(ExifEntry * exifEntry, void *user_dat
         case EXIF_TAG_GPS_LONGITUDE:
         {
             ExifRational * p = (ExifRational*)exifEntry->data;
-
             if(exifEntry->components == 3) {
-                exifGPS.lon = double(p[0].numerator)/p[0].denominator + double(p[1].numerator)/(p[1].denominator * 60) + double(p[2].numerator)/(p[2].denominator * 3600);
+//                 qDebug() << "lon" << exifEntry->components;
+//                 qDebug() <<  p[0].numerator <<  p[0].denominator << ((double)p[0].numerator / p[0].denominator);
+//                 qDebug() <<  p[1].numerator <<  p[1].denominator << ((double)p[1].numerator / (p[1].denominator * 60));
+//                 qDebug() <<  p[2].numerator <<  p[2].denominator << ((double)p[2].numerator / ((double)p[2].denominator * 3600.0));
+                exifGPS.lon = (double)p[0].numerator/p[0].denominator + (double)p[1].numerator/(p[1].denominator * 60) + (double)p[2].numerator/((double)p[2].denominator * 3600.0);
             }
 
             break;

qlandkartegt-0.17.0-gpx.patch:
 CGpx.cpp        |   12 +++++++++---
 CGpx.h          |    1 +
 CMainWindow.cpp |    1 +
 3 files changed, 11 insertions(+), 3 deletions(-)

--- NEW FILE qlandkartegt-0.17.0-gpx.patch ---
commit e1d8b30d2aefb30c50e21bb40048e8aa8a88f900
Author: joerg_wunsch <joerg_wunsch at 0913f4f3-0441-0410-8e4e-9da9205379dc>
Date:   Mon Jan 25 22:32:53 2010 +0000

    Delay the creation of the <extensions> node until after all of
    waipoints, tracks, and routes have been written, so the resulting GPX
    file will conform to the XSD.
    
    
    
    git-svn-id: https://qlandkartegt.svn.sourceforge.net/svnroot/qlandkartegt/QLandkarteGT/trunk@1915 0913f4f3-0441-0410-8e4e-9da9205379dc

diff --git a/src/CGpx.cpp b/src/CGpx.cpp
index e217a29..95867d3 100644
--- a/src/CGpx.cpp
+++ b/src/CGpx.cpp
@@ -115,9 +115,6 @@ void CGpx::writeMetadata()
     }
     root.setAttribute("xsi:schemaLocation", schemaLocation);
 
-    extensions = createElement("extensions");
-    root.appendChild(extensions);
-
     QDomElement metadata = createElement("metadata");
     root.appendChild(metadata);
 
@@ -135,6 +132,15 @@ void CGpx::writeMetadata()
 }
 
 
+void CGpx::makeExtensions()
+{
+    QDomElement root = documentElement();
+
+    extensions = createElement("extensions");
+    root.appendChild(extensions);
+}
+
+
 void CGpx::save(const QString& filename)
 {
     QFile file(filename);
diff --git a/src/CGpx.h b/src/CGpx.h
index a87e0a0..13042fa 100644
--- a/src/CGpx.h
+++ b/src/CGpx.h
@@ -55,6 +55,7 @@ class CGpx : public QObject, public QDomDocument
 
         void load(const QString& filename);
         void save(const QString& filename);
+        void makeExtensions();
 
         static QMap<QString,QDomElement> mapChildElements(const QDomNode& parent);
 
diff --git a/src/CMainWindow.cpp b/src/CMainWindow.cpp
index 68fa5e8..bf4a890 100644
--- a/src/CMainWindow.cpp
+++ b/src/CMainWindow.cpp
@@ -989,6 +989,7 @@ void CMainWindow::saveData(const QString& fn, const QString& filter, bool export
             CWptDB::self().saveGPX(gpx);
             CTrackDB::self().saveGPX(gpx);
             CRouteDB::self().saveGPX(gpx);
+            gpx.makeExtensions();
             CDiaryDB::self().saveGPX(gpx);
             COverlayDB::self().saveGPX(gpx);
             gpx.save(filename);


Index: qlandkartegt.spec
===================================================================
RCS file: /cvs/pkgs/rpms/qlandkartegt/F-11/qlandkartegt.spec,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -p -r1.16 -r1.17
--- qlandkartegt.spec	26 Jan 2010 10:29:34 -0000	1.16
+++ qlandkartegt.spec	26 Jan 2010 22:36:54 -0000	1.17
@@ -1,6 +1,6 @@
 Name: qlandkartegt
 Version: 0.17.0
-Release: 1%{?dist}
+Release: 2%{?dist}
 Summary: GPS device mapping tool
 
 Group: Applications/Communications
@@ -9,6 +9,10 @@ URL: http://www.qlandkarte.org/
 Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
 # temporary fix until http://bugzilla.redhat.com/show_bug.cgi?id=498111 is resolved
 Patch0: %{name}-0.16.0-nogtkstyle.patch
+# svn revision 1915 - gpx compliance
+Patch1: %{name}-0.17.0-gpx.patch
+# svn revision 1916 - fix overflow when retrieving GPS position from exif data
+Patch2: %{name}-0.17.0-exif.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 Requires: garmindev(interface) = 1.17
 
@@ -38,6 +42,8 @@ GDAL tools, but it will simplify their u
 %prep
 %setup -q
 %patch0 -p1 -b .nogtkstyle
+%patch1 -p1 -b .gpx
+%patch2 -p1 -b .exif
 
 # create build direcotory
 mkdir build
@@ -72,6 +78,9 @@ rm -rf %{buildroot}
 
 
 %changelog
+* Tue Jan 26 2010 Dan Horák <dan[at]danny.cz> 0.17.0-2
+- added 2 fixes from upstream
+
 * Mon Jan 25 2010 Dan Horák <dan[at]danny.cz> 0.17.0-1
 - update to 0.17.0
 



More information about the scm-commits mailing list