From 3e69dc4c6f67ddbad29c332edeb29e1050b4d3c8 Mon Sep 17 00:00:00 2001 From: Sophie Herold Date: Tue, 9 Dec 2025 14:55:14 +0100 Subject: [PATCH] util/root: Log source location of call without root --- news.d/49.2/changed-track-get-window-errors | 1 + src/util/root.rs | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 news.d/49.2/changed-track-get-window-errors diff --git a/news.d/49.2/changed-track-get-window-errors b/news.d/49.2/changed-track-get-window-errors new file mode 100644 index 0000000..e174dc9 --- /dev/null +++ b/news.d/49.2/changed-track-get-window-errors @@ -0,0 +1 @@ +Track the location in source code of errors trying to get the root window. diff --git a/src/util/root.rs b/src/util/root.rs index ae122db..ce47eb0 100644 --- a/src/util/root.rs +++ b/src/util/root.rs @@ -20,13 +20,15 @@ use gtk::prelude::*; use crate::widgets::{LpEditWindow, LpWindow}; pub trait ParentWindow: WidgetExt { + #[track_caller] fn window(&self) -> LpWindow { let result = self.root().and_downcast(); if result.is_none() { log::error!( - "Couldn't find LpWindow for {self:?}. mapped={}", - self.is_mapped() + "Couldn't find LpWindow for {self:?}. mapped={}. caller={}", + self.is_mapped(), + std::panic::Location::caller(), ); }