diff --git a/src/app/ui/context_bar.cpp b/src/app/ui/context_bar.cpp index d6682877d..08f3c4ec3 100644 --- a/src/app/ui/context_bar.cpp +++ b/src/app/ui/context_bar.cpp @@ -854,7 +854,7 @@ public: : ButtonSet(1) { addItem(SkinTheme::get(this)->parts.pivotCenter()); - Preferences::instance().selection.pivotPosition.AfterChange.connect( + m_pivotConn = Preferences::instance().selection.pivotPosition.AfterChange.connect( [this]{ onPivotChange(); }); onPivotChange(); @@ -925,6 +925,7 @@ private: getItem(0)->setIcon(part); } + obs::scoped_connection m_pivotConn; }; class ContextBar::RotAlgorithmField : public ComboBox { @@ -1586,17 +1587,16 @@ ContextBar::ContextBar(TooltipManager* tooltipManager, UIContext::instance()->add_observer(this); auto& pref = Preferences::instance(); - pref.symmetryMode.enabled.AfterChange.connect( + + m_symmModeConn = pref.symmetryMode.enabled.AfterChange.connect( [this]{ onSymmetryModeChange(); }); - pref.colorBar.fgColor.AfterChange.connect( + m_fgColorConn = pref.colorBar.fgColor.AfterChange.connect( [this]{ onFgOrBgColorChange(doc::Brush::ImageColor::MainColor); }); - pref.colorBar.bgColor.AfterChange.connect( + m_bgColorConn = pref.colorBar.bgColor.AfterChange.connect( [this]{ onFgOrBgColorChange(doc::Brush::ImageColor::BackgroundColor); }); - - KeyboardShortcuts::instance()->UserChange.connect( + m_keysConn = KeyboardShortcuts::instance()->UserChange.connect( [this, tooltipManager]{ setupTooltips(tooltipManager); }); - - m_dropPixels->DropPixels.connect(&ContextBar::onDropPixels, this); + m_dropPixelsConn = m_dropPixels->DropPixels.connect(&ContextBar::onDropPixels, this); setActiveBrush(createBrushFromPreferences()); diff --git a/src/app/ui/context_bar.h b/src/app/ui/context_bar.h index e10438ffb..15d9b6cd4 100644 --- a/src/app/ui/context_bar.h +++ b/src/app/ui/context_bar.h @@ -196,6 +196,11 @@ namespace app { ui::Label* m_selectBoxHelp; SymmetryField* m_symmetry; SliceFields* m_sliceFields; + obs::scoped_connection m_symmModeConn; + obs::scoped_connection m_fgColorConn; + obs::scoped_connection m_bgColorConn; + obs::scoped_connection m_keysConn; + obs::scoped_connection m_dropPixelsConn; obs::scoped_connection m_sizeConn; obs::scoped_connection m_angleConn; obs::scoped_connection m_opacityConn;