Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package lxqt-panel for openSUSE:Factory checked in at 2025-12-25 19:57:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lxqt-panel (Old) and /work/SRC/openSUSE:Factory/.lxqt-panel.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lxqt-panel" Thu Dec 25 19:57:38 2025 rev:43 rq:1324377 version:2.3.2 Changes: -------- --- /work/SRC/openSUSE:Factory/lxqt-panel/lxqt-panel.changes 2025-12-01 11:12:51.353325418 +0100 +++ /work/SRC/openSUSE:Factory/.lxqt-panel.new.1928/lxqt-panel.changes 2025-12-25 19:57:45.211506746 +0100 @@ -1,0 +2,8 @@ +Wed Dec 24 16:31:22 UTC 2025 - Shawn Dunn <[email protected]> + +- Update to version 2.3.2: + * Used QPointer for handling wlroots desktops to prevent dangling + pointers, especially with bad compositor codes (previously, + hyprland could make the panel crash) + +------------------------------------------------------------------- Old: ---- lxqt-panel-2.3.1.tar.xz lxqt-panel-2.3.1.tar.xz.asc New: ---- lxqt-panel-2.3.2.tar.xz lxqt-panel-2.3.2.tar.xz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lxqt-panel.spec ++++++ --- /var/tmp/diff_new_pack.B6LtOR/_old 2025-12-25 19:57:46.175545863 +0100 +++ /var/tmp/diff_new_pack.B6LtOR/_new 2025-12-25 19:57:46.179546026 +0100 @@ -17,7 +17,7 @@ Name: lxqt-panel -Version: 2.3.1 +Version: 2.3.2 Release: 0 Summary: LXQt desktop panel License: LGPL-2.1-or-later ++++++ lxqt-panel-2.3.1.tar.xz -> lxqt-panel-2.3.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxqt-panel-2.3.1/CHANGELOG new/lxqt-panel-2.3.2/CHANGELOG --- old/lxqt-panel-2.3.1/CHANGELOG 2025-11-25 18:39:35.000000000 +0100 +++ new/lxqt-panel-2.3.2/CHANGELOG 2025-12-21 18:58:50.000000000 +0100 @@ -1,3 +1,7 @@ +lxqt-panel-2.3.2 / 2025-12-21 +============================== + * Used `QPointer` for handling wlroots desktops to prevent dangling pointers, especially with bad compositor codes (previously, Hyprland could make the panel crash). + lxqt-panel-2.3.1 / 2025-11-25 ============================== * Fixed build failure with Qt < 6.8. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxqt-panel-2.3.1/CMakeLists.txt new/lxqt-panel-2.3.2/CMakeLists.txt --- old/lxqt-panel-2.3.1/CMakeLists.txt 2025-11-25 18:39:35.000000000 +0100 +++ new/lxqt-panel-2.3.2/CMakeLists.txt 2025-12-21 18:58:50.000000000 +0100 @@ -48,7 +48,7 @@ endif() # Patch Version -set(LXQT_PANEL_PATCH_VERSION 1) +set(LXQT_PANEL_PATCH_VERSION 2) set(LXQT_PANEL_VERSION ${LXQT_MAJOR_VERSION}.${LXQT_MINOR_VERSION}.${LXQT_PANEL_PATCH_VERSION}) add_definitions("-DLXQT_PANEL_VERSION=\"${LXQT_PANEL_VERSION}\"") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxqt-panel-2.3.1/panel/backends/wayland/wlroots/workspace.cpp new/lxqt-panel-2.3.2/panel/backends/wayland/wlroots/workspace.cpp --- old/lxqt-panel-2.3.1/panel/backends/wayland/wlroots/workspace.cpp 2025-11-25 18:39:35.000000000 +0100 +++ new/lxqt-panel-2.3.2/panel/backends/wayland/wlroots/workspace.cpp 2025-12-21 18:58:50.000000000 +0100 @@ -6,7 +6,7 @@ #include <private/qwaylandscreen_p.h> /** ext_workspace_handle_v1 <-> WorkspaceHandleV1 map */ -QMap<struct ::ext_workspace_handle_v1*, LXQt::Taskbar::WorkspaceHandleV1*> workspaceMap; +QMap<struct ::ext_workspace_handle_v1*, QPointer<LXQt::Taskbar::WorkspaceHandleV1>> workspaceMap; QList<LXQt::Taskbar::WorkspaceGroupHandleV1*> workspaceGroups; /** @@ -66,9 +66,10 @@ if (wg->outputs().contains(output)) { const auto workspaces = wg->workspaces(); - for (WorkspaceHandleV1 *ws : workspaces) + for (const auto& ws : workspaces) { - map[ws->coordinates()] = ws; + if (ws) + map[ws->coordinates()] = ws; } break; } @@ -107,9 +108,10 @@ if (wg->outputs().contains(output)) { const auto workspaces = wg->workspaces(); - for (WorkspaceHandleV1 *ws : workspaces) + for (const auto& ws : workspaces) { - map[ws->coordinates()] = ws; + if (ws) + map[ws->coordinates()] = ws; } break; } @@ -148,9 +150,10 @@ if (wg->outputs().contains(output)) { const auto workspaces = wg->workspaces(); - for (WorkspaceHandleV1 *ws : workspaces) + for (const auto& ws : workspaces) { - map[ws->coordinates()] = ws; + if (ws) + map[ws->coordinates()] = ws; } break; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxqt-panel-2.3.1/panel/backends/wayland/wlroots/workspace.hpp new/lxqt-panel-2.3.2/panel/backends/wayland/wlroots/workspace.hpp --- old/lxqt-panel-2.3.1/panel/backends/wayland/wlroots/workspace.hpp 2025-11-25 18:39:35.000000000 +0100 +++ new/lxqt-panel-2.3.2/panel/backends/wayland/wlroots/workspace.hpp 2025-12-21 18:58:50.000000000 +0100 @@ -4,6 +4,7 @@ #include <QString> #include <QList> #include <QScreen> +#include <QPointer> #include <string> #include "wayland-ext-workspace-v1-client-protocol.h" @@ -73,7 +74,7 @@ return m_outputs; } - QList<WorkspaceHandleV1*> workspaces() const { + QList<QPointer<WorkspaceHandleV1>> workspaces() const { return m_workspaces; } @@ -108,7 +109,7 @@ uint32_t m_supported_capabilities; /** Track workspaces that are a part of this workspace group */ - QList<WorkspaceHandleV1*> m_workspaces; + QList<QPointer<WorkspaceHandleV1>> m_workspaces; }; class LXQt::Taskbar::WorkspaceHandleV1 : public QObject, public QtWayland::ext_workspace_handle_v1
