https://bugs.kde.org/show_bug.cgi?id=426705

--- Comment #3 from Christian Krippendorf <cerebro...@gmx.net> ---
Hello @all,

while working on that bug, I found another which might explain that wrong
matching tiles will be added. It is due to wrong countering which has been
changed in the past. Therefore it will work with current versions an saving and
loading (wrong save and wrong read). This needs to be fixed. And I will have a
look, where it might be fixed best.

The segfault is a little bit harder. It seem to be because of QByteArray and
its detach function. This doesn't seem to be an out of bounds and I cannot find
the reason for it. Maybe someone else has an idea.

Function calling stack while debugging:
-----
std::__atomic_base<int>::load(std::memory_order __m, const
std::__atomic_base<int> * const this)
(/usr/include/c++/12/bits/atomic_base.h:488)
QAtomicOps<int>::loadRelaxed<int>( _q_value)
(/usr/include/qt5/QtCore/qatomic_cxx11.h:239)
QBasicAtomicInteger<int>::loadRelaxed(const QBasicAtomicInteger<int> * const
this) (/usr/include/qt5/QtCore/qbasicatomic.h:107)
QtPrivate::RefCount::isShared(const QtPrivate::RefCount * const this)
(/usr/include/qt5/QtCore/qrefcount.h:101)
QByteArray::detach(QByteArray * const this)
(/usr/include/qt5/QtCore/qbytearray.h:521)
QByteArray::operator[](QByteArray * const this, int i)
(/usr/include/qt5/QtCore/qbytearray.h:627)
GameData::setBoardData(GameData * const this, short z, short y, short x, UCHAR
value) (/home/christian/Programmierung/kde/src/kmahjongg/src/gamedata.cpp:103)
GameData::putTile(GameData * const this, short z, short y, short x, UCHAR f)
(/home/christian/Programmierung/kde/src/kmahjongg/src/gamedata.cpp:52)
GameView::addItem(GameView * const this, POSITION & stItemPos, bool
updateImage, bool updateOrder, bool updatePosition)
(/home/christian/Programmierung/kde/src/kmahjongg/src/gameview.cpp:625)
GameView::addItemAndUpdate(GameView * const this, POSITION & stItemPos)
(/home/christian/Programmierung/kde/src/kmahjongg/src/gameview.cpp:631)
GameView::undo(GameView * const this)
(/home/christian/Programmierung/kde/src/kmahjongg/src/gameview.cpp:147)
KMahjongg::undo(KMahjongg * const this)
(/home/christian/Programmierung/kde/src/kmahjongg/src/kmahjongg.cpp:246)
QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void
(KMahjongg::*)()>::call(void (KMahjongg::*)(), KMahjongg*, void**)(void
(KMahjongg::*)(KMahjongg * const) f, KMahjongg * o, void ** arg)
(/usr/include/qt5/QtCore/qobjectdefs_impl.h:152)
QtPrivate::FunctionPointer<void (KMahjongg::*)()>::call<QtPrivate::List<>,
void>(void (KMahjongg::*)(), KMahjongg*,
void**)(QtPrivate::FunctionPointer<void (KMahjongg::*)()>::Function f,
KMahjongg * o, void ** arg) (/usr/include/qt5/QtCore/qobjectdefs_impl.h:185)
QtPrivate::QSlotObject<void (KMahjongg::*)(), QtPrivate::List<>,
void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)(int
which, QtPrivate::QSlotObjectBase * this_, QObject * r, void ** a, bool * ret)
(/usr/include/qt5/QtCore/qobjectdefs_impl.h:418)
libQt5Core.so.5![Unknown/Just-In-Time compiled code] (Unbekannte Quelle:0)
libQt5Widgets.so.5!QAction::triggered(bool) (Unbekannte Quelle:0)
libQt5Widgets.so.5!QAction::activate(QAction::ActionEvent) (Unbekannte
Quelle:0)
libQt5Widgets.so.5![Unknown/Just-In-Time compiled code] (Unbekannte Quelle:0)
libQt5Widgets.so.5!QAbstractButton::mouseReleaseEvent(QMouseEvent*) (Unbekannte
Quelle:0)

Thank you all in advance for investing your time and for your help in making
KDE applications even better.

Greetings from Christian

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to