From ca16580b09d0b5ccb88d469c67ff623495468e73 Mon Sep 17 00:00:00 2001 From: David Capello Date: Wed, 20 May 2015 16:51:32 -0300 Subject: [PATCH] Don't create PalettePopup when the program starts --- src/app/ui/color_bar.cpp | 10 +++++++--- src/app/ui/color_bar.h | 6 +++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/app/ui/color_bar.cpp b/src/app/ui/color_bar.cpp index 478c1d8e5..4c50fbccf 100644 --- a/src/app/ui/color_bar.cpp +++ b/src/app/ui/color_bar.cpp @@ -29,6 +29,7 @@ #include "app/ui/color_spectrum.h" #include "app/ui/editor/editor.h" #include "app/ui/input_chain.h" +#include "app/ui/palette_popup.h" #include "app/ui/skin/skin_theme.h" #include "app/ui/status_bar.h" #include "app/ui_context.h" @@ -322,15 +323,18 @@ void ColorBar::onPaletteButtonClick() } case PalButton::PRESETS: { - if (!m_palettePopup.isVisible()) { + if (!m_palettePopup) + m_palettePopup.reset(new PalettePopup()); + + if (!m_palettePopup->isVisible()) { gfx::Rect bounds = m_buttons.getItem(item)->getBounds(); - m_palettePopup.showPopup( + m_palettePopup->showPopup( gfx::Rect(bounds.x, bounds.y+bounds.h, ui::display_w()/2, ui::display_h()/2)); } else { - m_palettePopup.closeWindow(NULL); + m_palettePopup->closeWindow(NULL); } break; } diff --git a/src/app/ui/color_bar.h b/src/app/ui/color_bar.h index 60cfd033e..20ae6bf8a 100644 --- a/src/app/ui/color_bar.h +++ b/src/app/ui/color_bar.h @@ -13,7 +13,6 @@ #include "app/ui/button_set.h" #include "app/ui/color_button.h" #include "app/ui/input_chain_element.h" -#include "app/ui/palette_popup.h" #include "app/ui/palette_view.h" #include "base/connection.h" #include "base/signal.h" @@ -28,8 +27,9 @@ namespace app { class ColorButton; class Command; - class PalettesLoader; class PaletteIndexChangeEvent; + class PalettePopup; + class PalettesLoader; class ColorBar : public ui::Box , public PaletteViewDelegate @@ -106,7 +106,7 @@ namespace app { }; ButtonSet m_buttons; - PalettePopup m_palettePopup; + base::UniquePtr m_palettePopup; ScrollableView m_scrollableView; PaletteView m_paletteView; ui::Button m_remapButton;