For me the problem seems fixed with 2.1.5, thank you.
Now I tried Fedora 43 (LXDE) and yes, this crash is reproducible on Fedora 43.
I tried 1. i.e. but if you try adding another one Xfe crashes. and crash is reproducible, on Fedora 44: /usr/include/c++/16/bits/stl_vector.h:1253: constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](size_type) [with _Tp = FX::FXMenuCommand*; _Alloc = std::allocator<FX::FXMenuCommand*>; reference = FX::FXMenuCommand*&; size_type = long unsigned int]: Assertion '__n < this->size()' failed. Program received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=<optimized...
on xfi window, click right arrow button (click "Previous" button) Oh, this is on xfi window, click left arrow button (click "Previous" button), then perhaps popup window with "Unsupported type: txt" appears, sorry...
Perhaps recompiling xfe and fox with sanitizer , e.g. export CC="gcc -fsanitize=address -fsanitize=undefined" export CXX="g++ -fsanitize=address -fsanitize=undefined -fno-sanitize=vptr" or using valgrind makes this issue easier to reproduce.
Tentative workaround: diff --git a/src/XFileImage.cpp b/src/XFileImage.cpp index f5beb1d..14faf4b 100644 --- a/src/XFileImage.cpp +++ b/src/XFileImage.cpp @@ -1618,6 +1618,10 @@ FXbool XFileImage::loadimage(const FXString& file) FILE* fp = fopen(file.text(), "r"); + // Save old image + FXImage *img_old = img; + FXImage *tmpimg_old = tmpimg; + if (!fp) { MessageBox::error(this, BOX_OK, _("Error"), _("Unable to open file: %s"), file.text()); @@ -1628,18 +1632,6 @@ FXbool XFileImage::loadimage(const...
Use-after-free when xfi goes to invalid image file then trying to redraw it
This is already in git: https://github.com/lxde/lxsession/commit/0eb1a31843691b4e5f3354c153315dcb7ebeda3d