<table><tr><td style="">wbauer added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D23404">View Revision</a></tr></table><br /><div><div><p>I gave it a try and it does seem to fix the crashes from BUG 395624 here.</p>

<p>I did get another crash while playing Grandfather's Clock now though, no idea if it is related to this change or not.<br />
Thread 1 (Thread 0x7f655a167900 (LWP 11734)):<br />
[KCrash Handler]<br />
#6  MemoryManager<19>::BLOCK<TTree<19> >::getItem (this=<optimized out>) at /usr/src/debug/kpat5-19.08.0-lp151.105.1.x86_64/patsolve/memory.h:90<br />
#7  MemoryManager<19>::new_tree (this=<optimized out>) at /usr/src/debug/kpat5-19.08.0-lp151.105.1.x86_64/patsolve/memory.h:183<br />
#8  Solver<9ul>::pack_position (this=this@entry=0x55dd50a0bf10) at /usr/src/debug/kpat5-19.08.0-lp151.105.1.x86_64/patsolve/patsolve.cpp:209<br />
#9  0x000055dd4dfb4874 in Solver<9ul>::insert (this=this@entry=0x55dd50a0bf10, cluster=cluster@entry=0x7ffc8ac1b8cc, d=0, node=node@entry=0x7ffc8ac1b8d0) at /usr/src/debug/kpat5-19.08.0-lp151.105.1.x86_64/patsolve/patsolve.cpp:854<br />
#10 0x000055dd4dfb4a2e in Solver<9ul>::new_position (this=this@entry=0x55dd50a0bf10, parent=parent@entry=0x0, m=m@entry=0x7ffc8ac1b920) at /usr/src/debug/kpat5-19.08.0-lp151.105.1.x86_64/patsolve/patsolve.cpp:881<br />
#11 0x000055dd4dfc25b6 in Solver<9ul>::doit (this=0x55dd50a0bf10) at /usr/src/debug/kpat5-19.08.0-lp151.105.1.x86_64/patsolve/patsolve.cpp:472<br />
#12 0x000055dd4dfc2647 in Solver<9ul>::patsolve (this=0x55dd50a0bf10, _max_positions=<optimized out>) at /usr/src/debug/kpat5-19.08.0-lp151.105.1.x86_64/patsolve/patsolve.cpp:767<br />
#13 0x000055dd4df87a51 in DealerScene::isGameLost (this=0x55dd5051eb50) at /usr/src/debug/kpat5-19.08.0-lp151.105.1.x86_64/dealer.cpp:1722<br />
#14 0x000055dd4df8f0a6 in DealerScene::takeState (this=0x55dd5051eb50) at /usr/src/debug/kpat5-19.08.0-lp151.105.1.x86_64/dealer.cpp:1313<br />
#15 0x000055dd4df932fc in DealerScene::animationDone (this=0x55dd5051eb50) at /usr/src/debug/kpat5-19.08.0-lp151.105.1.x86_64/dealer.cpp:1529<br />
#16 0x00007f655635944f in QtPrivate::QSlotObjectBase::call (a=0x7ffc8ac1bba0, r=0x55dd5051eb50, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394<br />
#17 QMetaObject::activate (sender=0x55dd5051eb50, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3787<br />
#18 0x00007f655635944f in QtPrivate::QSlotObjectBase::call (a=0x7ffc8ac1bca0, r=0x55dd5051eb50, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394<br />
#19 QMetaObject::activate (sender=0x55dd504af590, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3787<br />
#20 0x00007f655635944f in QtPrivate::QSlotObjectBase::call (a=0x7ffc8ac1bdf0, r=0x55dd5048a970, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394<br />
#21 QMetaObject::activate (sender=sender@entry=0x55dd504b13d0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=<optimized out>, argv@entry=0x7ffc8ac1bdf0) at kernel/qobject.cpp:3787<br />
#22 0x00007f65563599f7 in QMetaObject::activate (sender=sender@entry=0x55dd504b13d0, m=m@entry=0x7f65567dfb60 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc8ac1bdf0) at kernel/qobject.cpp:3658<br />
#23 0x00007f6556365ff7 in QTimer::timeout (this=this@entry=0x55dd504b13d0, _t1=...) at .moc/moc_qtimer.cpp:205<br />
#24 0x00007f6556366358 in QTimer::timerEvent (this=0x55dd504b13d0, e=<optimized out>) at kernel/qtimer.cpp:255<br />
#25 0x00007f6556359e4b in QObject::event (this=0x55dd504b13d0, e=<optimized out>) at kernel/qobject.cpp:1282<br />
#26 0x00007f655781dfac in QApplicationPrivate::notify_helper (this=this@entry=0x55dd502837d0, receiver=receiver@entry=0x55dd504b13d0, e=e@entry=0x7ffc8ac1c160) at kernel/qapplication.cpp:3740<br />
#27 0x00007f6557825520 in QApplication::notify (this=0x7ffc8ac1c500, receiver=0x55dd504b13d0, e=0x7ffc8ac1c160) at kernel/qapplication.cpp:3486<br />
#28 0x00007f6556328958 in QCoreApplication::notifyInternal2 (receiver=0x55dd504b13d0, event=0x7ffc8ac1c160) at kernel/qcoreapplication.cpp:1065<br />
#29 0x00007f65563859d9 in QTimerInfoList::activateTimers (this=0x55dd502eed80) at kernel/qtimerinfo_unix.cpp:643<br />
#30 0x00007f65563861d9 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:183<br />
#31 idleTimerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:230<br />
#32 0x00007f654f395e87 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0<br />
#33 0x00007f654f396230 in ?? () from /usr/lib64/libglib-2.0.so.0<br />
#34 0x00007f654f3962bc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0<br />
#35 0x00007f655638654f in QEventDispatcherGlib::processEvents (this=0x55dd50306160, flags=...) at kernel/qeventdispatcher_glib.cpp:423<br />
#36 0x00007f6556326b6a in QEventLoop::exec (this=this@entry=0x7ffc8ac1c3b0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225<br />
#37 0x00007f655632fe30 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1373<br />
#38 0x000055dd4df82670 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kpat5-19.08.0-lp151.105.1.x86_64/main.cpp:346<br />
[Inferior 1 (process 11734) detached]</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R410 KPatience</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D23404">https://phabricator.kde.org/D23404</a></div></div><br /><div><strong>To: </strong>fabiank, KDE Games, aacid, shlomif<br /><strong>Cc: </strong>wbauer, kde-games-devel<br /></div>