Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unplugging/Removing an output may result in dangling pointers #684

Open
PaideiaDilemma opened this issue Feb 8, 2025 · 1 comment · May be fixed by #686
Open

Unplugging/Removing an output may result in dangling pointers #684

PaideiaDilemma opened this issue Feb 8, 2025 · 1 comment · May be fixed by #686
Labels
bug Something isn't working

Comments

@PaideiaDilemma
Copy link
Collaborator

Regression?

No

Hyprlock Info and Version

Hyprlock 0.6.0-git (dc6d721)

Compositor Info and Version

System/Version info
Hyprland 0.47.0 built from branch  at commit 54441e0c4e51dd182f78876c014446d5d0359ba8  ().
Date: 2025-02-06
Tag: v0.47.0, commits: 
built against:
 aquamarine 0.7.2
 hyprlang 0.6.0
 hyprutils 0.5.0
 hyprcursor 0.1.11
 hyprgraphics 0.1.1


no flags were set


System Information:
System name: Linux
Node name: desktop
Release: 6.13.0
Version: #1-NixOS SMP PREEMPT_DYNAMIC Sun Jan 19 23:51:45 UTC 2025


GPU information: 
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6650 XT / 6700S / 6800S] [1002:73ef] (rev c1) (prog-if 00 [VGA controller])
04:00.0 Non-Volatile memory controller [0108]: Sandisk Corp SanDisk Ultra 3D / WD Blue SN570 NVMe SSD (DRAM-less) [15b7:501a] (prog-if 02 [NVM Express])
	Subsystem: Sandisk Corp SanDisk Ultra 3D / WD Blue SN570 NVMe SSD (DRAM-less) [15b7:501a]
0e:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev cb) (prog-if 00 [VGA controller])


os-release: ANSI_COLOR="0;38;2;126;186;228"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="25.05.20250204.799ba5b"
CPE_NAME="cpe:/o:nixos:nixos:25.05"
DEFAULT_HOSTNAME=nixos
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
ID_LIKE=""
IMAGE_ID=""
IMAGE_VERSION=""
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 25.05 (Warbler)"
SUPPORT_URL="https://nixos.org/community.html"
VARIANT=""
VARIANT_ID=""
VENDOR_NAME=NixOS
VENDOR_URL="https://nixos.org/"
VERSION="25.05 (Warbler)"
VERSION_CODENAME=warbler
VERSION_ID="25.05"


plugins:

Description

Removing an output will remove widgets associated to that output right away.

Widgets use the asyncResourceGatherer's asset callback to update widgets.

    request.callback     = onAssetCallback;
    request.callbackData = this;

The problem is that we have no way to invalidate that when we remove an output.
Other timers do get reset when calling the dtor, but not the pointers for the callback.

How to reproduce

  1. Have lots of label updates.
  2. Power-cycle a monitor.

Crash reports, logs, images, videos

No response

@PaideiaDilemma PaideiaDilemma added the bug Something isn't working label Feb 8, 2025
@PaideiaDilemma
Copy link
Collaborator Author

Fixing this properly involves quite a few changes.
So I think we should release v0.7.0 first, merge the on-click stuff after and then fix this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
1 participant