summaryrefslogtreecommitdiff
path: root/vcl/workben/vcldemo.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/workben/vcldemo.cxx')
-rw-r--r--vcl/workben/vcldemo.cxx19
1 files changed, 13 insertions, 6 deletions
diff --git a/vcl/workben/vcldemo.cxx b/vcl/workben/vcldemo.cxx
index 14a57805beae..33c4eff1fec6 100644
--- a/vcl/workben/vcldemo.cxx
+++ b/vcl/workben/vcldemo.cxx
@@ -1133,12 +1133,11 @@ public:
}
}
}
- std::vector<vcl::Window *> maInvalidates;
+ std::vector<VclPtr<vcl::Window> > maInvalidates;
void addInvalidate(vcl::Window *pWindow) { maInvalidates.push_back(pWindow); };
void removeInvalidate(vcl::Window *pWindow)
{
- std::vector<vcl::Window *>::iterator aIt;
- for (aIt = maInvalidates.begin(); aIt != maInvalidates.end(); ++aIt)
+ for (auto aIt = maInvalidates.begin(); aIt != maInvalidates.end(); ++aIt)
{
if (*aIt == pWindow)
{
@@ -1450,9 +1449,9 @@ public:
class DemoWidgets : public WorkWindow
{
- VclBox *mpBox;
- ToolBox *mpToolbox;
- PushButton *mpButton;
+ VclPtr<VclBox> mpBox;
+ VclPtr<ToolBox> mpToolbox;
+ VclPtr<PushButton> mpButton;
public:
DemoWidgets() :
@@ -1482,6 +1481,14 @@ public:
Show();
}
+ virtual ~DemoWidgets() { disposeOnce(); }
+ virtual void dispose() SAL_OVERRIDE
+ {
+ mpBox.disposeAndClear();
+ mpToolbox.disposeAndClear();
+ mpPushButton.disposeAndClear();
+ WorkWindow::dispose();
+ }
virtual void Paint(const Rectangle&) SAL_OVERRIDE
{
Rectangle aWholeSize(Point(0, 0),GetOutputSizePixel());