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