From 7f27e3d426d22b9840188070e6aa0e2ba4a78a72 Mon Sep 17 00:00:00 2001 From: PulkoMandy Date: Tue, 2 Jun 2026 23:00:30 +0200 Subject: [PATCH] Tracker: do not start looper when creating a file panel Should really fix #19499. Change-Id: I66f54f2820261980ebab5f5cfd720632fc8b7c44 Reviewed-on: https://review.haiku-os.org/c/haiku/+/11055 Tested-by: Commit checker robot Reviewed-by: waddlesplash --- src/kits/tracker/ContainerWindow.cpp | 5 +++-- src/kits/tracker/ContainerWindow.h | 2 +- src/kits/tracker/FilePanelPriv.cpp | 3 +-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/kits/tracker/ContainerWindow.cpp b/src/kits/tracker/ContainerWindow.cpp index bc5d2f7aea..4a0de90ae4 100644 --- a/src/kits/tracker/ContainerWindow.cpp +++ b/src/kits/tracker/ContainerWindow.cpp @@ -381,7 +381,7 @@ AddMimeTypeString(BStringList& list, Model* model) BContainerWindow::BContainerWindow(LockingList* list, uint32 openFlags, window_look look, - window_feel feel, uint32 windowFlags, uint32 workspace, bool useLayout) + window_feel feel, uint32 windowFlags, uint32 workspace, bool useLayout, bool runIt) : BWindow(InitialWindowRect(feel), "TrackerWindow", look, feel, windowFlags, workspace), fWindowList(list), @@ -454,7 +454,8 @@ BContainerWindow::BContainerWindow(LockingList* list, uint32 openFlags, AddCommonFilter(new BMessageFilter(B_MOUSE_DOWN, ActivateWindowFilter)); - Run(); + if (runIt) + Run(); // watch out for settings changes TTracker* tracker = dynamic_cast(be_app); diff --git a/src/kits/tracker/ContainerWindow.h b/src/kits/tracker/ContainerWindow.h index 4ff12c0dbe..4b760ced45 100644 --- a/src/kits/tracker/ContainerWindow.h +++ b/src/kits/tracker/ContainerWindow.h @@ -102,7 +102,7 @@ public: window_look look = B_DOCUMENT_WINDOW_LOOK, window_feel feel = B_NORMAL_WINDOW_FEEL, uint32 windowFlags = B_WILL_ACCEPT_FIRST_CLICK | B_NO_WORKSPACE_ACTIVATION, - uint32 workspace = B_CURRENT_WORKSPACE, bool useLayout = true); + uint32 workspace = B_CURRENT_WORKSPACE, bool useLayout = true, bool runIt = true); virtual ~BContainerWindow(); diff --git a/src/kits/tracker/FilePanelPriv.cpp b/src/kits/tracker/FilePanelPriv.cpp index b2c8917664..f3e0c8fbef 100644 --- a/src/kits/tracker/FilePanelPriv.cpp +++ b/src/kits/tracker/FilePanelPriv.cpp @@ -176,7 +176,7 @@ TFilePanel::TFilePanel(file_panel_mode mode, BMessenger* target, const BEntry* s uint32 openFlags, window_look look, window_feel feel, uint32 windowFlags, uint32 workspace, bool hideWhenDone) : - BContainerWindow(0, openFlags, look, feel, windowFlags, workspace, false), + BContainerWindow(0, openFlags, look, feel, windowFlags, workspace, false, false), fDirMenu(NULL), fDirMenuField(NULL), fTextControl(NULL), @@ -255,7 +255,6 @@ TFilePanel::TFilePanel(file_panel_mode mode, BMessenger* target, const BEntry* s fTaskLoop = new PiggybackTaskLoop; - AutoLock lock(this); fBorderedView = new BorderedView; CreatePoseView(model); fBorderedView->GroupLayout()->SetInsets(1);