diff --git a/79c39f45.patch b/79c39f45.patch new file mode 100644 index 0000000..eca254c --- /dev/null +++ b/79c39f45.patch @@ -0,0 +1,65 @@ +commit 79c39f45468bace95169d1ba959884ce27087d1e +Author: Torsten Rahn +Date: Wed Feb 8 17:18:15 2012 +0100 + + Fixes for Marble with Qt 4.8: + + - Provide proper colors for Marble's Atlas, Temperature, + Precipitation and Venus/Mars Topography maps. + ( due to introduction of QImage::fill( QColor ) overload ) + + - Show proper icons for MarbleLegendBrowser + ( due to new interpretation of the "current directory" in + QTextBrowser ) + +diff --git a/src/lib/MarbleLegendBrowser.cpp b/src/lib/MarbleLegendBrowser.cpp +index 4a25095..ffa0a23 100644 +--- a/src/lib/MarbleLegendBrowser.cpp ++++ b/src/lib/MarbleLegendBrowser.cpp +@@ -130,26 +130,24 @@ void MarbleLegendBrowser::loadLegend() + t.start(); + + // Read the html string. +- QString finalHtml; ++ QString legendPath; + + // Check for a theme specific legend.html first + if ( d->m_marbleModel != 0 && d->m_marbleModel->mapTheme() != 0 ) + { + GeoSceneDocument *currentMapTheme = d->m_marbleModel->mapTheme(); + +- QString customLegendPath = MarbleDirs::path( "maps/" + ++ legendPath = MarbleDirs::path( "maps/" + + currentMapTheme->head()->target() + '/' + + currentMapTheme->head()->theme() + "/legend.html" ); +- if ( !customLegendPath.isEmpty() ) +- finalHtml = readHtml( QUrl::fromLocalFile( customLegendPath ) ); +- else +- finalHtml.clear(); + } +- +- if ( finalHtml.isEmpty() ) { +- finalHtml = readHtml( QUrl::fromLocalFile( MarbleDirs::path( "legend.html" ) ) ); ++ if ( legendPath.isEmpty() ) { ++ legendPath = MarbleDirs::path( "legend.html" ); + } + ++ QString finalHtml = readHtml( QUrl::fromLocalFile( legendPath ) ); ++ finalHtml.replace( QString( "./" ), legendPath.section( '/', 0, -2 ) + '/' ); ++ + // Generate some parts of the html from the MapTheme tag. + const QString sectionsHtml = generateSectionsHtml(); + +diff --git a/src/lib/TextureColorizer.cpp b/src/lib/TextureColorizer.cpp +index 4a4f8f3..d0deead 100644 +--- a/src/lib/TextureColorizer.cpp ++++ b/src/lib/TextureColorizer.cpp +@@ -176,7 +176,7 @@ void TextureColorizer::colorize( QImage *origimg, const ViewportParams *viewport + m_coastImage = QImage( viewport->size(), QImage::Format_RGB32 ); + + // update coast image +- m_coastImage.fill( Qt::transparent ); ++ m_coastImage.fill( QColor( 0, 0, 255, 0) ); + + bool doClip = false; //assume false + switch( viewport->projection() ) { diff --git a/b89ff577.patch b/b89ff577.patch new file mode 100644 index 0000000..df0b18b --- /dev/null +++ b/b89ff577.patch @@ -0,0 +1,22 @@ +commit b89ff577fcbd085fbd180f59aa669dded1818082 +Author: Bernhard Beschow +Date: Wed Feb 8 18:14:59 2012 +0100 + + compile with Qt < 4.8 + + * take into account the comment in the API doc, which suggests to use QColor::rgb() + (cherry picked from commit 6eafb31f509c622e2672c31b73ebcb1b3dafb3e9) + +diff --git a/src/lib/TextureColorizer.cpp b/src/lib/TextureColorizer.cpp +index d0deead..9319a89 100644 +--- a/src/lib/TextureColorizer.cpp ++++ b/src/lib/TextureColorizer.cpp +@@ -176,7 +176,7 @@ void TextureColorizer::colorize( QImage *origimg, const ViewportParams *viewport + m_coastImage = QImage( viewport->size(), QImage::Format_RGB32 ); + + // update coast image +- m_coastImage.fill( QColor( 0, 0, 255, 0) ); ++ m_coastImage.fill( QColor( 0, 0, 255, 0).rgb() ); + + bool doClip = false; //assume false + switch( viewport->projection() ) { diff --git a/marble.changes b/marble.changes index 1a38711..eefa828 100644 --- a/marble.changes +++ b/marble.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Feb 9 12:10:48 UTC 2012 - idonmez@suse.com + +- Add upstream commits b89ff577 and 79c39f45 for Qt 4.8 fixes + ------------------------------------------------------------------- Wed Jan 18 21:00:12 CET 2012 - dmueller@suse.de diff --git a/marble.spec b/marble.spec index c59340e..9a21685 100644 --- a/marble.spec +++ b/marble.spec @@ -24,6 +24,8 @@ Group: Amusements/Teaching/Other Url: http://edu.kde.org Source0: %{name}-%{version}.tar.bz2 Patch1: marble-designer-plugin.diff +Patch2: 79c39f45.patch +Patch3: b89ff577.patch BuildRequires: fdupes BuildRequires: kdebase4-workspace-devel BuildRequires: libkdeedu4-devel @@ -44,6 +46,8 @@ Marble is a viewer of map data. %prep %setup -q %patch1 -p1 +%patch2 -p1 +%patch3 -p1 %build %ifarch ppc ppc64