commit 4edacd6c7becf86ce976a5e4f172ae531971d273
parent 31688b20544bae55223643eb02eebe90055699f5
Author: falkTX <falktx@gmail.com>
Date: Fri, 25 Apr 2014 20:59:16 +0100
Add leak detectors to DGL classes
Diffstat:
12 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/dgl/App.hpp b/dgl/App.hpp
@@ -55,6 +55,8 @@ private:
void _removeWindow(Window* const window);
void _oneShown();
void _oneHidden();
+
+ DISTRHO_LEAK_DETECTOR(App)
};
// -----------------------------------------------------------------------
diff --git a/dgl/Base.hpp b/dgl/Base.hpp
@@ -17,7 +17,7 @@
#ifndef DGL_BASE_HPP_INCLUDED
#define DGL_BASE_HPP_INCLUDED
-#include "../distrho/src/DistrhoDefines.h"
+#include "../distrho/extra/d_leakdetector.hpp"
// -----------------------------------------------------------------------
diff --git a/dgl/CairoWidget.hpp b/dgl/CairoWidget.hpp
@@ -197,6 +197,8 @@ private:
cairo_t* fContext;
cairo_surface_t* fSurface;
GLuint fTextureId;
+
+ DISTRHO_LEAK_DETECTOR(CairoWidget)
};
// -----------------------------------------------------------------------
diff --git a/dgl/Geometry.hpp b/dgl/Geometry.hpp
@@ -49,6 +49,9 @@ public:
private:
T fX, fY;
template<typename> friend class Rectangle;
+
+ DISTRHO_LEAK_DETECTOR(Point)
+ DISTRHO_PREVENT_HEAP_ALLOCATION
};
// -----------------------------------------------------------------------
@@ -78,6 +81,9 @@ public:
private:
T fWidth, fHeight;
template<typename> friend class Rectangle;
+
+ DISTRHO_LEAK_DETECTOR(Size)
+ DISTRHO_PREVENT_HEAP_ALLOCATION
};
// -----------------------------------------------------------------------
@@ -124,6 +130,9 @@ public:
private:
Point<T> fPos;
Size<T> fSize;
+
+ DISTRHO_LEAK_DETECTOR(Rectangle)
+ DISTRHO_PREVENT_HEAP_ALLOCATION
};
// -----------------------------------------------------------------------
diff --git a/dgl/Image.hpp b/dgl/Image.hpp
@@ -59,6 +59,9 @@ private:
GLenum fFormat;
GLenum fType;
GLuint fTextureId;
+
+ DISTRHO_LEAK_DETECTOR(Image)
+ DISTRHO_PREVENT_HEAP_ALLOCATION
};
// -----------------------------------------------------------------------
diff --git a/dgl/ImageAboutWindow.hpp b/dgl/ImageAboutWindow.hpp
@@ -47,6 +47,8 @@ protected:
private:
Image fImgBackground;
+
+ DISTRHO_LEAK_DETECTOR(ImageAboutWindow)
};
// -----------------------------------------------------------------------
diff --git a/dgl/ImageButton.hpp b/dgl/ImageButton.hpp
@@ -55,6 +55,8 @@ private:
int fCurButton;
Callback* fCallback;
+
+ DISTRHO_LEAK_DETECTOR(ImageButton)
};
// -----------------------------------------------------------------------
diff --git a/dgl/ImageKnob.hpp b/dgl/ImageKnob.hpp
@@ -83,6 +83,8 @@ private:
int fImgLayerCount;
Rectangle<int> fKnobArea;
GLuint fTextureId;
+
+ DISTRHO_LEAK_DETECTOR(ImageKnob)
};
// -----------------------------------------------------------------------
diff --git a/dgl/ImageSlider.hpp b/dgl/ImageSlider.hpp
@@ -77,6 +77,8 @@ private:
Rectangle<int> fSliderArea;
void _recheckArea();
+
+ DISTRHO_LEAK_DETECTOR(ImageSlider)
};
// -----------------------------------------------------------------------
diff --git a/dgl/StandaloneWindow.hpp b/dgl/StandaloneWindow.hpp
@@ -70,6 +70,8 @@ public:
protected:
App fApp;
Window fWindow;
+
+ DISTRHO_LEAK_DETECTOR(StandaloneWindow)
};
// -----------------------------------------------------------------------
diff --git a/dgl/Widget.hpp b/dgl/Widget.hpp
@@ -97,6 +97,8 @@ private:
friend class CairoWidget;
friend class Window;
+
+ DISTRHO_LEAK_DETECTOR(Widget)
};
// -----------------------------------------------------------------------
diff --git a/dgl/Window.hpp b/dgl/Window.hpp
@@ -77,6 +77,8 @@ private:
void _addWidget(Widget* const widget);
void _removeWidget(Widget* const widget);
void _idle();
+
+ DISTRHO_LEAK_DETECTOR(Window)
};
// -----------------------------------------------------------------------