Bug 352060 - KMines uses uninitialized value MineFieldItem:m_cellSize on startup
Summary: KMines uses uninitialized value MineFieldItem:m_cellSize on startup
Status: RESOLVED WORKSFORME
Alias: None
Product: kmines
Classification: Applications
Component: general (other bugs)
Version First Reported In: unspecified
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Dmitry Suzdalev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-31 14:03 UTC by Martin Walch
Modified: 2022-11-16 05:17 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Walch 2015-08-31 14:03:36 UTC
On startup, KMines calls MineFieldItem::adjustItemPositions() three times. That methods uses MineFieldItem:m_cellSize which is undefined at that point, because resizeToFitInRect has not been called, yet. Only the third call to adjustItemPositions makes sense.

first call:
#0  MineFieldItem::adjustItemPositions (this=0x6e12a0) at kmines-15.08.0/minefielditem.cpp:249
#1  0x00000000004250f2 in MineFieldItem::initField (this=0x6e12a0, numRows=9, numCols=9, numMines=10) at kmines-15.08.0/minefielditem.cpp:93
#2  0x000000000042af6e in KMinesScene::startNewGame (this=0x70ca60, rows=9, cols=9, numMines=10) at kmines-15.08.0/scene.cpp:96
#3  0x000000000041ddce in KMinesMainWindow::newGame (this=0x717350) at kmines-15.08.0/mainwindow.cpp:163
#4  0x000000000041d8cf in KMinesMainWindow::KMinesMainWindow (this=0x717350, __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
    at kmines-15.08.0/mainwindow.cpp:116
#5  0x000000000042c78e in main (argc=1, argv=0x7fffffffd508) at kmines-15.08.0/main.cpp:80

second call:
#0  MineFieldItem::adjustItemPositions (this=0x6e12a0) at kmines-15.08.0/minefielditem.cpp:249
#1  0x0000000000425ad2 in MineFieldItem::resizeToFitInRect (this=0x6e12a0, rect=...) at kmines-15.08.0/minefielditem.cpp:242
#2  0x000000000042aabf in KMinesScene::resizeScene (this=0x70ca60, width=128136736, height=79929520) at kmines-15.08.0/scene.cpp:82
#3  0x000000000042afd8 in KMinesScene::startNewGame (this=0x70ca60, rows=9, cols=9, numMines=10) at kmines-15.08.0/scene.cpp:98
#4  0x000000000041ddce in KMinesMainWindow::newGame (this=0x717350) at kmines-15.08.0/mainwindow.cpp:163
#5  0x000000000041d8cf in KMinesMainWindow::KMinesMainWindow (this=0x717350, __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
    at kmines-15.08.0/mainwindow.cpp:116
#6  0x000000000042c78e in main (argc=1, argv=0x7fffffffd508) at kmines-15.08.0/main.cpp:80

third call:
#0  MineFieldItem::adjustItemPositions (this=0x6e12a0) at kmines-15.08.0/minefielditem.cpp:249
#1  0x0000000000425ad2 in MineFieldItem::resizeToFitInRect (this=0x6e12a0, rect=...) at kmines-15.08.0/minefielditem.cpp:242
#2  0x000000000042aabf in KMinesScene::resizeScene (this=0x70ca60, width=845, height=520) at kmines-15.08.0/scene.cpp:82
#3  0x000000000042a2a9 in KMinesView::resizeEvent (this=0x84abf0, ev=0x7fffffffcef0) at kmines-15.08.0/scene.cpp:39
#4  0x00007ffff5275f52 in QWidget::event (this=this@entry=0x84abf0, event=event@entry=0x7fffffffcef0) at kernel/qwidget.cpp:8826
#5  0x00007ffff53506c0 in QFrame::event (this=this@entry=0x84abf0, e=e@entry=0x7fffffffcef0) at widgets/qframe.cpp:540
#6  0x00007ffff53d2d6a in QAbstractScrollArea::viewportEvent (this=this@entry=0x84abf0, e=e@entry=0x7fffffffcef0) at widgets/qabstractscrollarea.cpp:1200
#7  0x00007ffff554f05e in QGraphicsView::viewportEvent (this=0x84abf0, event=0x7fffffffcef0) at graphicsview/qgraphicsview.cpp:2962
#8  0x00007ffff53d3651 in viewportEvent (event=<optimized out>, this=<optimized out>) at widgets/qabstractscrollarea_p.h:102
#9  QAbstractScrollAreaFilter::eventFilter (this=<optimized out>, o=<optimized out>, e=<optimized out>) at widgets/qabstractscrollarea_p.h:118
#10 0x00007ffff49b09ac in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=this@entry=0x63aa60, receiver=receiver@entry=0x860a50, 
    event=event@entry=0x7fffffffcef0) at kernel/qcoreapplication.cpp:1072
#11 0x00007ffff5234679 in QApplicationPrivate::notify_helper (this=this@entry=0x63aa60, receiver=receiver@entry=0x860a50, e=e@entry=0x7fffffffcef0)
    at kernel/qapplication.cpp:3713
#12 0x00007ffff523b90a in QApplication::notify (this=0x7fffffffd3d0, receiver=0x860a50, e=0x7fffffffcef0) at kernel/qapplication.cpp:3682
#13 0x00007ffff49b079b in QCoreApplication::notifyInternal (this=0x7fffffffd3d0, receiver=receiver@entry=0x860a50, event=event@entry=0x7fffffffcef0)
    at kernel/qcoreapplication.cpp:965
#14 0x00007ffff526ed88 in sendEvent (event=0x7fffffffcef0, receiver=0x860a50) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224
#15 QWidgetPrivate::sendPendingMoveAndResizeEvents (this=this@entry=0x808600, recursive=recursive@entry=false, disableUpdates=disableUpdates@entry=false)
    at kernel/qwidget.cpp:7699
#16 0x00007ffff5272b48 in QWidgetPrivate::show_helper (this=this@entry=0x808600) at kernel/qwidget.cpp:7750
#17 0x00007ffff527567c in QWidget::setVisible (this=0x860a50, visible=<optimized out>) at kernel/qwidget.cpp:8095
#18 0x00007ffff5272920 in QWidget::show (this=this@entry=0x860a50) at kernel/qwidget.cpp:7657
#19 0x00007ffff5272aee in QWidgetPrivate::showChildren (this=this@entry=0x81df10, spontaneous=spontaneous@entry=false) at kernel/qwidget.cpp:8178
#20 0x00007ffff5272b67 in QWidgetPrivate::show_helper (this=this@entry=0x81df10) at kernel/qwidget.cpp:7756
#21 0x00007ffff527567c in QWidget::setVisible (this=0x84abf0, visible=<optimized out>) at kernel/qwidget.cpp:8095
#22 0x00007ffff5272920 in QWidget::show (this=this@entry=0x84abf0) at kernel/qwidget.cpp:7657
#23 0x00007ffff5272aee in QWidgetPrivate::showChildren (this=this@entry=0x70d540, spontaneous=spontaneous@entry=false) at kernel/qwidget.cpp:8178
#24 0x00007ffff5272b67 in QWidgetPrivate::show_helper (this=this@entry=0x70d540) at kernel/qwidget.cpp:7756
#25 0x00007ffff527567c in QWidget::setVisible (this=0x717350, visible=<optimized out>) at kernel/qwidget.cpp:8095
#26 0x00007ffff5272920 in QWidget::show (this=0x717350) at kernel/qwidget.cpp:7657
#27 0x000000000042c79e in main (argc=1, argv=0x7fffffffd508) at kmines-15.08.0/main.cpp:81
Comment 1 Justin Zobel 2022-10-17 00:40:48 UTC
Thank you for reporting this bug in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the issue with a recent software version?

If you can reproduce the issue, please change the status to "CONFIRMED" when replying. Thank you!
Comment 2 Bug Janitor Service 2022-11-01 05:05:49 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 3 Bug Janitor Service 2022-11-16 05:17:22 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!