diff options
author | Robin Gareus <robin@gareus.org> | 2016-07-25 17:16:32 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-07-25 17:16:32 +0200 |
commit | eec294a97edce69ca71c972867ab708d5dd5625d (patch) | |
tree | d48202a8e6b5978ba1d6d5a83a574b3a91687460 /libs/canvas | |
parent | ac8f4baa002db37506a84088861b7a288dcdfae6 (diff) |
the endless quest to plug memory leaks -- episode 378
Diffstat (limited to 'libs/canvas')
-rw-r--r-- | libs/canvas/canvas/ruler.h | 14 | ||||
-rw-r--r-- | libs/canvas/ruler.cc | 13 |
2 files changed, 18 insertions, 9 deletions
diff --git a/libs/canvas/canvas/ruler.h b/libs/canvas/canvas/ruler.h index 0a2e43587e..751ddcc104 100644 --- a/libs/canvas/canvas/ruler.h +++ b/libs/canvas/canvas/ruler.h @@ -60,14 +60,18 @@ public: Ruler (Item*, const Metric& m); Ruler (Item*, const Metric& m, Rect const&); + virtual ~Ruler () { + delete _font_description; + } + void set_range (double lower, double upper); void set_font_description (Pango::FontDescription); void set_metric (const Metric&); void render (Rect const & area, Cairo::RefPtr<Cairo::Context>) const; - void set_divide_colors (Color top, Color bottom); - void set_divide_height (double); + void set_divide_colors (Color top, Color bottom); + void set_divide_height (double); private: const Metric* _metric; @@ -76,9 +80,9 @@ private: Coord _lower; Coord _upper; - double _divide_height; - Color _divider_color_top; - Color _divider_color_bottom; + double _divide_height; + Color _divider_color_top; + Color _divider_color_bottom; Pango::FontDescription* _font_description; mutable std::vector<Mark> marks; diff --git a/libs/canvas/ruler.cc b/libs/canvas/ruler.cc index 74755f6ecc..1c11def93a 100644 --- a/libs/canvas/ruler.cc +++ b/libs/canvas/ruler.cc @@ -36,7 +36,8 @@ Ruler::Ruler (Canvas* c, const Metric& m) , _metric (&m) , _lower (0) , _upper (0) - , _divide_height (-1.0) + , _divide_height (-1.0) + , _font_description (0) , _need_marks (true) { } @@ -46,7 +47,8 @@ Ruler::Ruler (Canvas* c, const Metric& m, Rect const& r) , _metric (&m) , _lower (0) , _upper (0) - , _divide_height (-1.0) + , _divide_height (-1.0) + , _font_description (0) , _need_marks (true) { } @@ -56,7 +58,8 @@ Ruler::Ruler (Item* parent, const Metric& m) , _metric (&m) , _lower (0) , _upper (0) - , _divide_height (-1.0) + , _divide_height (-1.0) + , _font_description (0) , _need_marks (true) { } @@ -66,7 +69,8 @@ Ruler::Ruler (Item* parent, const Metric& m, Rect const& r) , _metric (&m) , _lower (0) , _upper (0) - , _divide_height (-1.0) + , _divide_height (-1.0) + , _font_description (0) , _need_marks (true) { } @@ -85,6 +89,7 @@ void Ruler::set_font_description (Pango::FontDescription fd) { begin_visual_change (); + delete _font_description; _font_description = new Pango::FontDescription (fd); end_visual_change (); } |