SVN commit 908600 by sengels: use the render plugin list directly - the local copy will break to soon backport of r908599 M +9 -9 LayerManager.cpp --- branches/KDE/4.2/kdeedu/marble/src/lib/LayerManager.cpp #908599:908600 @@ -42,8 +42,6 @@ MarbleModel *m_model; MarbleDataFacade *m_dataFacade; PluginManager *m_pluginManager; - - QList m_renderPlugins; }; @@ -54,8 +52,7 @@ d->m_pluginManager = new PluginManager( this ); // Just for initial testing - d->m_renderPlugins = d->m_pluginManager->renderPlugins(); - foreach( MarbleRenderPlugin * renderPlugin, d->m_renderPlugins ) { + foreach( MarbleRenderPlugin * renderPlugin, d->m_pluginManager->renderPlugins() ) { renderPlugin->setDataFacade( d->m_dataFacade ); renderPlugin->initialize(); } @@ -69,7 +66,7 @@ QList LayerManager::renderPlugins() const { - return d->m_renderPlugins; + return d->m_pluginManager->renderPlugins(); } QList LayerManager::floatItems() const @@ -84,9 +81,12 @@ return; } + if( !d->m_pluginManager ) + return; + ViewportParams* viewport = viewParams->viewport(); - foreach( MarbleRenderPlugin *renderPlugin, d->m_renderPlugins ) { + foreach( MarbleRenderPlugin *renderPlugin, d->m_pluginManager->renderPlugins() ) { if ( renderPlugin ){ if ( renderPlugin->enabled() && renderPlugin->visible() ) { renderPlugin->render( painter, viewport, "ALWAYS_ON_TOP" ); @@ -96,7 +96,7 @@ // Looping a second time through is a quick and dirty way to get // the float items displayed on top: - foreach( MarbleRenderPlugin * renderPlugin, d->m_renderPlugins ) { + foreach( MarbleRenderPlugin * renderPlugin, d->m_pluginManager->renderPlugins() ) { if ( renderPlugin->renderPosition().contains("FLOAT_ITEM") ) { MarbleAbstractFloatItem *floatItem = dynamic_cast(renderPlugin); if ( floatItem @@ -117,7 +117,7 @@ { d->m_mapTheme = mapTheme; - foreach( MarbleRenderPlugin * renderPlugin, d->m_renderPlugins ) { + foreach( MarbleRenderPlugin * renderPlugin, d->m_pluginManager->renderPlugins() ) { bool propertyAvailable = false; mapTheme->settings()->propertyAvailable( renderPlugin->nameId(), propertyAvailable ); @@ -143,7 +143,7 @@ void LayerManager::syncActionWithProperty( QString nameId, bool checked ) { - foreach( MarbleRenderPlugin * renderPlugin, d->m_renderPlugins ) { + foreach( MarbleRenderPlugin * renderPlugin, d->m_pluginManager->renderPlugins() ) { if ( nameId == renderPlugin->nameId() ) { if ( renderPlugin->visible() == checked ) return;