Rolisteam issueshttps://invent.kde.org/rolisteam/rolisteam/-/issues2022-09-18T15:04:28Zhttps://invent.kde.org/rolisteam/rolisteam/-/issues/33SIGSEGV on the server when opening the Preferences dialog while players are c...2022-09-18T15:04:28ZLudovic BrentaSIGSEGV on the server when opening the Preferences dialog while players are connecting and receiving dataThis appears to be a multithreading bug, it happened repeatedly to me. On the server, I loaded a scenario containing a couple of large images. It took minutes for the players to receive the data from the loaded scenario. During this t...This appears to be a multithreading bug, it happened repeatedly to me. On the server, I loaded a scenario containing a couple of large images. It took minutes for the players to receive the data from the loaded scenario. During this time I could see the players in the Player List, but not their characters, and they said they couldn't see any of the maps.
While waiting, I wanted to check on my macros, so I hit Ctrl+P, which immediately caused this crash on the server:
~~~
Thread 1 "rolisteam" received signal SIGSEGV, Segmentation fault.
0x00007ffff7966724 in QApplication::setStyle(QStyle*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
(gdb) bt
#0 0x00007ffff7966724 in QApplication::setStyle(QStyle*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#1 0x000055555572b2ea in PreferencesDialog::updateTheme() ()
#2 0x000055555572e30d in PreferencesDialog::load() ()
#3 0x000055555572ebe9 in PreferencesDialog::show() ()
#4 0x00007ffff5ce89dc in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5 0x00007ffff795c752 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6 0x00007ffff795f39b in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7 0x00007ffff795ff6d in QAction::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8 0x00007ffff7962f4e in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9 0x00007ffff5cb1618 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007ffff696c93b in QShortcutMap::dispatchEvent(QKeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#11 0x00007ffff696d28b in QShortcutMap::tryShortcut(QKeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#12 0x00007ffff69154a6 in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#13 0x00007ffff693930d in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#14 0x00007ffff6911ddc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#15 0x00007ffff1efbe4a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#16 0x00007ffff4d1e729 in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff4d1e9b8 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff4d1ea4c in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007ffff5d091c6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007ffff5cb009b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007ffff5cb8206 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00005555555fa46c in main (argc=<optimized out>, argv=<optimized out>) at ../../client/main.cpp:207
~~~https://invent.kde.org/rolisteam/rolisteam/-/issues/30Convertisseur unités2022-01-18T09:57:34ZYann EscarbassiereConvertisseur unitésproblème convertisseur d'unité peut ajouetur mais impossible de supprimer une cellule ..
OS: Windows
Version Rolisteam: 1.9.3
Bug confirmé par moi mêmeproblème convertisseur d'unité peut ajouetur mais impossible de supprimer une cellule ..
OS: Windows
Version Rolisteam: 1.9.3
Bug confirmé par moi mêmehttps://invent.kde.org/rolisteam/rolisteam/-/issues/29Moving multiple characters at once works locally, not across the network2021-08-23T23:36:45ZLudovic BrentaMoving multiple characters at once works locally, not across the networkI was hosting the game and I was not the game master (but I don't think this matters). My druid had conjured several beasts, so I hit the "Add a PC" button, created one new character for the beasts and dragged it multiple times onto the...I was hosting the game and I was not the game master (but I don't think this matters). My druid had conjured several beasts, so I hit the "Add a PC" button, created one new character for the beasts and dragged it multiple times onto the map. Then I drew a rectangle around all of the beasts (or instances of the one beast if you prefer), which successfully selected them, and I moved them all on the map. On my map, all these characters were correctly moved together but all other participants in the session, including the game master, saw only one of the beasts move and the others stayed in place.https://invent.kde.org/rolisteam/rolisteam/-/issues/28SIGSEGV when removing an NPC2021-05-22T17:37:02ZLudovic BrentaSIGSEGV when removing an NPCI use 1.9.3 (commit b3949b6c4cdb69be3a52bb56da53cc9e3999abe7) compiled from sources.
Steps to reproduce:
- In the Player List, click *Create NPC*, name it V.
- Create a vector map (Ctrl+V).
- In the toolbox on the left-hand side of the...I use 1.9.3 (commit b3949b6c4cdb69be3a52bb56da53cc9e3999abe7) compiled from sources.
Steps to reproduce:
- In the Player List, click *Create NPC*, name it V.
- Create a vector map (Ctrl+V).
- In the toolbox on the left-hand side of the screen, create a new mob token (click +).
- Place the mob on the vector map.
- Right-click on the mob and to *Transform Into* > V.
- In the Player List, select V and click *Remove NPC*.
This causes a segmentation violation:
~~~
(gdb) bt
#0 Character::isNpc (this=0x0) at ../../client/data/character.cpp:633
#1 0x000055555567e42a in CharacterItem::getSubTitle (this=0x7fffdc00c4c0) at ../../client/vmap/items/characteritem.cpp:198
#2 0x0000555555680eb0 in CharacterItem::paint (this=0x7fffdc00c4c0, painter=0x7fffffffda40, option=0x5555564c7ab8, widget=<optimized out>) at ../../client/vmap/items/characteritem.cpp:252
#3 0x00007ffff7cbda6f in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#4 0x00007ffff7cbea90 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5 0x00007ffff7cbf0b2 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6 0x00007ffff7ce2682 in QGraphicsView::paintEvent(QPaintEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7 0x00007ffff79dbf9e in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8 0x00007ffff7a8441e in QFrame::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9 0x00007ffff623ccd3 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007ffff799c14e in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007ffff623cf6a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007ffff79d4106 in QWidgetPrivate::sendPaintEvent(QRegion const&) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007ffff79d4952 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007ffff79ac7f0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007ffff79dc6c7 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007ffff799c15f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007ffff623cf6a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007ffff623f9a1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007ffff7cb06b3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007ffff6268f91 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007ffff799c15f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007ffff623cf6a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007ffff623f9a1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007ffff6294e33 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007fffedb1ee6b in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007fffedb1f118 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007fffedb1f1cf in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007ffff62944bf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007ffff623b92b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#30 0x00007ffff6243ba0 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x00005555555fe6f8 in main (argc=<optimized out>, argv=0x7fffffffe9c0) at ../../client/main.cpp:207
~~~https://invent.kde.org/rolisteam/rolisteam/-/issues/27(oter) SIGSEGV when player disconnects2023-02-11T12:57:54ZLudovic Brenta(oter) SIGSEGV when player disconnectsHere is the stack trace I received when a player disconnected from
1.9.3; this is not the same stack trace as in #21.
~~~
(gdb) bt
#0 Character::isNpc (this=0x0) at ../../client/data/character.cpp:633
#1 0x000055555567e3fa in Characte...Here is the stack trace I received when a player disconnected from
1.9.3; this is not the same stack trace as in #21.
~~~
(gdb) bt
#0 Character::isNpc (this=0x0) at ../../client/data/character.cpp:633
#1 0x000055555567e3fa in CharacterItem::getSubTitle (this=0x555559323a60)
at ../../client/vmap/items/characteritem.cpp:198
#2 0x0000555555680e80 in CharacterItem::paint (this=0x555559323a60, painter=0x7fffffffc8e0,
option=0x5555564afe08, widget=<optimized out>) at ../../client/vmap/items/characteritem.cpp:252
#3 0x00007ffff7cbea6f in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#4 0x00007ffff7cbfa90 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5 0x00007ffff7cc00b2 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6 0x00007ffff7ce3682 in QGraphicsView::paintEvent(QPaintEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7 0x00007ffff79dcf9e in QWidget::event(QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8 0x00007ffff7a8541e in QFrame::event(QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9 0x00007ffff623dcd3 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007ffff799d14e in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007ffff623df6a in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007ffff79d5106 in QWidgetPrivate::sendPaintEvent(QRegion const&) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007ffff79d5952 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007ffff79d6ca3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007ffff79d566c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007ffff79d6ca3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007ffff79d566c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007ffff79d6ca3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ffff79d6ac2 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007ffff79d566c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff79d6ca3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007ffff79d566c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007ffff79d6ca3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007ffff79d6ac2 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007ffff79d6ac2 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007ffff79d6ac2 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007ffff79d6ac2 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007ffff79d566c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007ffff79ad86a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007ffff79ae0ab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007ffff79f85cf in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00007ffff799d15f in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007ffff623df6a in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00007ffff6c679bd in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#35 0x00007ffff6c3c64c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#36 0x00007fffe35307da in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#37 0x00007fffedb1fe6b in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007fffedb20118 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#39 0x00007fffedb201cf in g_main_context_iteration ()
from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#40 0x00007ffff62954bf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#41 0x00007ffff623c92b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#42 0x00007ffff6244ba0 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#43 0x00005555555fe6d8 in main (argc=<optimized out>, argv=0x7fffffffe9c0)
at ../../client/main.cpp:207
~~~~https://invent.kde.org/rolisteam/rolisteam/-/issues/26Inefficient network protocol; warning against large maps with many characters2021-03-03T15:44:42ZLudovic BrentaInefficient network protocol; warning against large maps with many characters(This is not a complaint, rather documentation so that other people understand the current limitations.)
This is with rolisteam 1.9.3.
When I hosted a game last week, I was the game master. I had prepared a large dungeon-crawl session...(This is not a complaint, rather documentation so that other people understand the current limitations.)
This is with rolisteam 1.9.3.
When I hosted a game last week, I was the game master. I had prepared a large dungeon-crawl session with 200 goblins on it. When players connected, it took between 2 and 10 minutes for them to see anything.
After the session, i noticed that my scenario file was 33 MB large. Sending it by email took several minutes too; this is simply due to the relatively poor upload speed of my ADSL. Then I did some experiments and determined that:
* the background image (which is 1.3MB .png) contributes to the size of the vector map but not by an inordinate amount;
* replacing 5 goblins by 1 NPC labelled "5 goblins" reduced the size of the scenario file by a full 150 kilobytes;
* removing the avatar image from the NPC "goblin" reduced the size further by 50 kilbytes *per goblin* indicating that the image is duplicated in the scenario file for each mob that uses it.
Also, if the scenario contains several maps, they seem all to be transmitted to all players even if the game master does not open them. Therefore, game masters should create separate scenario files for each large map that is likely to be used for the entire gaming session.https://invent.kde.org/rolisteam/rolisteam/-/issues/25Characters randomly hidden on vector map: z-order2021-05-08T13:47:06ZLudovic BrentaCharacters randomly hidden on vector map: z-orderYesterday we had a session with 7 instances of rolisteam.
Instance 1 (mine) hosted the game and I was a player.
Instance 2 was the game master's.
Instances 4..7 were additional players.
When the game master opened a vector map, all pla...Yesterday we had a session with 7 instances of rolisteam.
Instance 1 (mine) hosted the game and I was a player.
Instance 2 was the game master's.
Instances 4..7 were additional players.
When the game master opened a vector map, all players dragged their avatar onto the map. The game master always saw all players but:
- Instance 1 saw only two players (1 and 4) but player 4 disappeared after some moves;
- Instance 2 saw only one player (2);
- Instance 3 initially saw all players but after a few moves, some players disappeared;
etc.
Towards the end of the game, it dawned on me that this might be related to z-ordering, so I suggested to the game master that they right-click on all characters (they were still all visible to them) and apply "bring to front". Sure enough, all characters immediately became visible to all instances. On all instances but the game master's, they were hidden behind the background image of the map.
I think a possible fix is two-fold:
- partition the z-ordering into three non-overlapping intervals; one for each layer on the vector map i.e. ground, objects, characters. This way, characters can never be obscured by objects on the object or ground layers and objects can never be obscured by the ground layer.
- initialize the "altitude" or whatever it's called on all objects to the same value across all instances of rolisteam; i.e. as soon as a player drags their character onto a vector map, make that object top of the z-order and propagate this to all other instances.https://invent.kde.org/rolisteam/rolisteam/-/issues/21SIGSEGV when a player disconnects2021-03-20T22:44:30ZLudovic BrentaSIGSEGV when a player disconnectsThis happened with commit 15cfa65e Add protection according #20." on the stable branch.
The server used this commit and all clients used the recent AppImage of 1.9.3. We used only the chat during the game, for dice rolls. At the end o...This happened with commit 15cfa65e Add protection according #20." on the stable branch.
The server used this commit and all clients used the recent AppImage of 1.9.3. We used only the chat during the game, for dice rolls. At the end of the game, the clients disconnected and the server received this SIGSEGV:
~~~
Thread 21 "QThread" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff95b68700 (LWP 13044)]
QString::QString (other=..., this=this@entry=0x7fff95b66cc8) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1051
1051 { Q_ASSERT(&other != this); d->ref.ref(); }
(gdb) bt
#0 QString::QString (other=..., this=this@entry=0x7fff95b66cc8) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1051
#1 TreeItem::getId (this=0x555555d77010) at ../../client/network/treeitem.cpp:65
#2 0x000055555578c778 in Channel::getChildById (this=0x7fff95b66cc8, id=...) at ../../client/network/channel.cpp:380
#3 0x0000555555786355 in ChannelModel::getItemById (this=<optimized out>, id=...) at ../../client/network/channelmodel.cpp:687
#4 0x0000555555787a66 in ChannelModel::removeChild (this=this@entry=0x555557cc09c0, id=...) at ../../client/network/channelmodel.cpp:723
#5 0x00005555557961b5 in ServerManager::removeClient (this=0x555557c87c50, client=0x7fff8408fe10) at ../../client/network/servermanager.cpp:567
#6 0x00007ffff62d7f21 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7 0x00007ffff799e03f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8 0x00007ffff62acb62 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9 0x00007ffff62af4c1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007ffff6302c73 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007fffee12dbdb in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007fffee12de88 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007fffee12df3f in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007ffff63022ff in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007ffff62ab4db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007ffff60d28de in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007ffff60d3a01 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007fffeeb89ea7 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#19 0x00007ffff5c18d4f in clone () from /lib/x86_64-linux-gnu/libc.so.6
~~~https://invent.kde.org/rolisteam/rolisteam/-/issues/13Problème image de seuil de vie2022-08-02T02:41:42ZLaurent BuissonProblème image de seuil de vieBonjour
J'ai une souci avec l'ajout d'image sur les statuts des blessures cela ne fonctionne pas toujours sur mon serveur sur mac.
Voici l'image en question
![mort](/uploads/1bf1c0a613232cb515a8e83ce4354c98/mort.png)Bonjour
J'ai une souci avec l'ajout d'image sur les statuts des blessures cela ne fonctionne pas toujours sur mon serveur sur mac.
Voici l'image en question
![mort](/uploads/1bf1c0a613232cb515a8e83ce4354c98/mort.png)https://invent.kde.org/rolisteam/rolisteam/-/issues/12Personalisation des PJ2022-08-02T02:40:20ZLaurent BuissonPersonalisation des PJBonjour
Mes joueurs me remontent ces points :
* L'action renommer n'est pas disponible par clique droit (uniquement par double clic)
* Impossible de changer sa couleur sans quitter
* Impossible de sauvegarder toute sa configuration l...Bonjour
Mes joueurs me remontent ces points :
* L'action renommer n'est pas disponible par clique droit (uniquement par double clic)
* Impossible de changer sa couleur sans quitter
* Impossible de sauvegarder toute sa configuration locale sans quitter.
Version serveur Rolisteam 1.9.2 sur Mac OS Mojave avec des clients Windows. Logs activés dans les préférences transmis le 08/05/2020 entre 21h et 3h FRhttps://invent.kde.org/rolisteam/rolisteam/-/issues/10Images partagées - Evolution2022-08-02T02:32:00ZLaurent BuissonImages partagées - EvolutionBonjour
Pour les images ce n'est pas très pratique de devoir aller dans fichier puis fermer pour départager une image
Surtout que le naturel est d'aller sur la croix,
A minima ajouter un bouton "Fermer" sur la fenêtre ou un bouton "par...Bonjour
Pour les images ce n'est pas très pratique de devoir aller dans fichier puis fermer pour départager une image
Surtout que le naturel est d'aller sur la croix,
A minima ajouter un bouton "Fermer" sur la fenêtre ou un bouton "partager/Annuler partage"
Version serveur Rolisteam 1.9.2 sur Mac OS Mojave avec des clients Windows. Logs activés dans les préférences transmis le 08/05/2020 entre 21h et 3h FRhttps://invent.kde.org/rolisteam/rolisteam/-/issues/9Problèmes avec les messageries instantanées2022-08-02T02:27:57ZLaurent BuissonProblèmes avec les messageries instantanéesBonjour
je rencontre deux soucis avec la messagerie instantanée :
* le Tchats créés dans un scénario ne sont pas mémorisé
* les logs ne se sauvegarde ni sur le serveur ni sur les clients
* impossible d'éditer un Tchat créé pour conna...Bonjour
je rencontre deux soucis avec la messagerie instantanée :
* le Tchats créés dans un scénario ne sont pas mémorisé
* les logs ne se sauvegarde ni sur le serveur ni sur les clients
* impossible d'éditer un Tchat créé pour connaître qui y est ajouté ou le mettre à jour
Version serveur Rolisteam 1.9.2 sur Mac OS Mojave avec des clients Windows. Logs activés dans les préférences transmis le 08/05/2020 entre 21h et 3h FRhttps://invent.kde.org/rolisteam/rolisteam/-/issues/8Problème de stabilité avec partage PDF2020-05-12T16:01:14ZLaurent BuissonProblème de stabilité avec partage PDFBonjour
Le fait d'inclure des PDF dans le scénario provoque :
* des latences importantes dans l'application entre serveur et clients
* un crash ou freeze du serveur
Version serveur Rolisteam 1.9.2 sur Mac OS Mojave avec des clients ...Bonjour
Le fait d'inclure des PDF dans le scénario provoque :
* des latences importantes dans l'application entre serveur et clients
* un crash ou freeze du serveur
Version serveur Rolisteam 1.9.2 sur Mac OS Mojave avec des clients Windows.
Logs activés dans les préférences transmis le 08/05/2020 entre 21h et 3h FRhttps://invent.kde.org/rolisteam/rolisteam/-/issues/6Idées pour la prochaine version.2022-08-02T02:31:07ZNicolas RégniezIdées pour la prochaine version.Voici quelques idées pour la prochaine version. Idées déjà postées sur le discord.
- Sur les cartes virtuelles, ajouter un calque uniquement visible par le MJ afin qu'il puisse y placer des élèments ( PNJ, pièges, lieux, monstres,...) lo...Voici quelques idées pour la prochaine version. Idées déjà postées sur le discord.
- Sur les cartes virtuelles, ajouter un calque uniquement visible par le MJ afin qu'il puisse y placer des élèments ( PNJ, pièges, lieux, monstres,...) lors de la préparation du scénario. Il pourra aussi les basculer en temps voulu sur le calque qu'il désire et de les rendre visible aux joueurs.
- pouvoir gérer des cartes style cartes à jouer ou des cartes spécifiques à un JDR ex Deadland, Miles Christi, Within...
- pour les médias, faire en sorte que rolisteam sauvegarde les médias (carte vectorielle, notes partagées,...) automatiquemant et régulièrement durant la partie, avec la possibilité de le paramétrer.
- permettre aux joueurs d"avoir accès au pointeur sur les cartes vectorielles, dans tout les modes "pj en mouvements" et "tout les droits".
- pouvoir envoyer une image à des joueurs selectionnés.https://invent.kde.org/rolisteam/rolisteam/-/issues/5Potential parse error for roll button2020-04-06T00:28:35ZÉtienne L.Potential parse error for roll buttonI want to create roll buttons which take into account attributes. I used many syntax but I cannot achieve this. As far as I understood the documentation, it should be simple. I tried syntax like: `${id_dext}+3d6p[1:blue]` or `${dext}+3d6...I want to create roll buttons which take into account attributes. I used many syntax but I cannot achieve this. As far as I understood the documentation, it should be simple. I tried syntax like: `${id_dext}+3d6p[1:blue]` or `${dext}+3d6p[1:blue]` but in Rolisteam the syntax is not understood. By the way `${dext}` or `3d6p[1:blue]` are OK. Have I misundertood the syntax or is it a real bug?
I have attached the character sheet file (without the background image): [dragon-de-poche-bug.rcs](/uploads/29106a1784351b4495ea1ede13aa3857/dragon-de-poche-bug.rcs)https://invent.kde.org/rolisteam/rolisteam/-/issues/3Offset between select field value and index2020-01-31T10:25:06ZBernard SIAUDOffset between select field value and indexIn charactersheet, I have a select field with these values: [-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]
If I take the 4th, computation are made with 4. In data tab in rolisteam, I...In charactersheet, I have a select field with these values: [-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]
If I take the 4th, computation are made with 4. In data tab in rolisteam, It will be displayed as expected.
On the sheet side, it will displayed the 5th value (so -6).
I tested with these values: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]
On data tab, I see a number, and on Qml/Sheet tab I see the (number+1).
Please take a look from FOR to CHA on the attached sheet and the field "Initiative Total":
[COF1.rcs](/uploads/c12aa0b773fdb9f8d3230c1a906a9654/COF1.rcs)
# Original text
```champ select -> décallage
Dans une feuille de personnage avec un champ sélect de la forme : -10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25
Si je prends 4, les calcul vont se faire avec 4, l'affichage dans rolisteam au niveau "données" va se faire correctement, mais au niveau de la feuille, je vais avoir l'item (4+1) du menu donc -6.
Du coup, je viens de voir que si le champ est de la forme 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25
dans donnée si j'ai un nombre au bniveau donnée, sur la feuille j'ai un de plus.
Regardez par exemple les cases FOR à CHA de la feuille si jointe et la case "Initiative Total" :
[COF1.rcs](/uploads/c12aa0b773fdb9f8d3230c1a906a9654/COF1.rcs)
```https://invent.kde.org/rolisteam/rolisteam/-/issues/2Small screen management: écran trop petit2020-01-31T15:34:10ZBernard SIAUDSmall screen management: écran trop petitsur un écran trop petit, il est impossible de maximiser la fenêtre. En gros pour maximiser une fenêtre, la hauteur minimale doit au moins être celle de l'écransur un écran trop petit, il est impossible de maximiser la fenêtre. En gros pour maximiser une fenêtre, la hauteur minimale doit au moins être celle de l'écran