From 1d7ce6ad4113eff665ebaa6caf1cf2d333b1e8ed Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Thu, 10 Mar 2016 18:33:05 +0000 Subject: Add deletion code for Fl_X11_Window_Driver object git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11339 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_Window.cxx | 1 + src/drivers/X11/Fl_X11_Window_Driver.H | 1 + src/drivers/X11/Fl_X11_Window_Driver.cxx | 8 ++++++++ 3 files changed, 10 insertions(+) (limited to 'src') diff --git a/src/Fl_Window.cxx b/src/Fl_Window.cxx index c77fb4595..0a2d083ad 100644 --- a/src/Fl_Window.cxx +++ b/src/Fl_Window.cxx @@ -92,6 +92,7 @@ Fl_Window::~Fl_Window() { } free_icons(); delete icon_; + delete pWindowDriver; } diff --git a/src/drivers/X11/Fl_X11_Window_Driver.H b/src/drivers/X11/Fl_X11_Window_Driver.H index 458d1bd1c..c7ea3d382 100644 --- a/src/drivers/X11/Fl_X11_Window_Driver.H +++ b/src/drivers/X11/Fl_X11_Window_Driver.H @@ -58,6 +58,7 @@ private: void shape_alpha_(Fl_Image* img, int offset); public: Fl_X11_Window_Driver(Fl_Window*); + ~Fl_X11_Window_Driver(); virtual void take_focus(); virtual void shape(const Fl_Image* img); virtual void draw(); diff --git a/src/drivers/X11/Fl_X11_Window_Driver.cxx b/src/drivers/X11/Fl_X11_Window_Driver.cxx index efaa31851..833891ae4 100644 --- a/src/drivers/X11/Fl_X11_Window_Driver.cxx +++ b/src/drivers/X11/Fl_X11_Window_Driver.cxx @@ -59,6 +59,14 @@ Fl_X11_Window_Driver::Fl_X11_Window_Driver(Fl_Window *win) } +Fl_X11_Window_Driver::~Fl_X11_Window_Driver() +{ + if (shape_data_) { + delete shape_data_->todelete_; + delete shape_data_; + } +} + void Fl_X11_Window_Driver::take_focus() { Fl_X *i = Fl_X::i(pWindow); -- cgit v1.2.3