Bug 285853 - selecting "current position" in navigation panel crashes Marble
Summary: selecting "current position" in navigation panel crashes Marble
Status: RESOLVED FIXED
Alias: None
Product: marble
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: marble-bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-05 21:57 UTC by Bernhard Beschow
Modified: 2012-01-03 18:46 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bernhard Beschow 2011-11-05 21:57:01 UTC
Version:           unspecified (using Devel) 
OS:                Linux

When selecing "current position" in Marble, Marble crashes when it tries to center on and paint the placemark.

Backtrace:
Thread 1 (Thread 0xb379d710 (LWP 18991)):
[KCrash Handler]
#7  Marble::GeoDataFeature::style (this=0x0) at /home/shentey/Projekte/marble/src/src/lib/geodata/data/GeoDataFeature.cpp:593
#8  0xb7636fce in drawLabelPixmap (isSelected=false, mark=0x991d0c0, this=0xb1c06390) at /home/shentey/Projekte/marble/src/src/lib/PlacemarkPainter.cpp:148
#9  Marble::PlacemarkPainter::drawPlacemarks (this=0xb1c06390, painter=0xbfa43190, visiblePlacemarks=..., selection=..., viewport=0xb1c062b4) at /home/shentey/Projekte/marble/src/src/lib/PlacemarkPainter.cpp:71
#10 0xb75961b1 in Marble::PlacemarkLayout::render (this=0xb1c06378, painter=0xbfa43190, viewport=0xb1c062b4, renderPos=..., layer=0x0) at /home/shentey/Projekte/marble/src/src/lib/layers/PlacemarkLayout.cpp:709
#11 0xb76167b6 in Marble::LayerManager::renderLayer (this=0xb1c06328, painter=0xbfa43190, viewport=0xb1c062b4, renderPosition=...) at /home/shentey/Projekte/marble/src/src/lib/LayerManager.cpp:191
#12 0xb7616ed4 in Marble::LayerManager::renderLayers (this=0xb1c06328, painter=0xbfa43190, viewport=0xb1c062b4) at /home/shentey/Projekte/marble/src/src/lib/LayerManager.cpp:156
#13 0xb75b7eb1 in Marble::MarbleMap::paint (this=0x9966380, painter=..., dirtyRect=...) at /home/shentey/Projekte/marble/src/src/lib/MarbleMap.cpp:713
#14 0xb75ab995 in Marble::MarbleWidget::paintEvent (this=0x9924b40, evt=0xbfa43604) at /home/shentey/Projekte/marble/src/src/lib/MarbleWidget.cpp:797
#15 0xb5f1e8ae in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#16 0xb5ec4a24 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#17 0xb5ec9e78 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#18 0xb6f7fd41 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#19 0xb697eb2e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#20 0xb5f1b75b in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#21 0xb6100d4b in ?? () from /usr/lib/libQtGui.so.4
#22 0xb5f110ab in QWidgetPrivate::syncBackingStore() () from /usr/lib/libQtGui.so.4
#23 0xb5f1f23f in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#24 0xb633c78c in QMainWindow::event(QEvent*) () from /usr/lib/libQtGui.so.4
#25 0xb705c094 in KMainWindow::event(QEvent*) () from /usr/lib/libkdeui.so.5
#26 0xb70a4272 in KXmlGuiWindow::event(QEvent*) () from /usr/lib/libkdeui.so.5
#27 0xb5ec4a24 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#28 0xb5ec9e78 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#29 0xb6f7fd41 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#30 0xb697eb2e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#31 0xb6982303 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#32 0xb698245c in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4
#33 0xb69aca14 in ?? () from /usr/lib/libQtCore.so.4
#34 0xb3fbdfaf in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#35 0xb3fbe6e0 in ?? () from /usr/lib/libglib-2.0.so.0
#36 0xb3fbe97a in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#37 0xb69ace4a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#38 0xb5f77f8a in ?? () from /usr/lib/libQtGui.so.4
#39 0xb697db6d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#40 0xb697ddb1 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#41 0xb698250d in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#42 0xb5ec2894 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#43 0x0805ccd8 in main (argc=) at /home/shentey/Projekte/marble/src/src/kdemain.cpp:338


Reproducible: Always

Steps to Reproduce:
in Navigation->Search, type "current"
-> Marble selects "current position" item and tries to center on it

Actual Results:  
when trying to paint the placemark, Marble crashes

Expected Results:  
Marble should paint the placemark

* desktop version
* no location provider slected
Comment 1 Simeon 2011-12-19 13:22:12 UTC
This bug can no longer be reproduced.Report should be closed.
Comment 2 Thibaut Gridel 2012-01-01 21:49:01 UTC
Please don't close bugs without testing :)
Comment 3 Thibaut Gridel 2012-01-01 22:24:25 UTC
Git commit 55cdd561dfc8a8a2ff90e27c1673e9ef3b1a0b25 by Thibaut Gridel.
Committed on 01/01/2012 at 23:22.
Pushed by tgridel into branch 'master'.

Fix crash when invisible placemarks are selected and not yet in the viewport

M  +3    -7    src/lib/PlacemarkPainter.cpp
M  +6    -14   src/lib/layers/PlacemarkLayout.cpp

http://commits.kde.org/marble/55cdd561dfc8a8a2ff90e27c1673e9ef3b1a0b25
Comment 4 Thibaut Gridel 2012-01-03 18:46:11 UTC
Git commit c609952e92990f208937b2665beb478311e2c953 by Thibaut Gridel.
Committed on 01/01/2012 at 23:22.
Pushed by tgridel into branch 'KDE/4.8'.

Fix crash when invisible placemarks are selected and not yet in the viewport

M  +3    -7    src/lib/PlacemarkPainter.cpp
M  +6    -14   src/lib/layers/PlacemarkLayout.cpp

http://commits.kde.org/marble/c609952e92990f208937b2665beb478311e2c953