Debian Patches
Status for chessx/1.6.10-2
| Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
|---|---|---|---|---|---|---|
| fix-typos.patch | debian/patches/fix-typos.patch: Fix typos found by lintian | Niklas Fiekas <niklas.fiekas@backscattering.de> | no | 2016-03-28 | ||
| qt-511.patch | debian/patches/qt-511.patch: Fix missing includes for Qt 5.11 | Luigi Baldoni <aloysius@gmx.com> | no | 2018-09-05 | ||
| includes_qt6.patch | Make sure header files for Qt6 compatibility will be found | Andreas Tille <tille@debian.org> | no | 2025-12-06 | ||
| CXX_STANDARD_17.patch | no | |||||
| fix-mainwindow-layout-odr.patch | Fix crash on startup caused by MainWindow ODR violation USE_SOUND and USE_SPEECH change the size and layout of the MainWindow class (see the #ifdef-guarded members in mainwindow.h). . They were defined with target_compile_definitions(... PRIVATE ...) on the gui library, so they were only visible to the sources of that library. main.cpp, which lives in the chessx executable target and does "new MainWindow", was compiled without them and therefore allocated a smaller MainWindow object than the constructors in the gui library expect. Initializing the trailing members then wrote past the end of the allocation, corrupting the heap and aborting at startup with "corrupted size vs. prev_size" or a segfault in QMainWindow::menuBar(). . Make the compile definitions and the associated Qt libraries PUBLIC so that every translation unit, including main.cpp, sees the same MainWindow layout. |
Bastian Germann <bage@debian.org> | no | 2026-10-21 | ||
| fix-board-setup-no-king-crash.patch | Fix crash in board setup when a side has no king In the board setup dialog, removing the side-to-move king (e.g. selecting the white king and clicking the square it occupies) calls BitBoard::isCheck() with m_ksq[sideToMove] == InvalidSquare. isCheck() passes that invalid square to isAttackedBy(), which uses it to index the 64-entry rotated bitboard attack tables in bishopAttacksFrom()/rookAttacksFrom(), reading past the end of those globals and corrupting memory (segfault). . A side without a king cannot be in check, so simply guard isCheck() against a missing king square instead of using it as an index. |
Bastian Germann <bage@debian.org> | not-needed | debian | 2026-10-23 |
