summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-03-10 18:33:05 +0000
committerManolo Gouy <Manolo>2016-03-10 18:33:05 +0000
commit1d7ce6ad4113eff665ebaa6caf1cf2d333b1e8ed (patch)
tree460d4db35667c7630998c7ef64a0fb433df50d6f
parent11d3888fc2c5ad4ba3598f330544389b1f5e0cf4 (diff)
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
-rw-r--r--src/Fl_Window.cxx1
-rw-r--r--src/drivers/X11/Fl_X11_Window_Driver.H1
-rw-r--r--src/drivers/X11/Fl_X11_Window_Driver.cxx8
3 files changed, 10 insertions, 0 deletions
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);