[Marble-commits] Re: KDE/kdeedu/marble

Bastian Holst bastianholst at gmx.de
Thu Oct 14 14:02:16 CEST 2010


Hi Bernhard,

This commit seems to break the repainting of newly downloaded tiles.
MarbleModel sends modelChanged() when it downloaded something new, but this 
does not affect anything except setting the dirty-flag.
Before your patch it has called update() on the Widget to update the view 
immediately. 
I'd suggest reintroducing MarbleWidget::updateChangedMap(), perhaps as 
MarbleWidgetPrivate::updateChangedMap().

What do you think?

If you cannot reproduce it, change to a slow theme (take OpenCycleMap or 
something like that, perhaps a NASA WMS service) and zoom in quickly. It will 
call MarbleMapPrivate::setNeedsUpdate(), but paint() will never be called as 
nobody says update().

Best Regards
Bastian

P.S.: Well, these are the interesting Changes:
> --- trunk/KDE/kdeedu/marble/src/lib/MarbleWidget.cpp #1185075:1185076
> @@ -188,8 +188,6 @@
>      // show this in the view, i.e. here.
>      m_widget->connect( m_model,  SIGNAL( themeChanged( QString ) ),
>  		       m_widget, SIGNAL( themeChanged( QString ) ) );
> -    m_widget->connect( m_model,  SIGNAL( modelChanged() ),
> -		       m_widget, SLOT( updateChangedMap() ) );
> 
>      // Repaint scheduling
>      m_widget->connect( m_map,    SIGNAL( repaintNeeded( QRegion ) ),
> @@ -340,17 +338,6 @@
>  }
> 
> -void MarbleWidget::updateChangedMap()
> -{
> -    // Update texture map during the repaint that follows:
> -    setNeedsUpdate();
> -    update();
> -}


More information about the Marble-commits mailing list