vclwidget: change all vcl::window fields to be wrapped in VclPtr

and update the VclWidget clang plugin to
- warn about unconverted fields
- .clear() all VclPtr fields in dispose() methods

Change-Id: I6e657c215bc6807efd992555399b3b1fc16c89b5

2	1	accessibility/inc/accessibility/extended/accessibleiconchoicectrlentry.hxx
2	1	accessibility/inc/accessibility/extended/accessibletabbarbase.hxx
1	1	accessibility/inc/accessibility/extended/accessibletablistbox.hxx
1	1	accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx
3	2	accessibility/inc/accessibility/extended/listboxaccessible.hxx
1	1	accessibility/inc/accessibility/extended/textwindowaccessibility.hxx
2	1	accessibility/inc/accessibility/standard/vclxaccessiblemenubar.hxx
2	1	accessibility/inc/accessibility/standard/vclxaccessiblestatusbar.hxx
4	4	accessibility/inc/accessibility/standard/vclxaccessiblestatusbaritem.hxx
2	1	accessibility/inc/accessibility/standard/vclxaccessibletabcontrol.hxx
2	1	accessibility/inc/accessibility/standard/vclxaccessibletabpage.hxx
3	2	accessibility/inc/accessibility/standard/vclxaccessibletabpagewindow.hxx
7	6	accessibility/inc/accessibility/standard/vclxaccessibletoolboxitem.hxx
3	3	accessibility/source/extended/AccessibleToolPanelDeck.cxx
2	2	accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx
2	2	accessibility/source/extended/AccessibleToolPanelDeckTabBarItem.cxx
1	1	accessibility/source/extended/accessibleiconchoicectrlentry.cxx
3	3	accessibility/source/extended/textwindowaccessibility.cxx
3	3	accessibility/source/standard/vclxaccessibleradiobutton.cxx
1	1	accessibility/source/standard/vclxaccessibletabpagewindow.cxx
1	1	avmedia/inc/mediacontrol.hxx
1	2	avmedia/source/framework/mediacontrol.cxx
1	1	avmedia/source/framework/mediaplayer.cxx
7	7	avmedia/source/viewer/mediaevent_impl.cxx
2	1	avmedia/source/viewer/mediaevent_impl.hxx
1	2	avmedia/source/viewer/mediawindow_impl.cxx
1	1	avmedia/source/viewer/mediawindow_impl.hxx
1	1	basctl/source/basicide/basicrenderable.hxx
1	0	basctl/source/basicide/baside2.cxx
7	5	basctl/source/basicide/baside2.hxx
13	2	basctl/source/basicide/baside2b.cxx
3	3	basctl/source/basicide/baside3.cxx
14	14	basctl/source/basicide/basides1.cxx
4	4	basctl/source/basicide/basides2.cxx
2	2	basctl/source/basicide/basides3.cxx
6	6	basctl/source/basicide/basidesh.cxx
14	1	basctl/source/basicide/bastypes.cxx
15	0	basctl/source/basicide/brkdlg.cxx
8	6	basctl/source/basicide/brkdlg.hxx
11	0	basctl/source/basicide/layout.cxx
5	2	basctl/source/basicide/layout.hxx
11	0	basctl/source/basicide/linenumberwindow.cxx
3	1	basctl/source/basicide/linenumberwindow.hxx
14	0	basctl/source/basicide/macrodlg.cxx
15	15	basctl/source/basicide/macrodlg.hxx
45	1	basctl/source/basicide/moduldl2.cxx
32	1	basctl/source/basicide/moduldlg.cxx
36	26	basctl/source/basicide/moduldlg.hxx
20	0	basctl/source/dlged/managelang.cxx
2	1	basctl/source/inc/accessibledialogcontrolshape.hxx
2	1	basctl/source/inc/accessibledialogwindow.hxx
2	2	basctl/source/inc/baside3.hxx
4	4	basctl/source/inc/basidesh.hxx
5	4	basctl/source/inc/bastypes.hxx
3	2	basctl/source/inc/dlged.hxx
12	10	basctl/source/inc/managelang.hxx
1	1	chart2/inc/ChartModel.hxx
2	1	chart2/source/controller/accessibility/AccessibleViewForwarder.hxx
2	2	chart2/source/controller/dialogs/ChartTypeDialogController.hxx
1	2	chart2/source/controller/dialogs/dlg_ChartType.cxx
2	10	chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx
1	0	chart2/source/controller/dialogs/dlg_DataEditor.cxx
4	6	chart2/source/controller/dialogs/dlg_DataSource.cxx
17	0	chart2/source/controller/dialogs/dlg_InsertAxis_Grid.cxx
6	8	chart2/source/controller/dialogs/dlg_View3D.cxx
2	2	chart2/source/controller/dialogs/res_BarGeometry.hxx
19	19	chart2/source/controller/dialogs/res_DataLabel.hxx
23	23	chart2/source/controller/dialogs/res_Trendline.hxx
14	0	chart2/source/controller/dialogs/tp_3D_SceneAppearance.cxx
6	4	chart2/source/controller/dialogs/tp_3D_SceneAppearance.hxx
18	0	chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx
9	7	chart2/source/controller/dialogs/tp_3D_SceneGeometry.hxx
14	1	chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
16	16	chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx
17	0	chart2/source/controller/dialogs/tp_AxisLabel.cxx
17	17	chart2/source/controller/dialogs/tp_AxisLabel.hxx
24	0	chart2/source/controller/dialogs/tp_AxisPositions.cxx
20	18	chart2/source/controller/dialogs/tp_AxisPositions.hxx
44	19	chart2/source/controller/dialogs/tp_ChartType.cxx
3	3	chart2/source/controller/dialogs/tp_ChartType.hxx
28	0	chart2/source/controller/dialogs/tp_DataSource.cxx
22	20	chart2/source/controller/dialogs/tp_DataSource.hxx
12	0	chart2/source/controller/dialogs/tp_LegendPosition.cxx
3	1	chart2/source/controller/dialogs/tp_LegendPosition.hxx
16	0	chart2/source/controller/dialogs/tp_PolarOptions.cxx
8	6	chart2/source/controller/dialogs/tp_PolarOptions.hxx
24	0	chart2/source/controller/dialogs/tp_RangeChooser.cxx
15	13	chart2/source/controller/dialogs/tp_RangeChooser.hxx
35	0	chart2/source/controller/dialogs/tp_Scale.cxx
34	32	chart2/source/controller/dialogs/tp_Scale.hxx
24	0	chart2/source/controller/dialogs/tp_SeriesToAxis.cxx
19	17	chart2/source/controller/dialogs/tp_SeriesToAxis.hxx
7	0	chart2/source/controller/dialogs/tp_TitleRotation.cxx
7	7	chart2/source/controller/dialogs/tp_TitleRotation.hxx
13	0	chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.cxx
5	3	chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.hxx
1	1	chart2/source/controller/inc/dlg_ChartType.hxx
1	1	chart2/source/controller/inc/dlg_CreationWizard_UNO.hxx
1	1	chart2/source/controller/inc/dlg_DataEditor.hxx
4	4	chart2/source/controller/inc/dlg_DataSource.hxx
8	6	chart2/source/controller/inc/dlg_InsertAxis_Grid.hxx
4	4	chart2/source/controller/inc/dlg_View3D.hxx
27	27	chart2/source/controller/inc/res_ErrorBar.hxx
5	5	chart2/source/controller/inc/res_LegendPosition.hxx
14	14	chart2/source/controller/inc/res_Titles.hxx
1	1	chart2/source/controller/main/ChartController.hxx
2	3	chart2/source/controller/main/ChartWindow.cxx
1	1	chart2/source/controller/main/ChartWindow.hxx
6	6	chart2/source/controller/main/ShapeController.cxx
1	1	chart2/source/view/charttypes/GL3DBarChart.cxx
1	1	chart2/source/view/inc/GL3DBarChart.hxx
1	1	chart2/source/view/main/ChartView.cxx
155	50	compilerplugins/clang/vclwidgets.cxx
23	0	cui/source/customize/acccfg.cxx
95	20	cui/source/customize/cfg.cxx
1	0	cui/source/customize/cfgutil.cxx
1	0	cui/source/customize/eventdlg.cxx
1	1	cui/source/customize/eventdlg.hxx
12	0	cui/source/customize/macropg.cxx
8	6	cui/source/customize/macropg_impl.hxx
17	0	cui/source/customize/selector.cxx
20	0	cui/source/dialogs/SpellDialog.cxx
17	0	cui/source/dialogs/about.cxx
56	26	cui/source/dialogs/colorpicker.cxx
19	0	cui/source/dialogs/cuicharmap.cxx
29	1	cui/source/dialogs/cuifmsearch.cxx
84	2	cui/source/dialogs/cuigaldlg.cxx
72	0	cui/source/dialogs/cuigrfflt.cxx
15	0	cui/source/dialogs/cuiimapwnd.cxx
11	0	cui/source/dialogs/cuitbxform.cxx
41	0	cui/source/dialogs/dlgname.cxx
79	5	cui/source/dialogs/hangulhanjadlg.cxx
5	0	cui/source/dialogs/hldocntp.cxx
15	0	cui/source/dialogs/hldoctp.cxx
20	1	cui/source/dialogs/hlinettp.cxx
14	0	cui/source/dialogs/hlmailtp.cxx
15	0	cui/source/dialogs/hlmarkwn.cxx
9	5	cui/source/dialogs/hltpbase.cxx
18	0	cui/source/dialogs/hyphen.cxx
18	2	cui/source/dialogs/iconcdlg.cxx
45	0	cui/source/dialogs/insdlg.cxx
13	0	cui/source/dialogs/insrc.cxx
20	0	cui/source/dialogs/linkdlg.cxx
13	8	cui/source/dialogs/multipat.cxx
12	0	cui/source/dialogs/newtabledlg.cxx
9	9	cui/source/dialogs/passwdomdlg.cxx
13	0	cui/source/dialogs/pastedlg.cxx
7	0	cui/source/dialogs/postdlg.cxx
18	0	cui/source/dialogs/scriptdlg.cxx
11	0	cui/source/dialogs/showcols.cxx
14	0	cui/source/dialogs/splitcelldlg.cxx
25	0	cui/source/dialogs/srchxtra.cxx
39	0	cui/source/dialogs/thesdlg.cxx
13	0	cui/source/dialogs/zoom.cxx
29	0	cui/source/factory/cuiexp.cxx
0	2	cui/source/factory/dlgfact.cxx
2	3	cui/source/factory/dlgfact.hxx
3	1	cui/source/inc/ControlFocusHelper.hxx
20	20	cui/source/inc/SpellDialog.hxx
9	7	cui/source/inc/about.hxx
14	12	cui/source/inc/acccfg.hxx
26	26	cui/source/inc/align.hxx
62	52	cui/source/inc/autocdlg.hxx
29	29	cui/source/inc/backgrnd.hxx
34	32	cui/source/inc/border.hxx
44	33	cui/source/inc/cfg.hxx
1	1	cui/source/inc/cfgutil.hxx
95	85	cui/source/inc/chardlg.hxx
14	12	cui/source/inc/connect.hxx
12	10	cui/source/inc/cuicharmap.hxx
27	27	cui/source/inc/cuifmsearch.hxx
41	29	cui/source/inc/cuigaldlg.hxx
24	10	cui/source/inc/cuigrfflt.hxx
1	1	cui/source/inc/cuihyperdlg.hxx
7	5	cui/source/inc/cuiimapwnd.hxx
3	1	cui/source/inc/cuioptgenrl.hxx
3	1	cui/source/inc/cuisrchdlg.hxx
145	135	cui/source/inc/cuitabarea.hxx
57	53	cui/source/inc/cuitabline.hxx
3	1	cui/source/inc/cuitbxform.hxx
5	5	cui/source/inc/dbregister.hxx
17	12	cui/source/inc/dlgname.hxx
15	11	cui/source/inc/dstribut.hxx
21	21	cui/source/inc/grfpage.hxx
49	43	cui/source/inc/hangulhanjadlg.hxx
5	5	cui/source/inc/hldocntp.hxx
7	5	cui/source/inc/hldoctp.hxx
11	9	cui/source/inc/hlinettp.hxx
6	4	cui/source/inc/hlmailtp.hxx
7	5	cui/source/inc/hlmarkwn.hxx
7	7	cui/source/inc/hltpbase.hxx
10	8	cui/source/inc/hyphen.hxx
14	12	cui/source/inc/iconcdlg.hxx
29	25	cui/source/inc/insdlg.hxx
5	3	cui/source/inc/insrc.hxx
12	10	cui/source/inc/labdlg.hxx
12	10	cui/source/inc/linkdlg.hxx
19	17	cui/source/inc/measure.hxx
6	6	cui/source/inc/multipat.hxx
4	2	cui/source/inc/newtabledlg.hxx
30	30	cui/source/inc/numfmt.hxx
64	64	cui/source/inc/numpages.hxx
13	13	cui/source/inc/optasian.hxx
17	13	cui/source/inc/optdict.hxx
18	18	cui/source/inc/optlingu.hxx
4	4	cui/source/inc/optpath.hxx
29	29	cui/source/inc/page.hxx
71	59	cui/source/inc/paragrph.hxx
6	4	cui/source/inc/pastedlg.hxx
7	7	cui/source/inc/postdlg.hxx
11	9	cui/source/inc/scriptdlg.hxx
9	7	cui/source/inc/selector.hxx
4	2	cui/source/inc/showcols.hxx
6	4	cui/source/inc/splitcelldlg.hxx
10	6	cui/source/inc/srchxtra.hxx
28	26	cui/source/inc/swpossizetabpage.hxx
29	27	cui/source/inc/tabstpge.hxx
20	17	cui/source/inc/textanim.hxx
19	16	cui/source/inc/textattr.hxx
15	8	cui/source/inc/thesdlg.hxx
34	28	cui/source/inc/transfrm.hxx
5	5	cui/source/inc/treeopt.hxx
13	13	cui/source/inc/zoom.hxx
4	2	cui/source/options/certpath.cxx
4	4	cui/source/options/certpath.hxx
17	0	cui/source/options/connpooloptions.cxx
10	8	cui/source/options/connpooloptions.hxx
11	0	cui/source/options/cuisrchdlg.cxx
5	2	cui/source/options/dbregister.cxx
14	0	cui/source/options/doclinkdialog.cxx
6	4	cui/source/options/doclinkdialog.hxx
10	2	cui/source/options/fontsubs.cxx
12	12	cui/source/options/fontsubs.hxx
26	0	cui/source/options/optaboutconfig.cxx
10	6	cui/source/options/optaboutconfig.hxx
9	0	cui/source/options/optaccessibility.cxx
9	9	cui/source/options/optaccessibility.hxx
13	0	cui/source/options/optasian.cxx
16	0	cui/source/options/optbasic.cxx
8	6	cui/source/options/optbasic.hxx
5	0	cui/source/options/optchart.cxx
5	5	cui/source/options/optchart.hxx
29	32	cui/source/options/optcolor.cxx
4	4	cui/source/options/optcolor.hxx
16	0	cui/source/options/optctl.cxx
8	6	cui/source/options/optctl.hxx
31	0	cui/source/options/optdict.cxx
21	2	cui/source/options/optfltr.cxx
12	10	cui/source/options/optfltr.hxx
54	0	cui/source/options/optgdlg.cxx
47	45	cui/source/options/optgdlg.hxx
12	2	cui/source/options/optgenrl.cxx
26	0	cui/source/options/opthtml.cxx
18	16	cui/source/options/opthtml.hxx
45	4	cui/source/options/optinet2.cxx
37	35	cui/source/options/optinet2.hxx
29	6	cui/source/options/optjava.cxx
23	21	cui/source/options/optjava.hxx
28	0	cui/source/options/optjsearch.cxx
22	20	cui/source/options/optjsearch.hxx
31	4	cui/source/options/optlingu.cxx
17	0	cui/source/options/optmemory.cxx
9	7	cui/source/options/optmemory.hxx
44	5	cui/source/options/optopencl.cxx
21	20	cui/source/options/optopencl.hxx
4	2	cui/source/options/optpath.cxx
17	0	cui/source/options/optsave.cxx
19	19	cui/source/options/optsave.hxx
19	0	cui/source/options/optupdt.cxx
12	10	cui/source/options/optupdt.hxx
39	0	cui/source/options/personalization.cxx
20	16	cui/source/options/personalization.hxx
18	0	cui/source/options/securityoptions.cxx
10	8	cui/source/options/securityoptions.hxx
11	10	cui/source/options/treeopt.cxx
4	2	cui/source/options/webconninfo.cxx
4	4	cui/source/options/webconninfo.hxx
24	0	cui/source/tabpages/align.cxx
106	7	cui/source/tabpages/autocdlg.cxx
27	0	cui/source/tabpages/backgrnd.cxx
34	0	cui/source/tabpages/border.cxx
115	1	cui/source/tabpages/chardlg.cxx
22	0	cui/source/tabpages/connect.cxx
32	0	cui/source/tabpages/dstribut.cxx
18	0	cui/source/tabpages/grfpage.cxx
20	0	cui/source/tabpages/labdlg.cxx
10	10	cui/source/tabpages/macroass.cxx
25	0	cui/source/tabpages/measure.cxx
25	1	cui/source/tabpages/numfmt.cxx
60	1	cui/source/tabpages/numpages.cxx
29	0	cui/source/tabpages/page.cxx
99	0	cui/source/tabpages/paragrph.cxx
37	0	cui/source/tabpages/swpossizetabpage.cxx
34	1	cui/source/tabpages/tabstpge.cxx
26	0	cui/source/tabpages/textanim.cxx
24	0	cui/source/tabpages/textattr.cxx
72	0	cui/source/tabpages/tparea.cxx
14	1	cui/source/tabpages/tpbitmap.cxx
28	4	cui/source/tabpages/tpcolor.cxx
28	0	cui/source/tabpages/tpgradnt.cxx
21	0	cui/source/tabpages/tphatch.cxx
29	0	cui/source/tabpages/tpline.cxx
25	0	cui/source/tabpages/tplnedef.cxx
18	0	cui/source/tabpages/tplneend.cxx
17	0	cui/source/tabpages/tpshadow.cxx
58	0	cui/source/tabpages/transfrm.cxx
42	0	dbaccess/source/ext/macromigration/macromigrationpages.cxx
20	14	dbaccess/source/ext/macromigration/macromigrationpages.hxx
1	1	dbaccess/source/ext/macromigration/rangeprogressbar.hxx
0	1	dbaccess/source/ui/app/AppDetailPageHelper.cxx
2	1	dbaccess/source/ui/app/AppDetailView.cxx
2	2	dbaccess/source/ui/app/AppDetailView.hxx
1	1	dbaccess/source/ui/app/AppTitleWindow.cxx
1	1	dbaccess/source/ui/app/AppTitleWindow.hxx
4	10	dbaccess/source/ui/app/AppView.cxx
4	4	dbaccess/source/ui/app/AppView.hxx
1	0	dbaccess/source/ui/app/subcomponentmanager.cxx
7	16	dbaccess/source/ui/browser/brwview.cxx
1	2	dbaccess/source/ui/browser/dbtreeview.cxx
1	1	dbaccess/source/ui/browser/dbtreeview.hxx
10	0	dbaccess/source/ui/browser/genericcontroller.cxx
68	41	dbaccess/source/ui/control/FieldDescControl.cxx
2	2	dbaccess/source/ui/control/TableGrantCtrl.cxx
3	1	dbaccess/source/ui/control/VertSplitView.cxx
3	3	dbaccess/source/ui/control/curledit.cxx
1	0	dbaccess/source/ui/control/sqledit.cxx
16	0	dbaccess/source/ui/dlg/CollectionView.cxx
4	8	dbaccess/source/ui/dlg/ConnectionHelper.cxx
4	5	dbaccess/source/ui/dlg/ConnectionHelper.hxx
19	0	dbaccess/source/ui/dlg/ConnectionPage.cxx
13	11	dbaccess/source/ui/dlg/ConnectionPage.hxx
12	0	dbaccess/source/ui/dlg/ConnectionPageSetup.cxx
4	2	dbaccess/source/ui/dlg/ConnectionPageSetup.hxx
113	1	dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx
61	48	dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx
2	1	dbaccess/source/ui/dlg/DbAdminImpl.hxx
13	0	dbaccess/source/ui/dlg/QueryPropertiesDialog.cxx
20	0	dbaccess/source/ui/dlg/RelationDlg.cxx
30	1	dbaccess/source/ui/dlg/TextConnectionHelper.cxx
21	19	dbaccess/source/ui/dlg/TextConnectionHelper.hxx
19	5	dbaccess/source/ui/dlg/UserAdmin.cxx
4	4	dbaccess/source/ui/dlg/UserAdmin.hxx
22	0	dbaccess/source/ui/dlg/admincontrols.cxx
14	13	dbaccess/source/ui/dlg/admincontrols.hxx
1	1	dbaccess/source/ui/dlg/adminpages.hxx
6	0	dbaccess/source/ui/dlg/adtabdlg.cxx
57	31	dbaccess/source/ui/dlg/advancedsettings.cxx
28	28	dbaccess/source/ui/dlg/advancedsettings.hxx
19	0	dbaccess/source/ui/dlg/dbfindex.cxx
11	9	dbaccess/source/ui/dlg/dbfindex.hxx
7	4	dbaccess/source/ui/dlg/dbwizsetup.cxx
86	16	dbaccess/source/ui/dlg/detailpages.cxx
45	35	dbaccess/source/ui/dlg/detailpages.hxx
7	0	dbaccess/source/ui/dlg/directsql.cxx
8	8	dbaccess/source/ui/dlg/dlgsave.cxx
13	0	dbaccess/source/ui/dlg/dlgsize.cxx
14	0	dbaccess/source/ui/dlg/dsselect.cxx
6	5	dbaccess/source/ui/dlg/dsselect.hxx
30	0	dbaccess/source/ui/dlg/generalpage.cxx
15	11	dbaccess/source/ui/dlg/generalpage.hxx
9	0	dbaccess/source/ui/dlg/indexdialog.cxx
2	2	dbaccess/source/ui/dlg/indexfieldscontrol.cxx
5	0	dbaccess/source/ui/dlg/paramdialog.cxx
21	0	dbaccess/source/ui/dlg/queryfilter.cxx
18	0	dbaccess/source/ui/dlg/queryorder.cxx
9	2	dbaccess/source/ui/dlg/sqlmessage.cxx
3	0	dbaccess/source/ui/dlg/tablespage.cxx
3	3	dbaccess/source/ui/dlg/tablespage.hxx
11	0	dbaccess/source/ui/dlg/textconnectionsettings.cxx
8	7	dbaccess/source/ui/inc/CollectionView.hxx
2	1	dbaccess/source/ui/inc/ConnectionLine.hxx
2	1	dbaccess/source/ui/inc/ConnectionLineAccess.hxx
35	35	dbaccess/source/ui/inc/FieldDescControl.hxx
2	1	dbaccess/source/ui/inc/JAccess.hxx
1	1	dbaccess/source/ui/inc/JoinController.hxx
2	2	dbaccess/source/ui/inc/JoinDesignView.hxx
13	13	dbaccess/source/ui/inc/JoinTableView.hxx
1	1	dbaccess/source/ui/inc/QueryDesignView.hxx
5	4	dbaccess/source/ui/inc/QueryPropertiesDialog.hxx
1	1	dbaccess/source/ui/inc/QueryTextView.hxx
2	2	dbaccess/source/ui/inc/QueryViewSwitch.hxx
3	3	dbaccess/source/ui/inc/RelationControl.hxx
11	9	dbaccess/source/ui/inc/RelationDlg.hxx
1	1	dbaccess/source/ui/inc/RelationTableView.hxx
1	1	dbaccess/source/ui/inc/TableConnection.hxx
1	1	dbaccess/source/ui/inc/TableDesignHelpBar.hxx
3	3	dbaccess/source/ui/inc/TableDesignView.hxx
2	1	dbaccess/source/ui/inc/TableFieldDescription.hxx
2	2	dbaccess/source/ui/inc/TableGrantCtrl.hxx
1	1	dbaccess/source/ui/inc/TableWindow.hxx
2	1	dbaccess/source/ui/inc/TableWindowAccess.hxx
2	2	dbaccess/source/ui/inc/TableWindowListBox.hxx
1	1	dbaccess/source/ui/inc/TableWindowTitle.hxx
1	1	dbaccess/source/ui/inc/TokenWriter.hxx
3	3	dbaccess/source/ui/inc/VertSplitView.hxx
13	11	dbaccess/source/ui/inc/WCPage.hxx
6	6	dbaccess/source/ui/inc/WColumnSelect.hxx
5	5	dbaccess/source/ui/inc/WCopyTable.hxx
12	11	dbaccess/source/ui/inc/WNameMatch.hxx
3	1	dbaccess/source/ui/inc/WTabPage.hxx
13	9	dbaccess/source/ui/inc/WTypeSelect.hxx
6	6	dbaccess/source/ui/inc/adtabdlg.hxx
5	5	dbaccess/source/ui/inc/brwview.hxx
1	1	dbaccess/source/ui/inc/curledit.hxx
4	3	dbaccess/source/ui/inc/datasourceconnector.hxx
3	3	dbaccess/source/ui/inc/dbwizsetup.hxx
7	7	dbaccess/source/ui/inc/directsql.hxx
4	2	dbaccess/source/ui/inc/dlgsize.hxx
9	9	dbaccess/source/ui/inc/indexdialog.hxx
2	2	dbaccess/source/ui/inc/indexfieldscontrol.hxx
2	1	dbaccess/source/ui/inc/linkeddocuments.hxx
5	5	dbaccess/source/ui/inc/paramdialog.hxx
2	2	dbaccess/source/ui/inc/querycontainerwindow.hxx
13	11	dbaccess/source/ui/inc/queryfilter.hxx
10	8	dbaccess/source/ui/inc/queryorder.hxx
1	1	dbaccess/source/ui/inc/sqledit.hxx
3	1	dbaccess/source/ui/inc/textconnectionsettings.hxx
2	1	dbaccess/source/ui/inc/undosqledit.hxx
5	5	dbaccess/source/ui/inc/unodatbr.hxx
1	1	dbaccess/source/ui/misc/ToolBoxHelper.cxx
23	0	dbaccess/source/ui/misc/WCPage.cxx
17	0	dbaccess/source/ui/misc/WColumnSelect.cxx
5	5	dbaccess/source/ui/misc/WCopyTable.cxx
20	0	dbaccess/source/ui/misc/WNameMatch.cxx
41	13	dbaccess/source/ui/misc/WTypeSelect.cxx
1	0	dbaccess/source/ui/misc/singledoccontroller.cxx
5	4	dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx
1	1	dbaccess/source/ui/querydesign/JoinController.cxx
2	4	dbaccess/source/ui/querydesign/JoinDesignView.cxx
25	25	dbaccess/source/ui/querydesign/JoinTableView.cxx
1	1	dbaccess/source/ui/querydesign/QTableWindow.cxx
1	1	dbaccess/source/ui/querydesign/QueryDesignFieldUndoAct.hxx
2	1	dbaccess/source/ui/querydesign/QueryDesignUndoAction.hxx
29	30	dbaccess/source/ui/querydesign/QueryDesignView.cxx
1	1	dbaccess/source/ui/querydesign/QueryMoveTabWinUndoAct.hxx
1	1	dbaccess/source/ui/querydesign/QuerySizeTabWinUndoAct.hxx
9	9	dbaccess/source/ui/querydesign/QueryTabConnUndoAction.cxx
1	1	dbaccess/source/ui/querydesign/QueryTabConnUndoAction.hxx
3	5	dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx
3	3	dbaccess/source/ui/querydesign/QueryTabWinUndoAct.hxx
24	30	dbaccess/source/ui/querydesign/QueryTableView.cxx
1	2	dbaccess/source/ui/querydesign/QueryTextView.cxx
12	10	dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
6	6	dbaccess/source/ui/querydesign/SelectionBrowseBox.hxx
1	1	dbaccess/source/ui/querydesign/TableConnection.cxx
1	0	dbaccess/source/ui/querydesign/TableFieldDescription.cxx
2	3	dbaccess/source/ui/querydesign/TableWindow.cxx
4	4	dbaccess/source/ui/querydesign/TableWindowAccess.cxx
1	1	dbaccess/source/ui/querydesign/TableWindowListBox.cxx
3	5	dbaccess/source/ui/querydesign/TableWindowTitle.cxx
1	2	dbaccess/source/ui/querydesign/limitboxcontroller.cxx
2	1	dbaccess/source/ui/querydesign/limitboxcontroller.hxx
2	3	dbaccess/source/ui/querydesign/querycontainerwindow.cxx
5	0	dbaccess/source/ui/querydesign/querydlg.cxx
5	5	dbaccess/source/ui/querydesign/querydlg.hxx
3	2	dbaccess/source/ui/relationdesign/RelationTableView.cxx
1	2	dbaccess/source/ui/tabledesign/FieldDescGenWin.cxx
1	1	dbaccess/source/ui/tabledesign/FieldDescGenWin.hxx
5	4	dbaccess/source/ui/tabledesign/TEditControl.cxx
6	6	dbaccess/source/ui/tabledesign/TEditControl.hxx
1	2	dbaccess/source/ui/tabledesign/TableDesignHelpBar.cxx
3	14	dbaccess/source/ui/tabledesign/TableDesignView.cxx
3	12	dbaccess/source/ui/tabledesign/TableFieldDescWin.cxx
3	3	dbaccess/source/ui/tabledesign/TableFieldDescWin.hxx
4	3	dbaccess/source/ui/tabledesign/TableUndo.hxx
1	1	dbaccess/source/ui/uno/DBTypeWizDlgSetup.cxx
3	3	dbaccess/source/ui/uno/composerdialogs.cxx
1	1	dbaccess/source/ui/uno/copytablewizard.cxx
4	4	desktop/source/app/cmdlinehelp.hxx
10	0	desktop/source/deployment/gui/dp_gui_dependencydialog.cxx
3	1	desktop/source/deployment/gui/dp_gui_dependencydialog.hxx
36	7	desktop/source/deployment/gui/dp_gui_dialog2.cxx
22	20	desktop/source/deployment/gui/dp_gui_dialog2.hxx
3	11	desktop/source/deployment/gui/dp_gui_extlistbox.cxx
3	3	desktop/source/deployment/gui/dp_gui_extlistbox.hxx
5	12	desktop/source/deployment/gui/dp_gui_theextmgr.cxx
3	3	desktop/source/deployment/gui/dp_gui_theextmgr.hxx
15	1	desktop/source/deployment/gui/dp_gui_updatedialog.cxx
15	15	desktop/source/deployment/gui/dp_gui_updatedialog.hxx
7	0	desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx
7	7	desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx
22	7	desktop/source/deployment/gui/license_dialog.cxx
2	1	editeng/source/editeng/impedit.hxx
2	1	editeng/source/editeng/textconv.hxx
1	1	editeng/source/misc/hangulhanja.cxx
2	2	editeng/source/misc/splwrap.cxx
6	0	extensions/source/abpilot/abpfinalpage.cxx
7	6	extensions/source/abpilot/abpfinalpage.hxx
2	1	extensions/source/abpilot/admininvokationimpl.hxx
10	1	extensions/source/abpilot/admininvokationpage.cxx
4	3	extensions/source/abpilot/admininvokationpage.hxx
12	0	extensions/source/abpilot/fieldmappingpage.cxx
5	3	extensions/source/abpilot/fieldmappingpage.hxx
10	0	extensions/source/abpilot/tableselectionpage.cxx
4	2	extensions/source/abpilot/tableselectionpage.hxx
11	0	extensions/source/abpilot/typeselectionpage.cxx
13	12	extensions/source/abpilot/typeselectionpage.hxx
1	1	extensions/source/abpilot/unodialogabp.cxx
4	3	extensions/source/bibliography/bibbeam.cxx
2	2	extensions/source/bibliography/bibbeam.hxx
5	2	extensions/source/bibliography/bibcont.cxx
2	2	extensions/source/bibliography/bibcont.hxx
1	0	extensions/source/bibliography/bibmod.cxx
1	1	extensions/source/bibliography/bibshortcuthandler.hxx
18	9	extensions/source/bibliography/bibview.cxx
23	11	extensions/source/bibliography/bibview.hxx
85	35	extensions/source/bibliography/datman.cxx
3	2	extensions/source/bibliography/datman.hxx
1	0	extensions/source/bibliography/framectr.cxx
55	7	extensions/source/bibliography/general.cxx
57	41	extensions/source/bibliography/general.hxx
1	0	extensions/source/bibliography/toolbar.cxx
2	2	extensions/source/bibliography/toolbar.hxx
39	0	extensions/source/dbpilots/commonpagesdbp.cxx
17	11	extensions/source/dbpilots/commonpagesdbp.hxx
12	0	extensions/source/dbpilots/controlwizard.cxx
7	6	extensions/source/dbpilots/controlwizard.hxx
15	0	extensions/source/dbpilots/gridwizard.cxx
8	6	extensions/source/dbpilots/gridwizard.hxx
48	2	extensions/source/dbpilots/groupboxwiz.cxx
18	10	extensions/source/dbpilots/groupboxwiz.hxx
33	0	extensions/source/dbpilots/listcombowizard.cxx
12	6	extensions/source/dbpilots/listcombowizard.hxx
7	6	extensions/source/plugin/inc/plugin/plctrl.hxx
3	4	extensions/source/propctrlr/browserline.cxx
4	4	extensions/source/propctrlr/browserline.hxx
2	2	extensions/source/propctrlr/browserview.cxx
1	1	extensions/source/propctrlr/browserview.hxx
2	7	extensions/source/propctrlr/commoncontrol.cxx
1	1	extensions/source/propctrlr/commoncontrol.hxx
1	1	extensions/source/propctrlr/controlfontdialog.cxx
25	2	extensions/source/propctrlr/formlinkdialog.cxx
6	5	extensions/source/propctrlr/formlinkdialog.hxx
11	0	extensions/source/propctrlr/listselectiondlg.cxx
3	1	extensions/source/propctrlr/listselectiondlg.hxx
11	0	extensions/source/propctrlr/newdatatype.cxx
4	2	extensions/source/propctrlr/newdatatype.hxx
1	0	extensions/source/propctrlr/propcontroller.cxx
2	2	extensions/source/propctrlr/propcontroller.hxx
1	5	extensions/source/propctrlr/propertyeditor.cxx
1	1	extensions/source/propctrlr/propertyeditor.hxx
3	0	extensions/source/propctrlr/selectlabeldialog.cxx
3	3	extensions/source/propctrlr/selectlabeldialog.hxx
5	11	extensions/source/propctrlr/standardcontrol.cxx
2	2	extensions/source/propctrlr/standardcontrol.hxx
5	0	extensions/source/propctrlr/taborder.cxx
5	5	extensions/source/propctrlr/taborder.hxx
14	0	extensions/source/scanner/grid.cxx
6	5	extensions/source/scanner/grid.hxx
31	1	extensions/source/scanner/sanedlg.cxx
24	24	extensions/source/scanner/sanedlg.hxx
13	0	filter/source/flash/impswfdialog.cxx
9	8	filter/source/flash/impswfdialog.hxx
1	1	filter/source/flash/swfdialog.cxx
122	2	filter/source/pdf/impdialog.cxx
99	93	filter/source/pdf/impdialog.hxx
1	1	filter/source/pdf/pdfdialog.cxx
2	2	filter/source/pdf/pdffilter.cxx
1	1	filter/source/svg/svgdialog.cxx
3	7	filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
29	2	filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
17	13	filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
4	2	filter/source/xsltdialog/xmlfiltertabdialog.cxx
4	4	filter/source/xsltdialog/xmlfiltertabdialog.hxx
12	0	filter/source/xsltdialog/xmlfiltertabpagebasic.cxx
6	5	filter/source/xsltdialog/xmlfiltertabpagebasic.hxx
14	0	filter/source/xsltdialog/xmlfiltertabpagexslt.cxx
9	8	filter/source/xsltdialog/xmlfiltertabpagexslt.hxx
15	1	filter/source/xsltdialog/xmlfiltertestdialog.cxx
15	15	filter/source/xsltdialog/xmlfiltertestdialog.hxx
8	11	forms/source/richtext/richtextimplcontrol.cxx
7	7	forms/source/richtext/richtextimplcontrol.hxx
2	8	forms/source/solar/control/navtoolbar.cxx
2	2	forms/source/solar/inc/navtoolbar.hxx
10	8	formula/source/ui/dlg/ControlHelper.hxx
33	33	formula/source/ui/dlg/formula.cxx
12	0	formula/source/ui/dlg/funcpage.cxx
4	2	formula/source/ui/dlg/funcpage.hxx
39	16	formula/source/ui/dlg/funcutl.cxx
20	0	formula/source/ui/dlg/parawin.cxx
25	25	formula/source/ui/dlg/parawin.hxx
11	0	formula/source/ui/dlg/structpg.cxx
3	1	formula/source/ui/dlg/structpg.hxx
1	1	fpicker/source/office/OfficeControlAccess.hxx
6	8	fpicker/source/office/PlacesListBox.cxx
6	6	fpicker/source/office/PlacesListBox.hxx
5	3	fpicker/source/office/QueryFolderName.hxx
3	2	fpicker/source/office/asyncfilepicker.hxx
3	7	fpicker/source/office/commonpicker.cxx
2	1	fpicker/source/office/commonpicker.hxx
34	9	fpicker/source/office/iodlg.cxx
11	11	fpicker/source/office/iodlg.hxx
3	2	fpicker/source/office/iodlgimp.cxx
25	27	fpicker/source/office/iodlgimp.hxx
2	4	framework/inc/classes/fwktabwindow.hxx
2	1	framework/inc/dispatch/closedispatcher.hxx
1	1	framework/inc/helper/vclstatusindicator.hxx
4	3	framework/inc/uielement/buttontoolbarcontroller.hxx
1	1	framework/inc/uielement/comboboxtoolbarcontroller.hxx
3	2	framework/inc/uielement/complextoolbarcontroller.hxx
2	1	framework/inc/uielement/dropdownboxtoolbarcontroller.hxx
1	1	framework/inc/uielement/edittoolbarcontroller.hxx
6	5	framework/inc/uielement/generictoolbarcontroller.hxx
2	1	framework/inc/uielement/spinfieldtoolbarcontroller.hxx
2	1	framework/inc/uielement/statusbaritem.hxx
6	5	framework/inc/uielement/statusbarmanager.hxx
1	1	framework/inc/uielement/toolbarmanager.hxx
1	1	framework/inc/uielement/toolbarmerger.hxx
1	2	framework/source/helper/vclstatusindicator.cxx
4	4	framework/source/services/tabwindowservice.cxx
1	1	framework/source/uielement/buttontoolbarcontroller.cxx
1	3	framework/source/uielement/comboboxtoolbarcontroller.cxx
1	1	framework/source/uielement/complextoolbarcontroller.cxx
1	3	framework/source/uielement/dropdownboxtoolbarcontroller.cxx
1	3	framework/source/uielement/edittoolbarcontroller.cxx
1	1	framework/source/uielement/generictoolbarcontroller.cxx
1	3	framework/source/uielement/spinfieldtoolbarcontroller.cxx
25	26	framework/source/uielement/statusbarmanager.cxx
4	4	framework/source/uielement/toolbarmanager.cxx
2	1	include/dbaccess/ToolBoxHelper.hxx
4	3	include/dbaccess/genericcontroller.hxx
2	1	include/editeng/splwrap.hxx
4	2	include/formula/funcutl.hxx
6	10	include/sfx2/basedlgs.hxx
5	3	include/sfx2/checkin.hxx
4	4	include/sfx2/childwin.hxx
46	40	include/sfx2/dinfdlg.hxx
2	3	include/sfx2/fcontnr.hxx
2	1	include/sfx2/frame.hxx
8	9	include/sfx2/infobar.hxx
1	1	include/sfx2/ipclient.hxx
12	12	include/sfx2/mgetempl.hxx
2	2	include/sfx2/newstyle.hxx
16	14	include/sfx2/passwd.hxx
22	21	include/sfx2/printopt.hxx
1	1	include/sfx2/prnmon.hxx
2	1	include/sfx2/sidebar/SidebarPanelBase.hxx
3	3	include/sfx2/stbitem.hxx
10	10	include/sfx2/tabdlg.hxx
10	10	include/sfx2/templatedlg.hxx
4	4	include/sfx2/templateinfodlg.hxx
1	1	include/sfx2/thumbnailview.hxx
1	1	include/sfx2/thumbnailviewitem.hxx
2	1	include/sfx2/viewsh.hxx
5	4	include/svtools/GraphicExportOptionsDialog.hxx
7	6	include/svtools/PlaceEditDialog.hxx
13	13	include/svtools/ServerDetailsControls.hxx
2	1	include/svtools/accessibleruler.hxx
4	4	include/svtools/addresstemplate.hxx
8	8	include/svtools/brwbox.hxx
4	1	include/svtools/brwhead.hxx
4	4	include/svtools/calendar.hxx
4	4	include/svtools/colrdlg.hxx
5	5	include/svtools/editbrowsebox.hxx
3	1	include/svtools/fileview.hxx
2	2	include/svtools/generictoolboxcontroller.hxx
2	1	include/svtools/genericunodialog.hxx
7	7	include/svtools/prnsetup.hxx
3	1	include/svtools/simptabl.hxx
2	0	include/svtools/tabbar.hxx
2	2	include/svtools/treelistbox.hxx
6	7	include/svtools/wizardmachine.hxx
5	5	include/svtools/wizdlg.hxx
2	1	include/svx/AccessibleShapeTreeInfo.hxx
25	25	include/svx/bmpmask.hxx
18	16	include/svx/compressgraphicdialog.hxx
4	2	include/svx/contdlg.hxx
29	27	include/svx/ctredlin.hxx
1	1	include/svx/dialcontrol.hxx
5	5	include/svx/fillctrl.hxx
1	1	include/svx/fmshell.hxx
7	3	include/svx/fontworkgallery.hxx
16	16	include/svx/hdft.hxx
9	9	include/svx/imapdlg.hxx
1	1	include/svx/lboxctrl.hxx
1	1	include/svx/linkwarn.hxx
21	19	include/svx/optgrid.hxx
8	6	include/svx/passwd.hxx
24	22	include/svx/rubydialog.hxx
1	1	include/svx/ruler.hxx
2	1	include/svx/sidebar/Popup.hxx
50	50	include/svx/srchdlg.hxx
2	2	include/svx/svdedxv.hxx
2	2	include/svx/svdpntv.hxx
4	3	include/svx/tbxcolorupdate.hxx
3	2	include/tools/errinf.hxx
9	11	include/vcl/builder.hxx
2	2	include/vcl/button.hxx
3	3	include/vcl/combobox.hxx
2	2	include/vcl/controllayout.hxx
2	1	include/vcl/cursor.hxx
1	1	include/vcl/dialog.hxx
7	7	include/vcl/dockwin.hxx
2	1	include/vcl/event.hxx
1	1	include/vcl/field.hxx
1	1	include/vcl/fixed.hxx
2	2	include/vcl/floatwin.hxx
1	1	include/vcl/fltcall.hxx
17	13	include/vcl/layout.hxx
4	4	include/vcl/lstbox.hxx
1	1	include/vcl/menu.hxx
8	8	include/vcl/msgbox.hxx
4	4	include/vcl/opengl/OpenGLContext.hxx
1	1	include/vcl/seleng.hxx
1	1	include/vcl/split.hxx
1	1	include/vcl/syswin.hxx
2	2	include/vcl/tabdlg.hxx
1	1	include/vcl/tabpage.hxx
1	1	include/vcl/taskpanelist.hxx
2	2	include/vcl/toolbox.hxx
4	3	include/vcl/vclevent.hxx
39	1	include/vcl/vclptr.hxx
1	1	include/vcl/waitobj.hxx
2	2	include/vcl/window.hxx
8	1	reportdesign/source/ui/dlg/AddField.cxx
9	0	reportdesign/source/ui/dlg/CondFormat.cxx
14	3	reportdesign/source/ui/dlg/Condition.cxx
16	16	reportdesign/source/ui/dlg/Condition.hxx
13	0	reportdesign/source/ui/dlg/DateTime.cxx
2	0	reportdesign/source/ui/dlg/Formula.cxx
58	17	reportdesign/source/ui/dlg/GroupsSorting.cxx
1	1	reportdesign/source/ui/dlg/Navigator.cxx
12	0	reportdesign/source/ui/dlg/PageNumber.cxx
6	6	reportdesign/source/ui/inc/CondFormat.hxx
8	7	reportdesign/source/ui/inc/DateTime.hxx
4	4	reportdesign/source/ui/inc/DesignView.hxx
3	3	reportdesign/source/ui/inc/Formula.hxx
10	10	reportdesign/source/ui/inc/GroupsSorting.hxx
7	6	reportdesign/source/ui/inc/PageNumber.hxx
1	1	reportdesign/source/ui/inc/ReportController.hxx
1	1	reportdesign/source/ui/inc/ReportSection.hxx
4	4	reportdesign/source/ui/inc/ReportWindow.hxx
1	1	reportdesign/source/ui/inc/ScrollHelper.hxx
2	2	reportdesign/source/ui/inc/SectionView.hxx
1	1	reportdesign/source/ui/inc/SectionWindow.hxx
1	1	reportdesign/source/ui/inc/StartMarker.hxx
6	6	reportdesign/source/ui/inc/ViewsWindow.hxx
1	1	reportdesign/source/ui/inc/dlgedfunc.hxx
1	1	reportdesign/source/ui/inc/propbrw.hxx
9	3	reportdesign/source/ui/report/DesignView.cxx
1	0	reportdesign/source/ui/report/ReportSection.cxx
2	0	reportdesign/source/ui/report/ReportWindow.cxx
1	0	reportdesign/source/ui/report/ScrollHelper.cxx
1	0	reportdesign/source/ui/report/SectionWindow.cxx
1	0	reportdesign/source/ui/report/StartMarker.cxx
1	0	reportdesign/source/ui/report/ViewsWindow.cxx
1	0	reportdesign/source/ui/report/propbrw.cxx
2	1	sc/inc/AccessibleFilterMenu.hxx
2	1	sc/inc/AccessibleFilterMenuItem.hxx
2	2	sc/inc/scmod.hxx
2	1	sc/inc/scopetools.hxx
1	1	sc/inc/waitoff.hxx
12	12	sc/source/ui/Accessibility/AccessibleText.cxx
12	1	sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx
9	1	sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx
9	1	sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx
25	3	sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx
22	3	sc/source/ui/StatisticsDialogs/SamplingDialog.cxx
18	1	sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx
22	2	sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx
5	0	sc/source/ui/app/inputhdl.cxx
7	7	sc/source/ui/app/scmod.cxx
2	4	sc/source/ui/attrdlg/scdlgfact.hxx
30	0	sc/source/ui/attrdlg/scuiexp.cxx
14	0	sc/source/ui/attrdlg/tabpages.cxx
18	0	sc/source/ui/cctrl/checklistmenu.cxx
23	0	sc/source/ui/condformat/colorformat.cxx
24	0	sc/source/ui/condformat/condformatdlg.cxx
4	1	sc/source/ui/condformat/condformatmgr.cxx
37	3	sc/source/ui/dbgui/PivotLayoutDialog.cxx
10	2	sc/source/ui/dbgui/PivotLayoutTreeListBase.cxx
1	1	sc/source/ui/dbgui/PivotLayoutTreeListLabel.cxx
17	0	sc/source/ui/dbgui/consdlg.cxx
13	0	sc/source/ui/dbgui/dapidata.cxx
23	0	sc/source/ui/dbgui/dapitype.cxx
15	0	sc/source/ui/dbgui/dbnamdlg.cxx
39	0	sc/source/ui/dbgui/dpgroupdlg.cxx
32	0	sc/source/ui/dbgui/filtdlg.cxx
18	0	sc/source/ui/dbgui/pfiltdlg.cxx
78	0	sc/source/ui/dbgui/pvfundlg.cxx
18	0	sc/source/ui/dbgui/scendlg.cxx
22	0	sc/source/ui/dbgui/scuiasciiopt.cxx
12	0	sc/source/ui/dbgui/scuiimoptdlg.cxx
19	0	sc/source/ui/dbgui/sfiltdlg.cxx
13	0	sc/source/ui/dbgui/sortdlg.cxx
11	0	sc/source/ui/dbgui/subtdlg.cxx
12	0	sc/source/ui/dbgui/textimportoptions.cxx
26	4	sc/source/ui/dbgui/tpsort.cxx
18	0	sc/source/ui/dbgui/tpsubt.cxx
59	0	sc/source/ui/dbgui/validate.cxx
1	1	sc/source/ui/dialogs/searchresults.cxx
3	3	sc/source/ui/docshell/tablink.cxx
10	0	sc/source/ui/docshell/tpstat.cxx
0	2	sc/source/ui/drawfunc/fupoor.cxx
1	0	sc/source/ui/formdlg/dwfunctr.cxx
2	1	sc/source/ui/inc/AccessibleCsvControl.hxx
1	1	sc/source/ui/inc/AccessibleEditObject.hxx
2	2	sc/source/ui/inc/AccessibleText.hxx
5	4	sc/source/ui/inc/AnalysisOfVarianceDialog.hxx
2	1	sc/source/ui/inc/ExponentialSmoothingDialog.hxx
2	1	sc/source/ui/inc/MovingAverageDialog.hxx
28	27	sc/source/ui/inc/PivotLayoutDialog.hxx
2	1	sc/source/ui/inc/PivotLayoutTreeListBase.hxx
16	15	sc/source/ui/inc/RandomNumberGeneratorDialog.hxx
15	14	sc/source/ui/inc/SamplingDialog.hxx
11	10	sc/source/ui/inc/StatisticsInputOutputDialog.hxx
14	13	sc/source/ui/inc/StatisticsTwoVariableDialog.hxx
4	4	sc/source/ui/inc/acredlin.hxx
9	9	sc/source/ui/inc/anyrefdg.hxx
12	12	sc/source/ui/inc/areasdlg.hxx
8	5	sc/source/ui/inc/checklistmenu.hxx
15	14	sc/source/ui/inc/colorformat.hxx
11	8	sc/source/ui/inc/condformatdlg.hxx
4	4	sc/source/ui/inc/condformatmgr.hxx
6	5	sc/source/ui/inc/conflictsdlg.hxx
17	17	sc/source/ui/inc/consdlg.hxx
2	1	sc/source/ui/inc/content.hxx
9	2	sc/source/ui/inc/corodlg.hxx
6	4	sc/source/ui/inc/crdlg.hxx
13	12	sc/source/ui/inc/crnrdlg.hxx
5	3	sc/source/ui/inc/dapidata.hxx
12	11	sc/source/ui/inc/dapitype.hxx
10	9	sc/source/ui/inc/datafdlg.hxx
19	17	sc/source/ui/inc/datastreamdlg.hxx
18	18	sc/source/ui/inc/dbnamdlg.hxx
6	4	sc/source/ui/inc/delcldlg.hxx
10	9	sc/source/ui/inc/delcodlg.hxx
28	27	sc/source/ui/inc/dpgroupdlg.hxx
1	1	sc/source/ui/inc/dwfunctr.hxx
21	20	sc/source/ui/inc/filldlg.hxx
60	60	sc/source/ui/inc/filtdlg.hxx
12	12	sc/source/ui/inc/foptmgr.hxx
2	2	sc/source/ui/inc/fupoor.hxx
2	2	sc/source/ui/inc/gridwin.hxx
3	3	sc/source/ui/inc/groupdlg.hxx
8	8	sc/source/ui/inc/highred.hxx
5	4	sc/source/ui/inc/inputhdl.hxx
5	4	sc/source/ui/inc/inscldlg.hxx
26	26	sc/source/ui/inc/inscodlg.hxx
13	13	sc/source/ui/inc/instbdlg.hxx
3	1	sc/source/ui/inc/lbseldlg.hxx
8	7	sc/source/ui/inc/linkarea.hxx
4	2	sc/source/ui/inc/mtrindlg.hxx
8	7	sc/source/ui/inc/mvtabdlg.hxx
6	5	sc/source/ui/inc/namecrea.hxx
13	12	sc/source/ui/inc/namedefdlg.hxx
14	14	sc/source/ui/inc/namedlg.hxx
4	4	sc/source/ui/inc/namepast.hxx
1	1	sc/source/ui/inc/navipi.hxx
4	4	sc/source/ui/inc/notemark.hxx
5	5	sc/source/ui/inc/opredlin.hxx
67	60	sc/source/ui/inc/optsolver.hxx
21	21	sc/source/ui/inc/pfiltdlg.hxx
5	5	sc/source/ui/inc/prevwsh.hxx
8	7	sc/source/ui/inc/protectiondlg.hxx
46	42	sc/source/ui/inc/pvfundlg.hxx
1	1	sc/source/ui/inc/reffact.hxx
14	12	sc/source/ui/inc/retypepassdlg.hxx
10	9	sc/source/ui/inc/scendlg.hxx
22	22	sc/source/ui/inc/scuiasciiopt.hxx
15	13	sc/source/ui/inc/scuiautofmt.hxx
12	12	sc/source/ui/inc/scuiimoptdlg.hxx
22	21	sc/source/ui/inc/scuitphfedit.hxx
1	1	sc/source/ui/inc/searchresults.hxx
3	3	sc/source/ui/inc/sharedocdlg.hxx
4	2	sc/source/ui/inc/shtabdlg.hxx
6	5	sc/source/ui/inc/simpref.hxx
11	7	sc/source/ui/inc/solveroptions.hxx
11	10	sc/source/ui/inc/solvrdlg.hxx
5	3	sc/source/ui/inc/sortdlg.hxx
6	6	sc/source/ui/inc/sortkeydlg.hxx
4	3	sc/source/ui/inc/strindlg.hxx
3	1	sc/source/ui/inc/subtdlg.hxx
8	3	sc/source/ui/inc/tabbgcolordlg.hxx
13	12	sc/source/ui/inc/tabopdlg.hxx
7	4	sc/source/ui/inc/tabpages.hxx
5	5	sc/source/ui/inc/tabview.hxx
6	6	sc/source/ui/inc/textimportoptions.hxx
16	16	sc/source/ui/inc/tpcalc.hxx
3	3	sc/source/ui/inc/tpcompatibility.hxx
3	2	sc/source/ui/inc/tpdefaults.hxx
12	12	sc/source/ui/inc/tpformula.hxx
7	6	sc/source/ui/inc/tphf.hxx
5	5	sc/source/ui/inc/tpprint.hxx
17	17	sc/source/ui/inc/tpsort.hxx
5	5	sc/source/ui/inc/tpstat.hxx
13	13	sc/source/ui/inc/tpsubt.hxx
24	24	sc/source/ui/inc/tptable.hxx
12	12	sc/source/ui/inc/tpusrlst.hxx
44	44	sc/source/ui/inc/tpview.hxx
34	28	sc/source/ui/inc/validate.hxx
11	9	sc/source/ui/inc/xmlsourcedlg.hxx
4	1	sc/source/ui/miscdlgs/acredlin.cxx
8	10	sc/source/ui/miscdlgs/anyrefdg.cxx
11	0	sc/source/ui/miscdlgs/conflictsdlg.cxx
15	0	sc/source/ui/miscdlgs/crdlg.cxx
19	1	sc/source/ui/miscdlgs/crnrdlg.cxx
14	0	sc/source/ui/miscdlgs/datafdlg.cxx
27	0	sc/source/ui/miscdlgs/datastreamdlg.cxx
15	0	sc/source/ui/miscdlgs/delcldlg.cxx
19	4	sc/source/ui/miscdlgs/delcodlg.cxx
26	0	sc/source/ui/miscdlgs/filldlg.cxx
11	3	sc/source/ui/miscdlgs/groupdlg.cxx
7	1	sc/source/ui/miscdlgs/highred.cxx
14	4	sc/source/ui/miscdlgs/inscldlg.cxx
22	0	sc/source/ui/miscdlgs/inscodlg.cxx
13	0	sc/source/ui/miscdlgs/instbdlg.cxx
12	0	sc/source/ui/miscdlgs/lbseldlg.cxx
13	0	sc/source/ui/miscdlgs/linkarea.cxx
12	0	sc/source/ui/miscdlgs/mtrindlg.cxx
13	0	sc/source/ui/miscdlgs/mvtabdlg.cxx
14	0	sc/source/ui/miscdlgs/namecrea.cxx
94	1	sc/source/ui/miscdlgs/optsolver.cxx
13	0	sc/source/ui/miscdlgs/protectiondlg.cxx
24	1	sc/source/ui/miscdlgs/retypepassdlg.cxx
23	0	sc/source/ui/miscdlgs/scuiautofmt.cxx
3	1	sc/source/ui/miscdlgs/sharedocdlg.cxx
12	0	sc/source/ui/miscdlgs/shtabdlg.cxx
11	0	sc/source/ui/miscdlgs/simpref.cxx
27	0	sc/source/ui/miscdlgs/solveroptions.cxx
17	1	sc/source/ui/miscdlgs/solvrdlg.cxx
12	0	sc/source/ui/miscdlgs/strindlg.cxx
23	0	sc/source/ui/miscdlgs/tabbgcolordlg.cxx
19	0	sc/source/ui/miscdlgs/tabopdlg.cxx
21	0	sc/source/ui/namedlg/namedefdlg.cxx
14	1	sc/source/ui/namedlg/namedlg.cxx
4	1	sc/source/ui/namedlg/namepast.cxx
7	0	sc/source/ui/navipi/content.cxx
21	1	sc/source/ui/optdlg/calcoptionsdlg.cxx
17	16	sc/source/ui/optdlg/calcoptionsdlg.hxx
10	0	sc/source/ui/optdlg/opredlin.cxx
16	0	sc/source/ui/optdlg/tpcalc.cxx
7	0	sc/source/ui/optdlg/tpcompatibility.cxx
8	0	sc/source/ui/optdlg/tpdefaults.cxx
17	0	sc/source/ui/optdlg/tpformula.cxx
9	0	sc/source/ui/optdlg/tpprint.cxx
12	0	sc/source/ui/optdlg/tpusrlst.cxx
43	0	sc/source/ui/optdlg/tpview.cxx
12	0	sc/source/ui/pagedlg/areasdlg.cxx
26	0	sc/source/ui/pagedlg/scuitphfedit.cxx
8	0	sc/source/ui/pagedlg/tphf.cxx
27	0	sc/source/ui/pagedlg/tptable.cxx
14	0	sc/source/ui/sidebar/AlignmentPropertyPanel.cxx
11	9	sc/source/ui/sidebar/AlignmentPropertyPanel.hxx
10	0	sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx
7	5	sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx
12	0	sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx
8	7	sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx
4	4	sc/source/ui/vba/vbaeventshelper.cxx
14	13	sc/source/ui/view/gridwin.cxx
1	1	sc/source/ui/view/gridwin2.cxx
4	4	sc/source/ui/view/prevwsh.cxx
15	15	sc/source/ui/view/reffact.cxx
1	1	sc/source/ui/view/tabview.cxx
3	4	sc/source/ui/view/tabview5.cxx
20	1	sc/source/ui/xmlsource/xmlsourcedlg.cxx
1	1	sd/inc/Outliner.hxx
105	3	sd/source/filter/html/pubdlg.cxx
8	8	sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
19	5	sd/source/ui/animations/CustomAnimationCreateDialog.cxx
2	2	sd/source/ui/animations/CustomAnimationCreateDialog.hxx
120	58	sd/source/ui/animations/CustomAnimationDialog.cxx
4	4	sd/source/ui/animations/CustomAnimationDialog.hxx
1	1	sd/source/ui/animations/CustomAnimationList.cxx
20	3	sd/source/ui/animations/CustomAnimationPane.cxx
17	17	sd/source/ui/animations/CustomAnimationPane.hxx
14	1	sd/source/ui/animations/SlideTransitionPane.cxx
13	13	sd/source/ui/animations/SlideTransitionPane.hxx
1	1	sd/source/ui/annotations/annotationtag.hxx
10	3	sd/source/ui/annotations/annotationwindow.cxx
5	4	sd/source/ui/annotations/annotationwindow.hxx
11	2	sd/source/ui/controller/slidelayoutcontroller.cxx
2	2	sd/source/ui/dlg/PaneChildWindows.cxx
17	0	sd/source/ui/dlg/PhotoAlbumDialog.cxx
13	11	sd/source/ui/dlg/PhotoAlbumDialog.hxx
13	0	sd/source/ui/dlg/RemoteDialog.cxx
5	3	sd/source/ui/dlg/RemoteDialog.hxx
1	1	sd/source/ui/dlg/RemoteDialogClientBox.hxx
20	2	sd/source/ui/dlg/animobjs.cxx
4	2	sd/source/ui/dlg/brkdlg.cxx
11	25	sd/source/ui/dlg/copydlg.cxx
29	0	sd/source/ui/dlg/custsdlg.cxx
61	61	sd/source/ui/dlg/dlgass.cxx
15	0	sd/source/ui/dlg/dlgfield.cxx
19	0	sd/source/ui/dlg/dlgsnap.cxx
47	19	sd/source/ui/dlg/headerfooterdlg.cxx
12	0	sd/source/ui/dlg/ins_paste.cxx
9	0	sd/source/ui/dlg/inspagob.cxx
16	0	sd/source/ui/dlg/layeroptionsdlg.cxx
15	0	sd/source/ui/dlg/masterlayoutdlg.cxx
9	0	sd/source/ui/dlg/morphdlg.cxx
13	3	sd/source/ui/dlg/paragr.cxx
33	0	sd/source/ui/dlg/present.cxx
26	1	sd/source/ui/dlg/prntopts.cxx
7	7	sd/source/ui/dlg/sddlgfact.cxx
1	2	sd/source/ui/dlg/sddlgfact.hxx
10	0	sd/source/ui/dlg/sdpreslt.cxx
3	1	sd/source/ui/dlg/sdtreelb.cxx
15	0	sd/source/ui/dlg/sduiexp.cxx
19	0	sd/source/ui/dlg/tpaction.cxx
42	0	sd/source/ui/dlg/tpoption.cxx
16	0	sd/source/ui/dlg/vectdlg.cxx
1	1	sd/source/ui/framework/factories/ChildWindowPane.cxx
4	8	sd/source/ui/framework/factories/FullScreenPane.cxx
1	1	sd/source/ui/framework/factories/Pane.cxx
5	3	sd/source/ui/func/fupoor.cxx
1	1	sd/source/ui/inc/AccessibleDocumentViewBase.hxx
2	1	sd/source/ui/inc/AccessibleSlideSorterView.hxx
4	4	sd/source/ui/inc/BreakDlg.hxx
2	1	sd/source/ui/inc/FormShellManager.hxx
1	1	sd/source/ui/inc/Ruler.hxx
2	2	sd/source/ui/inc/ViewShell.hxx
1	1	sd/source/ui/inc/Window.hxx
2	1	sd/source/ui/inc/WindowUpdater.hxx
23	23	sd/source/ui/inc/animobjs.hxx
11	11	sd/source/ui/inc/copydlg.hxx
21	20	sd/source/ui/inc/custsdlg.hxx
6	5	sd/source/ui/inc/dlgfield.hxx
11	9	sd/source/ui/inc/dlgsnap.hxx
2	1	sd/source/ui/inc/framework/Pane.hxx
3	3	sd/source/ui/inc/fupoor.hxx
6	6	sd/source/ui/inc/headerfooterdlg.hxx
4	2	sd/source/ui/inc/ins_paste.hxx
4	3	sd/source/ui/inc/inspagob.hxx
9	6	sd/source/ui/inc/layeroptionsdlg.hxx
7	5	sd/source/ui/inc/masterlayoutdlg.hxx
5	4	sd/source/ui/inc/morphdlg.hxx
2	2	sd/source/ui/inc/navigatr.hxx
25	23	sd/source/ui/inc/present.hxx
20	19	sd/source/ui/inc/prntopts.hxx
85	84	sd/source/ui/inc/pubdlg.hxx
6	5	sd/source/ui/inc/sdpreslt.hxx
2	2	sd/source/ui/inc/sdtreelb.hxx
1	1	sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx
16	15	sd/source/ui/inc/tpaction.hxx
32	30	sd/source/ui/inc/tpoption.hxx
11	10	sd/source/ui/inc/vectdlg.hxx
1	1	sd/source/ui/slideshow/slideshow.cxx
6	8	sd/source/ui/slideshow/slideshowimpl.cxx
6	6	sd/source/ui/slideshow/slideshowimpl.hxx
2	2	sd/source/ui/table/TableDesignPane.hxx
2	2	sd/source/ui/view/FormShellManager.cxx
1	0	sd/source/ui/view/sdruler.cxx
1	1	sd/source/ui/view/sdview2.cxx
1	0	sd/source/ui/view/sdwindow.cxx
1	1	sd/source/ui/view/viewshe2.cxx
1	1	sd/source/ui/view/viewshel.cxx
6	6	sfx2/inc/srchdlg.hxx
8	10	sfx2/source/appl/childwin.cxx
1	1	sfx2/source/appl/fileobj.hxx
2	1	sfx2/source/appl/helpinterceptor.hxx
20	4	sfx2/source/appl/impldde.cxx
2	2	sfx2/source/appl/lnkbase2.cxx
65	14	sfx2/source/appl/newhelp.cxx
33	25	sfx2/source/appl/newhelp.hxx
8	8	sfx2/source/appl/workwin.cxx
1	1	sfx2/source/control/thumbnailview.cxx
1	1	sfx2/source/control/thumbnailviewacc.cxx
3	2	sfx2/source/control/thumbnailviewacc.hxx
2	3	sfx2/source/control/thumbnailviewitem.cxx
2	0	sfx2/source/dialog/alienwarn.cxx
23	4	sfx2/source/dialog/backingwindow.cxx
29	29	sfx2/source/dialog/backingwindow.hxx
10	3	sfx2/source/dialog/basedlgs.cxx
13	0	sfx2/source/dialog/checkin.cxx
88	14	sfx2/source/dialog/dinfdlg.cxx
4	6	sfx2/source/dialog/dockwin.cxx
11	0	sfx2/source/dialog/documentfontsdialog.cxx
1	1	sfx2/source/dialog/filedlgimpl.hxx
8	23	sfx2/source/dialog/infobar.cxx
14	0	sfx2/source/dialog/inputdlg.cxx
12	0	sfx2/source/dialog/mgetempl.cxx
1	1	sfx2/source/dialog/navigat.cxx
2	0	sfx2/source/dialog/newstyle.cxx
4	4	sfx2/source/dialog/partwnd.cxx
22	0	sfx2/source/dialog/passwd.cxx
30	0	sfx2/source/dialog/printopt.cxx
2	1	sfx2/source/dialog/recfloat.cxx
4	4	sfx2/source/dialog/securitypage.cxx
11	8	sfx2/source/dialog/splitwin.cxx
6	0	sfx2/source/dialog/srchdlg.cxx
22	22	sfx2/source/dialog/tabdlg.cxx
5	1	sfx2/source/dialog/templateinfodlg.cxx
4	5	sfx2/source/dialog/templdlg.cxx
29	2	sfx2/source/dialog/versdlg.cxx
11	11	sfx2/source/doc/new.cxx
12	2	sfx2/source/doc/templatedlg.cxx
2	2	sfx2/source/inc/alienwarn.hxx
3	1	sfx2/source/inc/documentfontsdialog.hxx
6	4	sfx2/source/inc/inputdlg.hxx
1	1	sfx2/source/inc/recfloat.hxx
5	5	sfx2/source/inc/splitwin.hxx
5	5	sfx2/source/inc/templdgi.hxx
21	19	sfx2/source/inc/versdlg.hxx
6	6	sfx2/source/inc/workwin.hxx
12	12	sfx2/source/sidebar/FocusManager.cxx
5	5	sfx2/source/sidebar/FocusManager.hxx
15	4	sfx2/source/sidebar/PanelTitleBar.cxx
3	1	sfx2/source/sidebar/PanelTitleBar.hxx
1	1	sfx2/source/sidebar/SidebarChildWindow.cxx
9	9	sfx2/source/sidebar/SidebarController.cxx
2	2	sfx2/source/sidebar/SidebarController.hxx
6	10	sfx2/source/sidebar/SidebarPanelBase.cxx
1	1	sfx2/source/statbar/stbitem.cxx
1	1	sfx2/source/toolbox/imgmgr.cxx
11	15	sfx2/source/toolbox/tbxitem.cxx
1	1	sfx2/source/view/frame.cxx
1	1	sfx2/source/view/frame2.cxx
7	7	sfx2/source/view/impframe.hxx
2	2	sfx2/source/view/impviewframe.hxx
1	1	sfx2/source/view/printer.cxx
1	1	sfx2/source/view/sfxbasecontroller.cxx
2	2	sfx2/source/view/viewfrm.cxx
2	2	sfx2/source/view/viewprn.cxx
2	2	starmath/inc/ElementsDockingWindow.hxx
85	71	starmath/inc/dialog.hxx
3	3	starmath/inc/edit.hxx
3	3	starmath/inc/toolbox.hxx
1	1	starmath/inc/view.hxx
2	1	starmath/source/ElementsDockingWindow.cxx
2	2	starmath/source/accessibility.hxx
141	0	starmath/source/dialog.cxx
4	6	starmath/source/edit.cxx
4	4	starmath/source/toolbox.cxx
1	1	starmath/source/view.cxx
1	1	svtools/inc/vclxaccessibleheaderbar.hxx
2	1	svtools/inc/vclxaccessibleheaderbaritem.hxx
14	14	svtools/source/brwbox/brwbox1.cxx
16	16	svtools/source/brwbox/brwbox2.cxx
12	0	svtools/source/brwbox/brwhead.cxx
12	0	svtools/source/brwbox/datwin.cxx
6	4	svtools/source/brwbox/datwin.hxx
1	1	svtools/source/brwbox/ebbcontrols.cxx
4	2	svtools/source/brwbox/editbrowsebox.cxx
15	4	svtools/source/contnr/fileview.cxx
2	2	svtools/source/contnr/imivctl.hxx
2	2	svtools/source/contnr/imivctl1.cxx
11	0	svtools/source/contnr/simptabl.cxx
1	1	svtools/source/contnr/svtabbx.cxx
1	1	svtools/source/contnr/treelistbox.cxx
15	27	svtools/source/control/calendar.cxx
4	4	svtools/source/control/inettbc.cxx
2	2	svtools/source/control/roadmap.cxx
21	15	svtools/source/control/tabbar.cxx
6	6	svtools/source/control/toolbarmenu.cxx
1	1	svtools/source/control/toolbarmenuimp.hxx
1	1	svtools/source/control/valueacc.cxx
2	2	svtools/source/control/valueimp.hxx
16	0	svtools/source/dialogs/PlaceEditDialog.cxx
4	0	svtools/source/dialogs/addresstemplate.cxx
1	0	svtools/source/dialogs/colrdlg.cxx
8	0	svtools/source/dialogs/prnsetup.cxx
11	4	svtools/source/dialogs/restartdialog.cxx
1	6	svtools/source/dialogs/roadmapwizard.cxx
5	5	svtools/source/dialogs/wizardmachine.cxx
6	2	svtools/source/dialogs/wizdlg.cxx
13	0	svtools/source/filter/GraphicExportOptionsDialog.cxx
33	0	svtools/source/filter/exportdialog.cxx
33	33	svtools/source/filter/exportdialog.hxx
1	1	svtools/source/hatchwindow/hatchwindow.cxx
1	1	svtools/source/inc/hatchwindow.hxx
2	2	svtools/source/inc/svimpbox.hxx
2	2	svtools/source/misc/dialogcontrolling.cxx
8	12	svtools/source/table/tablecontrol_impl.cxx
3	3	svtools/source/table/tablecontrol_impl.hxx
2	2	svtools/source/toolpanel/paneltabbarpeer.cxx
1	1	svtools/source/toolpanel/paneltabbarpeer.hxx
2	2	svtools/source/toolpanel/toolpaneldeckpeer.cxx
1	1	svtools/source/toolpanel/toolpaneldeckpeer.hxx
1	1	svtools/source/uno/addrtempuno.cxx
2	4	svtools/source/uno/generictoolboxcontroller.cxx
1	2	svtools/source/uno/genericunodialog.cxx
3	3	svtools/source/uno/popupwindowcontroller.cxx
1	1	svtools/source/uno/treecontrolpeer.hxx
10	10	svtools/source/uno/wizard/unowizard.cxx
1	1	svtools/source/uno/wizard/wizardshell.hxx
3	1	svx/inc/extrusiondepthdialog.hxx
3	3	svx/inc/galbrws2.hxx
1	1	svx/inc/svdibrow.hxx
2	2	svx/inc/tbunosearchcontrollers.hxx
1	0	svx/source/accessibility/AccessibleShapeTreeInfo.cxx
3	3	svx/source/accessibility/GraphCtlAccessibleContext.cxx
25	8	svx/source/dialog/_bmpmask.cxx
20	1	svx/source/dialog/_contdlg.cxx
25	0	svx/source/dialog/compressgraphicdialog.cxx
4	4	svx/source/dialog/contimp.hxx
42	10	svx/source/dialog/ctredlin.cxx
45	2	svx/source/dialog/docrecovery.cxx
6	326	svx/source/dialog/fontwork.cxx
16	0	svx/source/dialog/hdft.cxx
10	2	svx/source/dialog/imapdlg.cxx
1	0	svx/source/dialog/linkwarn.cxx
27	0	svx/source/dialog/optgrid.cxx
1	1	svx/source/dialog/orienthelper.cxx
15	0	svx/source/dialog/passwd.cxx
33	0	svx/source/dialog/rubydialog.cxx
43	1	svx/source/dialog/srchdlg.cxx
1	0	svx/source/dialog/svxruler.cxx
159	162	svx/source/fmcomp/gridcell.cxx
3	3	svx/source/fmcomp/gridctrl.cxx
109	12	svx/source/form/datanavi.cxx
2	2	svx/source/form/filtnav.cxx
1	2	svx/source/form/fmPropBrw.cxx
2	2	svx/source/form/fmexpl.cxx
13	2	svx/source/form/tabwin.cxx
1	1	svx/source/form/xfm_addcondition.cxx
1	2	svx/source/gallery2/galbrws1.cxx
1	1	svx/source/gallery2/galbrws1.hxx
8	8	svx/source/gallery2/galbrws2.cxx
2	1	svx/source/inc/AccessibleFrameSelector.hxx
1	1	svx/source/inc/GraphCtlAccessibleContext.hxx
1	1	svx/source/inc/charmapacc.hxx
2	1	svx/source/inc/datalistener.hxx
72	62	svx/source/inc/datanavi.hxx
22	16	svx/source/inc/docrecovery.hxx
1	1	svx/source/inc/filtnav.hxx
1	1	svx/source/inc/fmexch.hxx
1	1	svx/source/inc/fmexpl.hxx
2	1	svx/source/inc/fmvwimp.hxx
6	6	svx/source/inc/gridcell.hxx
2	1	svx/source/inc/svxrectctaccessiblecontext.hxx
4	2	svx/source/inc/tabwin.hxx
1	1	svx/source/inc/tbxform.hxx
17	0	svx/source/sidebar/area/AreaPropertyPanel.cxx
12	8	svx/source/sidebar/area/AreaPropertyPanel.hxx
17	0	svx/source/sidebar/graphic/GraphicPropertyPanel.cxx
11	8	svx/source/sidebar/graphic/GraphicPropertyPanel.hxx
4	2	svx/source/sidebar/insert/InsertPropertyPanel.cxx
2	2	svx/source/sidebar/insert/InsertPropertyPanel.hxx
23	0	svx/source/sidebar/line/LinePropertyPanel.cxx
16	13	svx/source/sidebar/line/LinePropertyPanel.hxx
24	5	svx/source/sidebar/paragraph/ParaLineSpacingControl.cxx
11	9	svx/source/sidebar/paragraph/ParaLineSpacingControl.hxx
20	0	svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
13	10	svx/source/sidebar/paragraph/ParaPropertyPanel.hxx
23	0	svx/source/sidebar/possize/PosSizePropertyPanel.cxx
17	14	svx/source/sidebar/possize/PosSizePropertyPanel.hxx
15	0	svx/source/sidebar/text/TextPropertyPanel.cxx
8	5	svx/source/sidebar/text/TextPropertyPanel.hxx
3	3	svx/source/sidebar/tools/Popup.cxx
5	7	svx/source/svdraw/sdrpaintwindow.cxx
11	11	svx/source/svdraw/svdedxv.cxx
8	9	svx/source/svdraw/svdibrow.cxx
1	1	svx/source/svdraw/svdmrkv.cxx
8	12	svx/source/svdraw/svdpntv.cxx
2	2	svx/source/svdraw/svdview.cxx
14	1	svx/source/tbxctrls/bulletsnumbering.cxx
8	6	svx/source/tbxctrls/colorwindow.hxx
33	0	svx/source/tbxctrls/extrusioncontrols.cxx
6	2	svx/source/tbxctrls/extrusioncontrols.hxx
2	2	svx/source/tbxctrls/fillctrl.cxx
22	0	svx/source/tbxctrls/fontworkgallery.cxx
17	6	svx/source/tbxctrls/lboxctrl.cxx
16	0	svx/source/tbxctrls/tbcontrl.cxx
2	3	svx/source/tbxctrls/tbunocontroller.cxx
2	4	svx/source/tbxctrls/tbunosearchcontrollers.cxx
29	2	svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx
21	19	svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.hxx
1	2	svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog.cxx
2	1	svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog.hxx
6	1	svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.cxx
6	6	svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.hxx
1	1	svx/source/unodraw/recoveryui.cxx
1	1	svx/source/unodraw/unoshtxt.cxx
3	2	sw/inc/PostItMgr.hxx
5	5	sw/inc/SidebarWin.hxx
4	2	sw/inc/colwd.hxx
1	1	sw/inc/hhcwrp.hxx
1	1	sw/inc/postithelper.hxx
1	1	sw/inc/viewsh.hxx
22	9	sw/qa/tiledrendering/tiledrendering.cxx
1	1	sw/source/core/access/accdoc.hxx
1	1	sw/source/core/access/accfrmobj.cxx
2	1	sw/source/core/access/accfrmobj.hxx
1	1	sw/source/core/view/viewsh.cxx
17	4	sw/source/ui/chrdlg/break.cxx
10	0	sw/source/ui/chrdlg/chardlg.cxx
21	1	sw/source/ui/chrdlg/drpcps.cxx
20	0	sw/source/ui/chrdlg/numpara.cxx
10	0	sw/source/ui/chrdlg/swuiccoll.cxx
93	34	sw/source/ui/config/mailconfigpage.cxx
4	0	sw/source/ui/config/optcomp.cxx
42	0	sw/source/ui/config/optload.cxx
165	0	sw/source/ui/config/optpage.cxx
9	1	sw/source/ui/dbui/addresslistdialog.cxx
9	9	sw/source/ui/dbui/addresslistdialog.hxx
39	23	sw/source/ui/dbui/createaddresslistdialog.cxx
20	18	sw/source/ui/dbui/createaddresslistdialog.hxx
28	5	sw/source/ui/dbui/customizeaddresslistdialog.cxx
12	8	sw/source/ui/dbui/customizeaddresslistdialog.hxx
29	4	sw/source/ui/dbui/dbinsdlg.cxx
2	0	sw/source/ui/dbui/dbtablepreviewdialog.cxx
2	2	sw/source/ui/dbui/dbtablepreviewdialog.hxx
111	33	sw/source/ui/dbui/mmaddressblockpage.cxx
53	46	sw/source/ui/dbui/mmaddressblockpage.hxx
15	0	sw/source/ui/dbui/mmdocselectpage.cxx
10	9	sw/source/ui/dbui/mmdocselectpage.hxx
21	0	sw/source/ui/dbui/mmgreetingspage.cxx
27	25	sw/source/ui/dbui/mmgreetingspage.hxx
11	0	sw/source/ui/dbui/mmlayoutpage.cxx
11	11	sw/source/ui/dbui/mmlayoutpage.hxx
19	0	sw/source/ui/dbui/mmmergepage.cxx
10	8	sw/source/ui/dbui/mmmergepage.hxx
41	3	sw/source/ui/dbui/mmoutputpage.cxx
42	42	sw/source/ui/dbui/mmoutputpage.hxx
33	3	sw/source/ui/dbui/mmoutputtypepage.cxx
7	5	sw/source/ui/dbui/mmoutputtypepage.hxx
18	0	sw/source/ui/dbui/mmpreparemergepage.cxx
10	8	sw/source/ui/dbui/mmpreparemergepage.hxx
2	1	sw/source/ui/dbui/selectdbtabledialog.cxx
2	2	sw/source/ui/dbui/selectdbtabledialog.hxx
12	0	sw/source/ui/dialog/abstract.cxx
15	0	sw/source/ui/dialog/ascfldlg.cxx
18	1	sw/source/ui/dialog/docstdlg.cxx
0	1	sw/source/ui/dialog/swdlgfact.cxx
2	3	sw/source/ui/dialog/swdlgfact.hxx
15	0	sw/source/ui/dialog/swmessdialog.cxx
25	0	sw/source/ui/dialog/swuiexp.cxx
74	0	sw/source/ui/dialog/uiregionsw.cxx
13	0	sw/source/ui/dialog/wordcountdialog.cxx
11	0	sw/source/ui/dochdl/selglos.cxx
21	0	sw/source/ui/envelp/envfmt.cxx
12	10	sw/source/ui/envelp/envfmt.hxx
14	0	sw/source/ui/envelp/envlop1.cxx
17	0	sw/source/ui/envelp/envprt.cxx
9	7	sw/source/ui/envelp/envprt.hxx
80	0	sw/source/ui/envelp/label1.cxx
35	0	sw/source/ui/envelp/labfmt.cxx
22	19	sw/source/ui/envelp/labfmt.hxx
9	0	sw/source/ui/envelp/labprt.cxx
11	11	sw/source/ui/envelp/labprt.hxx
54	0	sw/source/ui/envelp/mailmrge.cxx
58	52	sw/source/ui/envelp/swuilabimp.hxx
14	0	sw/source/ui/fldui/DropDownFieldDialog.cxx
5	0	sw/source/ui/fldui/changedb.cxx
18	0	sw/source/ui/fldui/flddb.cxx
13	12	sw/source/ui/fldui/flddb.hxx
12	0	sw/source/ui/fldui/flddinf.cxx
7	6	sw/source/ui/fldui/flddinf.hxx
21	0	sw/source/ui/fldui/flddok.cxx
15	14	sw/source/ui/fldui/flddok.hxx
3	0	sw/source/ui/fldui/fldedt.cxx
31	0	sw/source/ui/fldui/fldfunc.cxx
26	25	sw/source/ui/fldui/fldfunc.hxx
15	0	sw/source/ui/fldui/fldref.cxx
10	9	sw/source/ui/fldui/fldref.hxx
22	0	sw/source/ui/fldui/fldvar.cxx
17	16	sw/source/ui/fldui/fldvar.hxx
14	0	sw/source/ui/fldui/inpdlg.cxx
10	0	sw/source/ui/fldui/javaedit.cxx
25	1	sw/source/ui/frmdlg/column.cxx
32	5	sw/source/ui/frmdlg/cption.cxx
91	4	sw/source/ui/frmdlg/frmpage.cxx
20	0	sw/source/ui/frmdlg/wrap.cxx
148	26	sw/source/ui/index/cnttab.cxx
12	1	sw/source/ui/index/multmrk.cxx
19	11	sw/source/ui/index/swuiidxmrk.cxx
9	0	sw/source/ui/misc/bookmark.cxx
27	4	sw/source/ui/misc/docfnote.cxx
12	0	sw/source/ui/misc/glosbib.cxx
35	6	sw/source/ui/misc/glossary.cxx
18	17	sw/source/ui/misc/impfnote.hxx
10	0	sw/source/ui/misc/insfnote.cxx
22	0	sw/source/ui/misc/linenum.cxx
26	2	sw/source/ui/misc/num.cxx
36	3	sw/source/ui/misc/outline.cxx
17	0	sw/source/ui/misc/pgfnote.cxx
28	1	sw/source/ui/misc/pggrid.cxx
28	2	sw/source/ui/misc/srtdlg.cxx
12	0	sw/source/ui/misc/titlepage.cxx
12	0	sw/source/ui/table/colwd.cxx
14	0	sw/source/ui/table/convert.cxx
11	0	sw/source/ui/table/instable.cxx
12	0	sw/source/ui/table/mergetbl.cxx
12	0	sw/source/ui/table/rowht.cxx
14	0	sw/source/ui/table/splittbl.cxx
67	5	sw/source/ui/table/tabledlg.cxx
22	1	sw/source/ui/table/tautofmt.cxx
12	0	sw/source/ui/utlui/swrenamexnameddlg.cxx
33	0	sw/source/uibase/dbui/dbui.cxx
12	1	sw/source/uibase/dbui/mailmergechildwindow.cxx
1	1	sw/source/uibase/docvw/HeaderFooterWin.cxx
4	3	sw/source/uibase/docvw/PageBreakWin.cxx
3	8	sw/source/uibase/docvw/PostItMgr.cxx
6	11	sw/source/uibase/docvw/SidebarWin.cxx
3	4	sw/source/uibase/docvw/srcedtw.cxx
12	1	sw/source/uibase/envelp/syncbtn.cxx
6	4	sw/source/uibase/inc/DropDownFieldDialog.hxx
1	1	sw/source/uibase/inc/FrameControl.hxx
1	1	sw/source/uibase/inc/FrameControlsManager.hxx
2	2	sw/source/uibase/inc/HeaderFooterWin.hxx
1	1	sw/source/uibase/inc/PageBreakWin.hxx
4	4	sw/source/uibase/inc/abstract.hxx
9	8	sw/source/uibase/inc/ascfldlg.hxx
4	3	sw/source/uibase/inc/bookmark.hxx
8	7	sw/source/uibase/inc/break.hxx
5	5	sw/source/uibase/inc/changedb.hxx
11	11	sw/source/uibase/inc/chrdlg.hxx
28	28	sw/source/uibase/inc/column.hxx
3	3	sw/source/uibase/inc/conttree.hxx
14	14	sw/source/uibase/inc/convert.hxx
15	15	sw/source/uibase/inc/cption.hxx
25	25	sw/source/uibase/inc/dbinsdlg.hxx
13	7	sw/source/uibase/inc/dbui.hxx
12	11	sw/source/uibase/inc/docstdlg.hxx
1	1	sw/source/uibase/inc/drawbase.hxx
17	16	sw/source/uibase/inc/drpcps.hxx
10	9	sw/source/uibase/inc/envlop.hxx
3	3	sw/source/uibase/inc/fldedt.hxx
2	1	sw/source/uibase/inc/fldmgr.hxx
83	80	sw/source/uibase/inc/frmpage.hxx
7	6	sw/source/uibase/inc/glosbib.hxx
12	12	sw/source/uibase/inc/glossary.hxx
6	4	sw/source/uibase/inc/inpdlg.hxx
2	2	sw/source/uibase/inc/inputwin.hxx
10	10	sw/source/uibase/inc/insfnote.hxx
11	11	sw/source/uibase/inc/instable.hxx
10	10	sw/source/uibase/inc/javaedit.hxx
1	1	sw/source/uibase/inc/label.hxx
16	15	sw/source/uibase/inc/linenum.hxx
10	10	sw/source/uibase/inc/mailconfigpage.hxx
3	1	sw/source/uibase/inc/mailmergechildwindow.hxx
1	1	sw/source/uibase/inc/mailmergehelper.hxx
47	42	sw/source/uibase/inc/mailmrge.hxx
3	1	sw/source/uibase/inc/mergetbl.hxx
3	2	sw/source/uibase/inc/multmrk.hxx
2	2	sw/source/uibase/inc/navipi.hxx
24	24	sw/source/uibase/inc/num.hxx
15	14	sw/source/uibase/inc/numpara.hxx
4	4	sw/source/uibase/inc/optcomp.hxx
38	36	sw/source/uibase/inc/optload.hxx
138	130	sw/source/uibase/inc/optpage.hxx
12	11	sw/source/uibase/inc/outline.hxx
13	12	sw/source/uibase/inc/pgfnote.hxx
24	22	sw/source/uibase/inc/pggrid.hxx
1	1	sw/source/uibase/inc/prcntfld.hxx
6	6	sw/source/uibase/inc/pview.hxx
3	3	sw/source/uibase/inc/redlndlg.hxx
65	63	sw/source/uibase/inc/regionsw.hxx
4	2	sw/source/uibase/inc/rowht.hxx
4	1	sw/source/uibase/inc/selglos.hxx
1	1	sw/source/uibase/inc/shdwcrsr.hxx
6	4	sw/source/uibase/inc/splittbl.hxx
3	3	sw/source/uibase/inc/srcedtw.hxx
32	32	sw/source/uibase/inc/srtdlg.hxx
7	5	sw/source/uibase/inc/swmessdialog.hxx
4	2	sw/source/uibase/inc/swrenamexnameddlg.hxx
2	1	sw/source/uibase/inc/swruler.hxx
9	9	sw/source/uibase/inc/swuiccoll.hxx
109	105	sw/source/uibase/inc/swuicnttab.hxx
45	45	sw/source/uibase/inc/swuiidxmrk.hxx
3	1	sw/source/uibase/inc/syncbtn.hxx
13	13	sw/source/uibase/inc/tautofmt.hxx
12	12	sw/source/uibase/inc/titlepage.hxx
10	10	sw/source/uibase/inc/view.hxx
13	13	sw/source/uibase/inc/wordcountdialog.hxx
2	2	sw/source/uibase/inc/workctrl.hxx
15	14	sw/source/uibase/inc/wrap.hxx
1	1	sw/source/uibase/misc/redlndlg.cxx
7	0	sw/source/uibase/misc/swruler.cxx
1	1	sw/source/uibase/ribbar/inputwin.cxx
2	1	sw/source/uibase/ribbar/workctrl.cxx
1	0	sw/source/uibase/shells/txtattr.cxx
1	0	sw/source/uibase/shells/txtcrsr.cxx
1	1	sw/source/uibase/sidebar/PageColumnControl.cxx
1	1	sw/source/uibase/sidebar/PageColumnControl.hxx
1	1	sw/source/uibase/sidebar/PageMarginControl.cxx
1	1	sw/source/uibase/sidebar/PageMarginControl.hxx
1	1	sw/source/uibase/sidebar/PageOrientationControl.cxx
1	1	sw/source/uibase/sidebar/PageOrientationControl.hxx
4	0	sw/source/uibase/sidebar/PagePropertyPanel.cxx
4	4	sw/source/uibase/sidebar/PagePropertyPanel.hxx
1	1	sw/source/uibase/sidebar/PageSizeControl.cxx
1	1	sw/source/uibase/sidebar/PageSizeControl.hxx
12	0	sw/source/uibase/sidebar/WrapPropertyPanel.cxx
8	7	sw/source/uibase/sidebar/WrapPropertyPanel.hxx
45	42	sw/source/uibase/table/tablepg.hxx
23	14	sw/source/uibase/uiview/pview.cxx
7	7	sw/source/uibase/uiview/view.cxx
1	5	sw/source/uibase/uiview/viewling.cxx
8	8	sw/source/uibase/uiview/viewmdi.cxx
1	0	sw/source/uibase/utlui/content.cxx
1	0	sw/source/uibase/utlui/glbltree.cxx
19	4	sw/source/uibase/utlui/gloslst.cxx
2	3	sw/source/uibase/utlui/navipi.cxx
1	0	tools/source/ref/errinf.cxx
15	0	uui/source/authfallbackdlg.cxx
7	5	uui/source/authfallbackdlg.hxx
12	0	uui/source/fltdlg.cxx
4	2	uui/source/fltdlg.hxx
25	0	uui/source/logindlg.cxx
17	15	uui/source/logindlg.hxx
13	0	uui/source/masterpasscrtdlg.cxx
5	3	uui/source/masterpasscrtdlg.hxx
12	0	uui/source/masterpassworddlg.cxx
4	2	uui/source/masterpassworddlg.hxx
15	0	uui/source/nameclashdlg.cxx
7	5	uui/source/nameclashdlg.hxx
15	0	uui/source/passworddlg.cxx
7	5	uui/source/passworddlg.hxx
15	0	uui/source/secmacrowarnings.cxx
10	9	uui/source/secmacrowarnings.hxx
14	0	uui/source/unknownauthdlg.cxx
6	4	uui/source/unknownauthdlg.hxx
12	4	vcl/generic/print/genprnpsp.cxx
40	2	vcl/generic/print/prtsetup.cxx
24	20	vcl/generic/print/prtsetup.hxx
3	3	vcl/inc/brdwin.hxx
2	2	vcl/inc/dndevdis.hxx
7	6	vcl/inc/ilstbox.hxx
55	54	vcl/inc/printdlg.hxx
5	4	vcl/inc/salframe.hxx
18	23	vcl/inc/svdata.hxx
1	1	vcl/inc/toolbox.h
2	1	vcl/inc/unx/i18n_status.hxx
29	29	vcl/inc/window.h
9	0	vcl/source/app/salvtables.cxx
19	11	vcl/source/app/svapp.cxx
2	0	vcl/source/app/svdata.cxx
9	0	vcl/source/app/vclevent.cxx
14	14	vcl/source/control/button.cxx
3	5	vcl/source/control/combobox.cxx
4	0	vcl/source/control/ctrl.cxx
1	0	vcl/source/control/fixed.cxx
15	3	vcl/source/control/ilstbox.cxx
4	12	vcl/source/control/lstbox.cxx
12	16	vcl/source/control/tabctrl.cxx
1	1	vcl/source/edit/textview.cxx
8	15	vcl/source/edit/vclmedit.cxx
2	4	vcl/source/gdi/print3.cxx
1	0	vcl/source/window/accel.cxx
2	3	vcl/source/window/accessibility.cxx
1	1	vcl/source/window/brdwin.cxx
5	17	vcl/source/window/btndlg.cxx
15	12	vcl/source/window/builder.cxx
1	1	vcl/source/window/clipping.cxx
2	2	vcl/source/window/cursor.cxx
4	3	vcl/source/window/dialog.cxx
10	10	vcl/source/window/dlgctrl.cxx
3	3	vcl/source/window/dndevdis.cxx
8	9	vcl/source/window/dockmgr.cxx
10	6	vcl/source/window/dockwin.cxx
20	3	vcl/source/window/event.cxx
4	2	vcl/source/window/floatwin.cxx
4	2	vcl/source/window/introwin.cxx
20	15	vcl/source/window/layout.cxx
10	10	vcl/source/window/menu.cxx
3	3	vcl/source/window/menubarwindow.cxx
2	2	vcl/source/window/menufloatingwindow.cxx
11	11	vcl/source/window/mouse.cxx
6	17	vcl/source/window/msgbox.cxx
1	1	vcl/source/window/paint.cxx
45	18	vcl/source/window/printdlg.cxx
1	0	vcl/source/window/split.cxx
3	3	vcl/source/window/splitwin.cxx
18	19	vcl/source/window/stacking.cxx
1	0	vcl/source/window/syswin.cxx
2	1	vcl/source/window/tabdlg.cxx
7	12	vcl/source/window/taskpanelist.cxx
5	4	vcl/source/window/toolbox.cxx
21	22	vcl/source/window/window.cxx
16	18	vcl/source/window/window2.cxx
7	7	vcl/source/window/winproc.cxx
1	3	vcl/unx/generic/app/i18n_status.cxx
18	4	vcl/unx/generic/printer/cupsmgr.cxx
3	2	vcl/workben/icontest.cxx
1	1	vcl/workben/mtfdemo.cxx
13	6	vcl/workben/vcldemo.cxx
3	3	xmlsecurity/inc/xmlsecurity/certificatechooser.hxx
22	17	xmlsecurity/inc/xmlsecurity/certificateviewer.hxx
18	18	xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx
22	18	xmlsecurity/inc/xmlsecurity/macrosecurity.hxx
3	1	xmlsecurity/source/dialogs/certificatechooser.cxx
44	1	xmlsecurity/source/dialogs/certificateviewer.cxx
16	1	xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
38	1	xmlsecurity/source/dialogs/macrosecurity.cxx
diff --git a/accessibility/inc/accessibility/extended/accessibleiconchoicectrlentry.hxx b/accessibility/inc/accessibility/extended/accessibleiconchoicectrlentry.hxx
index 098c8e5..363a544 100644
--- a/accessibility/inc/accessibility/extended/accessibleiconchoicectrlentry.hxx
+++ b/accessibility/inc/accessibility/extended/accessibleiconchoicectrlentry.hxx
@@ -35,6 +35,7 @@
#include <comphelper/broadcasthelper.hxx>
#include <comphelper/accessibletexthelper.hxx>
#include <tools/gen.hxx>
#include <vcl/vclptr.hxx>

// forward

@@ -63,7 +64,7 @@ namespace accessibility
    {
    private:
        /** The treelistbox control */
        SvtIconChoiceCtrl*                  m_pIconCtrl;
        VclPtr<SvtIconChoiceCtrl>           m_pIconCtrl;
        sal_Int32                           m_nIndex;

    protected:
diff --git a/accessibility/inc/accessibility/extended/accessibletabbarbase.hxx b/accessibility/inc/accessibility/extended/accessibletabbarbase.hxx
index 81401f17..ed920c8 100644
--- a/accessibility/inc/accessibility/extended/accessibletabbarbase.hxx
+++ b/accessibility/inc/accessibility/extended/accessibletabbarbase.hxx
@@ -22,6 +22,7 @@

#include <comphelper/accessiblecomponenthelper.hxx>
#include <tools/link.hxx>
#include <vcl/vclptr.hxx>

class TabBar;
class VCLExternalSolarLock;
@@ -57,7 +58,7 @@ private:

protected:
    VCLExternalSolarLock* m_pExternalLock;
    TabBar*             m_pTabBar;
    VclPtr<TabBar>        m_pTabBar;
};


diff --git a/accessibility/inc/accessibility/extended/accessibletablistbox.hxx b/accessibility/inc/accessibility/extended/accessibletablistbox.hxx
index e5e1680..f6e1d41 100644
--- a/accessibility/inc/accessibility/extended/accessibletablistbox.hxx
+++ b/accessibility/inc/accessibility/extended/accessibletablistbox.hxx
@@ -43,7 +43,7 @@ class AccessibleTabListBox
                ,public ::svt::IAccessibleTabListBox
{
private:
    SvHeaderTabListBox*         m_pTabListBox;
    VclPtr<SvHeaderTabListBox>        m_pTabListBox;

public:
    /** ctor()
diff --git a/accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx b/accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx
index 92e6fe9..89bfd7e 100644
--- a/accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx
+++ b/accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx
@@ -37,7 +37,7 @@ typedef ::cppu::ImplHelper1< ::com::sun::star::accessibility::XAccessibleSelecti
class AccessibleTabListBoxTable : public AccessibleBrowseBoxTable, public AccessibleTabListBoxTableImplHelper
{
private:
    SvHeaderTabListBox*     m_pTabListBox;
    VclPtr<SvHeaderTabListBox>     m_pTabListBox;

    ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >  m_xCurChild;

diff --git a/accessibility/inc/accessibility/extended/listboxaccessible.hxx b/accessibility/inc/accessibility/extended/listboxaccessible.hxx
index fc3bb24..4ce38c5 100644
--- a/accessibility/inc/accessibility/extended/listboxaccessible.hxx
+++ b/accessibility/inc/accessibility/extended/listboxaccessible.hxx
@@ -22,6 +22,7 @@

#include <com/sun/star/uno/RuntimeException.hpp>
#include <tools/link.hxx>
#include <vcl/vclptr.hxx>

class SvTreeListBox;
class VclSimpleEvent;
@@ -41,7 +42,7 @@ namespace accessibility
    class ListBoxAccessibleBase
    {
    private:
        SvTreeListBox* m_pWindow;
        VclPtr<SvTreeListBox> m_pWindow;

    protected:
        inline SvTreeListBox*       getListBox() const
@@ -49,7 +50,7 @@ namespace accessibility
            return  const_cast< ListBoxAccessibleBase* >( this )->m_pWindow;
        }

        inline  bool                    isAlive() const     { return NULL != m_pWindow; }
        inline  bool                    isAlive() const     { return nullptr != m_pWindow; }

    public:
        ListBoxAccessibleBase( SvTreeListBox& _rWindow );
diff --git a/accessibility/inc/accessibility/extended/textwindowaccessibility.hxx b/accessibility/inc/accessibility/extended/textwindowaccessibility.hxx
index a24e8c9..2846113 100644
--- a/accessibility/inc/accessibility/extended/textwindowaccessibility.hxx
+++ b/accessibility/inc/accessibility/extended/textwindowaccessibility.hxx
@@ -99,7 +99,7 @@ public:

private:
    ::Link m_aListener;
    vcl::Window * m_pNotifier;
    VclPtr<vcl::Window> m_pNotifier;
};

class ParagraphInfo
diff --git a/accessibility/inc/accessibility/standard/vclxaccessiblemenubar.hxx b/accessibility/inc/accessibility/standard/vclxaccessiblemenubar.hxx
index 2ca6def..b6dc898 100644
--- a/accessibility/inc/accessibility/standard/vclxaccessiblemenubar.hxx
+++ b/accessibility/inc/accessibility/standard/vclxaccessiblemenubar.hxx
@@ -21,6 +21,7 @@
#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_STANDARD_VCLXACCESSIBLEMENUBAR_HXX

#include <accessibility/standard/accessiblemenucomponent.hxx>
#include <vcl/vclptr.hxx>

class VclSimpleEvent;
class VclWindowEvent;
@@ -34,7 +35,7 @@ namespace vcl { class Window; }
class VCLXAccessibleMenuBar :   public OAccessibleMenuComponent
{
protected:
    vcl::Window*                 m_pWindow;
    VclPtr<vcl::Window>     m_pWindow;

    virtual bool            IsFocused() SAL_OVERRIDE;

diff --git a/accessibility/inc/accessibility/standard/vclxaccessiblestatusbar.hxx b/accessibility/inc/accessibility/standard/vclxaccessiblestatusbar.hxx
index a07e450..249f5ca 100644
--- a/accessibility/inc/accessibility/standard/vclxaccessiblestatusbar.hxx
+++ b/accessibility/inc/accessibility/standard/vclxaccessiblestatusbar.hxx
@@ -21,6 +21,7 @@
#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_STANDARD_VCLXACCESSIBLESTATUSBAR_HXX

#include <toolkit/awt/vclxaccessiblecomponent.hxx>
#include <vcl/vclptr.hxx>

#include <vector>

@@ -36,7 +37,7 @@ private:
    typedef ::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > > AccessibleChildren;

    AccessibleChildren      m_aAccessibleChildren;
    StatusBar*              m_pStatusBar;
    VclPtr<StatusBar>       m_pStatusBar;

protected:
    void                    UpdateShowing( sal_Int32 i, bool bShowing );
diff --git a/accessibility/inc/accessibility/standard/vclxaccessiblestatusbaritem.hxx b/accessibility/inc/accessibility/standard/vclxaccessiblestatusbaritem.hxx
index f720374..0432abc 100644
--- a/accessibility/inc/accessibility/standard/vclxaccessiblestatusbaritem.hxx
+++ b/accessibility/inc/accessibility/standard/vclxaccessiblestatusbaritem.hxx
@@ -24,7 +24,7 @@
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <comphelper/accessibletexthelper.hxx>
#include <cppuhelper/implbase2.hxx>

#include <vcl/vclptr.hxx>

class StatusBar;
class VCLExternalSolarLock;
@@ -51,14 +51,14 @@ class VCLXAccessibleStatusBarItem : public AccessibleTextHelper_BASE,

private:
    VCLExternalSolarLock*   m_pExternalLock;
    StatusBar*              m_pStatusBar;
    VclPtr<StatusBar>       m_pStatusBar;
    sal_uInt16              m_nItemId;
    OUString                m_sItemName;
    OUString                m_sItemText;
    bool                m_bShowing;
    bool                    m_bShowing;

protected:
    bool                IsShowing();
    bool                    IsShowing();
    void                    SetShowing( bool bShowing );
    void                    SetItemName( const OUString& sItemName );
    OUString                GetItemName();
diff --git a/accessibility/inc/accessibility/standard/vclxaccessibletabcontrol.hxx b/accessibility/inc/accessibility/standard/vclxaccessibletabcontrol.hxx
index b4e7b54..3582138 100644
--- a/accessibility/inc/accessibility/standard/vclxaccessibletabcontrol.hxx
+++ b/accessibility/inc/accessibility/standard/vclxaccessibletabcontrol.hxx
@@ -22,6 +22,7 @@

#include <toolkit/awt/vclxaccessiblecomponent.hxx>
#include <com/sun/star/accessibility/XAccessibleSelection.hpp>
#include <vcl/vclptr.hxx>

#include <vector>

@@ -42,7 +43,7 @@ private:
    typedef ::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > > AccessibleChildren;

    AccessibleChildren      m_aAccessibleChildren;
    TabControl*             m_pTabControl;
    VclPtr<TabControl>      m_pTabControl;

protected:
    void                    UpdateFocused();
diff --git a/accessibility/inc/accessibility/standard/vclxaccessibletabpage.hxx b/accessibility/inc/accessibility/standard/vclxaccessibletabpage.hxx
index 182235a0..8c0aa5d 100644
--- a/accessibility/inc/accessibility/standard/vclxaccessibletabpage.hxx
+++ b/accessibility/inc/accessibility/standard/vclxaccessibletabpage.hxx
@@ -24,6 +24,7 @@
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <comphelper/accessibletexthelper.hxx>
#include <cppuhelper/implbase2.hxx>
#include <vcl/vclptr.hxx>


class TabControl;
@@ -51,7 +52,7 @@ class VCLXAccessibleTabPage :   public AccessibleTextHelper_BASE,

private:
    VCLExternalSolarLock*   m_pExternalLock;
    TabControl*             m_pTabControl;
    VclPtr<TabControl>      m_pTabControl;
    sal_uInt16              m_nPageId;
    bool                    m_bFocused;
    bool                    m_bSelected;
diff --git a/accessibility/inc/accessibility/standard/vclxaccessibletabpagewindow.hxx b/accessibility/inc/accessibility/standard/vclxaccessibletabpagewindow.hxx
index 0fb8f61..9393579 100644
--- a/accessibility/inc/accessibility/standard/vclxaccessibletabpagewindow.hxx
+++ b/accessibility/inc/accessibility/standard/vclxaccessibletabpagewindow.hxx
@@ -21,6 +21,7 @@
#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_STANDARD_VCLXACCESSIBLETABPAGEWINDOW_HXX

#include <toolkit/awt/vclxaccessiblecomponent.hxx>
#include <vcl/vclptr.hxx>


class TabControl;
@@ -34,8 +35,8 @@ class TabPage;
class VCLXAccessibleTabPageWindow : public VCLXAccessibleComponent
{
private:
    TabControl*             m_pTabControl;
    TabPage*                m_pTabPage;
    VclPtr<TabControl>      m_pTabControl;
    VclPtr<TabPage>         m_pTabPage;
    sal_uInt16              m_nPageId;

protected:
diff --git a/accessibility/inc/accessibility/standard/vclxaccessibletoolboxitem.hxx b/accessibility/inc/accessibility/standard/vclxaccessibletoolboxitem.hxx
index b7d3c15..a05f31b 100644
--- a/accessibility/inc/accessibility/standard/vclxaccessibletoolboxitem.hxx
+++ b/accessibility/inc/accessibility/standard/vclxaccessibletoolboxitem.hxx
@@ -30,6 +30,7 @@
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <cppuhelper/implbase4.hxx>
#include <comphelper/accessibletexthelper.hxx>
#include <vcl/vclptr.hxx>

class ToolBox;

@@ -46,13 +47,13 @@ class VCLXAccessibleToolBoxItem : public AccessibleTextHelper_BASE,
{
private:
    OUString                m_sOldName;
    ToolBox*                m_pToolBox;
    VclPtr<ToolBox>         m_pToolBox;
    VCLExternalSolarLock*   m_pExternalLock;
    sal_Int32               m_nIndexInParent;
    sal_Int16               m_nRole;
    sal_uInt16                  m_nItemId;
    bool                m_bHasFocus;
    bool                m_bIsChecked;
    sal_uInt16              m_nItemId;
    bool                    m_bHasFocus;
    bool                    m_bIsChecked;
    bool                    m_bIndeterminate;

    ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >    m_xChild;
@@ -80,9 +81,9 @@ public:
    VCLXAccessibleToolBoxItem( ToolBox* _pToolBox, sal_Int32 _nPos );

    void                SetFocus( bool _bFocus );
    inline bool     HasFocus() const { return m_bHasFocus; }
    inline bool         HasFocus() const { return m_bHasFocus; }
    void                SetChecked( bool _bCheck );
    inline bool     IsChecked() const { return m_bIsChecked; }
    inline bool         IsChecked() const { return m_bIsChecked; }
    void                SetIndeterminate( bool _bIndeterminate );
    inline bool         IsIndeterminate() const { return m_bIndeterminate; }
    inline void         ReleaseToolBox() { m_pToolBox = NULL; }
diff --git a/accessibility/source/extended/AccessibleToolPanelDeck.cxx b/accessibility/source/extended/AccessibleToolPanelDeck.cxx
index dfb8ede..4f69764 100644
--- a/accessibility/source/extended/AccessibleToolPanelDeck.cxx
+++ b/accessibility/source/extended/AccessibleToolPanelDeck.cxx
@@ -76,7 +76,7 @@ namespace accessibility
        );

        void    checkDisposed();
        bool    isDisposed() const { return m_pPanelDeck == NULL; }
        bool    isDisposed() const { return m_pPanelDeck == nullptr; }
        void    dispose();

        virtual ~AccessibleToolPanelDeck_Impl();
@@ -95,7 +95,7 @@ namespace accessibility
    public:
        AccessibleToolPanelDeck&    m_rAntiImpl;
        Reference< XAccessible >    m_xAccessibleParent;
        ::svt::ToolPanelDeck*       m_pPanelDeck;
        VclPtr<::svt::ToolPanelDeck>    m_pPanelDeck;

        Reference< XAccessible >        m_xActivePanelAccessible;
    };
@@ -141,7 +141,7 @@ namespace accessibility
    {
        ENSURE_OR_RETURN_VOID( !isDisposed(), "disposed twice" );
        m_pPanelDeck->RemoveListener( *this );
        m_pPanelDeck = NULL;
        m_pPanelDeck.clear();
        m_xAccessibleParent.clear();
    }

diff --git a/accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx b/accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx
index 757c452..1700aed 100644
--- a/accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx
+++ b/accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx
@@ -120,7 +120,7 @@ namespace accessibility
        AccessibleToolPanelTabBar&                  m_rAntiImpl;
        Reference< XAccessible >                    m_xAccessibleParent;
        ::svt::IToolPanelDeck*                      m_pPanelDeck;
        ::svt::PanelTabBar*                         m_pTabBar;
        VclPtr<::svt::PanelTabBar>                  m_pTabBar;
        ::std::vector< Reference< XAccessible > >   m_aChildren;
    };

@@ -163,7 +163,7 @@ namespace accessibility

        m_pTabBar->GetScrollButton( true ).RemoveEventListener( LINK( this, AccessibleToolPanelTabBar_Impl, OnWindowEvent ) );
        m_pTabBar->GetScrollButton( false ).RemoveEventListener( LINK( this, AccessibleToolPanelTabBar_Impl, OnWindowEvent ) );
        m_pTabBar = NULL;
        m_pTabBar.clear();

        m_xAccessibleParent.clear();
    }
diff --git a/accessibility/source/extended/AccessibleToolPanelDeckTabBarItem.cxx b/accessibility/source/extended/AccessibleToolPanelDeckTabBarItem.cxx
index 33bca93..f89cb3d 100644
--- a/accessibility/source/extended/AccessibleToolPanelDeckTabBarItem.cxx
+++ b/accessibility/source/extended/AccessibleToolPanelDeckTabBarItem.cxx
@@ -105,7 +105,7 @@ namespace accessibility
        AccessibleToolPanelDeckTabBarItem&  m_rAntiImpl;
        Reference< XAccessible >            m_xAccessibleParent;
        ::svt::IToolPanelDeck*              m_pPanelDeck;
        ::svt::PanelTabBar*                 m_pTabBar;
        VclPtr<::svt::PanelTabBar>          m_pTabBar;
        size_t                              m_nItemPos;
    };

@@ -139,7 +139,7 @@ namespace accessibility
        m_xAccessibleParent.clear();
        m_pPanelDeck->RemoveListener( *this );
        m_pPanelDeck = NULL;
        m_pTabBar = NULL;
        m_pTabBar.clear();
    }

    Reference< XAccessibleComponent > AccessibleToolPanelDeckTabBarItem_Impl::getParentAccessibleComponent() const
diff --git a/accessibility/source/extended/accessibleiconchoicectrlentry.cxx b/accessibility/source/extended/accessibleiconchoicectrlentry.cxx
index a24d05b..7945240 100644
--- a/accessibility/source/extended/accessibleiconchoicectrlentry.cxx
+++ b/accessibility/source/extended/accessibleiconchoicectrlentry.cxx
@@ -91,7 +91,7 @@ throw(RuntimeException, std::exception)
        if ( _rSource.Source == m_xParent )
        {
            dispose();
            OSL_ENSURE( !m_xParent.is() && ( NULL == m_pIconCtrl ), "" );
            OSL_ENSURE( !m_xParent.is() && ( nullptr == m_pIconCtrl ), "" );
        }
    }

diff --git a/accessibility/source/extended/textwindowaccessibility.cxx b/accessibility/source/extended/textwindowaccessibility.cxx
index 2dd16ac..fbe72a0 100644
--- a/accessibility/source/extended/textwindowaccessibility.cxx
+++ b/accessibility/source/extended/textwindowaccessibility.cxx
@@ -47,17 +47,17 @@ void SfxListenerGuard::endListening()

void WindowListenerGuard::startListening(vcl::Window & rNotifier)
{
    OSL_ENSURE(m_pNotifier == 0, "called more than once");
    OSL_ENSURE(m_pNotifier == nullptr, "called more than once");
    m_pNotifier = &rNotifier;
    m_pNotifier->AddEventListener(m_aListener);
}

void WindowListenerGuard::endListening()
{
    if (m_pNotifier != 0)
    if (m_pNotifier)
    {
        m_pNotifier->RemoveEventListener(m_aListener);
        m_pNotifier = 0;
        m_pNotifier = nullptr;
    }
}

diff --git a/accessibility/source/standard/vclxaccessibleradiobutton.cxx b/accessibility/source/standard/vclxaccessibleradiobutton.cxx
index baabdd5..c76babf 100644
--- a/accessibility/source/standard/vclxaccessibleradiobutton.cxx
+++ b/accessibility/source/standard/vclxaccessibleradiobutton.cxx
@@ -93,13 +93,13 @@ void VCLXAccessibleRadioButton::FillAccessibleRelationSet( utl::AccessibleRelati
    RadioButton* pRadioButton = dynamic_cast< RadioButton* >( GetWindow() );
    if ( pRadioButton )
    {
        ::std::vector< RadioButton* > aGroup(pRadioButton->GetRadioButtonGroup(true));
        ::std::vector< VclPtr<RadioButton> > aGroup(pRadioButton->GetRadioButtonGroup(true));
        if (!aGroup.empty())
        {
            sal_Int32 i = 0;
            Sequence< Reference< XInterface > > aSequence( static_cast< sal_Int32 >( aGroup.size() ) );
            ::std::vector< RadioButton* >::const_iterator aEndItr = aGroup.end();
            for ( ::std::vector< RadioButton* >::const_iterator aItr = aGroup.begin(); aItr < aEndItr; ++aItr )
            auto aEndItr = aGroup.end();
            for ( auto aItr = aGroup.begin(); aItr < aEndItr; ++aItr )
            {
                aSequence[i++] = (*aItr)->GetAccessible();
            }
diff --git a/accessibility/source/standard/vclxaccessibletabpagewindow.cxx b/accessibility/source/standard/vclxaccessibletabpagewindow.cxx
index 6b43aa3..d8d4732 100644
--- a/accessibility/source/standard/vclxaccessibletabpagewindow.cxx
+++ b/accessibility/source/standard/vclxaccessibletabpagewindow.cxx
@@ -50,7 +50,7 @@ VCLXAccessibleTabPageWindow::VCLXAccessibleTabPageWindow( VCLXWindow* pVCLXWindo
                for ( sal_uInt16 i = 0, nCount = m_pTabControl->GetPageCount(); i < nCount; ++i )
                {
                    sal_uInt16 nPageId = m_pTabControl->GetPageId( i );
                    if ( m_pTabControl->GetTabPage( nPageId ) == m_pTabPage )
                    if ( m_pTabControl->GetTabPage( nPageId ) == m_pTabPage.get() )
                        m_nPageId = nPageId;
                }
            }
diff --git a/avmedia/inc/mediacontrol.hxx b/avmedia/inc/mediacontrol.hxx
index 9a1933b..b24e1a5 100644
--- a/avmedia/inc/mediacontrol.hxx
+++ b/avmedia/inc/mediacontrol.hxx
@@ -95,7 +95,7 @@ private:
    VclPtr<ToolBox>     maMuteToolBox;
    VclPtr<Slider>      maVolumeSlider;
    VclPtr<ToolBox>     maZoomToolBox;
    ListBox*            mpZoomListBox;
    VclPtr<ListBox>     mpZoomListBox;
    VclPtr<Edit>        maTimeEdit;
    Size                maMinSize;
    MediaControlStyle   meControlStyle;
diff --git a/avmedia/source/framework/mediacontrol.cxx b/avmedia/source/framework/mediacontrol.cxx
index 617bbc3..24defd8 100644
--- a/avmedia/source/framework/mediacontrol.cxx
+++ b/avmedia/source/framework/mediacontrol.cxx
@@ -202,8 +202,7 @@ MediaControl::~MediaControl()
void MediaControl::dispose()
{
    maZoomToolBox->SetItemWindow( AVMEDIA_TOOLBOXITEM_ZOOM, NULL );
    delete mpZoomListBox;
    mpZoomListBox = NULL;
    mpZoomListBox.clear();
    maTimeEdit.disposeAndClear();
    maZoomToolBox.disposeAndClear();
    maVolumeSlider.disposeAndClear();
diff --git a/avmedia/source/framework/mediaplayer.cxx b/avmedia/source/framework/mediaplayer.cxx
index f9dee9a..deccd8f 100644
--- a/avmedia/source/framework/mediaplayer.cxx
+++ b/avmedia/source/framework/mediaplayer.cxx
@@ -42,7 +42,7 @@ MediaPlayer::MediaPlayer( vcl::Window* _pParent, sal_uInt16 nId, SfxBindings* _p
{
    pWindow = new MediaFloater( _pBindings, this, _pParent );
    eChildAlignment = SfxChildAlignment::NOALIGNMENT;
    static_cast< MediaFloater* >( pWindow )->Initialize( pInfo );
    static_cast< MediaFloater* >( pWindow.get() )->Initialize( pInfo );
};


diff --git a/avmedia/source/viewer/mediaevent_impl.cxx b/avmedia/source/viewer/mediaevent_impl.cxx
index 86e1817..3e42ebb 100644
--- a/avmedia/source/viewer/mediaevent_impl.cxx
+++ b/avmedia/source/viewer/mediaevent_impl.cxx
@@ -45,7 +45,7 @@ MediaEventListenersImpl::~MediaEventListenersImpl()

void MediaEventListenersImpl::cleanUp()
{
    Application::RemoveMouseAndKeyEvents( reinterpret_cast< vcl::Window* >( mpNotifyWindow ) );
    Application::RemoveMouseAndKeyEvents( reinterpret_cast< vcl::Window* >( mpNotifyWindow.get() ) );
    mpNotifyWindow = NULL;
}

@@ -72,7 +72,7 @@ void SAL_CALL MediaEventListenersImpl::keyPressed( const ::com::sun::star::awt::
                                  ( ( e.Modifiers & 4 ) ? KEY_MOD2 : 0 ) );
        KeyEvent aVCLKeyEvt( e.KeyChar, aVCLKeyCode );

        Application::PostKeyEvent( VCLEVENT_WINDOW_KEYINPUT, reinterpret_cast< vcl::Window* >( mpNotifyWindow ), &aVCLKeyEvt );
        Application::PostKeyEvent( VCLEVENT_WINDOW_KEYINPUT, reinterpret_cast< vcl::Window* >( mpNotifyWindow.get() ), &aVCLKeyEvt );
    }
}

@@ -91,7 +91,7 @@ void SAL_CALL MediaEventListenersImpl::keyReleased( const ::com::sun::star::awt:
                                  ( ( e.Modifiers & 2 ) ? KEY_MOD1 : 0 ) |
                                  ( ( e.Modifiers & 4 ) ? KEY_MOD2 : 0 ) );
        KeyEvent aVCLKeyEvt( e.KeyChar, aVCLKeyCode );
        Application::PostKeyEvent( VCLEVENT_WINDOW_KEYUP, reinterpret_cast< vcl::Window* >( mpNotifyWindow ), &aVCLKeyEvt );
        Application::PostKeyEvent( VCLEVENT_WINDOW_KEYUP, reinterpret_cast< vcl::Window* >( mpNotifyWindow.get() ), &aVCLKeyEvt );
    }
}

@@ -112,7 +112,7 @@ void SAL_CALL MediaEventListenersImpl::mousePressed( const ::com::sun::star::awt
                                ( ( e.Buttons & 2 ) ? MOUSE_RIGHT : 0 ) |
                                ( ( e.Buttons & 4 ) ? MOUSE_MIDDLE : 0 ),
                                e.Modifiers );
        Application::PostMouseEvent( VCLEVENT_WINDOW_MOUSEBUTTONDOWN, reinterpret_cast< vcl::Window* >( mpNotifyWindow ), &aVCLMouseEvt );
        Application::PostMouseEvent( VCLEVENT_WINDOW_MOUSEBUTTONDOWN, reinterpret_cast< vcl::Window* >( mpNotifyWindow.get() ), &aVCLMouseEvt );
    }
}

@@ -133,7 +133,7 @@ void SAL_CALL MediaEventListenersImpl::mouseReleased( const ::com::sun::star::aw
                                ( ( e.Buttons & 2 ) ? MOUSE_RIGHT : 0 ) |
                                ( ( e.Buttons & 4 ) ? MOUSE_MIDDLE : 0 ),
                                e.Modifiers );
        Application::PostMouseEvent( VCLEVENT_WINDOW_MOUSEBUTTONUP, reinterpret_cast< vcl::Window* >( mpNotifyWindow ), &aVCLMouseEvt );
        Application::PostMouseEvent( VCLEVENT_WINDOW_MOUSEBUTTONUP, reinterpret_cast< vcl::Window* >( mpNotifyWindow.get() ), &aVCLMouseEvt );
    }
}

@@ -174,7 +174,7 @@ void SAL_CALL MediaEventListenersImpl::mouseDragged( const ::com::sun::star::awt
    if( mpNotifyWindow )
    {
        MouseEvent aVCLMouseEvt( Point( e.X, e.Y ), 0, MouseEventModifiers::NONE, e.Buttons, e.Modifiers );
        Application::PostMouseEvent( VCLEVENT_WINDOW_MOUSEMOVE, reinterpret_cast< vcl::Window* >( mpNotifyWindow ), &aVCLMouseEvt );
        Application::PostMouseEvent( VCLEVENT_WINDOW_MOUSEMOVE, reinterpret_cast< vcl::Window* >( mpNotifyWindow.get() ), &aVCLMouseEvt );
    }
}

@@ -189,7 +189,7 @@ void SAL_CALL MediaEventListenersImpl::mouseMoved( const ::com::sun::star::awt::
    if( mpNotifyWindow )
    {
        MouseEvent aVCLMouseEvt( Point( e.X, e.Y ), 0, MouseEventModifiers::NONE, e.Buttons, e.Modifiers );
        Application::PostMouseEvent( VCLEVENT_WINDOW_MOUSEMOVE, reinterpret_cast< vcl::Window* >( mpNotifyWindow ), &aVCLMouseEvt );
        Application::PostMouseEvent( VCLEVENT_WINDOW_MOUSEMOVE, reinterpret_cast< vcl::Window* >( mpNotifyWindow.get() ), &aVCLMouseEvt );
    }
}

diff --git a/avmedia/source/viewer/mediaevent_impl.hxx b/avmedia/source/viewer/mediaevent_impl.hxx
index 63e1a0d..27676c7 100644
--- a/avmedia/source/viewer/mediaevent_impl.hxx
+++ b/avmedia/source/viewer/mediaevent_impl.hxx
@@ -26,6 +26,7 @@
#include <com/sun/star/awt/XMouseListener.hpp>
#include <com/sun/star/awt/XMouseMotionListener.hpp>
#include <com/sun/star/awt/XFocusListener.hpp>
#include <vcl/vclptr.hxx>

namespace avmedia
{
@@ -69,7 +70,7 @@ namespace avmedia

        private:

            vcl::Window*                 mpNotifyWindow;
            VclPtr<vcl::Window>     mpNotifyWindow;
            mutable ::osl::Mutex    maMutex;
        };
    }
diff --git a/avmedia/source/viewer/mediawindow_impl.cxx b/avmedia/source/viewer/mediawindow_impl.cxx
index b2716ee..c43f682 100644
--- a/avmedia/source/viewer/mediawindow_impl.cxx
+++ b/avmedia/source/viewer/mediawindow_impl.cxx
@@ -204,8 +204,7 @@ void MediaWindowImpl::dispose()
    mpEmptyBmpEx = NULL;
    delete mpAudioBmpEx;
    mpAudioBmpEx = NULL;
    delete mpMediaWindowControl;
    mpMediaWindowControl = NULL;
    mpMediaWindowControl.clear();
    Control::dispose();
}

diff --git a/avmedia/source/viewer/mediawindow_impl.hxx b/avmedia/source/viewer/mediawindow_impl.hxx
index 1311a2b..40131c3 100644
--- a/avmedia/source/viewer/mediawindow_impl.hxx
+++ b/avmedia/source/viewer/mediawindow_impl.hxx
@@ -173,7 +173,7 @@ namespace avmedia
            MediaEventListenersImpl*                                                mpEvents;
            bool                                                                    mbEventTransparent;
            std::unique_ptr<MediaChildWindow>                                       mpChildWindow;
            MediaWindowControl*                                                     mpMediaWindowControl;
            VclPtr<MediaWindowControl>                                              mpMediaWindowControl;
            BitmapEx*                                                               mpEmptyBmpEx;
            BitmapEx*                                                               mpAudioBmpEx;
        };
diff --git a/basctl/source/basicide/basicrenderable.hxx b/basctl/source/basicide/basicrenderable.hxx
index f91a5ef..db96dfc 100644
--- a/basctl/source/basicide/basicrenderable.hxx
+++ b/basctl/source/basicide/basicrenderable.hxx
@@ -33,7 +33,7 @@ class Renderable :
    public cppu::WeakComponentImplHelper1< com::sun::star::view::XRenderable >,
    public vcl::PrinterOptionsHelper
{
    BaseWindow*         mpWindow;
    VclPtr<BaseWindow>  mpWindow;
    osl::Mutex          maMutex;

    Printer* getPrinter();
diff --git a/basctl/source/basicide/baside2.cxx b/basctl/source/basicide/baside2.cxx
index 9b48376..33ddae4 100644
--- a/basctl/source/basicide/baside2.cxx
+++ b/basctl/source/basicide/baside2.cxx
@@ -1484,6 +1484,7 @@ void ModulWindowLayout::dispose()
{
    aWatchWindow.disposeAndClear();
    aStackWindow.disposeAndClear();
    pChild.clear();
    Layout::dispose();
}

diff --git a/basctl/source/basicide/baside2.hxx b/basctl/source/basicide/baside2.hxx
index 48874b0..addef49 100644
--- a/basctl/source/basicide/baside2.hxx
+++ b/basctl/source/basicide/baside2.hxx
@@ -445,7 +445,7 @@ protected:

private:
    // main child window
    ModulWindow* pChild;
    VclPtr<ModulWindow> pChild;
    // dockable windows
    VclPtr<WatchWindow> aWatchWindow;
    VclPtr<StackWindow> aStackWindow;
@@ -475,7 +475,7 @@ private:
        // the configuration
        svtools::ColorConfig aConfig;
        // the active editor
        EditorWindow* pEditor;
        VclPtr<EditorWindow> pEditor;

    } aSyntaxColors;
};
@@ -489,7 +489,7 @@ private:
    /* a buffer to build up function name when typing
     * a function name, used for showing/hiding listbox values
     * */
    CodeCompleteWindow* pCodeCompleteWindow; // parent window
    VclPtr<CodeCompleteWindow> pCodeCompleteWindow; // parent window

    void SetMatchingEntries(); // sets the visible entries based on aFuncBuffer variable
    void HideAndRestoreFocus();
@@ -497,6 +497,8 @@ private:

public:
    CodeCompleteListBox( CodeCompleteWindow* pPar );
    virtual ~CodeCompleteListBox();
    virtual void dispose() SAL_OVERRIDE;
    void InsertSelectedEntry(); //insert the selected entry

    DECL_LINK(ImplDoubleClickHdl, void*);
@@ -510,9 +512,9 @@ class CodeCompleteWindow: public vcl::Window
{
friend class CodeCompleteListBox;
private:
    EditorWindow* pParent; // parent window
    VclPtr<EditorWindow> pParent; // parent window
    TextSelection aTextSelection;
    CodeCompleteListBox* pListBox;
    VclPtr<CodeCompleteListBox> pListBox;

    void InitListBox(); // initialize the ListBox

diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index 4afce39..f405491 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -2685,6 +2685,17 @@ pCodeCompleteWindow( pPar )
    SetSelectHdl(LINK(this, CodeCompleteListBox, ImplSelectHdl));
}

CodeCompleteListBox::~CodeCompleteListBox()
{
    dispose();
}

void CodeCompleteListBox::dispose()
{
    pCodeCompleteWindow.clear();
    ListBox::dispose();
}

IMPL_LINK_NOARG(CodeCompleteListBox, ImplDoubleClickHdl)
{
    InsertSelectedEntry();
@@ -2863,8 +2874,8 @@ CodeCompleteWindow::~CodeCompleteWindow()

void CodeCompleteWindow::dispose()
{
    delete pListBox;
    pListBox = NULL;
    pListBox.clear();
    pParent.clear();
    vcl::Window::dispose();
}

diff --git a/basctl/source/basicide/baside3.cxx b/basctl/source/basicide/baside3.cxx
index a85d0e0..4c08dcb 100644
--- a/basctl/source/basicide/baside3.cxx
+++ b/basctl/source/basicide/baside3.cxx
@@ -1413,12 +1413,12 @@ DialogWindowLayout::~DialogWindowLayout()

void DialogWindowLayout::dispose()
{
    if (pPropertyBrowser != 0)
    if (pPropertyBrowser)
    {
        Remove(pPropertyBrowser);
        delete pPropertyBrowser;
        pPropertyBrowser = 0;
    }
    pPropertyBrowser.clear();
    pChild.clear();
    Layout::dispose();
}

diff --git a/basctl/source/basicide/basides1.cxx b/basctl/source/basicide/basides1.cxx
index c6374bf..c9aaa23 100644
--- a/basctl/source/basicide/basides1.cxx
+++ b/basctl/source/basicide/basides1.cxx
@@ -126,7 +126,7 @@ void Shell::ExecuteCurrent( SfxRequest& rReq )
                            break;
                    if (it != aWindowTable.end())
                        ++it;
                    BaseWindow* pWin = it != aWindowTable.end() ? it->second : 0;
                    BaseWindow* pWin = it != aWindowTable.end() ? it->second.get() : 0;

                    bool bSearchedFromStart = false;
                    while ( !nFound && !bCanceled && ( pWin || !bSearchedFromStart ) )
@@ -166,7 +166,7 @@ void Shell::ExecuteCurrent( SfxRequest& rReq )
                        {
                            if ( it != aWindowTable.end() )
                                ++it;
                            pWin = it != aWindowTable.end() ? it->second : 0;
                            pWin = it != aWindowTable.end() ? it->second.get() : 0;
                        }
                        else
                            pWin = 0;
@@ -202,7 +202,7 @@ void Shell::ExecuteGlobal( SfxRequest& rReq )
        case SID_BASICSTOP:
        {
            // maybe do not simply stop if on breakpoint!
            if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
            if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin.get()))
                pMCurWin->BasicStop();
            StopBasic();
        }
@@ -769,7 +769,7 @@ void Shell::GetState(SfxItemSet &rSet)
            case SID_BASICSAVEAS:
            case SID_BASICIDE_MATCHGROUP:
            {
                if (!dynamic_cast<ModulWindow*>(pCurWin))
                if (!dynamic_cast<ModulWindow*>(pCurWin.get()))
                    rSet.DisableItem( nWh );
                else if ( ( nWh == SID_BASICLOAD ) && ( StarBASIC::IsRunning() || ( pCurWin && pCurWin->IsReadOnly() ) ) )
                    rSet.DisableItem( nWh );
@@ -782,7 +782,7 @@ void Shell::GetState(SfxItemSet &rSet)
            case SID_BASICIDE_TOGGLEBRKPNT:
            case SID_BASICIDE_MANAGEBRKPNTS:
            {
                if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
                if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin.get()))
                {
                    if (StarBASIC::IsRunning() && !pMCurWin->GetBasicStatus().bIsInReschedule)
                        rSet.DisableItem(nWh);
@@ -793,7 +793,7 @@ void Shell::GetState(SfxItemSet &rSet)
            break;
            case SID_BASICCOMPILE:
            {
                if (StarBASIC::IsRunning() || !dynamic_cast<ModulWindow*>(pCurWin))
                if (StarBASIC::IsRunning() || !dynamic_cast<ModulWindow*>(pCurWin.get()))
                    rSet.DisableItem( nWh );
            }
            break;
@@ -814,7 +814,7 @@ void Shell::GetState(SfxItemSet &rSet)
            case SID_INSERT_FORM_HSCROLL:
            case SID_INSERT_FORM_SPIN:
            {
                if (!dynamic_cast<DialogWindow*>(pCurWin))
                if (!dynamic_cast<DialogWindow*>(pCurWin.get()))
                    rSet.DisableItem( nWh );
            }
            break;
@@ -945,7 +945,7 @@ void Shell::GetState(SfxItemSet &rSet)
                // if this is not a module window hide the
                // setting, doesn't make sense for example if the
                // dialog editor is open
                if (pCurWin && !dynamic_cast<ModulWindow*>(pCurWin))
                if (pCurWin && !dynamic_cast<ModulWindow*>(pCurWin.get()))
                {
                    rSet.DisableItem( nWh );
                    rSet.Put(SfxVisibilityItem(nWh, false));
@@ -968,7 +968,7 @@ bool Shell::HasUIFeature( sal_uInt32 nFeature )
    if ( (nFeature & BASICIDE_UI_FEATURE_SHOW_BROWSER) == BASICIDE_UI_FEATURE_SHOW_BROWSER )
    {
        // fade out (in) property browser in module (dialog) windows
        if (dynamic_cast<DialogWindow*>(pCurWin) && !pCurWin->IsReadOnly())
        if (dynamic_cast<DialogWindow*>(pCurWin.get()) && !pCurWin->IsReadOnly())
            bResult = true;
    }

@@ -1035,7 +1035,7 @@ void Shell::SetCurWindow( BaseWindow* pNewWin, bool bUpdateTabBar, bool bRemembe
        aObjectCatalog->SetCurrentEntry(pCurWin);
        SetUndoManager( pCurWin ? pCurWin->GetUndoManager() : 0 );
        InvalidateBasicIDESlots();
        EnableScrollbars(pCurWin != 0);
        EnableScrollbars(pCurWin != nullptr);

        if ( m_pCurLocalizationMgr )
            m_pCurLocalizationMgr->handleTranslationbar();
@@ -1067,7 +1067,7 @@ void Shell::ManageToolbars()
        if ( xLayoutManager.is() )
        {
            xLayoutManager->lock();
            if (dynamic_cast<DialogWindow*>(pCurWin))
            if (dynamic_cast<DialogWindow*>(pCurWin.get()))
            {
                xLayoutManager->destroyElement( aMacroBarResName );

@@ -1213,7 +1213,7 @@ void Shell::AdjustPosSizePixel( const Point &rPos, const Size &rSize )
    }

    if (pLayout)
        pLayout->SetPosSizePixel(rPos, dynamic_cast<DialogWindow*>(pCurWin) ? aSz : aOutSz);
        pLayout->SetPosSizePixel(rPos, dynamic_cast<DialogWindow*>(pCurWin.get()) ? aSz : aOutSz);
}

Reference< XModel > Shell::GetCurrentDocument() const
@@ -1230,7 +1230,7 @@ void Shell::Activate( bool bMDI )

    if ( bMDI )
    {
        if (DialogWindow* pDCurWin = dynamic_cast<DialogWindow*>(pCurWin))
        if (DialogWindow* pDCurWin = dynamic_cast<DialogWindow*>(pCurWin.get()))
            pDCurWin->UpdateBrowser();
    }
}
@@ -1241,7 +1241,7 @@ void Shell::Deactivate( bool bMDI )
    // deactivate due to a MessageBox bMDI is false
    if ( bMDI )
    {
        if (DialogWindow* pXDlgWin = dynamic_cast<DialogWindow*>(pCurWin))
        if (DialogWindow* pXDlgWin = dynamic_cast<DialogWindow*>(pCurWin.get()))
        {
            pXDlgWin->DisableBrowser();
            if( pXDlgWin->IsModified() )
diff --git a/basctl/source/basicide/basides2.cxx b/basctl/source/basicide/basides2.cxx
index 70cda63..3e88d55 100644
--- a/basctl/source/basicide/basides2.cxx
+++ b/basctl/source/basicide/basides2.cxx
@@ -44,7 +44,7 @@ Reference< view::XRenderable > Shell::GetRenderable()

bool Shell::HasSelection( bool /* bText */ ) const
{
    if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
    if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin.get()))
    {
        TextView* pEditView = pMCurWin->GetEditView();
        if ( pEditView && pEditView->HasSelection() )
@@ -56,7 +56,7 @@ bool Shell::HasSelection( bool /* bText */ ) const
OUString Shell::GetSelectionText( bool bWholeWord )
{
    OUString aText;
    if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
    if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin.get()))
    {
        if (TextView* pEditView = pMCurWin->GetEditView())
        {
@@ -220,14 +220,14 @@ void Shell::Move()

void Shell::ShowCursor( bool bOn )
{
    if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
    if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin.get()))
        pMCurWin->ShowCursor(bOn);
}

// only if basic window above:
void Shell::ExecuteBasic( SfxRequest& rReq )
{
    if (dynamic_cast<ModulWindow*>(pCurWin))
    if (dynamic_cast<ModulWindow*>(pCurWin.get()))
    {
        pCurWin->ExecuteCommand( rReq );
        if (nShellCount)
diff --git a/basctl/source/basicide/basides3.cxx b/basctl/source/basicide/basides3.cxx
index 8112a17..5b2f93d 100644
--- a/basctl/source/basicide/basides3.cxx
+++ b/basctl/source/basicide/basides3.cxx
@@ -128,7 +128,7 @@ sal_uInt16 Shell::GetWindowId(const BaseWindow* pWin) const

SdrView* Shell::GetCurDlgView() const
{
    if (DialogWindow* pDCurWin = dynamic_cast<DialogWindow*>(pCurWin))
    if (DialogWindow* pDCurWin = dynamic_cast<DialogWindow*>(pCurWin.get()))
        return &pDCurWin->GetView();
    else
        return 0;
@@ -137,7 +137,7 @@ SdrView* Shell::GetCurDlgView() const
// only if dialogue window above:
void Shell::ExecuteDialog( SfxRequest& rReq )
{
    if (pCurWin && (dynamic_cast<DialogWindow*>(pCurWin) || rReq.GetSlot() == SID_IMPORT_DIALOG))
    if (pCurWin && (dynamic_cast<DialogWindow*>(pCurWin.get()) || rReq.GetSlot() == SID_IMPORT_DIALOG))
        pCurWin->ExecuteCommand(rReq);
}

diff --git a/basctl/source/basicide/basidesh.cxx b/basctl/source/basicide/basidesh.cxx
index bf9af42..e1d92e1 100644
--- a/basctl/source/basicide/basidesh.cxx
+++ b/basctl/source/basicide/basidesh.cxx
@@ -232,11 +232,8 @@ Shell::~Shell()
    SetWindow( 0 );
    SetCurWindow( 0 );

    for (WindowTableIt it = aWindowTable.begin(); it != aWindowTable.end(); ++it)
    {
        // no store; does already happen when the BasicManagers are destroyed
        delete it->second;
    }
    // no store; does already happen when the BasicManagers are destroyed
    aWindowTable.clear();

    // Destroy all ContainerListeners for Basic Container.
    if (ContainerListenerImpl* pListener = static_cast<ContainerListenerImpl*>(m_xLibListener.get()))
@@ -255,7 +252,10 @@ void Shell::onDocumentCreated( const ScriptDocument& /*_rDocument*/ )

        // for VBA documents, show a warning that we can save them only in ODF
        if (pCurWin->GetDocument().isInVBAMode())
            GetViewFrame()->AppendInfoBar("vba_save", IDE_RESSTR(RID_STR_CANNOTSAVEVBA));
        {
            std::vector< VclPtr<PushButton> > aButtons;
            GetViewFrame()->AppendInfoBar("vba_save", IDE_RESSTR(RID_STR_CANNOTSAVEVBA), aButtons);
        }
    }

    UpdateWindows();
diff --git a/basctl/source/basicide/bastypes.cxx b/basctl/source/basicide/bastypes.cxx
index 3a6be36..7e0bfea 100644
--- a/basctl/source/basicide/bastypes.cxx
+++ b/basctl/source/basicide/bastypes.cxx
@@ -64,6 +64,8 @@ void BaseWindow::dispose()
        pShellVScrollBar->SetScrollHdl( Link() );
    if ( pShellHScrollBar )
        pShellHScrollBar->SetScrollHdl( Link() );
    pShellVScrollBar.clear();
    pShellHScrollBar.clear();
    vcl::Window::dispose();
}

@@ -279,6 +281,17 @@ DockingWindow::DockingWindow (Layout* pParent) :
    nShowCount(0)
{ }

DockingWindow::~DockingWindow()
{
    dispose();
}

void DockingWindow::dispose()
{
    pLayout.clear();
    ::DockingWindow::dispose();
}

// Sets the position and the size of the docking window. This property is saved
// when the window is floating. Called by Layout.
void DockingWindow::ResizeIfDocking (Point const& rPos, Size const& rSize)
@@ -526,7 +539,7 @@ void TabBar::Command( const CommandEvent& rCEvt )
                    {
                        Shell::WindowTable& aWindowTable = pShell->GetWindowTable();
                        Shell::WindowTableIt it = aWindowTable.find( GetCurPageId() );
                        if (it != aWindowTable.end() && dynamic_cast<ModulWindow*>(it->second))
                        if (it != aWindowTable.end() && dynamic_cast<ModulWindow*>(it->second.get()))
                        {
                            SbModule* pActiveModule = pBasic->FindModule( it->second->GetName() );
                            if( pActiveModule && ( pActiveModule->GetModuleType() == script::ModuleType::DOCUMENT ) )
diff --git a/basctl/source/basicide/brkdlg.cxx b/basctl/source/basicide/brkdlg.cxx
index b5b2ef1..321f68b 100644
--- a/basctl/source/basicide/brkdlg.cxx
+++ b/basctl/source/basicide/brkdlg.cxx
@@ -106,6 +106,21 @@ BreakPointDialog::BreakPointDialog( vcl::Window* pParent, BreakPointList& rBrkPn
    CheckButtons();
}

BreakPointDialog::~BreakPointDialog()
{
    dispose();
}

void BreakPointDialog::dispose()
{
    m_pComboBox.clear();
    m_pOKButton.clear();
    m_pNewButton.clear();
    m_pDelButton.clear();
    m_pNumericField.clear();
    ModalDialog::dispose();
}

void BreakPointDialog::SetCurrentBreakPoint( BreakPoint* pBrk )
{
    OUString aStr( "# " + OUString::number(pBrk->nLine) );
diff --git a/basctl/source/basicide/brkdlg.hxx b/basctl/source/basicide/brkdlg.hxx
index 703744e..5c78e7c 100644
--- a/basctl/source/basicide/brkdlg.hxx
+++ b/basctl/source/basicide/brkdlg.hxx
@@ -31,12 +31,12 @@ namespace basctl
class BreakPointDialog : public ModalDialog
{
private:
    ComboBox*       m_pComboBox;
    OKButton*       m_pOKButton;
    PushButton*     m_pNewButton;
    PushButton*     m_pDelButton;
    ::CheckBox*     m_pCheckBox;
    NumericField*   m_pNumericField;
    VclPtr<ComboBox>       m_pComboBox;
    VclPtr<OKButton>       m_pOKButton;
    VclPtr<PushButton>     m_pNewButton;
    VclPtr<PushButton>     m_pDelButton;
    ::VclPtr<CheckBox>     m_pCheckBox;
    VclPtr<NumericField>   m_pNumericField;

    BreakPointList & m_rOriginalBreakPointList;
    BreakPointList m_aModifiedBreakPointList;
@@ -53,6 +53,8 @@ protected:

public:
            BreakPointDialog( vcl::Window* pParent, BreakPointList& rBrkList );
    virtual ~BreakPointDialog();
    virtual void dispose() SAL_OVERRIDE;

    void    SetCurrentBreakPoint( BreakPoint* pBrk );
};
diff --git a/basctl/source/basicide/layout.cxx b/basctl/source/basicide/layout.cxx
index 58db3a7..14a3b54 100644
--- a/basctl/source/basicide/layout.cxx
+++ b/basctl/source/basicide/layout.cxx
@@ -53,6 +53,17 @@ Layout::Layout (vcl::Window* pParent) :
    SetFont(aFont);
}

Layout::~Layout()
{
    dispose();
}

void Layout::dispose()
{
    pChild.clear();
    Window::dispose();
}

// removes a docking window
void Layout::Remove (DockingWindow* pWin)
{
diff --git a/basctl/source/basicide/layout.hxx b/basctl/source/basicide/layout.hxx
index 56e69a2..ad19ad93 100644
--- a/basctl/source/basicide/layout.hxx
+++ b/basctl/source/basicide/layout.hxx
@@ -50,6 +50,9 @@ public:
    virtual void GetState (SfxItemSet&, unsigned nWhich) = 0;
    virtual void UpdateDebug (bool bBasicStopped ) = 0;

    virtual ~Layout();
    virtual void dispose() SAL_OVERRIDE;

protected:
    Layout (vcl::Window* pParent);

@@ -67,7 +70,7 @@ protected:

private:
    // the main child window (either ModulWindow or DialogWindow)
    BaseWindow* pChild;
    VclPtr<BaseWindow> pChild;

    // when this window has at first (nonempty) size
    bool bFirstSize;
@@ -101,7 +104,7 @@ private:
        struct Item
        {
            // pointer to the dockable window
            DockingWindow* pWin;
            VclPtr<DockingWindow> pWin;
            // starting and ending position in the strip
            // They may be different from the actual window position, because
            // the window may fill the space of the adjacent currently
diff --git a/basctl/source/basicide/linenumberwindow.cxx b/basctl/source/basicide/linenumberwindow.cxx
index e3b49bf..97c1fd9 100644
--- a/basctl/source/basicide/linenumberwindow.cxx
+++ b/basctl/source/basicide/linenumberwindow.cxx
@@ -25,6 +25,17 @@ LineNumberWindow::LineNumberWindow (vcl::Window* pParent, ModulWindow* pModulWin
    m_nWidth = m_nBaseWidth * 3 + m_nBaseWidth / 2;
}

LineNumberWindow::~LineNumberWindow()
{
    dispose();
}

void LineNumberWindow::dispose()
{
    m_pModulWindow.clear();
    Window::dispose();
}

void LineNumberWindow::Paint( const Rectangle& )
{
    if(SyncYOffset())
diff --git a/basctl/source/basicide/linenumberwindow.hxx b/basctl/source/basicide/linenumberwindow.hxx
index 6a6bcd2..6549893 100644
--- a/basctl/source/basicide/linenumberwindow.hxx
+++ b/basctl/source/basicide/linenumberwindow.hxx
@@ -19,7 +19,7 @@ class ModulWindow;
class LineNumberWindow : public vcl::Window
{
private:
    ModulWindow* m_pModulWindow;
    VclPtr<ModulWindow> m_pModulWindow;
    int m_nWidth;
    long m_nCurYOffset;
    int m_nBaseWidth;
@@ -30,6 +30,8 @@ protected:

public:
    LineNumberWindow (vcl::Window* pParent, ModulWindow* pModulWin);
    virtual ~LineNumberWindow();
    virtual void dispose() SAL_OVERRIDE;

    void DoScroll( long nHorzScroll, long nVertScroll );

diff --git a/basctl/source/basicide/macrodlg.cxx b/basctl/source/basicide/macrodlg.cxx
index 31d8bcc..104d365 100644
--- a/basctl/source/basicide/macrodlg.cxx
+++ b/basctl/source/basicide/macrodlg.cxx
@@ -122,6 +122,20 @@ void MacroChooser::dispose()
        SfxGetpApp()->SaveBasicAndDialogContainer();
        bForceStoreBasic = false;
    }
    m_pMacroNameEdit.clear();
    m_pMacroFromTxT.clear();
    m_pMacrosSaveInTxt.clear();
    m_pBasicBox.clear();
    m_pMacrosInTxt.clear();
    m_pMacroBox.clear();
    m_pRunButton.clear();
    m_pCloseButton.clear();
    m_pAssignButton.clear();
    m_pEditButton.clear();
    m_pDelButton.clear();
    m_pOrganizeButton.clear();
    m_pNewLibButton.clear();
    m_pNewModButton.clear();
    SfxModalDialog::dispose();
}

diff --git a/basctl/source/basicide/macrodlg.hxx b/basctl/source/basicide/macrodlg.hxx
index 71892b3e..d838820 100644
--- a/basctl/source/basicide/macrodlg.hxx
+++ b/basctl/source/basicide/macrodlg.hxx
@@ -45,22 +45,22 @@ public:
    };

private:
    Edit*                   m_pMacroNameEdit;
    FixedText*              m_pMacroFromTxT;
    FixedText*              m_pMacrosSaveInTxt;
    TreeListBox*            m_pBasicBox;
    FixedText*              m_pMacrosInTxt;
    VclPtr<Edit>                   m_pMacroNameEdit;
    VclPtr<FixedText>              m_pMacroFromTxT;
    VclPtr<FixedText>              m_pMacrosSaveInTxt;
    VclPtr<TreeListBox>            m_pBasicBox;
    VclPtr<FixedText>              m_pMacrosInTxt;
    OUString                m_aMacrosInTxtBaseStr;
    SvTreeListBox*          m_pMacroBox;
    VclPtr<SvTreeListBox>          m_pMacroBox;

    PushButton*             m_pRunButton;
    CloseButton*            m_pCloseButton;
    PushButton*             m_pAssignButton;
    PushButton*             m_pEditButton;
    PushButton*             m_pDelButton;
    PushButton*             m_pOrganizeButton;
    PushButton*             m_pNewLibButton;
    PushButton*             m_pNewModButton;
    VclPtr<PushButton>             m_pRunButton;
    VclPtr<CloseButton>            m_pCloseButton;
    VclPtr<PushButton>             m_pAssignButton;
    VclPtr<PushButton>             m_pEditButton;
    VclPtr<PushButton>             m_pDelButton;
    VclPtr<PushButton>             m_pOrganizeButton;
    VclPtr<PushButton>             m_pNewLibButton;
    VclPtr<PushButton>             m_pNewModButton;

    bool                    bNewDelIsDel;
    bool                    bForceStoreBasic;
diff --git a/basctl/source/basicide/moduldl2.cxx b/basctl/source/basicide/moduldl2.cxx
index f7cfbb5..9174328 100644
--- a/basctl/source/basicide/moduldl2.cxx
+++ b/basctl/source/basicide/moduldl2.cxx
@@ -392,6 +392,18 @@ NewObjectDialog::NewObjectDialog(vcl::Window * pParent, ObjectMode::Mode eMode,
        m_pOKButton->SetClickHdl(LINK(this, NewObjectDialog, OkButtonHandler));
}

NewObjectDialog::~NewObjectDialog()
{
    dispose();
}

void NewObjectDialog::dispose()
{
    m_pEdit.clear();
    m_pOKButton.clear();
    ModalDialog::dispose();
}

// GotoLineDialog
GotoLineDialog::GotoLineDialog(vcl::Window * pParent )
    : ModalDialog(pParent, "GotoLineDialog",
@@ -403,6 +415,18 @@ GotoLineDialog::GotoLineDialog(vcl::Window * pParent )
    m_pOKButton->SetClickHdl(LINK(this, GotoLineDialog, OkButtonHandler));
}

GotoLineDialog::~GotoLineDialog()
{
    dispose();
}

void GotoLineDialog::dispose()
{
    m_pEdit.clear();
    m_pOKButton.clear();
    ModalDialog::dispose();
}

sal_Int32 GotoLineDialog::GetLineNumber() const
{
    return m_pEdit->GetText().toInt32();
@@ -437,6 +461,18 @@ ExportDialog::ExportDialog(vcl::Window * pParent)
    m_pOKButton->SetClickHdl(LINK(this, ExportDialog, OkButtonHandler));
}

ExportDialog::~ExportDialog()
{
    dispose();
}

void ExportDialog::dispose()
{
    m_pExportAsPackageButton.clear();
    m_pOKButton.clear();
    ModalDialog::dispose();
}

// LibPage
LibPage::LibPage(vcl::Window * pParent)
    : TabPage(pParent, "LibPage",
@@ -497,8 +533,16 @@ void LibPage::dispose()
            DocumentEntry* pEntry = static_cast<DocumentEntry*>(m_pBasicsBox->GetEntryData( i ));
            delete pEntry;
        }
        m_pBasicsBox = NULL;
    }
    m_pBasicsBox.clear();
    m_pLibBox.clear();
    m_pEditButton.clear();
    m_pPasswordButton.clear();
    m_pNewLibButton.clear();
    m_pInsertLibButton.clear();
    m_pExportButton.clear();
    m_pDelButton.clear();
    pTabDlg.clear();
    TabPage::dispose();
}

diff --git a/basctl/source/basicide/moduldlg.cxx b/basctl/source/basicide/moduldlg.cxx
index 216fb1d..d80dbc1 100644
--- a/basctl/source/basicide/moduldlg.cxx
+++ b/basctl/source/basicide/moduldlg.cxx
@@ -495,8 +495,8 @@ void OrganizeDialog::dispose()
    {
        for ( sal_uInt16 i = 0; i < m_pTabCtrl->GetPageCount(); i++ )
            delete m_pTabCtrl->GetTabPage( m_pTabCtrl->GetPageId( i ) );
        m_pTabCtrl = NULL;
    }
    m_pTabCtrl.clear();

    TabDialog::dispose();
};
@@ -598,6 +598,22 @@ ObjectPage::ObjectPage(vcl::Window *pParent, const OString &rName, sal_uInt16 nM
    CheckButtons();
}

ObjectPage::~ObjectPage()
{
    dispose();
}

void ObjectPage::dispose()
{
    m_pBasicBox.clear();
    m_pEditButton.clear();
    m_pNewModButton.clear();
    m_pNewDlgButton.clear();
    m_pDelButton.clear();
    pTabDlg.clear();
    TabPage::dispose();
}

void ObjectPage::SetCurrentEntry (EntryDescriptor& rDesc)
{
    m_pBasicBox->SetCurrentEntry( rDesc );
@@ -927,6 +943,21 @@ LibDialog::LibDialog( vcl::Window* pParent )
    m_pLibBox->set_width_request(m_pLibBox->approximate_char_width() * 32);
}

LibDialog::~LibDialog()
{
    dispose();
}

void LibDialog::dispose()
{
    m_pStorageFrame.clear();
    m_pLibBox.clear();
    m_pReferenceBox.clear();
    m_pReplaceBox.clear();
    ModalDialog::dispose();
}


void LibDialog::SetStorageName( const OUString& rName )
{
    OUString aName( IDE_RESSTR(RID_STR_FILENAME) );
diff --git a/basctl/source/basicide/moduldlg.hxx b/basctl/source/basicide/moduldlg.hxx
index 00abbe1..12907c0 100644
--- a/basctl/source/basicide/moduldlg.hxx
+++ b/basctl/source/basicide/moduldlg.hxx
@@ -48,12 +48,14 @@ namespace ObjectMode
class NewObjectDialog : public ModalDialog
{
private:
    Edit*           m_pEdit;
    OKButton*       m_pOKButton;
    VclPtr<Edit>           m_pEdit;
    VclPtr<OKButton>       m_pOKButton;

    DECL_LINK(OkButtonHandler, void *);
public:
    NewObjectDialog (vcl::Window* pParent, ObjectMode::Mode, bool bCheckName = false);
    virtual ~NewObjectDialog();
    virtual void dispose() SAL_OVERRIDE;
    OUString GetObjectName() const { return m_pEdit->GetText(); }
    void SetObjectName( const OUString& rName )
    {
@@ -64,19 +66,21 @@ public:

class GotoLineDialog : public ModalDialog
{
    Edit*           m_pEdit;
    OKButton*       m_pOKButton;
    VclPtr<Edit>           m_pEdit;
    VclPtr<OKButton>       m_pOKButton;
    DECL_LINK(OkButtonHandler, void *);
public:
    GotoLineDialog(vcl::Window * pParent);
    virtual ~GotoLineDialog();
    virtual void dispose() SAL_OVERRIDE;
    sal_Int32 GetLineNumber() const;
};

class ExportDialog : public ModalDialog
{
private:
    RadioButton*    m_pExportAsPackageButton;
    OKButton*       m_pOKButton;
    VclPtr<RadioButton>    m_pExportAsPackageButton;
    VclPtr<OKButton>       m_pOKButton;

    bool            mbExportAsPackage;

@@ -84,6 +88,8 @@ private:

public:
    ExportDialog( vcl::Window * pParent );
    virtual ~ExportDialog();
    virtual void dispose() SAL_OVERRIDE;

    bool isExportAsPackage () const { return mbExportAsPackage; }
};
@@ -141,13 +147,15 @@ public:
class LibDialog: public ModalDialog
{
private:
    VclFrame*       m_pStorageFrame;
    CheckBox*       m_pLibBox;
    ::CheckBox*     m_pReferenceBox;
    ::CheckBox*     m_pReplaceBox;
    VclPtr<VclFrame>       m_pStorageFrame;
    VclPtr<CheckBox>       m_pLibBox;
    VclPtr<::CheckBox>       m_pReferenceBox;
    VclPtr<::CheckBox>       m_pReplaceBox;

public:
    LibDialog( vcl::Window* pParent );
    virtual ~LibDialog();
    virtual void dispose() SAL_OVERRIDE;

    void            SetStorageName( const OUString& rName );

@@ -162,7 +170,7 @@ public:
class OrganizeDialog : public TabDialog
{
private:
    TabControl*        m_pTabCtrl;
    VclPtr<TabControl> m_pTabCtrl;
    EntryDescriptor    m_aCurEntry;

public:
@@ -178,11 +186,11 @@ public:
class ObjectPage: public TabPage
{
protected:
    ExtTreeListBox*     m_pBasicBox;
    PushButton*         m_pEditButton;
    PushButton*         m_pNewModButton;
    PushButton*         m_pNewDlgButton;
    PushButton*         m_pDelButton;
    VclPtr<ExtTreeListBox>     m_pBasicBox;
    VclPtr<PushButton>         m_pEditButton;
    VclPtr<PushButton>         m_pNewModButton;
    VclPtr<PushButton>         m_pNewDlgButton;
    VclPtr<PushButton>         m_pDelButton;

    DECL_LINK( BasicBoxHighlightHdl, TreeListBox * );
    DECL_LINK( ButtonHdl, Button * );
@@ -193,13 +201,15 @@ protected:
    void                NewDialog();
    void                EndTabDialog( sal_uInt16 nRet );

    TabDialog*          pTabDlg;
    VclPtr<TabDialog>          pTabDlg;

    virtual void        ActivatePage() SAL_OVERRIDE;
    virtual void        DeactivatePage() SAL_OVERRIDE;

public:
    ObjectPage(vcl::Window* pParent, const OString& rName, sal_uInt16 nMode);
    virtual ~ObjectPage();
    virtual void dispose() SAL_OVERRIDE;

    void                SetCurrentEntry( EntryDescriptor& rDesc );
    void                SetTabDlg( TabDialog* p ) { pTabDlg = p;}
@@ -209,14 +219,14 @@ public:
class LibPage: public TabPage
{
protected:
    ListBox*            m_pBasicsBox;
    CheckBox*           m_pLibBox;
    PushButton*         m_pEditButton;
    PushButton*         m_pPasswordButton;
    PushButton*         m_pNewLibButton;
    PushButton*         m_pInsertLibButton;
    PushButton*         m_pExportButton;
    PushButton*         m_pDelButton;
    VclPtr<ListBox>            m_pBasicsBox;
    VclPtr<CheckBox>           m_pLibBox;
    VclPtr<PushButton>         m_pEditButton;
    VclPtr<PushButton>         m_pPasswordButton;
    VclPtr<PushButton>         m_pNewLibButton;
    VclPtr<PushButton>         m_pInsertLibButton;
    VclPtr<PushButton>         m_pExportButton;
    VclPtr<PushButton>         m_pDelButton;

    ScriptDocument      m_aCurDocument;
    LibraryLocation     m_eCurLocation;
@@ -242,7 +252,7 @@ protected:
    virtual void        ActivatePage() SAL_OVERRIDE;
    virtual void        DeactivatePage() SAL_OVERRIDE;

    TabDialog*          pTabDlg;
    VclPtr<TabDialog>          pTabDlg;

public:
                        LibPage( vcl::Window* pParent );
diff --git a/basctl/source/dlged/managelang.cxx b/basctl/source/dlged/managelang.cxx
index 953f96b..cb0ec81 100644
--- a/basctl/source/dlged/managelang.cxx
+++ b/basctl/source/dlged/managelang.cxx
@@ -81,6 +81,10 @@ ManageLanguageDialog::~ManageLanguageDialog()
void ManageLanguageDialog::dispose()
{
    ClearLanguageBox();
    m_pLanguageLB.clear();
    m_pAddPB.clear();
    m_pDeletePB.clear();
    m_pMakeDefPB.clear();
    ModalDialog::dispose();
}

@@ -253,6 +257,22 @@ SetDefaultLanguageDialog::SetDefaultLanguageDialog(vcl::Window* pParent, boost::
    FillLanguageBox();
}

SetDefaultLanguageDialog::~SetDefaultLanguageDialog()
{
    dispose();
}

void SetDefaultLanguageDialog::dispose()
{
    m_pLanguageFT.clear();
    m_pLanguageLB.clear();
    m_pCheckLangFT.clear();
    m_pCheckLangLB.clear();
    m_pDefinedFT.clear();
    m_pAddedFT.clear();
    ModalDialog::dispose();
}

void SetDefaultLanguageDialog::FillLanguageBox()
{
    // fill list with all languages
diff --git a/basctl/source/inc/accessibledialogcontrolshape.hxx b/basctl/source/inc/accessibledialogcontrolshape.hxx
index 7192763..bc0d52b 100644
--- a/basctl/source/inc/accessibledialogcontrolshape.hxx
+++ b/basctl/source/inc/accessibledialogcontrolshape.hxx
@@ -24,6 +24,7 @@
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <comphelper/accessiblecomponenthelper.hxx>
#include <cppuhelper/implbase3.hxx>
#include <vcl/vclptr.hxx>

namespace vcl { class Window; }
class VCLExternalSolarLock;
@@ -56,7 +57,7 @@ class AccessibleDialogControlShape :    public AccessibleExtendedComponentHelper

private:
    VCLExternalSolarLock*   m_pExternalLock;
    DialogWindow*           m_pDialogWindow;
    VclPtr<DialogWindow>    m_pDialogWindow;
    DlgEdObj*               m_pDlgEdObj;
    bool                    m_bFocused;
    bool                    m_bSelected;
diff --git a/basctl/source/inc/accessibledialogwindow.hxx b/basctl/source/inc/accessibledialogwindow.hxx
index c57b259..bd27394 100644
--- a/basctl/source/inc/accessibledialogwindow.hxx
+++ b/basctl/source/inc/accessibledialogwindow.hxx
@@ -26,6 +26,7 @@
#include <cppuhelper/implbase3.hxx>
#include <svl/lstner.hxx>
#include <tools/link.hxx>
#include <vcl/vclptr.hxx>

class VCLExternalSolarLock;
class VclSimpleEvent;
@@ -80,7 +81,7 @@ private:

    AccessibleChildren      m_aAccessibleChildren;
    VCLExternalSolarLock*   m_pExternalLock;
    basctl::DialogWindow*   m_pDialogWindow;
    VclPtr<basctl::DialogWindow>   m_pDialogWindow;
    DlgEditor*              m_pDlgEditor;
    DlgEdModel*             m_pDlgEdModel;

diff --git a/basctl/source/inc/baside3.hxx b/basctl/source/inc/baside3.hxx
index 644ccba..de17eb0 100644
--- a/basctl/source/inc/baside3.hxx
+++ b/basctl/source/inc/baside3.hxx
@@ -146,12 +146,12 @@ protected:

private:
    // child window
    DialogWindow* pChild;
    VclPtr<DialogWindow> pChild;
    // dockable windows:
    // object catalog (owned by Shell)
    ObjectCatalog& rObjectCatalog;
    // property browser (created by this, deleted by toolkit)
    PropBrw* pPropertyBrowser;
    VclPtr<PropBrw> pPropertyBrowser;

private:
    void AddPropertyBrowser ();
diff --git a/basctl/source/inc/basidesh.hxx b/basctl/source/inc/basidesh.hxx
index 216f065..0baeb57 100644
--- a/basctl/source/inc/basidesh.hxx
+++ b/basctl/source/inc/basidesh.hxx
@@ -56,7 +56,7 @@ class Shell :
    public DocumentEventListener
{
public:
    typedef std::map<sal_uInt16, BaseWindow*> WindowTable;
    typedef std::map<sal_uInt16, VclPtr<BaseWindow> > WindowTable;
    typedef WindowTable::const_iterator WindowTableIt;

private:
@@ -64,9 +64,9 @@ private:
    friend class LocalizationMgr;
    friend bool implImportDialog( vcl::Window* pWin, const OUString& rCurPath, const ScriptDocument& rDocument, const OUString& aLibName ); // defined in baside3.cxx

    WindowTable         aWindowTable;
    WindowTable        aWindowTable;
    sal_uInt16          nCurKey;
    BaseWindow*         pCurWin;
    VclPtr<BaseWindow>         pCurWin;
    ScriptDocument      m_aCurDocument;
    OUString            m_aCurLibName;
    boost::shared_ptr<LocalizationMgr> m_pCurLocalizationMgr;
@@ -81,7 +81,7 @@ private:
    boost::scoped_ptr<ModulWindowLayout> pModulLayout;
    boost::scoped_ptr<DialogWindowLayout> pDialogLayout;
    // the active layout window
    Layout* pLayout;
    VclPtr<Layout> pLayout;
    // common object catalog window
    VclPtr<ObjectCatalog> aObjectCatalog;

diff --git a/basctl/source/inc/bastypes.hxx b/basctl/source/inc/bastypes.hxx
index 37e1130..8423874 100644
--- a/basctl/source/inc/bastypes.hxx
+++ b/basctl/source/inc/bastypes.hxx
@@ -80,7 +80,8 @@ class DockingWindow : public ::DockingWindow
public:
    DockingWindow (vcl::Window* pParent);
    DockingWindow (Layout* pParent);
public:
    virtual ~DockingWindow();
    virtual void dispose() SAL_OVERRIDE;
    void ResizeIfDocking (Point const&, Size const&);
    void ResizeIfDocking (Size const&);
    Size GetDockingSize () const { return aDockingRect.GetSize(); }
@@ -102,7 +103,7 @@ private:
    // the position and the size of the docking window
    Rectangle aDockingRect;
    // the parent layout window (only when docking)
    Layout* pLayout;
    VclPtr<Layout> pLayout;
    // > 0: shown, <= 0: hidden, ++ by Show() and -- by Hide()
    int nShowCount;

@@ -148,8 +149,8 @@ class EntryDescriptor;
class BaseWindow : public vcl::Window
{
private:
    ScrollBar*      pShellHScrollBar;
    ScrollBar*      pShellVScrollBar;
    VclPtr<ScrollBar>      pShellHScrollBar;
    VclPtr<ScrollBar>      pShellVScrollBar;

    DECL_LINK( ScrollHdl, ScrollBar * );
    int nStatus;
diff --git a/basctl/source/inc/dlged.hxx b/basctl/source/inc/dlged.hxx
index 6371ac6..18883da 100644
--- a/basctl/source/inc/dlged.hxx
+++ b/basctl/source/inc/dlged.hxx
@@ -30,6 +30,7 @@
#include <tools/gen.hxx>
#include <vcl/timer.hxx>
#include <vcl/idle.hxx>
#include <vcl/vclptr.hxx>

#include <boost/scoped_ptr.hpp>

@@ -106,8 +107,8 @@ private:
    void Print( Printer* pPrinter, const OUString& rTitle );

private:
    ScrollBar*          pHScroll;
    ScrollBar*          pVScroll;
    VclPtr<ScrollBar>          pHScroll;
    VclPtr<ScrollBar>          pVScroll;
    boost::scoped_ptr<DlgEdModel> pDlgEdModel; // never nullptr
    DlgEdPage*          pDlgEdPage;  // never nullptr
    boost::scoped_ptr<DlgEdView> pDlgEdView; // never nullptr
diff --git a/basctl/source/inc/managelang.hxx b/basctl/source/inc/managelang.hxx
index ab6fb62..f7b9335e 100644
--- a/basctl/source/inc/managelang.hxx
+++ b/basctl/source/inc/managelang.hxx
@@ -52,10 +52,10 @@ extern bool localesAreEqual( const ::com::sun::star::lang::Locale& rLocaleLeft,
class ManageLanguageDialog : public ModalDialog
{
private:
    ListBox*            m_pLanguageLB;
    PushButton*         m_pAddPB;
    PushButton*         m_pDeletePB;
    PushButton*         m_pMakeDefPB;
    VclPtr<ListBox>            m_pLanguageLB;
    VclPtr<PushButton>         m_pAddPB;
    VclPtr<PushButton>         m_pDeletePB;
    VclPtr<PushButton>         m_pMakeDefPB;

    boost::shared_ptr<LocalizationMgr> m_xLocalizationMgr;

@@ -80,12 +80,12 @@ public:
class SetDefaultLanguageDialog : public ModalDialog
{
private:
    FixedText*          m_pLanguageFT;
    SvxLanguageBox*     m_pLanguageLB;
    FixedText*          m_pCheckLangFT;
    SvxCheckListBox*    m_pCheckLangLB;
    FixedText*          m_pDefinedFT;
    FixedText*          m_pAddedFT;
    VclPtr<FixedText>          m_pLanguageFT;
    VclPtr<SvxLanguageBox>     m_pLanguageLB;
    VclPtr<FixedText>          m_pCheckLangFT;
    VclPtr<SvxCheckListBox>    m_pCheckLangLB;
    VclPtr<FixedText>          m_pDefinedFT;
    VclPtr<FixedText>          m_pAddedFT;

    boost::shared_ptr<LocalizationMgr> m_xLocalizationMgr;

@@ -93,6 +93,8 @@ private:

public:
    SetDefaultLanguageDialog(vcl::Window* pParent, boost::shared_ptr<LocalizationMgr> xLMgr);
    virtual ~SetDefaultLanguageDialog();
    virtual void dispose() SAL_OVERRIDE;

    ::com::sun::star::uno::Sequence< ::com::sun::star::lang::Locale >   GetLocales() const;
};
diff --git a/chart2/inc/ChartModel.hxx b/chart2/inc/ChartModel.hxx
index 1fe210f..529d9ed 100644
--- a/chart2/inc/ChartModel.hxx
+++ b/chart2/inc/ChartModel.hxx
@@ -622,7 +622,7 @@ private:
    sal_Int32 mnStart;
    sal_Int32 mnEnd;
    bool bSet;
    OpenGLWindow* mpOpenGLWindow;
    VclPtr<OpenGLWindow> mpOpenGLWindow;
};

}  // namespace chart
diff --git a/chart2/source/controller/accessibility/AccessibleViewForwarder.hxx b/chart2/source/controller/accessibility/AccessibleViewForwarder.hxx
index e0b6540..b2d55cb 100644
--- a/chart2/source/controller/accessibility/AccessibleViewForwarder.hxx
+++ b/chart2/source/controller/accessibility/AccessibleViewForwarder.hxx
@@ -20,6 +20,7 @@
#define INCLUDED_CHART2_SOURCE_CONTROLLER_ACCESSIBILITY_ACCESSIBLEVIEWFORWARDER_HXX

#include <vcl/mapmod.hxx>
#include <vcl/vclptr.hxx>
#include <svx/IAccessibleViewForwarder.hxx>

namespace vcl { class Window; }
@@ -48,7 +49,7 @@ private:
    AccessibleViewForwarder& operator=( AccessibleViewForwarder& ) SAL_DELETED_FUNCTION;

    AccessibleChartView* m_pAccChartView;
    vcl::Window* m_pWindow;
    VclPtr<vcl::Window> m_pWindow;
    MapMode m_aMapMode;
};

diff --git a/chart2/source/controller/dialogs/ChartTypeDialogController.hxx b/chart2/source/controller/dialogs/ChartTypeDialogController.hxx
index 14ce8e1..7ea6c1c 100644
--- a/chart2/source/controller/dialogs/ChartTypeDialogController.hxx
+++ b/chart2/source/controller/dialogs/ChartTypeDialogController.hxx
@@ -281,8 +281,8 @@ private:
    DECL_LINK( ChangeLineCountHdl, void* );

private:
    FixedText*    m_pFT_NumberOfLines;
    NumericField* m_pMF_NumberOfLines;
    VclPtr<FixedText>    m_pFT_NumberOfLines;
    VclPtr<NumericField> m_pMF_NumberOfLines;
};

class BubbleChartDialogController : public ChartTypeDialogController
diff --git a/chart2/source/controller/dialogs/dlg_ChartType.cxx b/chart2/source/controller/dialogs/dlg_ChartType.cxx
index 33cf747..4443610 100644
--- a/chart2/source/controller/dialogs/dlg_ChartType.cxx
+++ b/chart2/source/controller/dialogs/dlg_ChartType.cxx
@@ -60,8 +60,7 @@ ChartTypeDialog::~ChartTypeDialog()

void ChartTypeDialog::dispose()
{
    delete m_pChartTypeTabPage;
    m_pChartTypeTabPage = NULL;
    m_pChartTypeTabPage.clear();
    ModalDialog::dispose();
}

diff --git a/chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx b/chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx
index 5a777db..66af10a 100644
--- a/chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx
+++ b/chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx
@@ -54,11 +54,7 @@ CreationWizardUnoDlg::CreationWizardUnoDlg( const uno::Reference< uno::XComponen
CreationWizardUnoDlg::~CreationWizardUnoDlg()
{
    SolarMutexGuard aSolarGuard;
    if( m_pDialog )
    {
        delete m_pDialog;
        m_pDialog = 0;
    }
    m_pDialog.clear();
}
// lang::XServiceInfo
OUString SAL_CALL CreationWizardUnoDlg::getImplementationName()
@@ -272,11 +268,7 @@ void SAL_CALL CreationWizardUnoDlg::disposing()
    m_xParentWindow.clear();

    SolarMutexGuard aSolarGuard;
    if( m_pDialog )
    {
        delete m_pDialog;
        m_pDialog = 0;
    }
    m_pDialog.clear();

    try
    {
diff --git a/chart2/source/controller/dialogs/dlg_DataEditor.cxx b/chart2/source/controller/dialogs/dlg_DataEditor.cxx
index 02a5578..5230792 100644
--- a/chart2/source/controller/dialogs/dlg_DataEditor.cxx
+++ b/chart2/source/controller/dialogs/dlg_DataEditor.cxx
@@ -106,6 +106,7 @@ void DataEditor::dispose()
    aMiscOptions.RemoveListenerLink( LINK( this, DataEditor, MiscHdl ) );

    OSL_TRACE( "DataEditor: DTOR" );
    m_pTbxData.clear();
    ModalDialog::dispose();
}

diff --git a/chart2/source/controller/dialogs/dlg_DataSource.cxx b/chart2/source/controller/dialogs/dlg_DataSource.cxx
index 88c1a41..09e5537 100644
--- a/chart2/source/controller/dialogs/dlg_DataSource.cxx
+++ b/chart2/source/controller/dialogs/dlg_DataSource.cxx
@@ -164,16 +164,14 @@ DataSourceDialog::~DataSourceDialog()

void DataSourceDialog::dispose()
{
    delete m_pRangeChooserTabePage;
    m_pRangeChooserTabePage = NULL;
    delete m_pDataSourceTabPage;
    m_pDataSourceTabPage = NULL;
    if (m_pTabControl)
    {
        m_nLastPageId = m_pTabControl->GetCurPageId();
        delete m_pTabControl;
        m_pTabControl = NULL;
    }
    m_pRangeChooserTabePage.clear();
    m_pDataSourceTabPage.clear();
    m_pTabControl.clear();
    m_pBtnOK.clear();
    TabDialog::dispose();
}

diff --git a/chart2/source/controller/dialogs/dlg_InsertAxis_Grid.cxx b/chart2/source/controller/dialogs/dlg_InsertAxis_Grid.cxx
index 345a6d7..670979a 100644
--- a/chart2/source/controller/dialogs/dlg_InsertAxis_Grid.cxx
+++ b/chart2/source/controller/dialogs/dlg_InsertAxis_Grid.cxx
@@ -81,6 +81,23 @@ SchAxisDlg::SchAxisDlg(vcl::Window* pWindow,
    m_pCbSecondaryZ->Enable( rInput.aPossibilityList[5] );
}

SchAxisDlg::~SchAxisDlg()
{
    dispose();
}

void SchAxisDlg::dispose()
{
    m_pCbPrimaryX.clear();
    m_pCbPrimaryY.clear();
    m_pCbPrimaryZ.clear();
    m_pCbSecondaryX.clear();
    m_pCbSecondaryY.clear();
    m_pCbSecondaryZ.clear();
    ModalDialog::dispose();
}


void SchAxisDlg::getResult( InsertAxisOrGridDialogData& rOutput )
{
    rOutput.aExistenceList[0]=m_pCbPrimaryX->IsChecked();
diff --git a/chart2/source/controller/dialogs/dlg_View3D.cxx b/chart2/source/controller/dialogs/dlg_View3D.cxx
index 3769f2e..bb28a87 100644
--- a/chart2/source/controller/dialogs/dlg_View3D.cxx
+++ b/chart2/source/controller/dialogs/dlg_View3D.cxx
@@ -71,14 +71,12 @@ View3DDialog::~View3DDialog()

void View3DDialog::dispose()
{
    delete m_pGeometry;
    m_pGeometry = NULL;
    delete m_pAppearance;
    m_pAppearance = NULL;
    delete m_pIllumination;
    m_pIllumination = NULL;

    m_nLastPageId = m_pTabControl->GetCurPageId();
    if (m_pTabControl)
        m_nLastPageId = m_pTabControl->GetCurPageId();
    m_pGeometry.clear();
    m_pAppearance.clear();
    m_pIllumination.clear();
    m_pTabControl.clear();
    TabDialog::dispose();
}

diff --git a/chart2/source/controller/dialogs/res_BarGeometry.hxx b/chart2/source/controller/dialogs/res_BarGeometry.hxx
index 60af3af..7a9eeb8 100644
--- a/chart2/source/controller/dialogs/res_BarGeometry.hxx
+++ b/chart2/source/controller/dialogs/res_BarGeometry.hxx
@@ -41,8 +41,8 @@ public:
    void SetSelectHdl( const Link& rLink );

private:
    FixedText* m_pFT_Geometry;
    ListBox*   m_pLB_Geometry;
    VclPtr<FixedText> m_pFT_Geometry;
    VclPtr<ListBox>   m_pLB_Geometry;
};

} //namespace chart
diff --git a/chart2/source/controller/dialogs/res_DataLabel.hxx b/chart2/source/controller/dialogs/res_DataLabel.hxx
index 9d6d0e0..cfb4758 100644
--- a/chart2/source/controller/dialogs/res_DataLabel.hxx
+++ b/chart2/source/controller/dialogs/res_DataLabel.hxx
@@ -45,28 +45,28 @@ public:
    void SetNumberFormatter( SvNumberFormatter* pFormatter );

private:
    CheckBox*            m_pCBNumber;
    PushButton*          m_pPB_NumberFormatForValue;
    CheckBox*            m_pCBPercent;
    PushButton*          m_pPB_NumberFormatForPercent;
    FixedText*           m_pFT_NumberFormatForPercent;
    CheckBox*            m_pCBCategory;
    CheckBox*            m_pCBSymbol;
    VclPtr<CheckBox>            m_pCBNumber;
    VclPtr<PushButton>          m_pPB_NumberFormatForValue;
    VclPtr<CheckBox>            m_pCBPercent;
    VclPtr<PushButton>          m_pPB_NumberFormatForPercent;
    VclPtr<FixedText>           m_pFT_NumberFormatForPercent;
    VclPtr<CheckBox>            m_pCBCategory;
    VclPtr<CheckBox>            m_pCBSymbol;

    VclHBox*             m_pSeparatorResources;
    ListBox*             m_pLB_Separator;
    VclPtr<VclHBox>             m_pSeparatorResources;
    VclPtr<ListBox>             m_pLB_Separator;
    OUString             m_aEntryMap[NUMBER_SEPARATORS];

    VclHBox*             m_pBxLabelPlacement;
    ListBox*             m_pLB_LabelPlacement;
    VclPtr<VclHBox>             m_pBxLabelPlacement;
    VclPtr<ListBox>             m_pLB_LabelPlacement;

    VclHBox*             m_pBxOrientation;
    svx::DialControl*    m_pDC_Dial;
    FixedText*           m_pFT_Dial;
    NumericField*        m_pNF_Degrees;
    VclPtr<VclHBox>             m_pBxOrientation;
    VclPtr<svx::DialControl>    m_pDC_Dial;
    VclPtr<FixedText>           m_pFT_Dial;
    VclPtr<NumericField>        m_pNF_Degrees;

    VclHBox*             m_pBxTextDirection;
    TextDirectionListBox*    m_pLB_TextDirection;
    VclPtr<VclHBox>             m_pBxTextDirection;
    VclPtr<TextDirectionListBox>    m_pLB_TextDirection;

    ::std::map< sal_Int32, sal_uInt16 > m_aPlacementToListBoxMap;
    ::std::map< sal_uInt16, sal_Int32 > m_aListBoxToPlacementMap;
@@ -82,7 +82,7 @@ private:
    bool                m_bSourceFormatForValue;
    bool                m_bSourceFormatForPercent;

    vcl::Window*             m_pWindow;
    VclPtr<vcl::Window>             m_pWindow;
    SfxItemPool*        m_pPool;

    DECL_LINK(NumberFormatDialogHdl, PushButton * );
diff --git a/chart2/source/controller/dialogs/res_Trendline.hxx b/chart2/source/controller/dialogs/res_Trendline.hxx
index 0d4be04..03c3ebe 100644
--- a/chart2/source/controller/dialogs/res_Trendline.hxx
+++ b/chart2/source/controller/dialogs/res_Trendline.hxx
@@ -46,29 +46,29 @@ public:
    void SetNbPoints( sal_Int32 nNbPoints );

private:
    RadioButton* m_pRB_Linear;
    RadioButton* m_pRB_Logarithmic;
    RadioButton* m_pRB_Exponential;
    RadioButton* m_pRB_Power;
    RadioButton* m_pRB_Polynomial;
    RadioButton* m_pRB_MovingAverage;
    VclPtr<RadioButton> m_pRB_Linear;
    VclPtr<RadioButton> m_pRB_Logarithmic;
    VclPtr<RadioButton> m_pRB_Exponential;
    VclPtr<RadioButton> m_pRB_Power;
    VclPtr<RadioButton> m_pRB_Polynomial;
    VclPtr<RadioButton> m_pRB_MovingAverage;

    FixedImage*  m_pFI_Linear;
    FixedImage*  m_pFI_Logarithmic;
    FixedImage*  m_pFI_Exponential;
    FixedImage*  m_pFI_Power;
    FixedImage*  m_pFI_Polynomial;
    FixedImage*  m_pFI_MovingAverage;
    VclPtr<FixedImage>  m_pFI_Linear;
    VclPtr<FixedImage>  m_pFI_Logarithmic;
    VclPtr<FixedImage>  m_pFI_Exponential;
    VclPtr<FixedImage>  m_pFI_Power;
    VclPtr<FixedImage>  m_pFI_Polynomial;
    VclPtr<FixedImage>  m_pFI_MovingAverage;

    NumericField* m_pNF_Degree;
    NumericField* m_pNF_Period;
    Edit*         m_pEE_Name;
    FormattedField* m_pFmtFld_ExtrapolateForward;
    FormattedField* m_pFmtFld_ExtrapolateBackward;
    CheckBox*     m_pCB_SetIntercept;
    FormattedField* m_pFmtFld_InterceptValue;
    CheckBox*     m_pCB_ShowEquation;
    CheckBox*     m_pCB_ShowCorrelationCoeff;
    VclPtr<NumericField> m_pNF_Degree;
    VclPtr<NumericField> m_pNF_Period;
    VclPtr<Edit>         m_pEE_Name;
    VclPtr<FormattedField> m_pFmtFld_ExtrapolateForward;
    VclPtr<FormattedField> m_pFmtFld_ExtrapolateBackward;
    VclPtr<CheckBox>     m_pCB_SetIntercept;
    VclPtr<FormattedField> m_pFmtFld_InterceptValue;
    VclPtr<CheckBox>     m_pCB_ShowEquation;
    VclPtr<CheckBox>     m_pCB_ShowCorrelationCoeff;

    SvxChartRegress     m_eTrendLineType;

diff --git a/chart2/source/controller/dialogs/tp_3D_SceneAppearance.cxx b/chart2/source/controller/dialogs/tp_3D_SceneAppearance.cxx
index ff20319c..d25e226 100644
--- a/chart2/source/controller/dialogs/tp_3D_SceneAppearance.cxx
+++ b/chart2/source/controller/dialogs/tp_3D_SceneAppearance.cxx
@@ -120,6 +120,20 @@ ThreeD_SceneAppearance_TabPage::ThreeD_SceneAppearance_TabPage(
    initControlsFromModel();
}

ThreeD_SceneAppearance_TabPage::~ThreeD_SceneAppearance_TabPage()
{
    dispose();
}

void ThreeD_SceneAppearance_TabPage::dispose()
{
    m_pLB_Scheme.clear();
    m_pCB_Shading.clear();
    m_pCB_ObjectLines.clear();
    m_pCB_RoundedEdge.clear();
    TabPage::dispose();
}

void ThreeD_SceneAppearance_TabPage::ActivatePage()
{
    updateScheme();
diff --git a/chart2/source/controller/dialogs/tp_3D_SceneAppearance.hxx b/chart2/source/controller/dialogs/tp_3D_SceneAppearance.hxx
index 23749c9..80720d0 100644
--- a/chart2/source/controller/dialogs/tp_3D_SceneAppearance.hxx
+++ b/chart2/source/controller/dialogs/tp_3D_SceneAppearance.hxx
@@ -38,6 +38,8 @@ public:
        vcl::Window* pWindow,
        const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > & xChartModel,
        ControllerLockHelper & rControllerLockHelper );
    virtual ~ThreeD_SceneAppearance_TabPage();
    virtual void dispose() SAL_OVERRIDE;

    virtual void ActivatePage() SAL_OVERRIDE;

@@ -55,11 +57,11 @@ private:
    ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >
        m_xChartModel;

    ListBox*         m_pLB_Scheme;
    VclPtr<ListBox>         m_pLB_Scheme;

    CheckBox*        m_pCB_Shading;
    CheckBox*        m_pCB_ObjectLines;
    CheckBox*        m_pCB_RoundedEdge;
    VclPtr<CheckBox>        m_pCB_Shading;
    VclPtr<CheckBox>        m_pCB_ObjectLines;
    VclPtr<CheckBox>        m_pCB_RoundedEdge;

    bool            m_bUpdateOtherControls;
    bool            m_bCommitToModel;
diff --git a/chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx b/chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx
index 0428b2d..b1f4dba 100644
--- a/chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx
+++ b/chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx
@@ -147,6 +147,24 @@ ThreeD_SceneGeometry_TabPage::ThreeD_SceneGeometry_TabPage( vcl::Window* pWindow
    m_pMFPerspective->SetAccessibleRelationLabeledBy(m_pCbxPerspective);
}

ThreeD_SceneGeometry_TabPage::~ThreeD_SceneGeometry_TabPage()
{
    dispose();
}

void ThreeD_SceneGeometry_TabPage::dispose()
{
    m_pCbxRightAngledAxes.clear();
    m_pMFXRotation.clear();
    m_pMFYRotation.clear();
    m_pFtZRotation.clear();
    m_pMFZRotation.clear();
    m_pCbxPerspective.clear();
    m_pMFPerspective.clear();
    TabPage::dispose();
}


void ThreeD_SceneGeometry_TabPage::commitPendingChanges()
{
    ControllerLockHelperGuard aGuard( m_rControllerLockHelper );
diff --git a/chart2/source/controller/dialogs/tp_3D_SceneGeometry.hxx b/chart2/source/controller/dialogs/tp_3D_SceneGeometry.hxx
index bc19444..cfd16ff 100644
--- a/chart2/source/controller/dialogs/tp_3D_SceneGeometry.hxx
+++ b/chart2/source/controller/dialogs/tp_3D_SceneGeometry.hxx
@@ -39,6 +39,8 @@ public:
                                  const ::com::sun::star::uno::Reference<
                                      ::com::sun::star::beans::XPropertySet > & xSceneProperties,
                                  ControllerLockHelper & rControllerLockHelper );
    virtual ~ThreeD_SceneGeometry_TabPage();
    virtual void dispose() SAL_OVERRIDE;

    // has to be called in case the dialog was closed with OK
    void commitPendingChanges();
@@ -63,17 +65,17 @@ private:
    ::com::sun::star::uno::Reference<
            ::com::sun::star::beans::XPropertySet > m_xSceneProperties;

    CheckBox*        m_pCbxRightAngledAxes;
    VclPtr<CheckBox>        m_pCbxRightAngledAxes;

    MetricField*     m_pMFXRotation;
    VclPtr<MetricField>     m_pMFXRotation;

    MetricField*     m_pMFYRotation;
    VclPtr<MetricField>     m_pMFYRotation;

    FixedText*       m_pFtZRotation;
    MetricField*     m_pMFZRotation;
    VclPtr<FixedText>       m_pFtZRotation;
    VclPtr<MetricField>     m_pMFZRotation;

    CheckBox*        m_pCbxPerspective;
    MetricField*     m_pMFPerspective;
    VclPtr<CheckBox>        m_pCbxPerspective;
    VclPtr<MetricField>     m_pMFPerspective;

    //to keep old values when switching to right angled axes
    sal_Int64       m_nXRotation;
diff --git a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
index 2c92a75..a4683a5 100644
--- a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
+++ b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
@@ -78,7 +78,7 @@ struct LightSource

struct LightSourceInfo
{
    LightButton* pButton;
    VclPtr<LightButton> pButton;
    LightSource  aLightSource;

    LightSourceInfo();
@@ -301,6 +301,19 @@ void ThreeD_SceneIllumination_TabPage::dispose()
{
    delete[] m_pLightSourceInfoList;
    m_pLightSourceInfoList = NULL;
    m_pBtn_Light1.clear();
    m_pBtn_Light2.clear();
    m_pBtn_Light3.clear();
    m_pBtn_Light4.clear();
    m_pBtn_Light5.clear();
    m_pBtn_Light6.clear();
    m_pBtn_Light7.clear();
    m_pBtn_Light8.clear();
    m_pLB_LightSource.clear();
    m_pBtn_LightSource_Color.clear();
    m_pLB_AmbientLight.clear();
    m_pBtn_AmbientLight_Color.clear();
    m_pCtl_Preview.clear();
    TabPage::dispose();
}

diff --git a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx
index 06e27ae..b7f46f2 100644
--- a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx
+++ b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx
@@ -74,22 +74,22 @@ private:
    void applyLightSourceToModel( sal_uInt32 nLightNumber );
    void applyLightSourcesToModel();

    LightButton* m_pBtn_Light1;
    LightButton* m_pBtn_Light2;
    LightButton* m_pBtn_Light3;
    LightButton* m_pBtn_Light4;
    LightButton* m_pBtn_Light5;
    LightButton* m_pBtn_Light6;
    LightButton* m_pBtn_Light7;
    LightButton* m_pBtn_Light8;
    VclPtr<LightButton> m_pBtn_Light1;
    VclPtr<LightButton> m_pBtn_Light2;
    VclPtr<LightButton> m_pBtn_Light3;
    VclPtr<LightButton> m_pBtn_Light4;
    VclPtr<LightButton> m_pBtn_Light5;
    VclPtr<LightButton> m_pBtn_Light6;
    VclPtr<LightButton> m_pBtn_Light7;
    VclPtr<LightButton> m_pBtn_Light8;

    ColorLB*     m_pLB_LightSource;
    PushButton*  m_pBtn_LightSource_Color;
    VclPtr<ColorLB>     m_pLB_LightSource;
    VclPtr<PushButton>  m_pBtn_LightSource_Color;

    ColorLB*     m_pLB_AmbientLight;
    PushButton*  m_pBtn_AmbientLight_Color;
    VclPtr<ColorLB>     m_pLB_AmbientLight;
    VclPtr<PushButton>  m_pBtn_AmbientLight_Color;

    SvxLightCtl3D*   m_pCtl_Preview;
    VclPtr<SvxLightCtl3D>   m_pCtl_Preview;

    LightSourceInfo* m_pLightSourceInfoList;

diff --git a/chart2/source/controller/dialogs/tp_AxisLabel.cxx b/chart2/source/controller/dialogs/tp_AxisLabel.cxx
index 0cded26..06d810b 100644
--- a/chart2/source/controller/dialogs/tp_AxisLabel.cxx
+++ b/chart2/source/controller/dialogs/tp_AxisLabel.cxx
@@ -79,6 +79,23 @@ void SchAxisLabelTabPage::dispose()
{
    delete m_pOrientHlp;
    m_pOrientHlp = NULL;
    m_pCbShowDescription.clear();
    m_pFlOrder.clear();
    m_pRbSideBySide.clear();
    m_pRbUpDown.clear();
    m_pRbDownUp.clear();
    m_pRbAuto.clear();
    m_pFlTextFlow.clear();
    m_pCbTextOverlap.clear();
    m_pCbTextBreak.clear();
    m_pFtABCD.clear();
    m_pFlOrient.clear();
    m_pCtrlDial.clear();
    m_pFtRotate.clear();
    m_pNfRotate.clear();
    m_pCbStacked.clear();
    m_pFtTextDirection.clear();
    m_pLbTextDirection.clear();
    SfxTabPage::dispose();
}

diff --git a/chart2/source/controller/dialogs/tp_AxisLabel.hxx b/chart2/source/controller/dialogs/tp_AxisLabel.hxx
index 95474b8..2f01f32 100644
--- a/chart2/source/controller/dialogs/tp_AxisLabel.hxx
+++ b/chart2/source/controller/dialogs/tp_AxisLabel.hxx
@@ -35,27 +35,27 @@ namespace chart
class SchAxisLabelTabPage : public SfxTabPage
{
private:
    CheckBox*            m_pCbShowDescription;
    VclPtr<CheckBox>            m_pCbShowDescription;

    FixedText*           m_pFlOrder;
    RadioButton*         m_pRbSideBySide;
    RadioButton*         m_pRbUpDown;
    RadioButton*         m_pRbDownUp;
    RadioButton*         m_pRbAuto;
    VclPtr<FixedText>           m_pFlOrder;
    VclPtr<RadioButton>         m_pRbSideBySide;
    VclPtr<RadioButton>         m_pRbUpDown;
    VclPtr<RadioButton>         m_pRbDownUp;
    VclPtr<RadioButton>         m_pRbAuto;

    FixedText*          m_pFlTextFlow;
    CheckBox*            m_pCbTextOverlap;
    CheckBox*            m_pCbTextBreak;
    FixedText*               m_pFtABCD;
    FixedText*           m_pFlOrient;
    svx::DialControl*    m_pCtrlDial;
    FixedText*           m_pFtRotate;
    NumericField*        m_pNfRotate;
    TriStateBox*         m_pCbStacked;
    VclPtr<FixedText>           m_pFlTextFlow;
    VclPtr<CheckBox>            m_pCbTextOverlap;
    VclPtr<CheckBox>            m_pCbTextBreak;
    VclPtr<FixedText>           m_pFtABCD;
    VclPtr<FixedText>           m_pFlOrient;
    VclPtr<svx::DialControl>    m_pCtrlDial;
    VclPtr<FixedText>           m_pFtRotate;
    VclPtr<NumericField>        m_pNfRotate;
    VclPtr<TriStateBox>         m_pCbStacked;
    svx::OrientationHelper* m_pOrientHlp;

    FixedText*               m_pFtTextDirection;
    TextDirectionListBox*    m_pLbTextDirection;
    VclPtr<FixedText>               m_pFtTextDirection;
    VclPtr<TextDirectionListBox>    m_pLbTextDirection;

    bool                m_bShowStaggeringControls;

diff --git a/chart2/source/controller/dialogs/tp_AxisPositions.cxx b/chart2/source/controller/dialogs/tp_AxisPositions.cxx
index 9bcb6e8..0d33af2 100644
--- a/chart2/source/controller/dialogs/tp_AxisPositions.cxx
+++ b/chart2/source/controller/dialogs/tp_AxisPositions.cxx
@@ -84,6 +84,30 @@ AxisPositionsTabPage::AxisPositionsTabPage(vcl::Window* pWindow,const SfxItemSet
    m_pLB_PlaceTicks->SetDropDownLineCount( m_pLB_PlaceTicks->GetEntryCount() );
}

AxisPositionsTabPage::~AxisPositionsTabPage()
{
    dispose();
}

void AxisPositionsTabPage::dispose()
{
    m_pFL_AxisLine.clear();
    m_pLB_CrossesAt.clear();
    m_pED_CrossesAt.clear();
    m_pED_CrossesAtCategory.clear();
    m_pCB_AxisBetweenCategories.clear();
    m_pFL_Labels.clear();
    m_pLB_PlaceLabels.clear();
    m_pED_LabelDistance.clear();
    m_pCB_TicksInner.clear();
    m_pCB_TicksOuter.clear();
    m_pCB_MinorInner.clear();
    m_pCB_MinorOuter.clear();
    m_pBxPlaceTicks.clear();
    m_pLB_PlaceTicks.clear();
    SfxTabPage::dispose();
}

SfxTabPage* AxisPositionsTabPage::Create(vcl::Window* pWindow,const SfxItemSet* rOutAttrs)
{
    return new AxisPositionsTabPage(pWindow, *rOutAttrs);
diff --git a/chart2/source/controller/dialogs/tp_AxisPositions.hxx b/chart2/source/controller/dialogs/tp_AxisPositions.hxx
index 3dfeecd..ee73d52 100644
--- a/chart2/source/controller/dialogs/tp_AxisPositions.hxx
+++ b/chart2/source/controller/dialogs/tp_AxisPositions.hxx
@@ -33,6 +33,8 @@ class AxisPositionsTabPage : public SfxTabPage
{
public:
    AxisPositionsTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs );
    virtual ~AxisPositionsTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create( vcl::Window* pParent, const SfxItemSet* rInAttrs );
    virtual bool FillItemSet( SfxItemSet* rOutAttrs ) SAL_OVERRIDE;
@@ -52,30 +54,30 @@ private: //methods:
    DECL_LINK( PlaceLabelsSelectHdl, void* );

private: //member:
    VclFrame*       m_pFL_AxisLine;
    ListBox*        m_pLB_CrossesAt;
    FormattedField* m_pED_CrossesAt;
    ComboBox*       m_pED_CrossesAtCategory;
    CheckBox*       m_pCB_AxisBetweenCategories;
    VclPtr<VclFrame>       m_pFL_AxisLine;
    VclPtr<ListBox>        m_pLB_CrossesAt;
    VclPtr<FormattedField> m_pED_CrossesAt;
    VclPtr<ComboBox>       m_pED_CrossesAtCategory;
    VclPtr<CheckBox>       m_pCB_AxisBetweenCategories;

    VclFrame*       m_pFL_Labels;
    ListBox*        m_pLB_PlaceLabels;
    FormattedField* m_pED_LabelDistance;
    VclPtr<VclFrame>       m_pFL_Labels;
    VclPtr<ListBox>        m_pLB_PlaceLabels;
    VclPtr<FormattedField> m_pED_LabelDistance;

    CheckBox*       m_pCB_TicksInner;
    CheckBox*       m_pCB_TicksOuter;
    VclPtr<CheckBox>       m_pCB_TicksInner;
    VclPtr<CheckBox>       m_pCB_TicksOuter;

    CheckBox*       m_pCB_MinorInner;
    CheckBox*       m_pCB_MinorOuter;
    VclPtr<CheckBox>       m_pCB_MinorInner;
    VclPtr<CheckBox>       m_pCB_MinorOuter;

    VclBox*         m_pBxPlaceTicks;
    ListBox*        m_pLB_PlaceTicks;
    VclPtr<VclBox>         m_pBxPlaceTicks;
    VclPtr<ListBox>        m_pLB_PlaceTicks;

//     Not implemented
//     CheckBox*       m_pCB_MajorGrid;
//     PushButton*     m_pPB_MajorGrid;
//     CheckBox*       m_pCB_MinorGrid;
//     PushButton*     m_pPB_MinorGrid;
//     VclPtr<CheckBox>       m_pCB_MajorGrid;
//     VclPtr<PushButton>     m_pPB_MajorGrid;
//     VclPtr<CheckBox>       m_pCB_MinorGrid;
//     VclPtr<PushButton>     m_pPB_MinorGrid;

    SvNumberFormatter*  m_pNumFormatter;

diff --git a/chart2/source/controller/dialogs/tp_ChartType.cxx b/chart2/source/controller/dialogs/tp_ChartType.cxx
index c717903..7618ef7 100644
--- a/chart2/source/controller/dialogs/tp_ChartType.cxx
+++ b/chart2/source/controller/dialogs/tp_ChartType.cxx
@@ -56,8 +56,8 @@ private:
    DECL_LINK( SelectSchemeHdl, void* );

private:
    CheckBox* m_pCB_3DLook;
    ListBox*  m_pLB_Scheme;
    VclPtr<CheckBox> m_pCB_3DLook;
    VclPtr<ListBox>  m_pLB_Scheme;
};

Dim3DLookResourceGroup::Dim3DLookResourceGroup(VclBuilderContainer* pWindow)
@@ -129,7 +129,7 @@ private:
    DECL_LINK( SortByXValuesCheckHdl, void* );

private:
    CheckBox* m_pCB_XValueSorting;
    VclPtr<CheckBox> m_pCB_XValueSorting;
};

SortByXValuesResourceGroup::SortByXValuesResourceGroup(VclBuilderContainer* pWindow )
@@ -176,10 +176,10 @@ private:
    DECL_LINK( StackingEnableHdl, void* );

private:
    CheckBox*    m_pCB_Stacked;
    RadioButton* m_pRB_Stack_Y;
    RadioButton* m_pRB_Stack_Y_Percent;
    RadioButton* m_pRB_Stack_Z;
    VclPtr<CheckBox>    m_pCB_Stacked;
    VclPtr<RadioButton> m_pRB_Stack_Y;
    VclPtr<RadioButton> m_pRB_Stack_Y_Percent;
    VclPtr<RadioButton> m_pRB_Stack_Z;

    bool m_bShowDeepStacking;
};
@@ -278,7 +278,7 @@ public:
private:
    DECL_LINK( SettingChangedHdl, void* );
private:
    CheckBox* m_pCB_RoundedEdge;
    VclPtr<CheckBox> m_pCB_RoundedEdge;
};

GL3DResourceGroup::GL3DResourceGroup( VclBuilderContainer* pWindow )
@@ -313,6 +313,8 @@ class SplinePropertiesDialog : public ModalDialog
{
public:
    SplinePropertiesDialog( vcl::Window* pParent );
    virtual ~SplinePropertiesDialog() { dispose(); }
    virtual void dispose() SAL_OVERRIDE;

    void fillControls( const ChartTypeParameter& rParameter );
    void fillParameter( ChartTypeParameter& rParameter, bool bSmoothLines );
@@ -323,11 +325,11 @@ private:
    DECL_LINK( SplineTypeListBoxHdl, void* );

private:
    ListBox* m_pLB_Spline_Type;
    VclPtr<ListBox>      m_pLB_Spline_Type;

    NumericField* m_pMF_SplineResolution;
    FixedText*    m_pFT_SplineOrder;
    NumericField* m_pMF_SplineOrder;
    VclPtr<NumericField> m_pMF_SplineResolution;
    VclPtr<FixedText>    m_pFT_SplineOrder;
    VclPtr<NumericField> m_pMF_SplineOrder;
};

const sal_uInt16 CUBIC_SPLINE_POS = 0;
@@ -346,6 +348,15 @@ SplinePropertiesDialog::SplinePropertiesDialog( vcl::Window* pParent )
    m_pLB_Spline_Type->SetSelectHdl( LINK (this, SplinePropertiesDialog, SplineTypeListBoxHdl ) );
}

void SplinePropertiesDialog::dispose()
{
    m_pLB_Spline_Type.clear();
    m_pMF_SplineResolution.clear();
    m_pFT_SplineOrder.clear();
    m_pMF_SplineOrder.clear();
    ModalDialog::dispose();
}

void SplinePropertiesDialog::StateChanged( StateChangedType nType )
{
    Dialog::StateChanged( nType );
@@ -395,6 +406,8 @@ class SteppedPropertiesDialog : public ModalDialog
{
public:
    SteppedPropertiesDialog( vcl::Window* pParent );
    virtual ~SteppedPropertiesDialog() { dispose(); }
    virtual void dispose() SAL_OVERRIDE;

    void fillControls( const ChartTypeParameter& rParameter );
    void fillParameter( ChartTypeParameter& rParameter, bool bSteppedLines );
@@ -404,10 +417,10 @@ public:
private:

private:
    RadioButton* m_pRB_Start;
    RadioButton* m_pRB_End;
    RadioButton* m_pRB_CenterX;
    RadioButton* m_pRB_CenterY;
    VclPtr<RadioButton> m_pRB_Start;
    VclPtr<RadioButton> m_pRB_End;
    VclPtr<RadioButton> m_pRB_CenterX;
    VclPtr<RadioButton> m_pRB_CenterY;
};

SteppedPropertiesDialog::SteppedPropertiesDialog( vcl::Window* pParent )
@@ -421,6 +434,15 @@ SteppedPropertiesDialog::SteppedPropertiesDialog( vcl::Window* pParent )
    SetText(SCH_RESSTR(STR_DLG_STEPPED_LINE_PROPERTIES));
}

void SteppedPropertiesDialog::dispose()
{
    m_pRB_Start.clear();
    m_pRB_End.clear();
    m_pRB_CenterX.clear();
    m_pRB_CenterY.clear();
    ModalDialog::dispose();
}

void SteppedPropertiesDialog::StateChanged( StateChangedType nType )
{
    Dialog::StateChanged( nType );
@@ -480,9 +502,9 @@ private:
    SteppedPropertiesDialog& getSteppedPropertiesDialog();

private:
    FixedText*  m_pFT_LineType;
    ListBox*    m_pLB_LineType;
    PushButton* m_pPB_DetailsDialog;
    VclPtr<FixedText>  m_pFT_LineType;
    VclPtr<ListBox>    m_pLB_LineType;
    VclPtr<PushButton> m_pPB_DetailsDialog;
    boost::scoped_ptr< SplinePropertiesDialog > m_pSplinePropertiesDialog;
    boost::scoped_ptr< SteppedPropertiesDialog > m_pSteppedPropertiesDialog;
};
@@ -791,6 +813,9 @@ void ChartTypeTabPage::dispose()
    m_pSortByXValuesResourceGroup = NULL;
    delete m_pGL3DResourceGroup;
    m_pGL3DResourceGroup = NULL;
    m_pFT_ChooseType.clear();
    m_pMainTypeList.clear();
    m_pSubTypeList.clear();
    svt::OWizardPage::dispose();
}

diff --git a/chart2/source/controller/dialogs/tp_ChartType.hxx b/chart2/source/controller/dialogs/tp_ChartType.hxx
index a8cb43c..4ed830b 100644
--- a/chart2/source/controller/dialogs/tp_ChartType.hxx
+++ b/chart2/source/controller/dialogs/tp_ChartType.hxx
@@ -78,9 +78,9 @@ protected:
    DECL_LINK( SelectSubTypeHdl, void* );

protected:
    FixedText*  m_pFT_ChooseType;
    ListBox*    m_pMainTypeList;
    ValueSet*   m_pSubTypeList;
    VclPtr<FixedText>  m_pFT_ChooseType;
    VclPtr<ListBox>    m_pMainTypeList;
    VclPtr<ValueSet>   m_pSubTypeList;

    Dim3DLookResourceGroup*     m_pDim3DLookResourceGroup;
    StackingResourceGroup*      m_pStackingResourceGroup;
diff --git a/chart2/source/controller/dialogs/tp_DataSource.cxx b/chart2/source/controller/dialogs/tp_DataSource.cxx
index 0aec36a..f59465a 100644
--- a/chart2/source/controller/dialogs/tp_DataSource.cxx
+++ b/chart2/source/controller/dialogs/tp_DataSource.cxx
@@ -273,6 +273,34 @@ DataSourceTabPage::DataSourceTabPage(
    m_pBTN_DOWN->SetAccessibleName(SCH_RESSTR(STR_BUTTON_DOWN));
}

DataSourceTabPage::~DataSourceTabPage()
{
    dispose();
}

void DataSourceTabPage::dispose()
{
    m_pFT_CAPTION.clear();
    m_pFT_SERIES.clear();
    m_pLB_SERIES.clear();
    m_pBTN_ADD.clear();
    m_pBTN_REMOVE.clear();
    m_pBTN_UP.clear();
    m_pBTN_DOWN.clear();
    m_pFT_ROLE.clear();
    m_pLB_ROLE.clear();
    m_pFT_RANGE.clear();
    m_pEDT_RANGE.clear();
    m_pIMB_RANGE_MAIN.clear();
    m_pFT_CATEGORIES.clear();
    m_pFT_DATALABELS.clear();
    m_pEDT_CATEGORIES.clear();
    m_pIMB_RANGE_CAT.clear();
    m_pCurrentRangeChoosingField.clear();
    m_pParentDialog.clear();
    ::svt::OWizardPage::dispose();
}

void DataSourceTabPage::ActivatePage()
{
    OWizardPage::ActivatePage();
diff --git a/chart2/source/controller/dialogs/tp_DataSource.hxx b/chart2/source/controller/dialogs/tp_DataSource.hxx
index b1ad813..59b92bf 100644
--- a/chart2/source/controller/dialogs/tp_DataSource.hxx
+++ b/chart2/source/controller/dialogs/tp_DataSource.hxx
@@ -58,6 +58,8 @@ public:
        ChartTypeTemplateProvider* pTemplateProvider,
        Dialog * pParentDialog,
        bool bHideDescription = false );
    virtual ~DataSourceTabPage();
    virtual void dispose() SAL_OVERRIDE;

    void commitPage();

@@ -117,34 +119,34 @@ protected:
    void fillRoleListBox();

private:
    FixedText*     m_pFT_CAPTION;
    FixedText*     m_pFT_SERIES;
    SvTreeListBox* m_pLB_SERIES;
    PushButton*    m_pBTN_ADD;
    PushButton*    m_pBTN_REMOVE;
    PushButton*    m_pBTN_UP;
    PushButton*    m_pBTN_DOWN;
    VclPtr<FixedText>     m_pFT_CAPTION;
    VclPtr<FixedText>     m_pFT_SERIES;
    VclPtr<SvTreeListBox> m_pLB_SERIES;
    VclPtr<PushButton>    m_pBTN_ADD;
    VclPtr<PushButton>    m_pBTN_REMOVE;
    VclPtr<PushButton>    m_pBTN_UP;
    VclPtr<PushButton>    m_pBTN_DOWN;

    FixedText*     m_pFT_ROLE;
    SvTabListBox*  m_pLB_ROLE;
    FixedText*     m_pFT_RANGE;
    Edit*          m_pEDT_RANGE;
    PushButton*    m_pIMB_RANGE_MAIN;
    VclPtr<FixedText>     m_pFT_ROLE;
    VclPtr<SvTabListBox>  m_pLB_ROLE;
    VclPtr<FixedText>     m_pFT_RANGE;
    VclPtr<Edit>          m_pEDT_RANGE;
    VclPtr<PushButton>    m_pIMB_RANGE_MAIN;

    FixedText*     m_pFT_CATEGORIES;
    FixedText*     m_pFT_DATALABELS;//used for xy charts
    Edit*          m_pEDT_CATEGORIES;
    PushButton*    m_pIMB_RANGE_CAT;
    VclPtr<FixedText>     m_pFT_CATEGORIES;
    VclPtr<FixedText>     m_pFT_DATALABELS;//used for xy charts
    VclPtr<Edit>          m_pEDT_CATEGORIES;
    VclPtr<PushButton>    m_pIMB_RANGE_CAT;

    OUString       m_aFixedTextRange;

    ChartTypeTemplateProvider * m_pTemplateProvider;
    DialogModel &               m_rDialogModel;
    Edit *                      m_pCurrentRangeChoosingField;
    VclPtr<Edit>                m_pCurrentRangeChoosingField;
    bool                        m_bIsDirty;
    sal_Int32                   m_nLastChartTypeGroupIndex;

    Dialog *                    m_pParentDialog;
    VclPtr<Dialog>              m_pParentDialog;
    TabPageNotifiable *         m_pTabPageNotifiable;
};

diff --git a/chart2/source/controller/dialogs/tp_LegendPosition.cxx b/chart2/source/controller/dialogs/tp_LegendPosition.cxx
index 707324f..31aef92 100644
--- a/chart2/source/controller/dialogs/tp_LegendPosition.cxx
+++ b/chart2/source/controller/dialogs/tp_LegendPosition.cxx
@@ -41,6 +41,18 @@ SchLegendPosTabPage::SchLegendPosTabPage(vcl::Window* pWindow, const SfxItemSet&
    m_pLbTextDirection->SetDropDownLineCount(3);
}

SchLegendPosTabPage::~SchLegendPosTabPage()
{
    dispose();
}

void SchLegendPosTabPage::dispose()
{
    m_pLbTextDirection.clear();
    SfxTabPage::dispose();
}


SfxTabPage* SchLegendPosTabPage::Create(vcl::Window* pWindow, const SfxItemSet* rOutAttrs)
{
    return new SchLegendPosTabPage(pWindow, *rOutAttrs);
diff --git a/chart2/source/controller/dialogs/tp_LegendPosition.hxx b/chart2/source/controller/dialogs/tp_LegendPosition.hxx
index 0d4f4ac..bbf8e1d 100644
--- a/chart2/source/controller/dialogs/tp_LegendPosition.hxx
+++ b/chart2/source/controller/dialogs/tp_LegendPosition.hxx
@@ -33,10 +33,12 @@ class SchLegendPosTabPage : public SfxTabPage
private:

    LegendPositionResources  m_aLegendPositionResources;
    TextDirectionListBox*    m_pLbTextDirection;
    VclPtr<TextDirectionListBox>    m_pLbTextDirection;

public:
    SchLegendPosTabPage(vcl::Window* pParent, const SfxItemSet& rInAttrs);
    virtual ~SchLegendPosTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create(vcl::Window* pParent, const SfxItemSet* rInAttrs);
    virtual bool FillItemSet(SfxItemSet* rOutAttrs) SAL_OVERRIDE;
diff --git a/chart2/source/controller/dialogs/tp_PolarOptions.cxx b/chart2/source/controller/dialogs/tp_PolarOptions.cxx
index ff9db60..00fc6fe 100644
--- a/chart2/source/controller/dialogs/tp_PolarOptions.cxx
+++ b/chart2/source/controller/dialogs/tp_PolarOptions.cxx
@@ -44,6 +44,22 @@ PolarOptionsTabPage::PolarOptionsTabPage( vcl::Window* pWindow,const SfxItemSet&
    m_pAngleDial->SetLinkedField( m_pNF_StartingAngle );
}

PolarOptionsTabPage::~PolarOptionsTabPage()
{
    dispose();
}

void PolarOptionsTabPage::dispose()
{
    m_pCB_Clockwise.clear();
    m_pFL_StartingAngle.clear();
    m_pAngleDial.clear();
    m_pNF_StartingAngle.clear();
    m_pFL_PlotOptions.clear();
    m_pCB_IncludeHiddenCells.clear();
    SfxTabPage::dispose();
}

SfxTabPage* PolarOptionsTabPage::Create( vcl::Window* pWindow,const SfxItemSet* rOutAttrs )
{
    return new PolarOptionsTabPage( pWindow, *rOutAttrs );
diff --git a/chart2/source/controller/dialogs/tp_PolarOptions.hxx b/chart2/source/controller/dialogs/tp_PolarOptions.hxx
index 4ade721..29e6728 100644
--- a/chart2/source/controller/dialogs/tp_PolarOptions.hxx
+++ b/chart2/source/controller/dialogs/tp_PolarOptions.hxx
@@ -33,18 +33,20 @@ class PolarOptionsTabPage : public SfxTabPage

public:
    PolarOptionsTabPage(vcl::Window* pParent, const SfxItemSet& rInAttrs );
    virtual ~PolarOptionsTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create(vcl::Window* pParent, const SfxItemSet* rInAttrs);
    virtual bool FillItemSet(SfxItemSet* rOutAttrs) SAL_OVERRIDE;
    virtual void Reset(const SfxItemSet* rInAttrs) SAL_OVERRIDE;

private:
    CheckBox*         m_pCB_Clockwise;
    VclFrame*         m_pFL_StartingAngle;
    svx::DialControl* m_pAngleDial;
    NumericField*     m_pNF_StartingAngle;
    VclFrame*         m_pFL_PlotOptions;
    CheckBox*         m_pCB_IncludeHiddenCells;
    VclPtr<CheckBox>         m_pCB_Clockwise;
    VclPtr<VclFrame>         m_pFL_StartingAngle;
    VclPtr<svx::DialControl> m_pAngleDial;
    VclPtr<NumericField>     m_pNF_StartingAngle;
    VclPtr<VclFrame>         m_pFL_PlotOptions;
    VclPtr<CheckBox>         m_pCB_IncludeHiddenCells;
};

} //namespace chart
diff --git a/chart2/source/controller/dialogs/tp_RangeChooser.cxx b/chart2/source/controller/dialogs/tp_RangeChooser.cxx
index 108aac0..700c3e0 100644
--- a/chart2/source/controller/dialogs/tp_RangeChooser.cxx
+++ b/chart2/source/controller/dialogs/tp_RangeChooser.cxx
@@ -122,6 +122,30 @@ RangeChooserTabPage::RangeChooserTabPage( vcl::Window* pParent
    m_pEd_TimeEnd->SetModifyHdl( LINK( this, RangeChooserTabPage, ControlChangedHdl ) );
}

RangeChooserTabPage::~RangeChooserTabPage()
{
    dispose();
}

void RangeChooserTabPage::dispose()
{
    m_pFT_Caption.clear();
    m_pFT_Range.clear();
    m_pED_Range.clear();
    m_pIB_Range.clear();
    m_pRB_Rows.clear();
    m_pRB_Columns.clear();
    m_pCB_FirstRowAsLabel.clear();
    m_pCB_FirstColumnAsLabel.clear();
    m_pFTTitle.clear();
    m_pCB_TimeBased.clear();
    m_pEd_TimeStart.clear();
    m_pEd_TimeEnd.clear();
    m_pParentDialog.clear();
    OWizardPage::dispose();
}


void RangeChooserTabPage::ActivatePage()
{
    OWizardPage::ActivatePage();
diff --git a/chart2/source/controller/dialogs/tp_RangeChooser.hxx b/chart2/source/controller/dialogs/tp_RangeChooser.hxx
index f7a0791..5bcda35 100644
--- a/chart2/source/controller/dialogs/tp_RangeChooser.hxx
+++ b/chart2/source/controller/dialogs/tp_RangeChooser.hxx
@@ -48,6 +48,8 @@ public:
                , ChartTypeTemplateProvider* pTemplateProvider
                , Dialog * pParentDialog
                , bool bHideDescription = false );
    virtual ~RangeChooserTabPage();
    virtual void dispose() SAL_OVERRIDE;

    //RangeSelectionListenerParent
    virtual void listeningFinished( const OUString & rNewRange ) SAL_OVERRIDE;
@@ -75,21 +77,21 @@ protected: //methods

protected: //member

    FixedText*       m_pFT_Caption;
    FixedText*       m_pFT_Range;
    Edit*            m_pED_Range;
    PushButton*      m_pIB_Range;
    VclPtr<FixedText>       m_pFT_Caption;
    VclPtr<FixedText>       m_pFT_Range;
    VclPtr<Edit>            m_pED_Range;
    VclPtr<PushButton>      m_pIB_Range;

    RadioButton*     m_pRB_Rows;
    RadioButton*     m_pRB_Columns;
    VclPtr<RadioButton>     m_pRB_Rows;
    VclPtr<RadioButton>     m_pRB_Columns;

    CheckBox*        m_pCB_FirstRowAsLabel;
    CheckBox*        m_pCB_FirstColumnAsLabel;
    FixedText*       m_pFTTitle;
    VclPtr<CheckBox>        m_pCB_FirstRowAsLabel;
    VclPtr<CheckBox>        m_pCB_FirstColumnAsLabel;
    VclPtr<FixedText>       m_pFTTitle;

    CheckBox*        m_pCB_TimeBased;
    Edit*            m_pEd_TimeStart;
    Edit*            m_pEd_TimeEnd;
    VclPtr<CheckBox>        m_pCB_TimeBased;
    VclPtr<Edit>            m_pEd_TimeStart;
    VclPtr<Edit>            m_pEd_TimeEnd;

    sal_Int32       m_nChangingControlCalls;
    bool            m_bIsDirty;
@@ -105,7 +107,7 @@ protected: //member
    ChartTypeTemplateProvider*                              m_pTemplateProvider;

    DialogModel &                                           m_rDialogModel;
    Dialog *                                                m_pParentDialog;
    VclPtr<Dialog>                                          m_pParentDialog;
    TabPageNotifiable *                                     m_pTabPageNotifiable;

};
diff --git a/chart2/source/controller/dialogs/tp_Scale.cxx b/chart2/source/controller/dialogs/tp_Scale.cxx
index bb92e78..9db6bda 100644
--- a/chart2/source/controller/dialogs/tp_Scale.cxx
+++ b/chart2/source/controller/dialogs/tp_Scale.cxx
@@ -122,6 +122,41 @@ ScaleTabPage::ScaleTabPage(vcl::Window* pWindow,const SfxItemSet& rInAttrs) :
    HideAllControls();
}

ScaleTabPage::~ScaleTabPage()
{
    dispose();
}

void ScaleTabPage::dispose()
{
    m_pCbxReverse.clear();
    m_pCbxLogarithm.clear();
    m_pBxType.clear();
    m_pLB_AxisType.clear();
    m_pBxMinMax.clear();
    m_pFmtFldMin.clear();
    m_pCbxAutoMin.clear();
    m_pFmtFldMax.clear();
    m_pCbxAutoMax.clear();
    m_pBxResolution.clear();
    m_pLB_TimeResolution.clear();
    m_pCbx_AutoTimeResolution.clear();
    m_pTxtMain.clear();
    m_pFmtFldStepMain.clear();
    m_pMt_MainDateStep.clear();
    m_pLB_MainTimeUnit.clear();
    m_pCbxAutoStepMain.clear();
    m_pTxtHelpCount.clear();
    m_pTxtHelp.clear();
    m_pMtStepHelp.clear();
    m_pLB_HelpTimeUnit.clear();
    m_pCbxAutoStepHelp.clear();
    m_pFmtFldOrigin.clear();
    m_pCbxAutoOrigin.clear();
    m_pBxOrigin.clear();
    SfxTabPage::dispose();
}

IMPL_LINK( ScaleTabPage, FmtFieldModifiedHdl, FormattedField*, pFmtFied )
{
    if( pFmtFied )
diff --git a/chart2/source/controller/dialogs/tp_Scale.hxx b/chart2/source/controller/dialogs/tp_Scale.hxx
index ff8bbe7..529641d 100644
--- a/chart2/source/controller/dialogs/tp_Scale.hxx
+++ b/chart2/source/controller/dialogs/tp_Scale.hxx
@@ -33,6 +33,8 @@ class ScaleTabPage : public SfxTabPage
{
public:
    ScaleTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs );
    virtual ~ScaleTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create( vcl::Window* pParent, const SfxItemSet* rInAttrs );
    virtual bool FillItemSet( SfxItemSet* rOutAttrs ) SAL_OVERRIDE;
@@ -48,38 +50,38 @@ public:
    virtual void StateChanged( StateChangedType nType ) SAL_OVERRIDE;

private:
    CheckBox*            m_pCbxReverse;
    CheckBox*            m_pCbxLogarithm;
    VclPtr<CheckBox>            m_pCbxReverse;
    VclPtr<CheckBox>            m_pCbxLogarithm;

    VclBox*              m_pBxType;
    ListBox*             m_pLB_AxisType;
    VclPtr<VclBox>              m_pBxType;
    VclPtr<ListBox>             m_pLB_AxisType;

    VclGrid*              m_pBxMinMax;
    FormattedField*      m_pFmtFldMin;
    CheckBox*            m_pCbxAutoMin;
    VclPtr<VclGrid>              m_pBxMinMax;
    VclPtr<FormattedField>      m_pFmtFldMin;
    VclPtr<CheckBox>            m_pCbxAutoMin;

    FormattedField*      m_pFmtFldMax;
    CheckBox*            m_pCbxAutoMax;
    VclPtr<FormattedField>      m_pFmtFldMax;
    VclPtr<CheckBox>            m_pCbxAutoMax;

    VclBox*              m_pBxResolution;
    ListBox*             m_pLB_TimeResolution;
    CheckBox*            m_pCbx_AutoTimeResolution;
    VclPtr<VclBox>              m_pBxResolution;
    VclPtr<ListBox>             m_pLB_TimeResolution;
    VclPtr<CheckBox>            m_pCbx_AutoTimeResolution;

    FixedText*           m_pTxtMain;
    FormattedField*      m_pFmtFldStepMain;
    MetricField*         m_pMt_MainDateStep;
    ListBox*             m_pLB_MainTimeUnit;
    CheckBox*            m_pCbxAutoStepMain;
    VclPtr<FixedText>           m_pTxtMain;
    VclPtr<FormattedField>      m_pFmtFldStepMain;
    VclPtr<MetricField>         m_pMt_MainDateStep;
    VclPtr<ListBox>             m_pLB_MainTimeUnit;
    VclPtr<CheckBox>            m_pCbxAutoStepMain;

    FixedText*           m_pTxtHelpCount;
    FixedText*           m_pTxtHelp;
    MetricField*         m_pMtStepHelp;
    ListBox*             m_pLB_HelpTimeUnit;
    CheckBox*            m_pCbxAutoStepHelp;
    VclPtr<FixedText>           m_pTxtHelpCount;
    VclPtr<FixedText>           m_pTxtHelp;
    VclPtr<MetricField>         m_pMtStepHelp;
    VclPtr<ListBox>             m_pLB_HelpTimeUnit;
    VclPtr<CheckBox>            m_pCbxAutoStepHelp;

    FormattedField*      m_pFmtFldOrigin;
    CheckBox*            m_pCbxAutoOrigin;
    VclBox*              m_pBxOrigin;
    VclPtr<FormattedField>      m_pFmtFldOrigin;
    VclPtr<CheckBox>            m_pCbxAutoOrigin;
    VclPtr<VclBox>              m_pBxOrigin;

    double              fMin;
    double              fMax;
diff --git a/chart2/source/controller/dialogs/tp_SeriesToAxis.cxx b/chart2/source/controller/dialogs/tp_SeriesToAxis.cxx
index 4f4a986d..0a5b504 100644
--- a/chart2/source/controller/dialogs/tp_SeriesToAxis.cxx
+++ b/chart2/source/controller/dialogs/tp_SeriesToAxis.cxx
@@ -63,6 +63,30 @@ SchOptionTabPage::SchOptionTabPage(vcl::Window* pWindow,const SfxItemSet& rInAtt
    m_pRbtAxis2->SetClickHdl( LINK( this, SchOptionTabPage, EnableHdl ));
}

SchOptionTabPage::~SchOptionTabPage()
{
    dispose();
}

void SchOptionTabPage::dispose()
{
    m_pGrpAxis.clear();
    m_pRbtAxis1.clear();
    m_pRbtAxis2.clear();
    m_pGrpBar.clear();
    m_pMTGap.clear();
    m_pMTOverlap.clear();
    m_pCBConnect.clear();
    m_pCBAxisSideBySide.clear();
    m_pGrpPlotOptions.clear();
    m_pGridPlotOptions.clear();
    m_pRB_DontPaint.clear();
    m_pRB_AssumeZero.clear();
    m_pRB_ContinueLine.clear();
    m_pCBIncludeHiddenCells.clear();
    SfxTabPage::dispose();
}

IMPL_LINK_NOARG(SchOptionTabPage, EnableHdl)
{
    if( m_nAllSeriesAxisIndex == 0 )
diff --git a/chart2/source/controller/dialogs/tp_SeriesToAxis.hxx b/chart2/source/controller/dialogs/tp_SeriesToAxis.hxx
index f11c8e5..b50f90f 100644
--- a/chart2/source/controller/dialogs/tp_SeriesToAxis.hxx
+++ b/chart2/source/controller/dialogs/tp_SeriesToAxis.hxx
@@ -31,6 +31,8 @@ class SchOptionTabPage : public SfxTabPage
{
public:
    SchOptionTabPage(vcl::Window* pParent, const SfxItemSet& rInAttrs);
    virtual ~SchOptionTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create(vcl::Window* pParent, const SfxItemSet* rInAttrs);
    virtual bool FillItemSet(SfxItemSet* rOutAttrs) SAL_OVERRIDE;
@@ -42,23 +44,23 @@ private: //methods
    void AdaptControlPositionsAndVisibility();

private: //member
    VclFrame*    m_pGrpAxis;
    RadioButton* m_pRbtAxis1;
    RadioButton* m_pRbtAxis2;
    VclPtr<VclFrame>    m_pGrpAxis;
    VclPtr<RadioButton> m_pRbtAxis1;
    VclPtr<RadioButton> m_pRbtAxis2;

    VclFrame*    m_pGrpBar;
    MetricField* m_pMTGap;
    MetricField* m_pMTOverlap;
    CheckBox*    m_pCBConnect;
    CheckBox*    m_pCBAxisSideBySide;
    VclPtr<VclFrame>    m_pGrpBar;
    VclPtr<MetricField> m_pMTGap;
    VclPtr<MetricField> m_pMTOverlap;
    VclPtr<CheckBox>    m_pCBConnect;
    VclPtr<CheckBox>    m_pCBAxisSideBySide;

    VclFrame*    m_pGrpPlotOptions;
    VclGrid*     m_pGridPlotOptions;
    RadioButton* m_pRB_DontPaint;
    RadioButton* m_pRB_AssumeZero;
    RadioButton* m_pRB_ContinueLine;
    VclPtr<VclGrid>     m_pGrpPlotOptions;
    VclPtr<VclGrid>     m_pGridPlotOptions;
    VclPtr<RadioButton> m_pRB_DontPaint;
    VclPtr<RadioButton> m_pRB_AssumeZero;
    VclPtr<RadioButton> m_pRB_ContinueLine;

    CheckBox*    m_pCBIncludeHiddenCells;
    VclPtr<CheckBox>    m_pCBIncludeHiddenCells;

    DECL_LINK(EnableHdl, void * );

diff --git a/chart2/source/controller/dialogs/tp_TitleRotation.cxx b/chart2/source/controller/dialogs/tp_TitleRotation.cxx
index a83373d..c69eb46 100644
--- a/chart2/source/controller/dialogs/tp_TitleRotation.cxx
+++ b/chart2/source/controller/dialogs/tp_TitleRotation.cxx
@@ -64,6 +64,13 @@ void SchAlignmentTabPage::dispose()
{
    delete m_pOrientHlp;
    m_pOrientHlp = NULL;
    m_pCtrlDial.clear();
    m_pFtRotate.clear();
    m_pNfRotate.clear();
    m_pCbStacked.clear();
    m_pFtTextDirection.clear();
    m_pLbTextDirection.clear();
    m_pFtABCD.clear();
    SfxTabPage::dispose();
}

diff --git a/chart2/source/controller/dialogs/tp_TitleRotation.hxx b/chart2/source/controller/dialogs/tp_TitleRotation.hxx
index e5d2e24..8450d6a 100644
--- a/chart2/source/controller/dialogs/tp_TitleRotation.hxx
+++ b/chart2/source/controller/dialogs/tp_TitleRotation.hxx
@@ -31,14 +31,14 @@ namespace chart
class SchAlignmentTabPage : public SfxTabPage
{
private:
    svx::DialControl*        m_pCtrlDial;
    FixedText*               m_pFtRotate;
    NumericField*            m_pNfRotate;
    TriStateBox*             m_pCbStacked;
    VclPtr<svx::DialControl>        m_pCtrlDial;
    VclPtr<FixedText>               m_pFtRotate;
    VclPtr<NumericField>            m_pNfRotate;
    VclPtr<TriStateBox>             m_pCbStacked;
    svx::OrientationHelper*  m_pOrientHlp;
    FixedText*               m_pFtTextDirection;
    TextDirectionListBox*    m_pLbTextDirection;
    FixedText*               m_pFtABCD;
    VclPtr<FixedText>               m_pFtTextDirection;
    VclPtr<TextDirectionListBox>    m_pLbTextDirection;
    VclPtr<FixedText>               m_pFtABCD;

public:
    SchAlignmentTabPage(vcl::Window* pParent, const SfxItemSet& rInAttrs, bool bWithRotation = true);
diff --git a/chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.cxx b/chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.cxx
index 90088b0..23986e1 100644
--- a/chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.cxx
+++ b/chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.cxx
@@ -57,6 +57,19 @@ TitlesAndObjectsTabPage::TitlesAndObjectsTabPage( svt::OWizardMachine* pParent
    m_pCB_Grid_Z->SetToggleHdl( LINK( this, TitlesAndObjectsTabPage, ChangeHdl ));
}

TitlesAndObjectsTabPage::~TitlesAndObjectsTabPage()
{
    dispose();
}

void TitlesAndObjectsTabPage::dispose()
{
    m_pCB_Grid_X.clear();
    m_pCB_Grid_Y.clear();
    m_pCB_Grid_Z.clear();
    OWizardPage::dispose();
}

void TitlesAndObjectsTabPage::initializePage()
{
    m_bCommitToModel = false;
diff --git a/chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.hxx b/chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.hxx
index 26e2cb2..520453c 100644
--- a/chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.hxx
+++ b/chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.hxx
@@ -44,6 +44,8 @@ public:
                ::com::sun::star::chart2::XChartDocument >& xChartModel
                , const ::com::sun::star::uno::Reference<
                ::com::sun::star::uno::XComponentContext >& xContext );
    virtual ~TitlesAndObjectsTabPage();
    virtual void dispose() SAL_OVERRIDE;

    virtual void        initializePage() SAL_OVERRIDE;
    virtual bool        commitPage( ::svt::WizardTypes::CommitPageReason eReason ) SAL_OVERRIDE;
@@ -57,9 +59,9 @@ protected:
    boost::scoped_ptr< TitleResources >            m_xTitleResources;
    boost::scoped_ptr< LegendPositionResources >   m_xLegendPositionResources;

    CheckBox*          m_pCB_Grid_X;
    CheckBox*          m_pCB_Grid_Y;
    CheckBox*          m_pCB_Grid_Z;
    VclPtr<CheckBox>          m_pCB_Grid_X;
    VclPtr<CheckBox>          m_pCB_Grid_Y;
    VclPtr<CheckBox>          m_pCB_Grid_Z;

    ::com::sun::star::uno::Reference<
                       ::com::sun::star::chart2::XChartDocument >   m_xChartModel;
diff --git a/chart2/source/controller/inc/dlg_ChartType.hxx b/chart2/source/controller/inc/dlg_ChartType.hxx
index 008ba07..d8fecf5 100644
--- a/chart2/source/controller/inc/dlg_ChartType.hxx
+++ b/chart2/source/controller/inc/dlg_ChartType.hxx
@@ -41,7 +41,7 @@ public:
    virtual void dispose() SAL_OVERRIDE;

private:
    ChartTypeTabPage*   m_pChartTypeTabPage;
    VclPtr<ChartTypeTabPage>   m_pChartTypeTabPage;

    ::com::sun::star::uno::Reference<
                       ::com::sun::star::frame::XModel >            m_xChartModel;
diff --git a/chart2/source/controller/inc/dlg_CreationWizard_UNO.hxx b/chart2/source/controller/inc/dlg_CreationWizard_UNO.hxx
index ce4f638..a71d86a 100644
--- a/chart2/source/controller/inc/dlg_CreationWizard_UNO.hxx
+++ b/chart2/source/controller/inc/dlg_CreationWizard_UNO.hxx
@@ -119,7 +119,7 @@ private:
    com::sun::star::uno::Reference<
        com::sun::star::awt::XWindow >               m_xParentWindow;

    CreationWizard*     m_pDialog;
    VclPtr<CreationWizard>     m_pDialog;
    bool            m_bUnlockControllersOnExecute;
};

diff --git a/chart2/source/controller/inc/dlg_DataEditor.hxx b/chart2/source/controller/inc/dlg_DataEditor.hxx
index 4432674..cff3f4f 100644
--- a/chart2/source/controller/inc/dlg_DataEditor.hxx
+++ b/chart2/source/controller/inc/dlg_DataEditor.hxx
@@ -67,7 +67,7 @@ private:

    bool                           m_bReadOnly;
    boost::scoped_ptr<DataBrowser> m_xBrwData;
    ToolBox*                       m_pTbxData;
    VclPtr<ToolBox>                       m_pTbxData;
    ::com::sun::star::uno::Reference<
            ::com::sun::star::chart2::XChartDocument > m_xChartDoc;
    ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
diff --git a/chart2/source/controller/inc/dlg_DataSource.hxx b/chart2/source/controller/inc/dlg_DataSource.hxx
index 5c6a60d..bc3d22d 100644
--- a/chart2/source/controller/inc/dlg_DataSource.hxx
+++ b/chart2/source/controller/inc/dlg_DataSource.hxx
@@ -68,11 +68,11 @@ protected:
    ::std::unique_ptr< DialogModel >                m_apDialogModel;

private:
    DataSourceTabControl* m_pTabControl;
    OKButton*             m_pBtnOK;
    VclPtr<DataSourceTabControl> m_pTabControl;
    VclPtr<OKButton>             m_pBtnOK;

    RangeChooserTabPage * m_pRangeChooserTabePage;
    DataSourceTabPage *   m_pDataSourceTabPage;
    VclPtr<RangeChooserTabPage> m_pRangeChooserTabePage;
    VclPtr<DataSourceTabPage>   m_pDataSourceTabPage;
    bool                  m_bRangeChooserTabIsValid;
    bool                  m_bDataSourceTabIsValid;

diff --git a/chart2/source/controller/inc/dlg_InsertAxis_Grid.hxx b/chart2/source/controller/inc/dlg_InsertAxis_Grid.hxx
index 960edff..1ec0829 100644
--- a/chart2/source/controller/inc/dlg_InsertAxis_Grid.hxx
+++ b/chart2/source/controller/inc/dlg_InsertAxis_Grid.hxx
@@ -43,15 +43,17 @@ struct InsertAxisOrGridDialogData
class SchAxisDlg : public ModalDialog
{
protected:
    CheckBox* m_pCbPrimaryX;
    CheckBox* m_pCbPrimaryY;
    CheckBox* m_pCbPrimaryZ;
    CheckBox* m_pCbSecondaryX;
    CheckBox* m_pCbSecondaryY;
    CheckBox* m_pCbSecondaryZ;
    VclPtr<CheckBox> m_pCbPrimaryX;
    VclPtr<CheckBox> m_pCbPrimaryY;
    VclPtr<CheckBox> m_pCbPrimaryZ;
    VclPtr<CheckBox> m_pCbSecondaryX;
    VclPtr<CheckBox> m_pCbSecondaryY;
    VclPtr<CheckBox> m_pCbSecondaryZ;

public:
    SchAxisDlg(vcl::Window* pParent, const InsertAxisOrGridDialogData& rInput, bool bAxisDlg=true);
    virtual ~SchAxisDlg();
    virtual void dispose() SAL_OVERRIDE;

    void getResult( InsertAxisOrGridDialogData& rOutput );
};
diff --git a/chart2/source/controller/inc/dlg_View3D.hxx b/chart2/source/controller/inc/dlg_View3D.hxx
index 64228fe..0ef93e8 100644
--- a/chart2/source/controller/inc/dlg_View3D.hxx
+++ b/chart2/source/controller/inc/dlg_View3D.hxx
@@ -47,11 +47,11 @@ public:
    virtual short Execute() SAL_OVERRIDE;

private:
    TabControl*     m_pTabControl;
    VclPtr<TabControl>     m_pTabControl;

    ThreeD_SceneGeometry_TabPage*       m_pGeometry;
    ThreeD_SceneAppearance_TabPage*     m_pAppearance;
    ThreeD_SceneIllumination_TabPage*   m_pIllumination;
    VclPtr<ThreeD_SceneGeometry_TabPage>       m_pGeometry;
    VclPtr<ThreeD_SceneAppearance_TabPage>     m_pAppearance;
    VclPtr<ThreeD_SceneIllumination_TabPage>   m_pIllumination;

    ControllerLockHelper                m_aControllerLocker;

diff --git a/chart2/source/controller/inc/res_ErrorBar.hxx b/chart2/source/controller/inc/res_ErrorBar.hxx
index 0ad485c..8591780 100644
--- a/chart2/source/controller/inc/res_ErrorBar.hxx
+++ b/chart2/source/controller/inc/res_ErrorBar.hxx
@@ -67,36 +67,36 @@ public:

private:
    // category
    RadioButton*          m_pRbNone;
    RadioButton*          m_pRbConst;
    RadioButton*          m_pRbPercent;
    RadioButton*          m_pRbFunction;
    RadioButton*          m_pRbRange;
    ListBox*              m_pLbFunction;
    VclPtr<RadioButton>          m_pRbNone;
    VclPtr<RadioButton>          m_pRbConst;
    VclPtr<RadioButton>          m_pRbPercent;
    VclPtr<RadioButton>          m_pRbFunction;
    VclPtr<RadioButton>          m_pRbRange;
    VclPtr<ListBox>              m_pLbFunction;

    // parameters
    VclFrame*             m_pFlParameters;
    VclBox*               m_pBxPositive;
    MetricField*          m_pMfPositive;
    Edit*                 m_pEdRangePositive;
    PushButton*           m_pIbRangePositive;
    VclBox*               m_pBxNegative;
    MetricField*          m_pMfNegative;
    Edit*                 m_pEdRangeNegative;
    PushButton*           m_pIbRangeNegative;
    CheckBox*             m_pCbSyncPosNeg;
    VclPtr<VclFrame>             m_pFlParameters;
    VclPtr<VclBox>               m_pBxPositive;
    VclPtr<MetricField>          m_pMfPositive;
    VclPtr<Edit>                 m_pEdRangePositive;
    VclPtr<PushButton>           m_pIbRangePositive;
    VclPtr<VclBox>               m_pBxNegative;
    VclPtr<MetricField>          m_pMfNegative;
    VclPtr<Edit>                 m_pEdRangeNegative;
    VclPtr<PushButton>           m_pIbRangeNegative;
    VclPtr<CheckBox>             m_pCbSyncPosNeg;

    // indicator
    RadioButton*          m_pRbBoth;
    RadioButton*          m_pRbPositive;
    RadioButton*          m_pRbNegative;
    FixedImage*           m_pFiBoth;
    FixedImage*           m_pFiPositive;
    FixedImage*           m_pFiNegative;
    VclPtr<RadioButton>          m_pRbBoth;
    VclPtr<RadioButton>          m_pRbPositive;
    VclPtr<RadioButton>          m_pRbNegative;
    VclPtr<FixedImage>           m_pFiBoth;
    VclPtr<FixedImage>           m_pFiPositive;
    VclPtr<FixedImage>           m_pFiNegative;

    FixedText*           m_pUIStringPos;
    FixedText*           m_pUIStringNeg;
    FixedText*           m_pUIStringRbRange;
    VclPtr<FixedText>           m_pUIStringPos;
    VclPtr<FixedText>           m_pUIStringNeg;
    VclPtr<FixedText>           m_pUIStringRbRange;

    SvxChartKindError    m_eErrorKind;
    SvxChartIndicate     m_eIndicate;
@@ -116,9 +116,9 @@ private:
    double               m_fPlusValue;
    double               m_fMinusValue;

    Dialog *             m_pParentDialog;
    VclPtr<Dialog>       m_pParentDialog;
    boost::scoped_ptr< RangeSelectionHelper >  m_apRangeSelectionHelper;
    Edit *               m_pCurrentRangeChoosingField;
    VclPtr<Edit>         m_pCurrentRangeChoosingField;
    bool                 m_bHasInternalDataProvider;
    bool                 m_bEnableDataTableDialog;

diff --git a/chart2/source/controller/inc/res_LegendPosition.hxx b/chart2/source/controller/inc/res_LegendPosition.hxx
index c8292db..7801895 100644
--- a/chart2/source/controller/inc/res_LegendPosition.hxx
+++ b/chart2/source/controller/inc/res_LegendPosition.hxx
@@ -60,12 +60,12 @@ private:
    ::com::sun::star::uno::Reference<
                       ::com::sun::star::uno::XComponentContext>    m_xCC;

    CheckBox*       m_pCbxShow;
    VclPtr<CheckBox>       m_pCbxShow;

    RadioButton*    m_pRbtLeft;
    RadioButton*    m_pRbtRight;
    RadioButton*    m_pRbtTop;
    RadioButton*    m_pRbtBottom;
    VclPtr<RadioButton>    m_pRbtLeft;
    VclPtr<RadioButton>    m_pRbtRight;
    VclPtr<RadioButton>    m_pRbtTop;
    VclPtr<RadioButton>    m_pRbtBottom;

    Link            m_aChangeLink;
};
diff --git a/chart2/source/controller/inc/res_Titles.hxx b/chart2/source/controller/inc/res_Titles.hxx
index 1e4e8c6..396c87a 100644
--- a/chart2/source/controller/inc/res_Titles.hxx
+++ b/chart2/source/controller/inc/res_Titles.hxx
@@ -40,22 +40,22 @@ public:
    void ClearModifyFlag();

private:
    FixedText* m_pFT_Main;
    FixedText* m_pFT_Sub;
    Edit* m_pEd_Main;
    Edit* m_pEd_Sub;
    VclPtr<FixedText> m_pFT_Main;
    VclPtr<FixedText> m_pFT_Sub;
    VclPtr<Edit> m_pEd_Main;
    VclPtr<Edit> m_pEd_Sub;

    FixedText* m_pFT_XAxis;
    FixedText* m_pFT_YAxis;
    FixedText* m_pFT_ZAxis;
    Edit* m_pEd_XAxis;
    Edit* m_pEd_YAxis;
    Edit* m_pEd_ZAxis;
    VclPtr<FixedText> m_pFT_XAxis;
    VclPtr<FixedText> m_pFT_YAxis;
    VclPtr<FixedText> m_pFT_ZAxis;
    VclPtr<Edit> m_pEd_XAxis;
    VclPtr<Edit> m_pEd_YAxis;
    VclPtr<Edit> m_pEd_ZAxis;

    FixedText* m_pFT_SecondaryXAxis;
    FixedText* m_pFT_SecondaryYAxis;
    Edit* m_pEd_SecondaryXAxis;
    Edit* m_pEd_SecondaryYAxis;
    VclPtr<FixedText> m_pFT_SecondaryXAxis;
    VclPtr<FixedText> m_pFT_SecondaryYAxis;
    VclPtr<Edit> m_pEd_SecondaryXAxis;
    VclPtr<Edit> m_pEd_SecondaryYAxis;
};

} //namespace chart
diff --git a/chart2/source/controller/main/ChartController.hxx b/chart2/source/controller/main/ChartController.hxx
index 81382ea..827e549 100644
--- a/chart2/source/controller/main/ChartController.hxx
+++ b/chart2/source/controller/main/ChartController.hxx
@@ -508,7 +508,7 @@ private:
    TheModelRef             m_aModel;

    //view
    ChartWindow*        m_pChartWindow;
    VclPtr<ChartWindow>        m_pChartWindow;
    ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >      m_xViewWindow;
    ::com::sun::star::uno::Reference<
                       ::com::sun::star::uno::XInterface >                  m_xChartView;
diff --git a/chart2/source/controller/main/ChartWindow.cxx b/chart2/source/controller/main/ChartWindow.cxx
index 4a37ec3..d5275e1 100644
--- a/chart2/source/controller/main/ChartWindow.cxx
+++ b/chart2/source/controller/main/ChartWindow.cxx
@@ -64,7 +64,7 @@ ChartWindow::ChartWindow( ChartController* pController, vcl::Window* pParent, Wi
    {
        m_pOpenGLWindow->Show();
        uno::Reference< chart2::X3DChartWindowProvider > x3DWindowProvider(pController->getModel(), uno::UNO_QUERY_THROW);
        sal_uInt64 nWindowPtr = reinterpret_cast<sal_uInt64>(m_pOpenGLWindow);
        sal_uInt64 nWindowPtr = reinterpret_cast<sal_uInt64>(m_pOpenGLWindow.get());
        x3DWindowProvider->setWindow(nWindowPtr);
        x3DWindowProvider->update();
    }
@@ -83,8 +83,7 @@ void ChartWindow::dispose()
        x3DWindowProvider->setWindow(0);
        x3DWindowProvider->update();
    }
    delete m_pOpenGLWindow;
    m_pOpenGLWindow = NULL;
    m_pOpenGLWindow.clear();
    vcl::Window::dispose();
}

diff --git a/chart2/source/controller/main/ChartWindow.hxx b/chart2/source/controller/main/ChartWindow.hxx
index 73be579..cd0afaa 100644
--- a/chart2/source/controller/main/ChartWindow.hxx
+++ b/chart2/source/controller/main/ChartWindow.hxx
@@ -68,7 +68,7 @@ public:
private:
    ChartController* m_pWindowController;
    bool m_bInPaint;
    OpenGLWindow* m_pOpenGLWindow;
    VclPtr<OpenGLWindow> m_pOpenGLWindow;

    void adjustHighContrastMode();
};
diff --git a/chart2/source/controller/main/ShapeController.cxx b/chart2/source/controller/main/ShapeController.cxx
index 52b5f1f..afea410 100644
--- a/chart2/source/controller/main/ShapeController.cxx
+++ b/chart2/source/controller/main/ShapeController.cxx
@@ -252,7 +252,7 @@ void ShapeController::executeDispatch_FormatLine()
    SolarMutexGuard aGuard;
    if ( m_pChartController )
    {
        vcl::Window* pParent = dynamic_cast< vcl::Window* >( m_pChartController->m_pChartWindow );
        vcl::Window* pParent = dynamic_cast< vcl::Window* >( m_pChartController->m_pChartWindow.get() );
        DrawModelWrapper* pDrawModelWrapper = m_pChartController->GetDrawModelWrapper();
        DrawViewWrapper* pDrawViewWrapper = m_pChartController->GetDrawViewWrapper();
        if ( pParent && pDrawModelWrapper && pDrawViewWrapper )
@@ -292,7 +292,7 @@ void ShapeController::executeDispatch_FormatArea()
    SolarMutexGuard aGuard;
    if ( m_pChartController )
    {
        vcl::Window* pParent = dynamic_cast< vcl::Window* >( m_pChartController->m_pChartWindow );
        vcl::Window* pParent = dynamic_cast< vcl::Window* >( m_pChartController->m_pChartWindow.get() );
        DrawModelWrapper* pDrawModelWrapper = m_pChartController->GetDrawModelWrapper();
        DrawViewWrapper* pDrawViewWrapper = m_pChartController->GetDrawViewWrapper();
        if ( pParent && pDrawModelWrapper && pDrawViewWrapper )
@@ -335,7 +335,7 @@ void ShapeController::executeDispatch_TextAttributes()
    SolarMutexGuard aGuard;
    if ( m_pChartController )
    {
        vcl::Window* pParent = dynamic_cast< vcl::Window* >( m_pChartController->m_pChartWindow );
        vcl::Window* pParent = dynamic_cast< vcl::Window* >( m_pChartController->m_pChartWindow.get() );
        DrawViewWrapper* pDrawViewWrapper = m_pChartController->GetDrawViewWrapper();
        if ( pParent && pDrawViewWrapper )
        {
@@ -372,7 +372,7 @@ void ShapeController::executeDispatch_TransformDialog()
    SolarMutexGuard aGuard;
    if ( m_pChartController )
    {
        vcl::Window* pParent = dynamic_cast< vcl::Window* >( m_pChartController->m_pChartWindow );
        vcl::Window* pParent = dynamic_cast< vcl::Window* >( m_pChartController->m_pChartWindow.get() );
        DrawViewWrapper* pDrawViewWrapper = m_pChartController->GetDrawViewWrapper();
        if ( pParent && pDrawViewWrapper )
        {
@@ -541,7 +541,7 @@ void ShapeController::executeDispatch_FontDialog()
    SolarMutexGuard aGuard;
    if ( m_pChartController )
    {
        vcl::Window* pParent = dynamic_cast< vcl::Window* >( m_pChartController->m_pChartWindow );
        vcl::Window* pParent = dynamic_cast< vcl::Window* >( m_pChartController->m_pChartWindow.get() );
        DrawModelWrapper* pDrawModelWrapper = m_pChartController->GetDrawModelWrapper();
        DrawViewWrapper* pDrawViewWrapper = m_pChartController->GetDrawViewWrapper();
        if ( pParent && pDrawModelWrapper && pDrawViewWrapper )
@@ -564,7 +564,7 @@ void ShapeController::executeDispatch_ParagraphDialog()
    SolarMutexGuard aGuard;
    if ( m_pChartController )
    {
        vcl::Window* pParent = dynamic_cast< vcl::Window* >( m_pChartController->m_pChartWindow );
        vcl::Window* pParent = dynamic_cast< vcl::Window* >( m_pChartController->m_pChartWindow.get() );
        DrawViewWrapper* pDrawViewWrapper = m_pChartController->GetDrawViewWrapper();
        if ( pParent && pDrawViewWrapper )
        {
diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx
index 6b77813..3fe29b0 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -1487,7 +1487,7 @@ IMPL_LINK_NOARG(GL3DBarChart, UpdateTimerHdl)

void GL3DBarChart::setOpenGLWindow(OpenGLWindow* pWindow)
{
    if (mpWindow != pWindow)
    if (mpWindow.get() != pWindow)
    {
        mpWindow = pWindow;
        Size aSize = mpWindow->GetSizePixel();
diff --git a/chart2/source/view/inc/GL3DBarChart.hxx b/chart2/source/view/inc/GL3DBarChart.hxx
index c68a385..eaff13a 100644
--- a/chart2/source/view/inc/GL3DBarChart.hxx
+++ b/chart2/source/view/inc/GL3DBarChart.hxx
@@ -124,7 +124,7 @@ private:
    boost::ptr_vector<opengl3D::Renderable3DObject> maShapes;

    boost::scoped_ptr<opengl3D::OpenGL3DRenderer> mpRenderer;
    OpenGLWindow* mpWindow;
    VclPtr<OpenGLWindow> mpWindow;

    opengl3D::Camera* mpCamera;
    bool mbValidContext;
diff --git a/chart2/source/view/main/ChartView.cxx b/chart2/source/view/main/ChartView.cxx
index b9a1e37..9ac3ad8 100644
--- a/chart2/source/view/main/ChartView.cxx
+++ b/chart2/source/view/main/ChartView.cxx
@@ -1090,7 +1090,7 @@ public:
private:
    ChartView* mpView;
    bool mbContextDestroyed;
    OpenGLWindow* mpWindow;
    VclPtr<OpenGLWindow> mpWindow;
};

GL2DRenderer::GL2DRenderer(ChartView* pView):
diff --git a/compilerplugins/clang/vclwidgets.cxx b/compilerplugins/clang/vclwidgets.cxx
index bf1f86e..ba7da08 100644
--- a/compilerplugins/clang/vclwidgets.cxx
+++ b/compilerplugins/clang/vclwidgets.cxx
@@ -8,6 +8,7 @@
 */

#include <string>
#include <iostream>

#include "plugin.hxx"
#include "compat.hxx"
@@ -41,6 +42,8 @@ public:

    bool VisitCXXDestructorDecl(const CXXDestructorDecl *);

    bool VisitCXXDeleteExpr(const CXXDeleteExpr *);

private:
    bool isDisposeCallingSuperclassDispose(const CXXMethodDecl* pMethodDecl);
};
@@ -55,10 +58,11 @@ bool BaseCheckNotWindowSubclass(const CXXRecordDecl *BaseDefinition, void *) {
}

bool isDerivedFromWindow(const CXXRecordDecl *decl) {
    if (!decl->hasDefinition())
        return false;
    if (decl->getQualifiedNameAsString().compare("vcl::Window") == 0)
        return true;
    if (!decl->hasDefinition()) {
        return false;
    }
    if (// not sure what hasAnyDependentBases() does,
        // but it avoids classes we don't want, e.g. WeakAggComponentImplHelper1
        !decl->hasAnyDependentBases() &&
@@ -68,9 +72,11 @@ bool isDerivedFromWindow(const CXXRecordDecl *decl) {
    return false;
}

bool isPointerToWindowSubclass(const QualType& pType) {
    if (!pType->isPointerType())
bool isPointerToWindowSubclass(const Type* pType0) {
    const Type* pType = pType0->getUnqualifiedDesugaredType();
    if (!pType->isPointerType()) {
        return false;
    }
    QualType pointeeType = pType->getPointeeType();
    const RecordType *recordType = pointeeType->getAs<RecordType>();
    if (recordType == nullptr) {
@@ -80,7 +86,27 @@ bool isPointerToWindowSubclass(const QualType& pType) {
    if (recordDecl == nullptr) {
        return false;
    }
    return isDerivedFromWindow(recordDecl);
    bool b = isDerivedFromWindow(recordDecl);
    return b;
}

bool containsPointerToWindowSubclass(const Type* pType0) {
    const Type* pType = pType0->getUnqualifiedDesugaredType();
    const CXXRecordDecl* pRecordDecl = pType->getAsCXXRecordDecl();
    if (pRecordDecl) {
        const ClassTemplateSpecializationDecl* pTemplate = dyn_cast<ClassTemplateSpecializationDecl>(pRecordDecl);
        if (pTemplate) {
            for(unsigned i=0; i<pTemplate->getTemplateArgs().size(); ++i) {
                const TemplateArgument& rArg = pTemplate->getTemplateArgs()[i];
                if (rArg.getKind() == TemplateArgument::ArgKind::Type &&
                    containsPointerToWindowSubclass(rArg.getAsType().getTypePtr()))
                {
                    return true;
                }
            }
        }
    }
    return isPointerToWindowSubclass(pType);
}

bool VCLWidgets::VisitCXXDestructorDecl(const CXXDestructorDecl* pCXXDestructorDecl)
@@ -88,7 +114,7 @@ bool VCLWidgets::VisitCXXDestructorDecl(const CXXDestructorDecl* pCXXDestructorD
    if (ignoreLocation(pCXXDestructorDecl)) {
        return true;
    }
    if (!pCXXDestructorDecl->hasBody()) {
    if (!pCXXDestructorDecl->isThisDeclarationADefinition()) {
        return true;
    }
    const CXXRecordDecl * pRecordDecl = pCXXDestructorDecl->getParent();
@@ -120,20 +146,20 @@ bool VCLWidgets::VisitCXXDestructorDecl(const CXXDestructorDecl* pCXXDestructorD
    }
    const CompoundStmt *pCompoundStatement = dyn_cast<CompoundStmt>(pCXXDestructorDecl->getBody());
    // having an empty body and no dispose() method is fine
    if (!foundVclPtrField && !foundDispose && pCompoundStatement->size() == 0) {
    if (!foundVclPtrField && !foundDispose && pCompoundStatement && pCompoundStatement->size() == 0) {
        return true;
    }
    if (foundVclPtrField && pCompoundStatement->size() == 0) {
    if (foundVclPtrField && pCompoundStatement && pCompoundStatement->size() == 0) {
        report(
            DiagnosticsEngine::Warning,
            "vcl::Window subclass with VclPtr field must call dispose() from it's destructor.",
            pCXXDestructorDecl->getBody()->getLocStart())
          << pCXXDestructorDecl->getBody()->getSourceRange();
            pCXXDestructorDecl->getLocStart())
          << pCXXDestructorDecl->getSourceRange();
        return true;
    }
    // check that the destructor for a vcl::Window subclass does nothing except call into the dispose() method
    bool ok = false;
    if (pCompoundStatement->size() == 1) {
    if (pCompoundStatement && pCompoundStatement->size() == 1) {
        const CXXMemberCallExpr *pCallExpr = dyn_cast<CXXMemberCallExpr>(*pCompoundStatement->body_begin());
        if (pCallExpr) {
            ok = true;
@@ -143,9 +169,8 @@ bool VCLWidgets::VisitCXXDestructorDecl(const CXXDestructorDecl* pCXXDestructorD
        report(
            DiagnosticsEngine::Warning,
            "vcl::Window subclass should have nothing in it's destructor but a call to dispose().",
            pCXXDestructorDecl->getBody()->getLocStart())
          << pCXXDestructorDecl->getBody()->getSourceRange()
          << pCXXDestructorDecl->getCanonicalDecl()->getSourceRange();
            pCXXDestructorDecl->getLocStart())
          << pCXXDestructorDecl->getSourceRange();
        return true;
    }
    return true;
@@ -183,13 +208,13 @@ bool VCLWidgets::VisitFieldDecl(const FieldDecl * fieldDecl) {
    if (fieldDecl->isBitField()) {
        return true;
    }
    if (isPointerToWindowSubclass(fieldDecl->getType())) {
/*        report(
            DiagnosticsEngine::Remark,
    if (containsPointerToWindowSubclass(fieldDecl->getType().getTypePtr())) {
        report(
            DiagnosticsEngine::Warning,
            "vcl::Window subclass declared as a pointer field, should be wrapped in VclPtr.",
            fieldDecl->getLocation())
          << fieldDecl->getSourceRange();
        return true;*/
        return true;
    }

    const RecordType *recordType = fieldDecl->getType()->getAs<RecordType>();
@@ -245,7 +270,15 @@ bool VCLWidgets::VisitParmVarDecl(ParmVarDecl const * pvDecl)
        && pMethodDecl->getParent()->getQualifiedNameAsString().find("VclPtr") != std::string::npos) {
        return true;
    }
    if (pvDecl->getType().getAsString().find("VclPtr") != std::string::npos) {
    // we exclude this method in VclBuilder because it's so useful to have it like this
    if (pMethodDecl
        && pMethodDecl->getNameAsString() == "get"
        && (pMethodDecl->getParent()->getQualifiedNameAsString() == "VclBuilder"
            || pMethodDecl->getParent()->getQualifiedNameAsString() == "VclBuilderContainer"))
    {
        return true;
    }
    if (!pvDecl->getType()->isReferenceType() && pvDecl->getType().getAsString().find("VclPtr") != std::string::npos) {
        report(
            DiagnosticsEngine::Warning,
            "vcl::Window subclass passed as a VclPtr parameter, should be passed as a raw pointer.",
@@ -255,6 +288,43 @@ bool VCLWidgets::VisitParmVarDecl(ParmVarDecl const * pvDecl)
    return true;
}

static void findDisposeAndClearStatements2(std::vector<std::string>& aVclPtrFields, const Stmt *pStmt);

static void findDisposeAndClearStatements(std::vector<std::string>& aVclPtrFields, const CompoundStmt *pCompoundStatement)
{
    for(const Stmt* pStmt : pCompoundStatement->body()) {
        findDisposeAndClearStatements2(aVclPtrFields, pStmt);
    }
}

static void findDisposeAndClearStatements2(std::vector<std::string>& aVclPtrFields, const Stmt *pStmt)
{
    if (isa<CompoundStmt>(pStmt)) {
        findDisposeAndClearStatements(aVclPtrFields, dyn_cast<CompoundStmt>(pStmt));
        return;
    }
    if (!isa<CallExpr>(pStmt)) return;
    const CallExpr *pCallExpr = dyn_cast<CallExpr>(pStmt);

    if (!pCallExpr->getDirectCallee()) return;
    if (!isa<CXXMethodDecl>(pCallExpr->getDirectCallee())) return;
    const CXXMethodDecl *pCalleeMethodDecl = dyn_cast<CXXMethodDecl>(pCallExpr->getDirectCallee());
    if (pCalleeMethodDecl->getNameAsString() != "disposeAndClear") return;

    if (!pCallExpr->getCallee()) return;

    if (!isa<MemberExpr>(pCallExpr->getCallee())) return;
    const MemberExpr *pCalleeMemberExpr = dyn_cast<MemberExpr>(pCallExpr->getCallee());

    if (!pCalleeMemberExpr->getBase()) return;
    if (!isa<MemberExpr>(pCalleeMemberExpr->getBase())) return;
    const MemberExpr *pCalleeMemberExprBase = dyn_cast<MemberExpr>(pCalleeMemberExpr->getBase());

    std::string xxx = pCalleeMemberExprBase->getMemberDecl()->getNameAsString();
    aVclPtrFields.erase(std::remove(aVclPtrFields.begin(), aVclPtrFields.end(), xxx), aVclPtrFields.end());
}


bool VCLWidgets::VisitFunctionDecl( const FunctionDecl* functionDecl )
{
    if (ignoreLocation(functionDecl)) {
@@ -263,16 +333,16 @@ bool VCLWidgets::VisitFunctionDecl( const FunctionDecl* functionDecl )
    // ignore the stuff in the VclPtr template class
    const CXXMethodDecl *pMethodDecl = dyn_cast<CXXMethodDecl>(functionDecl);
    if (pMethodDecl
        && pMethodDecl->getParent()->getQualifiedNameAsString().find("VclPtr") != std::string::npos) {
        && pMethodDecl->getParent()->getQualifiedNameAsString() == "VclPtr") {
        return true;
    }
    // ignore the vcl::Window::dispose() method
    if (pMethodDecl
        && pMethodDecl->getParent()->getQualifiedNameAsString().compare("vcl::Window") == 0) {
        && pMethodDecl->getParent()->getQualifiedNameAsString() == "vcl::Window") {
        return true;
    }
    QualType t1 { compat::getReturnType(*functionDecl) };
    if (t1.getAsString().find("VclPtr") != std::string::npos) {
    if (t1.getAsString().find("VclPtr") == 0) {
        report(
            DiagnosticsEngine::Warning,
            "VclPtr declared as a return type from a method/function, should be passed as a raw pointer.",
@@ -286,55 +356,89 @@ bool VCLWidgets::VisitFunctionDecl( const FunctionDecl* functionDecl )
                report(
                    DiagnosticsEngine::Warning,
                    "vcl::Window subclass dispose() method MUST call it's superclass dispose() as the last thing it does",
                    functionDecl->getBody()->getLocStart())
                  << functionDecl->getBody()->getSourceRange();
                    functionDecl->getLocStart())
                  << functionDecl->getSourceRange();
           }
        }
    }
    // check dispose method to make sure we are actually disposing all of the VclPtr fields
    if (pMethodDecl && pMethodDecl->isInstance() && pMethodDecl->getBody() && pMethodDecl->param_size()==0
        && pMethodDecl->getNameAsString() == "dispose")
    if (pMethodDecl && pMethodDecl->isInstance() && pMethodDecl->getBody()
        && pMethodDecl->param_size()==0
        && pMethodDecl->getNameAsString() == "dispose"
        && isDerivedFromWindow(pMethodDecl->getParent()) )
    {
        // exclude a couple of methods with hard-to-parse code
        if (pMethodDecl->getQualifiedNameAsString() == "SvxRubyDialog::dispose")
            return true;
        if (pMethodDecl->getQualifiedNameAsString() == "SvxPersonalizationTabPage::dispose")
            return true;
        if (pMethodDecl->getQualifiedNameAsString() == "SelectPersonaDialog::dispose")
            return true;
        if (pMethodDecl->getQualifiedNameAsString() == "MappingDialog_Impl::dispose")
            return true;
        if (pMethodDecl->getQualifiedNameAsString() == "BibGeneralPage::dispose")
            return true;
        if (pMethodDecl->getQualifiedNameAsString() == "SwCreateAuthEntryDlg_Impl::dispose")
            return true;
        if (pMethodDecl->getQualifiedNameAsString() == "SwTableColumnPage::dispose")
            return true;
        if (pMethodDecl->getQualifiedNameAsString() == "SwAssignFieldsControl::dispose")
            return true;
        if (pMethodDecl->getQualifiedNameAsString() == "ScOptSolverDlg::dispose")
            return true;
        if (pMethodDecl->getQualifiedNameAsString() == "ScPivotFilterDlg::dispose")
            return true;
        if (pMethodDecl->getQualifiedNameAsString() == "SmToolBoxWindow::dispose")
            return true;
        if (pMethodDecl->getQualifiedNameAsString() == "dbaui::DlgOrderCrit::dispose")
            return true;

        std::vector<std::string> aVclPtrFields;
        for(auto fieldDecl : pMethodDecl->getParent()->fields()) {
            const RecordType *pFieldRecordType = fieldDecl->getType()->getAs<RecordType>();
            if (pFieldRecordType) {
                const CXXRecordDecl *pFieldRecordTypeDecl = dyn_cast<CXXRecordDecl>(pFieldRecordType->getDecl());
                if (pFieldRecordTypeDecl->getQualifiedNameAsString().compare(0, strlen(sVclPtr), sVclPtr) == 0) {
                   aVclPtrFields.push_back(fieldDecl->getNameAsString());
                }
           }
            if (fieldDecl->getType().getAsString().compare(0, strlen(sVclPtr), sVclPtr) == 0) {
                aVclPtrFields.push_back(fieldDecl->getNameAsString());
            }
        }
        if (!aVclPtrFields.empty()) {
            const CompoundStmt *pCompoundStatement = dyn_cast<CompoundStmt>(pMethodDecl->getBody());
            for(const Stmt* pStmt : pCompoundStatement->body()) {
                const CallExpr *pCallExpr = dyn_cast<CallExpr>(pStmt);
                if (!pCallExpr) continue;
                if (!pCallExpr->getDirectCallee()) continue;
                const CXXMethodDecl *pCalleeMethodDecl = dyn_cast<CXXMethodDecl>(pCallExpr->getDirectCallee());
                if (!pCalleeMethodDecl) continue;
                if (pCalleeMethodDecl->getNameAsString() != "disposeAndClear") continue;
                const MemberExpr *pCalleeMemberExpr = dyn_cast<MemberExpr>(pCallExpr->getCallee());
                if (!pCalleeMemberExpr) continue;
                const MemberExpr *pCalleeMemberExprBase = dyn_cast<MemberExpr>(pCalleeMemberExpr->getBase());
                std::string xxx = pCalleeMemberExprBase->getMemberDecl()->getNameAsString();
                aVclPtrFields.erase(std::remove(aVclPtrFields.begin(), aVclPtrFields.end(), xxx), aVclPtrFields.end());
            }
            if (pMethodDecl->getBody() && isa<CompoundStmt>(pMethodDecl->getBody()))
                findDisposeAndClearStatements( aVclPtrFields, dyn_cast<CompoundStmt>(pMethodDecl->getBody()) );
            if (!aVclPtrFields.empty()) {
                //pMethodDecl->dump();
                std::string aMessage = "vcl::Window subclass dispose() method does not call disposeAndClear() on the following field(s) ";
                for(auto s : aVclPtrFields)
                    aMessage += ", " + s;
                    aMessage += "\n    " + s + ".clear();";
                report(
                    DiagnosticsEngine::Warning,
                    aMessage,
                    functionDecl->getBody()->getLocStart())
                  << functionDecl->getBody()->getSourceRange();
                    functionDecl->getLocStart())
                  << functionDecl->getSourceRange();
           }
       }
    }
    return true;
}

bool VCLWidgets::VisitCXXDeleteExpr(const CXXDeleteExpr *pCXXDeleteExpr)
{
    if (ignoreLocation(pCXXDeleteExpr)) {
        return true;
    }
    const ImplicitCastExpr* pImplicitCastExpr = dyn_cast<ImplicitCastExpr>(pCXXDeleteExpr->getArgument());
    if (!pImplicitCastExpr) {
        return true;
    }
    if (pImplicitCastExpr->getCastKind() != CK_UserDefinedConversion) {
        return true;
    }
    report(
        DiagnosticsEngine::Warning,
        "calling delete on instance of VclPtr, must rather call disposeAndClear()",
        pCXXDeleteExpr->getLocStart())
     << pCXXDeleteExpr->getSourceRange();
    return true;
}


/**
The AST looks like:
`-CXXMemberCallExpr 0xb06d8b0 'void'
@@ -347,6 +451,7 @@ bool VCLWidgets::isDisposeCallingSuperclassDispose(const CXXMethodDecl* pMethodD
{
    const CompoundStmt *pCompoundStatement = dyn_cast<CompoundStmt>(pMethodDecl->getBody());
    if (!pCompoundStatement) return false;
    if (pCompoundStatement->size() == 0) return false;
    // find the last statement
    const CXXMemberCallExpr *pCallExpr = dyn_cast<CXXMemberCallExpr>(*pCompoundStatement->body_rbegin());
    if (!pCallExpr) return false;
diff --git a/cui/source/customize/acccfg.cxx b/cui/source/customize/acccfg.cxx
index a65e565..82e314ed 100644
--- a/cui/source/customize/acccfg.cxx
+++ b/cui/source/customize/acccfg.cxx
@@ -672,6 +672,17 @@ void SfxAccCfgTabListBox_Impl::InitEntry(SvTreeListEntry* pEntry,
    SvTabListBox::InitEntry(pEntry, rText, rImage1, rImage2, eButtonKind);
}

SfxAccCfgTabListBox_Impl::~SfxAccCfgTabListBox_Impl()
{
    dispose();
}

void SfxAccCfgTabListBox_Impl::dispose()
{
    m_pAccelConfigPage.clear();
    SvTabListBox::dispose();
}

/** select the entry, which match the current key input ... excepting
    keys, which are used for the dialog itself.
  */
@@ -830,6 +841,18 @@ void SfxAcceleratorConfigPage::dispose()
    delete m_pFileDlg;
    m_pFileDlg = NULL;

    m_pEntriesBox.clear();
    m_pOfficeButton.clear();
    m_pModuleButton.clear();
    m_pChangeButton.clear();
    m_pRemoveButton.clear();
    m_pGroupLBox.clear();
    m_pFunctionBox.clear();
    m_pKeyBox.clear();
    m_pLoadButton.clear();
    m_pSaveButton.clear();
    m_pResetButton.clear();

    SfxTabPage::dispose();
}

diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx
index 8fc2b26..3d0462f 100644
--- a/cui/source/customize/cfg.cxx
+++ b/cui/source/customize/cfg.cxx
@@ -1395,6 +1395,17 @@ SvxMenuEntriesListBox::SvxMenuEntriesListBox(vcl::Window* pParent, SvxConfigPage
                     SV_DRAGDROP_APP_DROP);
}

SvxMenuEntriesListBox::~SvxMenuEntriesListBox()
{
    dispose();
}

void SvxMenuEntriesListBox::dispose()
{
    pPage.clear();
    SvTreeListBox::dispose();
}

// drag and drop support
DragDropMode SvxMenuEntriesListBox::NotifyStartDrag(
    TransferDataContainer& aTransferDataContainer, SvTreeListEntry* pEntry )
@@ -1542,6 +1553,32 @@ SvxConfigPage::SvxConfigPage(vcl::Window *pParent, const SfxItemSet& rSet)
    m_pDescriptionField->EnableCursor( false );
}

SvxConfigPage::~SvxConfigPage()
{
    dispose();
}

void SvxConfigPage::dispose()
{
    m_pTopLevel.clear();
    m_pTopLevelLabel.clear();
    m_pTopLevelListBox.clear();
    m_pNewTopLevelButton.clear();
    m_pModifyTopLevelButton.clear();
    m_pContents.clear();
    m_pContentsLabel.clear();
    m_pEntries.clear();
    m_pContentsListBox.clear();
    m_pAddCommandsButton.clear();
    m_pModifyCommandButton.clear();
    m_pMoveUpButton.clear();
    m_pMoveDownButton.clear();
    m_pSaveInListBox.clear();
    m_pDescriptionField.clear();
    m_pSelectorDlg.clear();
    SfxTabPage::dispose();
}

void SvxConfigPage::Reset( const SfxItemSet* )
{
    // If we haven't initialised our XMultiServiceFactory reference
@@ -2206,6 +2243,11 @@ SvxMenuConfigPage::SvxMenuConfigPage(vcl::Window *pParent, const SfxItemSet& rSe
        LINK( this, SvxMenuConfigPage, EntrySelectHdl ) );
}

SvxMenuConfigPage::~SvxMenuConfigPage()
{
    dispose();
}

// Populates the Menu combo box
void SvxMenuConfigPage::Init()
{
@@ -2219,11 +2261,6 @@ void SvxMenuConfigPage::Init()
    m_pTopLevelListBox->GetSelectHdl().Call(this);
}

SvxMenuConfigPage::~SvxMenuConfigPage()
{
    dispose();
}

void SvxMenuConfigPage::dispose()
{
    for ( sal_uInt16 i = 0 ; i < m_pSaveInListBox->GetEntryCount(); ++i )
@@ -2235,11 +2272,8 @@ void SvxMenuConfigPage::dispose()
    }
    m_pSaveInListBox->Clear();

    delete m_pSelectorDlg;
    m_pSelectorDlg = NULL;
    delete m_pContentsListBox;
    m_pContentsListBox = NULL;

    m_pSelectorDlg.clear();
    m_pContentsListBox.clear();
    SvxConfigPage::dispose();
}

@@ -2547,7 +2581,7 @@ IMPL_LINK( SvxMenuConfigPage, AddCommandsHdl, Button *, pButton )
{
    (void)pButton;

    if ( m_pSelectorDlg == NULL )
    if ( m_pSelectorDlg == nullptr )
    {
        // Create Script Selector which also shows builtin commands
        m_pSelectorDlg = new SvxScriptSelectorDialog( this, true, m_xFrame );
@@ -2660,6 +2694,21 @@ SvxMainMenuOrganizerDialog::SvxMainMenuOrganizerDialog(
        LINK( this, SvxMainMenuOrganizerDialog, MoveHdl) );
}

SvxMainMenuOrganizerDialog::~SvxMainMenuOrganizerDialog()
{
    dispose();
}

void SvxMainMenuOrganizerDialog::dispose()
{
    m_pMenuBox.clear();
    m_pMenuNameEdit.clear();
    m_pMenuListBox.clear();
    m_pMoveUpButton.clear();
    m_pMoveDownButton.clear();
    ModalDialog::dispose();
}

IMPL_LINK(SvxMainMenuOrganizerDialog, ModifyHdl, Edit*, pEdit)
{
    (void)pEdit;
@@ -2931,12 +2980,8 @@ void SvxToolbarConfigPage::dispose()
    }
    m_pSaveInListBox->Clear();

    delete m_pSelectorDlg;
    m_pSelectorDlg = NULL;

    delete m_pContentsListBox;
    m_pContentsListBox = NULL;

    m_pSelectorDlg.clear();
    m_pContentsListBox.clear();
    SvxConfigPage::dispose();
}

@@ -4457,7 +4502,7 @@ IMPL_LINK( SvxToolbarConfigPage, AddCommandsHdl, Button *, pButton )
{
    (void)pButton;

    if ( m_pSelectorDlg == NULL )
    if ( m_pSelectorDlg == nullptr )
    {
        // Create Script Selector which shows slot commands
        m_pSelectorDlg = new SvxScriptSelectorDialog( this, true, m_xFrame );
@@ -4537,6 +4582,7 @@ void SvxToolbarEntriesListBox::dispose()
    delete m_pButtonData;
    m_pButtonData = NULL;

    pPage.clear();
    SvxMenuEntriesListBox::dispose();
}

@@ -4688,7 +4734,7 @@ TriState SvxToolbarEntriesListBox::NotifyCopying(
    if ( !m_bIsInternalDrag )
    {
        // if the target is NULL then add function to the start of the list
        static_cast<SvxToolbarConfigPage*>(pPage)->AddFunction( pTarget, pTarget == NULL );
        static_cast<SvxToolbarConfigPage*>(pPage.get())->AddFunction( pTarget, pTarget == NULL );

        // Instant Apply changes to UI
        SvxConfigEntry* pToolbar = pPage->GetTopLevelSelection();
@@ -4720,6 +4766,20 @@ SvxNewToolbarDialog::SvxNewToolbarDialog(vcl::Window* pWindow, const OUString& r
    m_pEdtName->SetModifyHdl(LINK(this, SvxNewToolbarDialog, ModifyHdl));
}

SvxNewToolbarDialog::~SvxNewToolbarDialog()
{
    dispose();
}

void SvxNewToolbarDialog::dispose()
{
    m_pEdtName.clear();
    m_pBtnOK.clear();
    m_pSaveInListBox.clear();
    ModalDialog::dispose();
}


IMPL_LINK(SvxNewToolbarDialog, ModifyHdl, Edit*, pEdit)
{
    (void)pEdit;
@@ -4940,9 +5000,12 @@ void SvxIconSelectorDialog::dispose()
            if ( xi != NULL )
            xi->release();
        }
        pTbSymbol = NULL;
    }

    pTbSymbol.clear();
    pFtNote.clear();
    pBtnImport.clear();
    pBtnDelete.clear();
    ModalDialog::dispose();
}

@@ -5388,4 +5451,16 @@ SvxIconChangeDialog::SvxIconChangeDialog(
    pLineEditDescription->SetText(aMessage);
}

SvxIconChangeDialog::~SvxIconChangeDialog()
{
    dispose();
}

void SvxIconChangeDialog::dispose()
{
    pFImageInfo.clear();
    pLineEditDescription.clear();
    ModalDialog::dispose();
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/customize/cfgutil.cxx b/cui/source/customize/cfgutil.cxx
index 373f3b9..0f399fd 100644
--- a/cui/source/customize/cfgutil.cxx
+++ b/cui/source/customize/cfgutil.cxx
@@ -435,6 +435,7 @@ SfxConfigGroupListBox::~SfxConfigGroupListBox()
void SfxConfigGroupListBox::dispose()
{
    ClearAll();
    pFunctionListBox.clear();
    SvTreeListBox::dispose();
}

diff --git a/cui/source/customize/eventdlg.cxx b/cui/source/customize/eventdlg.cxx
index 79453fc..3ab1816f 100644
--- a/cui/source/customize/eventdlg.cxx
+++ b/cui/source/customize/eventdlg.cxx
@@ -118,6 +118,7 @@ void SvxEventConfigPage::dispose()
        pE->SetUserData((void*)0);
        pE = SvTreeListBox::NextSibling( pE );
    }
    m_pSaveInListBox.clear();
    _SvxMacroTabPage::dispose();
}

diff --git a/cui/source/customize/eventdlg.hxx b/cui/source/customize/eventdlg.hxx
index 56ea3c4..385df86 100644
--- a/cui/source/customize/eventdlg.hxx
+++ b/cui/source/customize/eventdlg.hxx
@@ -29,7 +29,7 @@

class SvxEventConfigPage : public _SvxMacroTabPage
{
    ListBox*   m_pSaveInListBox;
    VclPtr<ListBox>   m_pSaveInListBox;

    ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameReplace >   m_xAppEvents;
    ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameReplace >   m_xDocumentEvents;
diff --git a/cui/source/customize/macropg.cxx b/cui/source/customize/macropg.cxx
index 13ae5f4..656a241 100644
--- a/cui/source/customize/macropg.cxx
+++ b/cui/source/customize/macropg.cxx
@@ -888,6 +888,18 @@ AssignComponentDialog::AssignComponentDialog( vcl::Window * pParent, const OUStr
    mpMethodEdit->SetText( aMethodName, Selection( 0, SELECTION_MAX ) );
}

AssignComponentDialog::~AssignComponentDialog()
{
    dispose();
}

void AssignComponentDialog::dispose()
{
    mpMethodEdit.clear();
    mpOKButton.clear();
    ModalDialog::dispose();
}

IMPL_LINK( SvxMacroAssignSingleTabDialog, OKHdl_Impl, Button *, pButton )
{
    (void)pButton; //unused
diff --git a/cui/source/customize/macropg_impl.hxx b/cui/source/customize/macropg_impl.hxx
index 6ec8709a..d99a971 100644
--- a/cui/source/customize/macropg_impl.hxx
+++ b/cui/source/customize/macropg_impl.hxx
@@ -25,14 +25,14 @@ class _SvxMacroTabPage_Impl
public:
    _SvxMacroTabPage_Impl( const SfxItemSet& rAttrSet );

    PushButton*                     pAssignPB;
    PushButton*                     pAssignComponentPB;
    PushButton*                     pDeletePB;
    VclPtr<PushButton>                     pAssignPB;
    VclPtr<PushButton>                     pAssignComponentPB;
    VclPtr<PushButton>                     pDeletePB;
    Image                           aMacroImg;
    Image                           aComponentImg;
    OUString                        sStrEvent;
    OUString                        sAssignedMacro;
    MacroEventListBox*              pEventLB;
    VclPtr<MacroEventListBox>              pEventLB;
    bool                        bReadOnly;
    bool                        bIDEDialogMode;
};
@@ -40,8 +40,8 @@ public:
class AssignComponentDialog : public ModalDialog
{
private:
    Edit*           mpMethodEdit;
    OKButton*       mpOKButton;
    VclPtr<Edit>           mpMethodEdit;
    VclPtr<OKButton>       mpOKButton;

    OUString maURL;

@@ -49,6 +49,8 @@ private:

public:
    AssignComponentDialog( vcl::Window * pParent, const OUString& rURL );
    virtual ~AssignComponentDialog();
    virtual void dispose() SAL_OVERRIDE;

    OUString getURL( void ) const
        { return maURL; }
diff --git a/cui/source/customize/selector.cxx b/cui/source/customize/selector.cxx
index 5d0ffe6..3aefef3 100644
--- a/cui/source/customize/selector.cxx
+++ b/cui/source/customize/selector.cxx
@@ -239,6 +239,7 @@ SvxConfigGroupListBox::~SvxConfigGroupListBox()
void SvxConfigGroupListBox::dispose()
{
    ClearAll();
    pFunctionListBox.clear();
    SvTreeListBox::dispose();
}

@@ -918,6 +919,22 @@ SvxScriptSelectorDialog::SvxScriptSelectorDialog(
    UpdateUI();
}

SvxScriptSelectorDialog::~SvxScriptSelectorDialog()
{
    dispose();
}

void SvxScriptSelectorDialog::dispose()
{
    m_pDialogDescription.clear();
    m_pCategories.clear();
    m_pCommands.clear();
    m_pOKButton.clear();
    m_pCancelButton.clear();
    m_pDescriptionText.clear();
    ModelessDialog::dispose();
}

IMPL_LINK( SvxScriptSelectorDialog, SelectHdl, Control*, pCtrl )
{
    if (pCtrl == m_pCategories)
diff --git a/cui/source/dialogs/SpellDialog.cxx b/cui/source/dialogs/SpellDialog.cxx
index 5c81f1c..ac8aca0 100644
--- a/cui/source/dialogs/SpellDialog.cxx
+++ b/cui/source/dialogs/SpellDialog.cxx
@@ -261,6 +261,26 @@ void SpellDialog::dispose()
        delete pImpl;
        pImpl = NULL;
    }
    m_pLanguageFT.clear();
    m_pLanguageLB.clear();
    m_pExplainFT.clear();
    m_pExplainLink.clear();
    m_pNotInDictFT.clear();
    m_pSentenceED.clear();
    m_pSuggestionFT.clear();
    m_pSuggestionLB.clear();
    m_pIgnorePB.clear();
    m_pIgnoreAllPB.clear();
    m_pIgnoreRulePB.clear();
    m_pAddToDictPB.clear();
    m_pAddToDictMB.clear();
    m_pChangePB.clear();
    m_pChangeAllPB.clear();
    m_pAutoCorrPB.clear();
    m_pCheckGrammarCB.clear();
    m_pOptionsPB.clear();
    m_pUndoPB.clear();
    m_pClosePB.clear();
    SfxModelessDialog::dispose();
}

diff --git a/cui/source/dialogs/about.cxx b/cui/source/dialogs/about.cxx
index 867c8ce..f146e69 100644
--- a/cui/source/dialogs/about.cxx
+++ b/cui/source/dialogs/about.cxx
@@ -98,6 +98,23 @@ AboutDialog::AboutDialog(vcl::Window* pParent)
    get<PushButton>("close")->GrabFocus();
}

AboutDialog::~AboutDialog()
{
    dispose();
}

void AboutDialog::dispose()
{
    m_pVersion.clear();
    m_pDescriptionText.clear();
    m_pCopyrightText.clear();
    m_pLogoImage.clear();
    m_pLogoReplacement.clear();
    m_pCreditsButton.clear();
    m_pWebsiteButton.clear();
    SfxModalDialog::dispose();
}

IMPL_LINK( AboutDialog, HandleClick, PushButton*, pButton )
{
    OUString sURL = "";
diff --git a/cui/source/dialogs/colorpicker.cxx b/cui/source/dialogs/colorpicker.cxx
index 7edff10..ad1f3e0 100644
--- a/cui/source/dialogs/colorpicker.cxx
+++ b/cui/source/dialogs/colorpicker.cxx
@@ -973,6 +973,8 @@ class ColorPickerDialog : public ModalDialog
{
public:
    ColorPickerDialog( vcl::Window* pParent, sal_Int32 nColor, sal_Int16 nMode );
    virtual ~ColorPickerDialog() { dispose(); }
    virtual void dispose() SAL_OVERRIDE;

    void update_color( sal_uInt16 n = UPDATE_ALL );

@@ -992,35 +994,35 @@ private:
    double mdCyan, mdMagenta, mdYellow, mdKey;

private:
    ColorFieldControl*    mpColorField;
    ColorSliderControl*   mpColorSlider;
    ColorPreviewControl*  mpColorPreview;
    ColorPreviewControl*  mpColorPrevious;
    VclPtr<ColorFieldControl>    mpColorField;
    VclPtr<ColorSliderControl>   mpColorSlider;
    VclPtr<ColorPreviewControl>  mpColorPreview;
    VclPtr<ColorPreviewControl>  mpColorPrevious;

    FixedImage*   mpFISliderLeft;
    FixedImage*   mpFISliderRight;
    VclPtr<FixedImage>   mpFISliderLeft;
    VclPtr<FixedImage>   mpFISliderRight;
    Image         maSliderImage;

    RadioButton*    mpRBRed;
    RadioButton*    mpRBGreen;
    RadioButton*    mpRBBlue;
    RadioButton*    mpRBHue;
    RadioButton*    mpRBSaturation;
    RadioButton*    mpRBBrightness;
    VclPtr<RadioButton>    mpRBRed;
    VclPtr<RadioButton>    mpRBGreen;
    VclPtr<RadioButton>    mpRBBlue;
    VclPtr<RadioButton>    mpRBHue;
    VclPtr<RadioButton>    mpRBSaturation;
    VclPtr<RadioButton>    mpRBBrightness;

    MetricField*        mpMFRed;
    MetricField*        mpMFGreen;
    MetricField*        mpMFBlue;
    HexColorControl*    mpEDHex;
    VclPtr<MetricField>        mpMFRed;
    VclPtr<MetricField>        mpMFGreen;
    VclPtr<MetricField>        mpMFBlue;
    VclPtr<HexColorControl>    mpEDHex;

    MetricField*    mpMFHue;
    MetricField*    mpMFSaturation;
    MetricField*    mpMFBrightness;
    VclPtr<MetricField>    mpMFHue;
    VclPtr<MetricField>    mpMFSaturation;
    VclPtr<MetricField>    mpMFBrightness;

    MetricField*    mpMFCyan;
    MetricField*    mpMFMagenta;
    MetricField*    mpMFYellow;
    MetricField*    mpMFKey;
    VclPtr<MetricField>    mpMFCyan;
    VclPtr<MetricField>    mpMFMagenta;
    VclPtr<MetricField>    mpMFYellow;
    VclPtr<MetricField>    mpMFKey;
};

ColorPickerDialog::ColorPickerDialog( vcl::Window* pParent, sal_Int32 nColor, sal_Int16 nMode )
@@ -1126,6 +1128,34 @@ ColorPickerDialog::ColorPickerDialog( vcl::Window* pParent, sal_Int32 nColor, sa
    update_color();
}

void ColorPickerDialog::dispose()
{
    mpColorField.clear();
    mpColorSlider.clear();
    mpColorPreview.clear();
    mpColorPrevious.clear();
    mpFISliderLeft.clear();
    mpFISliderRight.clear();
    mpRBRed.clear();
    mpRBGreen.clear();
    mpRBBlue.clear();
    mpRBHue.clear();
    mpRBSaturation.clear();
    mpRBBrightness.clear();
    mpMFRed.clear();
    mpMFGreen.clear();
    mpMFBlue.clear();
    mpEDHex.clear();
    mpMFHue.clear();
    mpMFSaturation.clear();
    mpMFBrightness.clear();
    mpMFCyan.clear();
    mpMFMagenta.clear();
    mpMFYellow.clear();
    mpMFKey.clear();
    ModalDialog::dispose();
}

static int toInt( double dValue, double dRange )
{
    return static_cast< int >( std::floor((dValue * dRange) + 0.5 ) );
diff --git a/cui/source/dialogs/cuicharmap.cxx b/cui/source/dialogs/cuicharmap.cxx
index e992ab2..44f03fe 100644
--- a/cui/source/dialogs/cuicharmap.cxx
+++ b/cui/source/dialogs/cuicharmap.cxx
@@ -100,6 +100,25 @@ SvxCharacterMap::SvxCharacterMap( vcl::Window* pParent, bool bOne_, const SfxIte
    CreateOutputItemSet( pSet ? *pSet->GetPool() : SfxGetpApp()->GetPool() );
}

SvxCharacterMap::~SvxCharacterMap()
{
    dispose();
}

void SvxCharacterMap::dispose()
{
    m_pShowSet.clear();
    m_pShowText.clear();
    m_pOKBtn.clear();
    m_pFontText.clear();
    m_pFontLB.clear();
    m_pSubsetText.clear();
    m_pSubsetLB.clear();
    m_pSymbolText.clear();
    m_pShowChar.clear();
    m_pCharCodeText.clear();
    SfxModalDialog::dispose();
}


void SvxCharacterMap::SetChar( sal_UCS4 c )
diff --git a/cui/source/dialogs/cuifmsearch.cxx b/cui/source/dialogs/cuifmsearch.cxx
index c8bbf0a..7e3a767 100644
--- a/cui/source/dialogs/cuifmsearch.cxx
+++ b/cui/source/dialogs/cuifmsearch.cxx
@@ -176,6 +176,34 @@ void FmSearchDialog::dispose()
    delete m_pSearchEngine;
    m_pSearchEngine = NULL;

    m_prbSearchForText.clear();
    m_prbSearchForNull.clear();
    m_prbSearchForNotNull.clear();
    m_pcmbSearchText.clear();
    m_pftForm.clear();
    m_plbForm.clear();
    m_prbAllFields.clear();
    m_prbSingleField.clear();
    m_plbField.clear();
    m_pftPosition.clear();
    m_plbPosition.clear();
    m_pcbUseFormat.clear();
    m_pcbCase.clear();
    m_pcbBackwards.clear();
    m_pcbStartOver.clear();
    m_pcbWildCard.clear();
    m_pcbRegular.clear();
    m_pcbApprox.clear();
    m_ppbApproxSettings.clear();
    m_pHalfFullFormsCJK.clear();
    m_pSoundsLikeCJK.clear();
    m_pSoundsLikeCJKSettings.clear();
    m_pftRecord.clear();
    m_pftHint.clear();
    m_pbSearchAgain.clear();
    m_pbClose.clear();
    m_pPreSearchFocus.clear();

    ModalDialog::dispose();
}

@@ -609,7 +637,7 @@ void FmSearchDialog::EnableSearchUI(bool bEnable)
            m_pPreSearchFocus->GrabFocus();
            if ( WINDOW_EDIT == m_pPreSearchFocus->GetType() )
            {
                Edit* pEdit = static_cast< Edit* >( m_pPreSearchFocus );
                Edit* pEdit = static_cast< Edit* >( m_pPreSearchFocus.get() );
                pEdit->SetSelection( Selection( 0, pEdit->GetText().getLength() ) );
            }
        }
diff --git a/cui/source/dialogs/cuigaldlg.cxx b/cui/source/dialogs/cuigaldlg.cxx
index ac330ae..87e8a6ae 100644
--- a/cui/source/dialogs/cuigaldlg.cxx
+++ b/cui/source/dialogs/cuigaldlg.cxx
@@ -215,6 +215,19 @@ SearchProgress::SearchProgress( vcl::Window* pParent, const INetURLObject& rStar
    m_pBtnCancel->SetClickHdl( LINK( this, SearchProgress, ClickCancelBtn ) );
}

SearchProgress::~SearchProgress()
{
    dispose();
}

void SearchProgress::dispose()
{
    m_pFtSearchDir.clear();
    m_pFtSearchType.clear();
    m_pBtnCancel.clear();
    parent_.clear();
    ModalDialog::dispose();
}


void SearchProgress::Terminate()
@@ -260,7 +273,7 @@ void SearchProgress::StartExecuteModal( const Link& rEndDialogHdl )
{
    assert(!maSearchThread.is());
    maSearchThread = new SearchThread(
        this, static_cast< TPGalleryThemeProperties * >(parent_), startUrl_);
        this, static_cast< TPGalleryThemeProperties * >(parent_.get()), startUrl_);
    maSearchThread->launch();
    ModalDialog::StartExecuteModal( rEndDialogHdl );
}
@@ -345,6 +358,19 @@ TakeProgress::TakeProgress(vcl::Window* pWindow)
    m_pBtnCancel->SetClickHdl( LINK( this, TakeProgress, ClickCancelBtn ) );
}

TakeProgress::~TakeProgress()
{
    dispose();
}

void TakeProgress::dispose()
{
    m_pFtTakeFile.clear();
    m_pBtnCancel.clear();
    window_.clear();
    ModalDialog::dispose();
}

void TakeProgress::Terminate()
{
    if (maTakeThread.is())
@@ -425,7 +451,7 @@ void TakeProgress::StartExecuteModal( const Link& rEndDialogHdl )
{
    assert(!maTakeThread.is());
    maTakeThread = new TakeThread(
        this, static_cast< TPGalleryThemeProperties * >(window_), maTakenList);
        this, static_cast< TPGalleryThemeProperties * >(window_.get()), maTakenList);
    maTakeThread->launch();
    ModalDialog::StartExecuteModal( rEndDialogHdl );
}
@@ -443,6 +469,18 @@ ActualizeProgress::ActualizeProgress(vcl::Window* pWindow, GalleryTheme* pThm)
    m_pBtnCancel->SetClickHdl( LINK( this, ActualizeProgress, ClickCancelBtn ) );
}

ActualizeProgress::~ActualizeProgress()
{
    dispose();
}

void ActualizeProgress::dispose()
{
    m_pFtActualizeFile.clear();
    m_pBtnCancel.clear();
    ModalDialog::dispose();
}

short ActualizeProgress::Execute()
{
    short nRet;
@@ -511,6 +549,17 @@ TitleDialog::TitleDialog(vcl::Window* pParent, const OUString& rOldTitle)
    m_pEdit->GrabFocus();
}

TitleDialog::~TitleDialog()
{
    dispose();
}

void TitleDialog::dispose()
{
    m_pEdit.clear();
    ModalDialog::dispose();
}


// - GalleryIdDialog -

@@ -532,7 +581,17 @@ GalleryIdDialog::GalleryIdDialog( vcl::Window* pParent, GalleryTheme* _pThm )
    m_pBtnOk->SetClickHdl( LINK( this, GalleryIdDialog, ClickOkHdl ) );
}

GalleryIdDialog::~GalleryIdDialog()
{
    dispose();
}

void GalleryIdDialog::dispose()
{
    m_pBtnOk.clear();
    m_pLbResName.clear();
    ModalDialog::dispose();
}

IMPL_LINK_NOARG(GalleryIdDialog, ClickOkHdl)
{
@@ -616,6 +675,22 @@ TPGalleryThemeGeneral::TPGalleryThemeGeneral(vcl::Window* pParent, const SfxItem
    get(m_pFtMSShowChangeDate, "modified");
}

TPGalleryThemeGeneral::~TPGalleryThemeGeneral()
{
    dispose();
}

void TPGalleryThemeGeneral::dispose()
{
    m_pFiMSImage.clear();
    m_pEdtMSName.clear();
    m_pFtMSShowType.clear();
    m_pFtMSShowPath.clear();
    m_pFtMSShowContent.clear();
    m_pFtMSShowChangeDate.clear();
    SfxTabPage::dispose();
}

void TPGalleryThemeGeneral::SetXChgData( ExchangeData* _pData )
{
    pData = _pData;
@@ -769,6 +844,13 @@ void TPGalleryThemeProperties::dispose()
    }
    aFilterEntryList.clear();

    m_pCbbFileType.clear();
    m_pLbxFound.clear();
    m_pBtnSearch.clear();
    m_pBtnTake.clear();
    m_pBtnTakeAll.clear();
    m_pCbxPreview.clear();
    m_pWndPreview.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/dialogs/cuigrfflt.cxx b/cui/source/dialogs/cuigrfflt.cxx
index 9eb4749..6fd0cf7 100644
--- a/cui/source/dialogs/cuigrfflt.cxx
+++ b/cui/source/dialogs/cuigrfflt.cxx
@@ -153,6 +153,16 @@ GraphicFilterDialog::GraphicFilterDialog(vcl::Window* pParent,
    mpPreview->init(&rGraphic, maModifyHdl);
}

GraphicFilterDialog::~GraphicFilterDialog()
{
    dispose();
}

void GraphicFilterDialog::dispose()
{
    mpPreview.clear();
    ModalDialog::dispose();
}


IMPL_LINK_NOARG(GraphicFilterDialog, ImplPreviewTimeoutHdl)
@@ -204,7 +214,18 @@ GraphicFilterMosaic::GraphicFilterMosaic( vcl::Window* pParent, const Graphic& r
    mpMtrWidth->GrabFocus();
}

GraphicFilterMosaic::~GraphicFilterMosaic()
{
    dispose();
}

void GraphicFilterMosaic::dispose()
{
    mpMtrWidth.clear();
    mpMtrHeight.clear();
    mpCbxEdges.clear();
    GraphicFilterDialog::dispose();
}

Graphic GraphicFilterMosaic::GetFilteredGraphic( const Graphic& rGraphic,
                                                 double fScaleX, double fScaleY )
@@ -257,6 +278,16 @@ GraphicFilterSmooth::GraphicFilterSmooth( vcl::Window* pParent, const Graphic& r
    mpMtrRadius->GrabFocus();
}

GraphicFilterSmooth::~GraphicFilterSmooth()
{
    dispose();
}

void GraphicFilterSmooth::dispose()
{
    mpMtrRadius.clear();
    GraphicFilterDialog::dispose();
}


Graphic GraphicFilterSmooth::GetFilteredGraphic( const Graphic& rGraphic, double /*fScaleX*/, double /*fScaleY*/ )
@@ -305,6 +336,17 @@ GraphicFilterSolarize::GraphicFilterSolarize( vcl::Window* pParent, const Graphi
    mpCbxInvert->SetToggleHdl( GetModifyHdl() );
}

GraphicFilterSolarize::~GraphicFilterSolarize()
{
    dispose();
}

void GraphicFilterSolarize::dispose()
{
    mpMtrThreshold.clear();
    mpCbxInvert.clear();
    GraphicFilterDialog::dispose();
}


Graphic GraphicFilterSolarize::GetFilteredGraphic( const Graphic& rGraphic,
@@ -356,6 +398,16 @@ GraphicFilterSepia::GraphicFilterSepia( vcl::Window* pParent, const Graphic& rGr
    mpMtrSepia->SetModifyHdl( GetModifyHdl() );
}

GraphicFilterSepia::~GraphicFilterSepia()
{
    dispose();
}

void GraphicFilterSepia::dispose()
{
    mpMtrSepia.clear();
    GraphicFilterDialog::dispose();
}


Graphic GraphicFilterSepia::GetFilteredGraphic( const Graphic& rGraphic,
@@ -399,6 +451,16 @@ GraphicFilterPoster::GraphicFilterPoster(vcl::Window* pParent, const Graphic& rG
    mpNumPoster->SetModifyHdl( GetModifyHdl() );
}

GraphicFilterPoster::~GraphicFilterPoster()
{
    dispose();
}

void GraphicFilterPoster::dispose()
{
    mpNumPoster.clear();
    GraphicFilterDialog::dispose();
}


Graphic GraphicFilterPoster::GetFilteredGraphic( const Graphic& rGraphic,
@@ -462,6 +524,16 @@ GraphicFilterEmboss::GraphicFilterEmboss(vcl::Window* pParent,
    mpCtlLight->GrabFocus();
}

GraphicFilterEmboss::~GraphicFilterEmboss()
{
    dispose();
}

void GraphicFilterEmboss::dispose()
{
    mpCtlLight.clear();
    GraphicFilterDialog::dispose();
}


Graphic GraphicFilterEmboss::GetFilteredGraphic( const Graphic& rGraphic,
diff --git a/cui/source/dialogs/cuiimapwnd.cxx b/cui/source/dialogs/cuiimapwnd.cxx
index 118da3f..d86558b 100644
--- a/cui/source/dialogs/cuiimapwnd.cxx
+++ b/cui/source/dialogs/cuiimapwnd.cxx
@@ -73,4 +73,19 @@ URLDlg::URLDlg( vcl::Window* pWindow, const OUString& rURL, const OUString& rAlt
        m_pCbbTargets->SetText( rTarget );
}

URLDlg::~URLDlg()
{
    dispose();
}

void URLDlg::dispose()
{
    m_pEdtURL.clear();
    m_pCbbTargets.clear();
    m_pEdtName.clear();
    m_pEdtAlternativeText.clear();
    m_pEdtDescription.clear();
    ModalDialog::dispose();
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/dialogs/cuitbxform.cxx b/cui/source/dialogs/cuitbxform.cxx
index 46ae5b5..1670025 100644
--- a/cui/source/dialogs/cuitbxform.cxx
+++ b/cui/source/dialogs/cuitbxform.cxx
@@ -41,4 +41,15 @@ FmInputRecordNoDialog::FmInputRecordNoDialog(vcl::Window * pParent)
    m_pRecordNo->SetDecimalDigits(0);
}

FmInputRecordNoDialog::~FmInputRecordNoDialog()
{
    dispose();
}

void FmInputRecordNoDialog::dispose()
{
    m_pRecordNo.clear();
    ModalDialog::dispose();
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/dialogs/dlgname.cxx b/cui/source/dialogs/dlgname.cxx
index 4a49494..3aa778f 100644
--- a/cui/source/dialogs/dlgname.cxx
+++ b/cui/source/dialogs/dlgname.cxx
@@ -45,6 +45,19 @@ SvxNameDialog::SvxNameDialog( vcl::Window* pWindow, const OUString& rName, const
    pEdtName->SetModifyHdl(LINK(this, SvxNameDialog, ModifyHdl));
}

SvxNameDialog::~SvxNameDialog()
{
    dispose();
}

void SvxNameDialog::dispose()
{
    pFtDescription.clear();
    pEdtName.clear();
    pBtnOK.clear();
    ModalDialog::dispose();
}

IMPL_LINK_NOARG(SvxNameDialog, ModifyHdl)
{
    if(aCheckNameHdl.IsSet())
@@ -73,6 +86,19 @@ SvxObjectNameDialog::SvxObjectNameDialog(
    pEdtName->SetModifyHdl(LINK(this, SvxObjectNameDialog, ModifyHdl));
}

SvxObjectNameDialog::~SvxObjectNameDialog()
{
    dispose();
}

void SvxObjectNameDialog::dispose()
{
    pEdtName.clear();
    pBtnOK.clear();
    ModalDialog::dispose();
}


IMPL_LINK_NOARG(SvxObjectNameDialog, ModifyHdl)
{
    if(aCheckNameHdl.IsSet())
@@ -105,6 +131,17 @@ SvxObjectTitleDescDialog::SvxObjectTitleDescDialog(
    pEdtTitle->SetSelection(Selection(SELECTION_MIN, SELECTION_MAX));
}

SvxObjectTitleDescDialog::~SvxObjectTitleDescDialog()
{
    dispose();
}

void SvxObjectTitleDescDialog::dispose()
{
    pEdtTitle.clear();
    pEdtDescription.clear();
    ModalDialog::dispose();
}


/*************************************************************************
@@ -145,6 +182,10 @@ void SvxMessDialog::dispose()
{
    delete pImage;
    pImage = NULL;
    pFtDescription.clear();
    pBtn1.clear();
    pBtn2.clear();
    pFtImage.clear();
    ModalDialog::dispose();
}

diff --git a/cui/source/dialogs/hangulhanjadlg.cxx b/cui/source/dialogs/hangulhanjadlg.cxx
index 6d8e101..273bffa 100644
--- a/cui/source/dialogs/hangulhanjadlg.cxx
+++ b/cui/source/dialogs/hangulhanjadlg.cxx
@@ -605,6 +605,35 @@ namespace svx
        m_pSuggestions->SetHelpIds();
    }

    HangulHanjaConversionDialog::~HangulHanjaConversionDialog()
    {
        dispose();
    }

    void HangulHanjaConversionDialog::dispose()
    {
        m_pFind.clear();
        m_pIgnore.clear();
        m_pIgnoreAll.clear();
        m_pReplace.clear();
        m_pReplaceAll.clear();
        m_pOptions.clear();
        m_pSuggestions.clear();
        m_pSimpleConversion.clear();
        m_pHangulBracketed.clear();
        m_pHanjaBracketed.clear();
        m_pWordInput.clear();
        m_pOriginalWord.clear();
        m_pHanjaAbove.clear();
        m_pHanjaBelow.clear();
        m_pHangulAbove.clear();
        m_pHangulBelow.clear();
        m_pHangulOnly.clear();
        m_pHanjaOnly.clear();
        m_pReplaceByChar.clear();
        m_pIgnoreNonPrimary.clear();
        ModalDialog::dispose();
    }

    void HangulHanjaConversionDialog::FillSuggestions( const ::com::sun::star::uno::Sequence< OUString >& _rSuggestions )
    {
@@ -1139,17 +1168,28 @@ namespace svx

    void HangulHanjaOptionsDialog::dispose()
    {
        SvTreeListEntry* pEntry = m_pDictsLB->First();
        while( pEntry )
        if (m_pDictsLB)
        {
            delete static_cast<OUString const *>(pEntry->GetUserData());
            pEntry->SetUserData(NULL);
            pEntry = m_pDictsLB->Next( pEntry );
            SvTreeListEntry* pEntry = m_pDictsLB->First();
            while( pEntry )
            {
                delete static_cast<OUString const *>(pEntry->GetUserData());
                pEntry->SetUserData( NULL );
                pEntry = m_pDictsLB->Next( pEntry );
            }
        }

        delete m_pCheckButtonData;
        m_pCheckButtonData = NULL;

        m_pDictsLB.clear();
        m_pIgnorepostCB.clear();
        m_pShowrecentlyfirstCB.clear();
        m_pAutoreplaceuniqueCB.clear();
        m_pNewPB.clear();
        m_pEditPB.clear();
        m_pDeletePB.clear();
        m_pOkPB.clear();
        ModalDialog::dispose();
    }

@@ -1197,6 +1237,18 @@ namespace svx
        m_pDictNameED->SetModifyHdl( LINK( this, HangulHanjaNewDictDialog, ModifyHdl ) );
    }

    HangulHanjaNewDictDialog::~HangulHanjaNewDictDialog()
    {
        dispose();
    }

    void HangulHanjaNewDictDialog::dispose()
    {
        m_pDictNameED.clear();
        m_pOkBtn.clear();
        ModalDialog::dispose();
    }

    bool HangulHanjaNewDictDialog::GetName( OUString& _rRetName ) const
    {
        if( m_bEntered )
@@ -1372,6 +1424,19 @@ namespace svx
    {
    }

    SuggestionEdit::~SuggestionEdit()
    {
        dispose();
    }

    void SuggestionEdit::dispose()
    {
        m_pPrev.clear();
        m_pNext.clear();
        m_pScrollBar.clear();
        Edit::dispose();
    }

    bool SuggestionEdit::PreNotify( NotifyEvent& rNEvt )
    {
        bool nHandled = false;
@@ -1787,6 +1852,15 @@ namespace svx
    {
        delete m_pSuggestions;
        m_pSuggestions = NULL;
        m_aBookLB.clear();
        m_aOriginalLB.clear();
        m_aEdit1.clear();
        m_aEdit2.clear();
        m_aEdit3.clear();
        m_aEdit4.clear();
        m_aScrollSB.clear();
        m_aNewPB.clear();
        m_aDeletePB.clear();
        ModalDialog::dispose();
    }

diff --git a/cui/source/dialogs/hldocntp.cxx b/cui/source/dialogs/hldocntp.cxx
index ad1e7fa..a02ff7d 100644
--- a/cui/source/dialogs/hldocntp.cxx
+++ b/cui/source/dialogs/hldocntp.cxx
@@ -140,6 +140,11 @@ void SvxHyperlinkNewDocTp::dispose()
            delete static_cast<DocumentTypeData*>(m_pLbDocTypes->GetEntryData ( n ));
        m_pLbDocTypes = NULL;
    }
    m_pRbtEditNow.clear();
    m_pRbtEditLater.clear();
    m_pCbbPath.clear();
    m_pBtCreate.clear();
    m_pLbDocTypes.clear();
    SvxHyperlinkTabPageBase::dispose();
}

diff --git a/cui/source/dialogs/hldoctp.cxx b/cui/source/dialogs/hldoctp.cxx
index 2e45746..0a3f269 100644
--- a/cui/source/dialogs/hldoctp.cxx
+++ b/cui/source/dialogs/hldoctp.cxx
@@ -71,6 +71,21 @@ SvxHyperlinkDocTp::SvxHyperlinkDocTp ( vcl::Window *pParent, IconChoiceDialog* p
    maTimer.SetTimeoutHdl ( LINK ( this, SvxHyperlinkDocTp, TimeoutHdl_Impl ) );
}

SvxHyperlinkDocTp::~SvxHyperlinkDocTp()
{
    dispose();
}

void SvxHyperlinkDocTp::dispose()
{
    m_pCbbPath.clear();
    m_pBtFileopen.clear();
    m_pEdTarget.clear();
    m_pFtFullURL.clear();
    m_pBtBrowse.clear();
    SvxHyperlinkTabPageBase::dispose();
}

/*************************************************************************
|*
|* Fill all dialog-controls except controls in groupbox "more..."
diff --git a/cui/source/dialogs/hlinettp.cxx b/cui/source/dialogs/hlinettp.cxx
index 73ea0dd..61760d7 100644
--- a/cui/source/dialogs/hlinettp.cxx
+++ b/cui/source/dialogs/hlinettp.cxx
@@ -81,6 +81,25 @@ SvxHyperlinkInternetTp::SvxHyperlinkInternetTp ( vcl::Window *pParent,
    maTimer.SetTimeoutHdl           ( LINK ( this, SvxHyperlinkInternetTp, TimeoutHdl_Impl ) );
}

SvxHyperlinkInternetTp::~SvxHyperlinkInternetTp()
{
    dispose();
}

void SvxHyperlinkInternetTp::dispose()
{
    m_pRbtLinktypInternet.clear();
    m_pRbtLinktypFTP.clear();
    m_pCbbTarget.clear();
    m_pBtBrowse.clear();
    m_pFtLogin.clear();
    m_pEdLogin.clear();
    m_pFtPassword.clear();
    m_pEdPassword.clear();
    m_pCbAnonymous.clear();
    SvxHyperlinkTabPageBase::dispose();
}

/*************************************************************************
|*
|* Fill the all dialog-controls except controls in groupbox "more..."
@@ -397,7 +416,7 @@ IMPL_LINK_NOARG(SvxHyperlinkInternetTp, ClickBrowseHdl_Impl)
    SfxBoolItem aBrowse( SID_BROWSE, true );

    const SfxPoolItem *ppItems[] = { &aName, &aNewView, &aSilent, &aReadOnly, &aRefererItem, &aBrowse, NULL };
    static_cast<SvxHpLinkDlg*>(mpDialog)->GetBindings()->Execute( SID_OPENDOC, ppItems, 0, SfxCallMode::ASYNCHRON | SfxCallMode::RECORD );
    static_cast<SvxHpLinkDlg*>(mpDialog.get())->GetBindings()->Execute( SID_OPENDOC, ppItems, 0, SfxCallMode::ASYNCHRON | SfxCallMode::RECORD );

    return 0L;
}
diff --git a/cui/source/dialogs/hlmailtp.cxx b/cui/source/dialogs/hlmailtp.cxx
index d110b29..6e1da44 100644
--- a/cui/source/dialogs/hlmailtp.cxx
+++ b/cui/source/dialogs/hlmailtp.cxx
@@ -66,6 +66,20 @@ SvxHyperlinkMailTp::SvxHyperlinkMailTp ( vcl::Window *pParent, IconChoiceDialog*
        m_pBtAdrBook->Hide();
}

SvxHyperlinkMailTp::~SvxHyperlinkMailTp()
{
    dispose();
}

void SvxHyperlinkMailTp::dispose()
{
    m_pCbbReceiver.clear();
    m_pBtAdrBook.clear();
    m_pFtSubject.clear();
    m_pEdSubject.clear();
    SvxHyperlinkTabPageBase::dispose();
}

/*************************************************************************
|*
|* Fill the all dialog-controls except controls in groupbox "more..."
diff --git a/cui/source/dialogs/hlmarkwn.cxx b/cui/source/dialogs/hlmarkwn.cxx
index 02058c7..bfe9c67 100644
--- a/cui/source/dialogs/hlmarkwn.cxx
+++ b/cui/source/dialogs/hlmarkwn.cxx
@@ -72,6 +72,17 @@ SvxHlmarkTreeLBox::SvxHlmarkTreeLBox(vcl::Window* pParent, WinBits nStyle)
    SetNodeDefaultImages();
}

SvxHlmarkTreeLBox::~SvxHlmarkTreeLBox()
{
    dispose();
}

void SvxHlmarkTreeLBox::dispose()
{
    mpParentWnd.clear();
    SvTreeListBox::dispose();
}

extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeSvxHlmarkTreeLBox(vcl::Window *pParent, VclBuilder::stringmap &rMap)
{
    WinBits nWinStyle = WB_TABSTOP;
@@ -156,6 +167,10 @@ SvxHlinkDlgMarkWnd::~SvxHlinkDlgMarkWnd()
void SvxHlinkDlgMarkWnd::dispose()
{
    ClearTree();
    mpBtApply.clear();
    mpBtClose.clear();
    mpLbTree.clear();
    mpParent.clear();
    ModalDialog::dispose();
}

diff --git a/cui/source/dialogs/hltpbase.cxx b/cui/source/dialogs/hltpbase.cxx
index 8044423..7bc162e 100644
--- a/cui/source/dialogs/hltpbase.cxx
+++ b/cui/source/dialogs/hltpbase.cxx
@@ -114,9 +114,13 @@ void SvxHyperlinkTabPageBase::dispose()
{
    maTimer.Stop();

    delete mpMarkWnd;
    mpMarkWnd = NULL;

    mpCbbFrame.clear();
    mpLbForm.clear();
    mpEdIndication.clear();
    mpEdText.clear();
    mpBtScript.clear();
    mpDialog.clear();
    mpMarkWnd.clear();
    IconChoicePage::dispose();
}

@@ -291,13 +295,13 @@ void SvxHyperlinkTabPageBase::SetInitFocus()
// Ask dialog whether the curretn doc is a HTML-doc
bool SvxHyperlinkTabPageBase::IsHTMLDoc() const
{
    return static_cast<SvxHpLinkDlg*>(mpDialog)->IsHTMLDoc();
    return static_cast<SvxHpLinkDlg*>(mpDialog.get())->IsHTMLDoc();
}

// retrieve dispatcher
SfxDispatcher* SvxHyperlinkTabPageBase::GetDispatcher() const
{
    return static_cast<SvxHpLinkDlg*>(mpDialog)->GetDispatcher();
    return static_cast<SvxHpLinkDlg*>(mpDialog.get())->GetDispatcher();
}

// Click on imagebutton : Script
diff --git a/cui/source/dialogs/hyphen.cxx b/cui/source/dialogs/hyphen.cxx
index af6d298..8c4ea99 100644
--- a/cui/source/dialogs/hyphen.cxx
+++ b/cui/source/dialogs/hyphen.cxx
@@ -512,6 +512,24 @@ SvxHyphenWordDialog::SvxHyphenWordDialog(
        Enable( false );
}

SvxHyphenWordDialog::~SvxHyphenWordDialog()
{
    dispose();
}

void SvxHyphenWordDialog::dispose()
{
    m_pWordEdit.clear();
    m_pLeftBtn.clear();
    m_pRightBtn.clear();
    m_pOkBtn.clear();
    m_pContBtn.clear();
    m_pDelBtn.clear();
    m_pHyphAll.clear();
    m_pCloseBtn.clear();
    SfxModalDialog::dispose();
}


void SvxHyphenWordDialog::SetWindowTitle( LanguageType nLang )
{
diff --git a/cui/source/dialogs/iconcdlg.cxx b/cui/source/dialogs/iconcdlg.cxx
index 0a1c70e..712d78f 100644
--- a/cui/source/dialogs/iconcdlg.cxx
+++ b/cui/source/dialogs/iconcdlg.cxx
@@ -52,6 +52,16 @@ IconChoicePage::IconChoicePage( vcl::Window *pParent, const OString& rID,
}


IconChoicePage::~IconChoicePage()
{
    dispose();
}

void IconChoicePage::dispose()
{
    pDialog.clear();
    TabPage::dispose();
}

/**********************************************************************
|
@@ -246,7 +256,6 @@ void IconChoiceDialog::dispose()
            SvxIconChoiceCtrlEntry* pEntry = m_pIconCtrl->GetEntry ( i );
            delete static_cast<sal_uInt16*>(pEntry->GetUserData());
        }
        m_pIconCtrl = NULL;
    }

    delete pRanges;
@@ -254,6 +263,13 @@ void IconChoiceDialog::dispose()
    delete pOutSet;
    pOutSet = NULL;

    m_pIconCtrl.clear();
    m_pOKBtn.clear();
    m_pApplyBtn.clear();
    m_pCancelBtn.clear();
    m_pHelpBtn.clear();
    m_pResetBtn.clear();
    m_pTabContainer.clear();
    ModalDialog::dispose();
}

@@ -540,7 +556,7 @@ bool IconChoiceDialog::DeActivatePageImpl ()
            for ( size_t i = 0, nCount = maPageList.size(); i < nCount; ++i )
            {
                IconChoicePageData* pObj = maPageList[ i ];
                if ( pObj->pPage != pPage )
                if ( pObj->pPage.get() != pPage )
                    pObj->bRefresh = true;
                else
                    pObj->bRefresh = false;
diff --git a/cui/source/dialogs/insdlg.cxx b/cui/source/dialogs/insdlg.cxx
index 4131c40..db3bf1f 100644
--- a/cui/source/dialogs/insdlg.cxx
+++ b/cui/source/dialogs/insdlg.cxx
@@ -191,6 +191,24 @@ SvInsertOleDlg::SvInsertOleDlg
    RadioHdl( NULL );
}

SvInsertOleDlg::~SvInsertOleDlg()
{
    dispose();
}

void SvInsertOleDlg::dispose()
{
    m_pRbNewObject.clear();
    m_pRbObjectFromfile.clear();
    m_pObjectTypeFrame.clear();
    m_pLbObjecttype.clear();
    m_pFileFrame.clear();
    m_pEdFilepath.clear();
    m_pBtnFilepath.clear();
    m_pCbFilelink.clear();
    InsertObjectDialog_Impl::dispose();
}

short SvInsertOleDlg::Execute()
{
    short nRet = RET_OK;
@@ -402,6 +420,9 @@ void SvInsertPlugInDialog::dispose()
{
    delete m_pURL;
    m_pURL = NULL;
    m_pEdFileurl.clear();
    m_pBtnFileurl.clear();
    m_pEdPluginsOptions.clear();
    InsertObjectDialog_Impl::dispose();
}

@@ -494,6 +515,30 @@ SfxInsertFloatingFrameDialog::SfxInsertFloatingFrameDialog( vcl::Window *pParent
    Init();
}

SfxInsertFloatingFrameDialog::~SfxInsertFloatingFrameDialog()
{
    dispose();
}

void SfxInsertFloatingFrameDialog::dispose()
{
    m_pEDName.clear();
    m_pEDURL.clear();
    m_pBTOpen.clear();
    m_pRBScrollingOn.clear();
    m_pRBScrollingOff.clear();
    m_pRBScrollingAuto.clear();
    m_pRBFrameBorderOn.clear();
    m_pRBFrameBorderOff.clear();
    m_pFTMarginWidth.clear();
    m_pNMMarginWidth.clear();
    m_pCBMarginWidthDefault.clear();
    m_pFTMarginHeight.clear();
    m_pNMMarginHeight.clear();
    m_pCBMarginHeightDefault.clear();
    InsertObjectDialog_Impl::dispose();
}

void SfxInsertFloatingFrameDialog::Init()
{
    get(m_pEDName, "edname");
diff --git a/cui/source/dialogs/insrc.cxx b/cui/source/dialogs/insrc.cxx
index c3c167c..75e8573 100644
--- a/cui/source/dialogs/insrc.cxx
+++ b/cui/source/dialogs/insrc.cxx
@@ -45,6 +45,19 @@ SvxInsRowColDlg::SvxInsRowColDlg(vcl::Window* pParent, bool bCol, const OString&
    SetHelpId( sHelpId );
}

SvxInsRowColDlg::~SvxInsRowColDlg()
{
    dispose();
}

void SvxInsRowColDlg::dispose()
{
    m_pCountEdit.clear();
    m_pBeforeBtn.clear();
    m_pAfterBtn.clear();
    ModalDialog::dispose();
}

short SvxInsRowColDlg::Execute(void)
{
    return ModalDialog::Execute();
diff --git a/cui/source/dialogs/linkdlg.cxx b/cui/source/dialogs/linkdlg.cxx
index 95c348d..68a9c19 100644
--- a/cui/source/dialogs/linkdlg.cxx
+++ b/cui/source/dialogs/linkdlg.cxx
@@ -143,6 +143,26 @@ SvBaseLinksDlg::SvBaseLinksDlg( vcl::Window * pParent, LinkManager* pMgr, bool b
    SetManager( pMgr );
}

SvBaseLinksDlg::~SvBaseLinksDlg()
{
    dispose();
}

void SvBaseLinksDlg::dispose()
{
    m_pTbLinks.clear();
    m_pFtFullFileName.clear();
    m_pFtFullSourceName.clear();
    m_pFtFullTypeName.clear();
    m_pRbAutomatic.clear();
    m_pRbManual.clear();
    m_pPbUpdateNow.clear();
    m_pPbOpenSource.clear();
    m_pPbChangeSource.clear();
    m_pPbBreakLink.clear();
    ModalDialog::dispose();
}

/*************************************************************************
|*    SvBaseLinksDlg::Handler()
*************************************************************************/
diff --git a/cui/source/dialogs/multipat.cxx b/cui/source/dialogs/multipat.cxx
index ebb8fcd..9cbbef5 100644
--- a/cui/source/dialogs/multipat.cxx
+++ b/cui/source/dialogs/multipat.cxx
@@ -229,16 +229,19 @@ SvxMultiPathDialog::~SvxMultiPathDialog()

void SvxMultiPathDialog::dispose()
{
    sal_uInt16 nPos = (sal_uInt16)m_pRadioLB->GetEntryCount();
    while ( nPos-- )
    if (m_pRadioLB)
    {
        SvTreeListEntry* pEntry = m_pRadioLB->GetEntry( nPos );
        delete static_cast<OUString*>(pEntry->GetUserData());
        sal_uInt16 nPos = (sal_uInt16)m_pRadioLB->GetEntryCount();
        while ( nPos-- )
        {
            SvTreeListEntry* pEntry = m_pRadioLB->GetEntry( nPos );
            delete static_cast<OUString*>(pEntry->GetUserData());
        }
    }

    delete m_pRadioLB;
    m_pRadioLB = NULL;

    m_pRadioLB.clear();
    m_pAddBtn.clear();
    m_pDelBtn.clear();
    ModalDialog::dispose();
}

@@ -254,8 +257,10 @@ void SvxPathSelectDialog::dispose()
        sal_uInt16 nPos = m_pPathLB->GetEntryCount();
        while ( nPos-- )
            delete static_cast<OUString*>(m_pPathLB->GetEntryData(nPos));
        m_pPathLB = NULL;
    }
    m_pPathLB.clear();
    m_pAddBtn.clear();
    m_pDelBtn.clear();
    ModalDialog::dispose();
}

diff --git a/cui/source/dialogs/newtabledlg.cxx b/cui/source/dialogs/newtabledlg.cxx
index ab9058c..3c2cba5 100644
--- a/cui/source/dialogs/newtabledlg.cxx
+++ b/cui/source/dialogs/newtabledlg.cxx
@@ -28,6 +28,18 @@ SvxNewTableDialog::SvxNewTableDialog( vcl::Window* pParent )
    get(mpNumColumns, "columns");
}

SvxNewTableDialog::~SvxNewTableDialog()
{
    dispose();
}

void SvxNewTableDialog::dispose()
{
    mpNumColumns.clear();
    mpNumRows.clear();
    ModalDialog::dispose();
}

short SvxNewTableDialog::Execute(void)
{
    return ModalDialog::Execute();
diff --git a/cui/source/dialogs/passwdomdlg.cxx b/cui/source/dialogs/passwdomdlg.cxx
index ccba000..ad4e26b 100644
--- a/cui/source/dialogs/passwdomdlg.cxx
+++ b/cui/source/dialogs/passwdomdlg.cxx
@@ -31,15 +31,15 @@

struct PasswordToOpenModifyDialog_Impl
{
    PasswordToOpenModifyDialog *    m_pParent;
    VclPtr<PasswordToOpenModifyDialog>    m_pParent;

    Edit*                       m_pPasswdToOpenED;
    Edit*                       m_pReenterPasswdToOpenED;
    VclExpander*                m_pOptionsExpander;
    OKButton*                   m_pOk;
    CheckBox*                   m_pOpenReadonlyCB;
    Edit*                       m_pPasswdToModifyED;
    Edit*                       m_pReenterPasswdToModifyED;
    VclPtr<Edit>                       m_pPasswdToOpenED;
    VclPtr<Edit>                       m_pReenterPasswdToOpenED;
    VclPtr<VclExpander>                m_pOptionsExpander;
    VclPtr<OKButton>                   m_pOk;
    VclPtr<CheckBox>                   m_pOpenReadonlyCB;
    VclPtr<Edit>                       m_pPasswdToModifyED;
    VclPtr<Edit>                       m_pReenterPasswdToModifyED;

    OUString                    m_aOneMismatch;
    OUString                    m_aTwoMismatch;
diff --git a/cui/source/dialogs/pastedlg.cxx b/cui/source/dialogs/pastedlg.cxx
index 9061055..f7ae839 100644
--- a/cui/source/dialogs/pastedlg.cxx
+++ b/cui/source/dialogs/pastedlg.cxx
@@ -52,6 +52,19 @@ SvPasteObjectDialog::SvPasteObjectDialog( vcl::Window* pParent )
    ObjectLB().SetDoubleClickHdl( LINK( this, SvPasteObjectDialog, DoubleClickHdl ) );
}

SvPasteObjectDialog::~SvPasteObjectDialog()
{
    dispose();
}

void SvPasteObjectDialog::dispose()
{
    m_pFtObjectSource.clear();
    m_pLbInsertList.clear();
    m_pOKButton.clear();
    ModalDialog::dispose();
}

void SvPasteObjectDialog::SelectObject()
{
    if (m_pLbInsertList->GetEntryCount())
diff --git a/cui/source/dialogs/postdlg.cxx b/cui/source/dialogs/postdlg.cxx
index 86d0e58..175d889 100644
--- a/cui/source/dialogs/postdlg.cxx
+++ b/cui/source/dialogs/postdlg.cxx
@@ -131,6 +131,13 @@ void SvxPostItDialog::dispose()
{
    delete pOutSet;
    pOutSet = 0;
    m_pLastEditFT.clear();
    m_pEditED.clear();
    m_pInsertAuthor.clear();
    m_pAuthorBtn.clear();
    m_pOKBtn.clear();
    m_pPrevBtn.clear();
    m_pNextBtn.clear();
    SfxModalDialog::dispose();
}

diff --git a/cui/source/dialogs/scriptdlg.cxx b/cui/source/dialogs/scriptdlg.cxx
index 4013f71..a5db7a2 100644
--- a/cui/source/dialogs/scriptdlg.cxx
+++ b/cui/source/dialogs/scriptdlg.cxx
@@ -443,6 +443,17 @@ CuiInputDialog::CuiInputDialog(vcl::Window * pParent, sal_uInt16 nMode )
    }
}

CuiInputDialog::~CuiInputDialog()
{
    dispose();
}

void CuiInputDialog::dispose()
{
    m_pEdit.clear();
    ModalDialog::dispose();
}


// ScriptOrgDialog ------------------------------------------------------------

@@ -500,6 +511,13 @@ void SvxScriptOrgDialog::dispose()
{
    // clear the SelectHdl so that it isn't called during the dtor
    m_pScriptsBox->SetSelectHdl( Link() );
    m_pScriptsBox.clear();
    m_pRunButton.clear();
    m_pCloseButton.clear();
    m_pCreateButton.clear();
    m_pEditButton.clear();
    m_pRenameButton.clear();
    m_pDelButton.clear();
    SfxModalDialog::dispose();
};

diff --git a/cui/source/dialogs/showcols.cxx b/cui/source/dialogs/showcols.cxx
index 94e286e..a58c941 100644
--- a/cui/source/dialogs/showcols.cxx
+++ b/cui/source/dialogs/showcols.cxx
@@ -39,6 +39,17 @@ FmShowColsDialog::FmShowColsDialog(vcl::Window* pParent)
    m_pOK->SetClickHdl( LINK( this, FmShowColsDialog, OnClickedOk ) );
}

FmShowColsDialog::~FmShowColsDialog()
{
    dispose();
}

void FmShowColsDialog::dispose()
{
    m_pList.clear();
    m_pOK.clear();
    ModalDialog::dispose();
}

IMPL_LINK_NOARG(FmShowColsDialog, OnClickedOk)
{
diff --git a/cui/source/dialogs/splitcelldlg.cxx b/cui/source/dialogs/splitcelldlg.cxx
index edce7998..171ea3a 100644
--- a/cui/source/dialogs/splitcelldlg.cxx
+++ b/cui/source/dialogs/splitcelldlg.cxx
@@ -53,6 +53,20 @@ SvxSplitTableDlg::SvxSplitTableDlg( vcl::Window *pParent, bool bIsTableVertical,
    }
}

SvxSplitTableDlg::~SvxSplitTableDlg()
{
    dispose();
}

void SvxSplitTableDlg::dispose()
{
    m_pCountEdit.clear();
    m_pHorzBox.clear();
    m_pVertBox.clear();
    m_pPropCB.clear();
    SvxStandardDialog::dispose();
}

IMPL_LINK( SvxSplitTableDlg, ClickHdl, Button *, pButton )
{
    const bool bIsVert =  pButton == m_pVertBox ;
diff --git a/cui/source/dialogs/srchxtra.cxx b/cui/source/dialogs/srchxtra.cxx
index bb797e3..4d15413 100644
--- a/cui/source/dialogs/srchxtra.cxx
+++ b/cui/source/dialogs/srchxtra.cxx
@@ -178,6 +178,17 @@ SvxSearchAttributeDialog::SvxSearchAttributeDialog(vcl::Window* pParent,
    m_pAttrLB->SelectEntryPos( 0 );
}

SvxSearchAttributeDialog::~SvxSearchAttributeDialog()
{
    dispose();
}

void SvxSearchAttributeDialog::dispose()
{
    m_pAttrLB.clear();
    m_pOKBtn.clear();
    ModalDialog::dispose();
}


IMPL_LINK_NOARG(SvxSearchAttributeDialog, OKHdl)
@@ -248,4 +259,18 @@ SvxSearchSimilarityDialog::SvxSearchSimilarityDialog
    m_pRelaxBox->Check( bRelax );
}

SvxSearchSimilarityDialog::~SvxSearchSimilarityDialog()
{
    dispose();
}

void SvxSearchSimilarityDialog::dispose()
{
    m_pOtherFld.clear();
    m_pLongerFld.clear();
    m_pShorterFld.clear();
    m_pRelaxBox.clear();
    ModalDialog::dispose();
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/dialogs/thesdlg.cxx b/cui/source/dialogs/thesdlg.cxx
index c0afe2a..8a47ac5 100644
--- a/cui/source/dialogs/thesdlg.cxx
+++ b/cui/source/dialogs/thesdlg.cxx
@@ -66,6 +66,17 @@ LookUpComboBox::LookUpComboBox(vcl::Window *pParent)
    EnableAutocomplete( false );
}

LookUpComboBox::~LookUpComboBox()
{
    dispose();
}

void LookUpComboBox::dispose()
{
    m_pDialog.clear();
    ComboBox::dispose();
}

extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeLookUpComboBox(vcl::Window *pParent, VclBuilder::stringmap &)
{
    return new LookUpComboBox(pParent);
@@ -96,6 +107,18 @@ ReplaceEdit::ReplaceEdit(vcl::Window *pParent)
{
}

ReplaceEdit::~ReplaceEdit()
{
    dispose();
}

void ReplaceEdit::dispose()
{
    m_pBtn.clear();
    Edit::dispose();
}


extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeReplaceEdit(vcl::Window *pParent, VclBuilder::stringmap &)
{
    return new ReplaceEdit(pParent);
@@ -176,6 +199,7 @@ ThesaurusAlternativesCtrl::~ThesaurusAlternativesCtrl()
void ThesaurusAlternativesCtrl::dispose()
{
    ClearExtraData();
    m_pDialog.clear();
    SvxCheckListBox::dispose();
}

@@ -514,6 +538,21 @@ SvxThesaurusDialog::SvxThesaurusDialog(
        Enable( false );
}

SvxThesaurusDialog::~SvxThesaurusDialog()
{
    dispose();
}

void SvxThesaurusDialog::dispose()
{
    m_pLeftBtn.clear();
    m_pWordCB.clear();
    m_pAlternativesCT.clear();
    m_pReplaceEdit.clear();
    m_pLangLB.clear();
    SvxStandardDialog::dispose();
}

IMPL_LINK( SvxThesaurusDialog, ReplaceBtnHdl_Impl, Button *, EMPTYARG /*pBtn*/ )
{
    EndDialog(RET_OK);
diff --git a/cui/source/dialogs/zoom.cxx b/cui/source/dialogs/zoom.cxx
index 190a061..451de55 100644
--- a/cui/source/dialogs/zoom.cxx
+++ b/cui/source/dialogs/zoom.cxx
@@ -297,6 +297,19 @@ void SvxZoomDialog::dispose()
{
    delete pOutSet;
    pOutSet = 0;
    m_pOptimalBtn.clear();
    m_pWholePageBtn.clear();
    m_pPageWidthBtn.clear();
    m_p100Btn.clear();
    m_pUserBtn.clear();
    m_pUserEdit.clear();
    m_pViewFrame.clear();
    m_pAutomaticBtn.clear();
    m_pSingleBtn.clear();
    m_pColumnsBtn.clear();
    m_pColumnsEdit.clear();
    m_pBookModeChk.clear();
    m_pOKBtn.clear();
    SfxModalDialog::dispose();
}

diff --git a/cui/source/factory/cuiexp.cxx b/cui/source/factory/cuiexp.cxx
index 8bb9d51..754d8b47 100644
--- a/cui/source/factory/cuiexp.cxx
+++ b/cui/source/factory/cuiexp.cxx
@@ -17,6 +17,35 @@
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */

#include "sfx2/basedlgs.hxx"
#include "cuigaldlg.hxx"
#include "hlmarkwn.hxx"
#include "srchxtra.hxx"
#include "cuisrchdlg.hxx"
#include "transfrm.hxx"
#include "labdlg.hxx"
#include "cuitbxform.hxx"
#include "optdict.hxx"
#include "dlgname.hxx"
#include "cuiimapwnd.hxx"
#include "multipat.hxx"
#include "cuifmsearch.hxx"
#include "cuigrfflt.hxx"
#include "cuitabarea.hxx"
#include "insdlg.hxx"
#include "pastedlg.hxx"
#include "linkdlg.hxx"
#include "postdlg.hxx"
#include "passwdomdlg.hxx"
#include "cuihyperdlg.hxx"
#include "selector.hxx"
#include "SpellDialog.hxx"
#include "zoom.hxx"
#include "showcols.hxx"
#include "hyphen.hxx"
#include "thesdlg.hxx"
#include "hangulhanjadlg.hxx"
#include "dstribut.hxx"
#include "dlgfact.hxx"
#include "sal/types.h"

diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index f2f368a..4043f8c 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -107,7 +107,6 @@ IMPL_ABSTDLG_BASE(AbstractThesaurusDialog_Impl)

AbstractSvxZoomDialog_Impl::~AbstractSvxZoomDialog_Impl()                                       \
{
    delete pDlg;
}
short AbstractSvxZoomDialog_Impl::Execute()
{
@@ -154,7 +153,6 @@ IMPL_ABSTDLG_BASE(AbstractPasswordToOpenModifyDialog_Impl);
// virtual
VclAbstractDialog2_Impl::~VclAbstractDialog2_Impl()
{
    delete m_pDlg;
}

// virtual
diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx
index ffb1577..d356bbab 100644
--- a/cui/source/factory/dlgfact.hxx
+++ b/cui/source/factory/dlgfact.hxx
@@ -61,7 +61,7 @@ class HangulHanjaConversionDialog;
using namespace svx;

#define DECL_ABSTDLG_BASE(Class,DialogClass)        \
    DialogClass*        pDlg;                       \
    VclPtr<DialogClass> pDlg;                       \
public:                                             \
                    Class( DialogClass* p)          \
                     : pDlg(p)                      \
@@ -72,7 +72,6 @@ public:                                             \
#define IMPL_ABSTDLG_BASE(Class)                    \
Class::~Class()                                     \
{                                                   \
    delete pDlg;                                    \
}                                                   \
short Class::Execute()                             \
{                                                   \
@@ -81,7 +80,7 @@ short Class::Execute()                             \

class VclAbstractDialog2_Impl : public VclAbstractDialog2
{
    Dialog*         m_pDlg;
    VclPtr<Dialog>         m_pDlg;
    Link            m_aEndDlgHdl;
public:
                    VclAbstractDialog2_Impl( Dialog* p ) : m_pDlg( p ) {}
diff --git a/cui/source/inc/ControlFocusHelper.hxx b/cui/source/inc/ControlFocusHelper.hxx
index b984838..6530f3c 100644
--- a/cui/source/inc/ControlFocusHelper.hxx
+++ b/cui/source/inc/ControlFocusHelper.hxx
@@ -26,11 +26,13 @@
class SvxControlFocusHelper : public Control
{
private:
    Control*        m_pFocusCtrl;
    VclPtr<Control>        m_pFocusCtrl;

public:
    SvxControlFocusHelper( vcl::Window* pParent, const ResId& rId ) :
        Control( pParent, rId ), m_pFocusCtrl( NULL ) {}
    virtual ~SvxControlFocusHelper();
    virtual void dispose() SAL_OVERRIDE;

    void            SetFocusControl( Control* pCtrl ) { m_pFocusCtrl = pCtrl; }

diff --git a/cui/source/inc/SpellDialog.hxx b/cui/source/inc/SpellDialog.hxx
index e24334b..411df36 100644
--- a/cui/source/inc/SpellDialog.hxx
+++ b/cui/source/inc/SpellDialog.hxx
@@ -124,33 +124,33 @@ class SpellDialog : public SfxModelessDialog
    friend class SentenceEditWindow_Impl;
private:

    FixedText*      m_pLanguageFT;
    SvxLanguageBox* m_pLanguageLB;
    VclPtr<FixedText>      m_pLanguageFT;
    VclPtr<SvxLanguageBox> m_pLanguageLB;

    FixedText*      m_pExplainFT;
    FixedHyperlink* m_pExplainLink;
    VclPtr<FixedText>      m_pExplainFT;
    VclPtr<FixedHyperlink> m_pExplainLink;

    FixedText*      m_pNotInDictFT;
    SentenceEditWindow_Impl* m_pSentenceED;
    VclPtr<FixedText>      m_pNotInDictFT;
    VclPtr<SentenceEditWindow_Impl> m_pSentenceED;

    FixedText*      m_pSuggestionFT;
    ListBox*        m_pSuggestionLB;
    VclPtr<FixedText>      m_pSuggestionFT;
    VclPtr<ListBox>        m_pSuggestionLB;

    PushButton*     m_pIgnorePB;
    PushButton*     m_pIgnoreAllPB;
    PushButton*     m_pIgnoreRulePB;
    PushButton*     m_pAddToDictPB;
    MenuButton*     m_pAddToDictMB;
    VclPtr<PushButton>     m_pIgnorePB;
    VclPtr<PushButton>     m_pIgnoreAllPB;
    VclPtr<PushButton>     m_pIgnoreRulePB;
    VclPtr<PushButton>     m_pAddToDictPB;
    VclPtr<MenuButton>     m_pAddToDictMB;

    PushButton*     m_pChangePB;
    PushButton*     m_pChangeAllPB;
    PushButton*     m_pAutoCorrPB;
    VclPtr<PushButton>     m_pChangePB;
    VclPtr<PushButton>     m_pChangeAllPB;
    VclPtr<PushButton>     m_pAutoCorrPB;

    CheckBox*       m_pCheckGrammarCB;
    VclPtr<CheckBox>       m_pCheckGrammarCB;

    PushButton*     m_pOptionsPB;
    PushButton*     m_pUndoPB;
    CloseButton*    m_pClosePB;
    VclPtr<PushButton>     m_pOptionsPB;
    VclPtr<PushButton>     m_pUndoPB;
    VclPtr<CloseButton>    m_pClosePB;

    OUString        m_sResumeST;
    OUString        m_sIgnoreOnceST;
diff --git a/cui/source/inc/about.hxx b/cui/source/inc/about.hxx
index 132ab54..82cfac0 100644
--- a/cui/source/inc/about.hxx
+++ b/cui/source/inc/about.hxx
@@ -34,13 +34,13 @@ private:
    BitmapEx           aBackgroundBitmap;
    BitmapEx           aLogoBitmap;

    VclMultiLineEdit*    m_pVersion;
    FixedText*           m_pDescriptionText;
    FixedText*           m_pCopyrightText;
    FixedImage*          m_pLogoImage;
    FixedText*           m_pLogoReplacement;
    PushButton*          m_pCreditsButton;
    PushButton*          m_pWebsiteButton;
    VclPtr<VclMultiLineEdit>    m_pVersion;
    VclPtr<FixedText>           m_pDescriptionText;
    VclPtr<FixedText>           m_pCopyrightText;
    VclPtr<FixedImage>          m_pLogoImage;
    VclPtr<FixedText>           m_pLogoReplacement;
    VclPtr<PushButton>          m_pCreditsButton;
    VclPtr<PushButton>          m_pWebsiteButton;

    OUString m_aVersionTextStr;
    OUString m_aVendorTextStr;
@@ -66,6 +66,8 @@ protected:

public:
    AboutDialog(vcl::Window* pParent);
    virtual ~AboutDialog();
    virtual void dispose() SAL_OVERRIDE;

    DECL_LINK( HandleClick, PushButton* );
};
diff --git a/cui/source/inc/acccfg.hxx b/cui/source/inc/acccfg.hxx
index dc156cc..6c487ca 100644
--- a/cui/source/inc/acccfg.hxx
+++ b/cui/source/inc/acccfg.hxx
@@ -53,7 +53,7 @@ class SfxStringItem;

class SfxAccCfgTabListBox_Impl : public SvTabListBox
{
    SfxAcceleratorConfigPage*   m_pAccelConfigPage;
    VclPtr<SfxAcceleratorConfigPage>   m_pAccelConfigPage;

    void                        KeyInput( const KeyEvent &rKEvt ) SAL_OVERRIDE;

@@ -67,6 +67,8 @@ public:
        , m_pAccelConfigPage(NULL)
    {
    }
    virtual ~SfxAccCfgTabListBox_Impl();
    virtual void dispose() SAL_OVERRIDE;

    void SetAccelConfigPage(SfxAcceleratorConfigPage* pAccelConfigPage)
    {
@@ -118,17 +120,17 @@ private:
    const SfxStringItem*            m_pFontItem;
    sfx2::FileDialogHelper*         m_pFileDlg;

    SfxAccCfgTabListBox_Impl*       m_pEntriesBox;
    RadioButton*                    m_pOfficeButton;
    RadioButton*                    m_pModuleButton;
    PushButton*                     m_pChangeButton;
    PushButton*                     m_pRemoveButton;
    SfxConfigGroupListBox*          m_pGroupLBox;
    SfxConfigFunctionListBox*       m_pFunctionBox;
    SvTreeListBox*                  m_pKeyBox;
    PushButton*                     m_pLoadButton;
    PushButton*                     m_pSaveButton;
    PushButton*                     m_pResetButton;
    VclPtr<SfxAccCfgTabListBox_Impl>       m_pEntriesBox;
    VclPtr<RadioButton>                    m_pOfficeButton;
    VclPtr<RadioButton>                    m_pModuleButton;
    VclPtr<PushButton>                     m_pChangeButton;
    VclPtr<PushButton>                     m_pRemoveButton;
    VclPtr<SfxConfigGroupListBox>          m_pGroupLBox;
    VclPtr<SfxConfigFunctionListBox>       m_pFunctionBox;
    VclPtr<SvTreeListBox>                  m_pKeyBox;
    VclPtr<PushButton>                     m_pLoadButton;
    VclPtr<PushButton>                     m_pSaveButton;
    VclPtr<PushButton>                     m_pResetButton;
    OUString                        aLoadAccelConfigStr;
    OUString                        aSaveAccelConfigStr;
    OUString                        aFilterAllStr;
diff --git a/cui/source/inc/align.hxx b/cui/source/inc/align.hxx
index 3f56d12..0be6bc6 100644
--- a/cui/source/inc/align.hxx
+++ b/cui/source/inc/align.hxx
@@ -79,36 +79,36 @@ private:
    DECL_LINK( UpdateEnableHdl, void* );

private:
    ListBox*             m_pLbHorAlign;
    FixedText*           m_pFtIndent;
    MetricField*         m_pEdIndent;
    FixedText*           m_pFtVerAlign;
    ListBox*             m_pLbVerAlign;
    VclPtr<ListBox>             m_pLbHorAlign;
    VclPtr<FixedText>           m_pFtIndent;
    VclPtr<MetricField>         m_pEdIndent;
    VclPtr<FixedText>           m_pFtVerAlign;
    VclPtr<ListBox>             m_pLbVerAlign;

    DialControl*         m_pCtrlDial;
    FixedText*           m_pFtRotate;
    NumericField*        m_pNfRotate;
    FixedText*           m_pFtRefEdge;
    ValueSet*            m_pVsRefEdge;
    TriStateBox*         m_pCbStacked;
    TriStateBox*         m_pCbAsianMode;
    VclPtr<DialControl>         m_pCtrlDial;
    VclPtr<FixedText>           m_pFtRotate;
    VclPtr<NumericField>        m_pNfRotate;
    VclPtr<FixedText>           m_pFtRefEdge;
    VclPtr<ValueSet>            m_pVsRefEdge;
    VclPtr<TriStateBox>         m_pCbStacked;
    VclPtr<TriStateBox>         m_pCbAsianMode;
    OrientationHelper*   m_pOrientHlp;

    VclHBox*             m_pBoxDirection;
    TriStateBox*         m_pBtnWrap;
    TriStateBox*         m_pBtnHyphen;
    TriStateBox*         m_pBtnShrink;
    FrameDirListBox*     m_pLbFrameDir;
    VclPtr<VclHBox>             m_pBoxDirection;
    VclPtr<TriStateBox>         m_pBtnWrap;
    VclPtr<TriStateBox>         m_pBtnHyphen;
    VclPtr<TriStateBox>         m_pBtnShrink;
    VclPtr<FrameDirListBox>     m_pLbFrameDir;

    // hidden labels/string
    FixedText*           m_pFtBotLock;
    FixedText*           m_pFtTopLock;
    FixedText*           m_pFtCelLock;
    FixedText*           m_pFtABCD;
    VclPtr<FixedText>           m_pFtBotLock;
    VclPtr<FixedText>           m_pFtTopLock;
    VclPtr<FixedText>           m_pFtCelLock;
    VclPtr<FixedText>           m_pFtABCD;

    VclContainer*        m_pAlignmentFrame;
    VclContainer*        m_pOrientFrame;
    VclContainer*        m_pPropertiesFrame;
    VclPtr<VclContainer>        m_pAlignmentFrame;
    VclPtr<VclContainer>        m_pOrientFrame;
    VclPtr<VclContainer>        m_pPropertiesFrame;
};


diff --git a/cui/source/inc/autocdlg.hxx b/cui/source/inc/autocdlg.hxx
index 17e2bb6..bed9ffc 100644
--- a/cui/source/inc/autocdlg.hxx
+++ b/cui/source/inc/autocdlg.hxx
@@ -43,8 +43,8 @@ namespace editeng { class SortedAutoCompleteStrings; }

class OfaAutoCorrDlg : public SfxTabDialog
{
    VclContainer* m_pLanguageBox;
    SvxLanguageBox*  m_pLanguageLB;
    VclPtr<VclContainer> m_pLanguageBox;
    VclPtr<SvxLanguageBox>  m_pLanguageLB;

    sal_uInt16 m_nReplacePageId;
    sal_uInt16 m_nExceptionsPageId;
@@ -53,6 +53,8 @@ class OfaAutoCorrDlg : public SfxTabDialog
public:

    OfaAutoCorrDlg(vcl::Window* pParent, const SfxItemSet *pSet);
    virtual ~OfaAutoCorrDlg();
    virtual void dispose() SAL_OVERRIDE;

    void EnableLanguage(bool bEnable);
};
@@ -94,7 +96,7 @@ class OfaAutocorrOptionsPage : public SfxTabPage
    using TabPage::ActivatePage;

private:
    SvxCheckListBox *m_pCheckLB;
    VclPtr<SvxCheckListBox> m_pCheckLB;

    OUString m_sInput;
    OUString m_sDoubleCaps;
@@ -107,6 +109,8 @@ private:

public:
    OfaAutocorrOptionsPage(vcl::Window* pParent, const SfxItemSet& rSet);
    virtual ~OfaAutocorrOptionsPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent,
                                const SfxItemSet* rAttrSet);
@@ -123,8 +127,8 @@ class OfaSwAutoFmtOptionsPage : public SfxTabPage
{
    using TabPage::ActivatePage;

    OfaACorrCheckListBox*   m_pCheckLB;
    PushButton*     m_pEditPB;
    VclPtr<OfaACorrCheckListBox>   m_pCheckLB;
    VclPtr<PushButton>     m_pEditPB;

    OUString        sDeleteEmptyPara;
    OUString        sUseReplaceTbl;
@@ -225,12 +229,12 @@ private:

        StringChangeTable aChangesTable;

        CheckBox*       m_pTextOnlyCB;
        AutoCorrEdit*   m_pShortED;
        AutoCorrEdit*   m_pReplaceED;
        SvTabListBox*   m_pReplaceTLB;
        PushButton*     m_pNewReplacePB;
        PushButton*     m_pDeleteReplacePB;
        VclPtr<CheckBox>       m_pTextOnlyCB;
        VclPtr<AutoCorrEdit>   m_pShortED;
        VclPtr<AutoCorrEdit>   m_pReplaceED;
        VclPtr<SvTabListBox>   m_pReplaceTLB;
        VclPtr<PushButton>     m_pNewReplacePB;
        VclPtr<PushButton>     m_pDeleteReplacePB;

        OUString        sModify;
        OUString        sNew;
@@ -291,17 +295,17 @@ class OfaAutocorrExceptPage : public SfxTabPage
    using TabPage::DeactivatePage;

private:
    AutoCorrEdit*   m_pAbbrevED;
    ListBox*        m_pAbbrevLB;
    PushButton*     m_pNewAbbrevPB;
    PushButton*     m_pDelAbbrevPB;
    CheckBox*       m_pAutoAbbrevCB;
    VclPtr<AutoCorrEdit>   m_pAbbrevED;
    VclPtr<ListBox>        m_pAbbrevLB;
    VclPtr<PushButton>     m_pNewAbbrevPB;
    VclPtr<PushButton>     m_pDelAbbrevPB;
    VclPtr<CheckBox>       m_pAutoAbbrevCB;

    AutoCorrEdit*   m_pDoubleCapsED;
    ListBox*        m_pDoubleCapsLB;
    PushButton*     m_pNewDoublePB;
    PushButton*     m_pDelDoublePB;
    CheckBox*       m_pAutoCapsCB;
    VclPtr<AutoCorrEdit>   m_pDoubleCapsED;
    VclPtr<ListBox>        m_pDoubleCapsLB;
    VclPtr<PushButton>     m_pNewDoublePB;
    VclPtr<PushButton>     m_pDelDoublePB;
    VclPtr<CheckBox>       m_pAutoCapsCB;

    StringsTable    aStringsTable;
    CollatorWrapper* pCompareClass;
@@ -338,29 +342,29 @@ class OfaQuoteTabPage : public SfxTabPage

private:
    /// For anything but writer
    SvxCheckListBox* m_pCheckLB;
    VclPtr<SvxCheckListBox> m_pCheckLB;

    /// Just for writer
    OfaACorrCheckListBox*   m_pSwCheckLB;
    VclPtr<OfaACorrCheckListBox>   m_pSwCheckLB;

    OUString        sNonBrkSpace;
    OUString        sOrdinal;

    SvLBoxButtonData*   pCheckButtonData;

    CheckBox*   m_pSingleTypoCB;
    PushButton* m_pSglStartQuotePB;
    FixedText*  m_pSglStartExFT;
    PushButton* m_pSglEndQuotePB;
    FixedText*  m_pSglEndExFT;
    PushButton* m_pSglStandardPB;
    VclPtr<CheckBox>   m_pSingleTypoCB;
    VclPtr<PushButton> m_pSglStartQuotePB;
    VclPtr<FixedText>  m_pSglStartExFT;
    VclPtr<PushButton> m_pSglEndQuotePB;
    VclPtr<FixedText>  m_pSglEndExFT;
    VclPtr<PushButton> m_pSglStandardPB;

    CheckBox*   m_pDoubleTypoCB;
    PushButton* m_pDblStartQuotePB;
    FixedText*  m_pDblStartExFT;
    PushButton* m_pDblEndQuotePB;
    FixedText*  m_pDblEndExFT;
    PushButton* m_pDblStandardPB;
    VclPtr<CheckBox>   m_pDoubleTypoCB;
    VclPtr<PushButton> m_pDblStartQuotePB;
    VclPtr<FixedText>  m_pDblStartExFT;
    VclPtr<PushButton> m_pDblEndQuotePB;
    VclPtr<FixedText>  m_pDblEndExFT;
    VclPtr<PushButton> m_pDblStandardPB;

    OUString    m_sStartQuoteDlg;
    OUString    m_sEndQuoteDlg;
@@ -401,31 +405,33 @@ class OfaAutoCompleteTabPage : public SfxTabPage
public:
    class AutoCompleteMultiListBox : public MultiListBox
    {
        OfaAutoCompleteTabPage* m_pPage;
        VclPtr<OfaAutoCompleteTabPage> m_pPage;
    public:
        AutoCompleteMultiListBox(vcl::Window *pParent, WinBits nBits)
            : MultiListBox(pParent, nBits)
            , m_pPage(NULL)
        {
        }
        virtual ~AutoCompleteMultiListBox();
        virtual void dispose() SAL_OVERRIDE;
        void SetPage(OfaAutoCompleteTabPage *pPage) { m_pPage = pPage; }
        virtual bool PreNotify( NotifyEvent& rNEvt ) SAL_OVERRIDE;
    };

private:
    using TabPage::ActivatePage;
    CheckBox*       m_pCBActiv; ///<Enable word completion
    CheckBox*       m_pCBAppendSpace;///<Append space
    CheckBox*       m_pCBAsTip; ///<Show as tip
    VclPtr<CheckBox>       m_pCBActiv; ///<Enable word completion
    VclPtr<CheckBox>       m_pCBAppendSpace;///<Append space
    VclPtr<CheckBox>       m_pCBAsTip; ///<Show as tip

    CheckBox*       m_pCBCollect;///<Collect words
    CheckBox*       m_pCBRemoveList;///<...save the list for later use...
    VclPtr<CheckBox>       m_pCBCollect;///<Collect words
    VclPtr<CheckBox>       m_pCBRemoveList;///<...save the list for later use...

    ListBox*        m_pDCBExpandKey;
    NumericField*   m_pNFMinWordlen;
    NumericField*   m_pNFMaxEntries;
    AutoCompleteMultiListBox* m_pLBEntries;
    PushButton*     m_pPBEntries;
    VclPtr<ListBox>        m_pDCBExpandKey;
    VclPtr<NumericField>   m_pNFMinWordlen;
    VclPtr<NumericField>   m_pNFMaxEntries;
    VclPtr<AutoCompleteMultiListBox> m_pLBEntries;
    VclPtr<PushButton>     m_pPBEntries;
    editeng::SortedAutoCompleteStrings* m_pAutoCompleteList;
    sal_uInt16      m_nAutoCmpltListCnt;

@@ -434,6 +440,8 @@ private:
                        OfaAutoCompleteTabPage( vcl::Window* pParent,
                                                const SfxItemSet& rSet );
public:
    virtual ~OfaAutoCompleteTabPage();
    virtual void dispose() SAL_OVERRIDE;
    static SfxTabPage*  Create( vcl::Window* pParent,
                                const SfxItemSet* rAttrSet);

@@ -458,9 +466,9 @@ class OfaSmartTagOptionsTabPage : public SfxTabPage
private:

    // controls
    CheckBox*               m_pMainCB;
    SvxCheckListBox*        m_pSmartTagTypesLB;
    PushButton*             m_pPropertiesPB;
    VclPtr<CheckBox>               m_pMainCB;
    VclPtr<SvxCheckListBox>        m_pSmartTagTypesLB;
    VclPtr<PushButton>             m_pPropertiesPB;

    /// construction via Create()
    OfaSmartTagOptionsTabPage( vcl::Window* pParent, const SfxItemSet& rSet );
@@ -498,6 +506,8 @@ private:
    DECL_LINK(SelectHdl, void *);

public:
    virtual ~OfaSmartTagOptionsTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rAttrSet);

diff --git a/cui/source/inc/backgrnd.hxx b/cui/source/inc/backgrnd.hxx
index 9a0b126..57142af 100644
--- a/cui/source/inc/backgrnd.hxx
+++ b/cui/source/inc/backgrnd.hxx
@@ -73,39 +73,39 @@ private:
    virtual ~SvxBackgroundTabPage();
    virtual void dispose() SAL_OVERRIDE;

    VclContainer*           m_pAsGrid;
    FixedText*              m_pSelectTxt;
    ListBox*                m_pLbSelect;
    FixedText*              m_pTblDesc;
    ListBox*                m_pTblLBox;
    ListBox*                m_pParaLBox;
    VclPtr<VclContainer>           m_pAsGrid;
    VclPtr<FixedText>              m_pSelectTxt;
    VclPtr<ListBox>                m_pLbSelect;
    VclPtr<FixedText>              m_pTblDesc;
    VclPtr<ListBox>                m_pTblLBox;
    VclPtr<ListBox>                m_pParaLBox;

    VclFrame*               m_pBackGroundColorFrame;
    SvxColorValueSet*       m_pBackgroundColorSet;
    BackgroundPreviewImpl*  m_pPreviewWin1;
    VclPtr<VclFrame>               m_pBackGroundColorFrame;
    VclPtr<SvxColorValueSet>       m_pBackgroundColorSet;
    VclPtr<BackgroundPreviewImpl>  m_pPreviewWin1;

    FixedText*              m_pColTransFT;///<color transparency
    MetricField*            m_pColTransMF;
    CheckBox*               m_pBtnPreview;
    VclPtr<FixedText>              m_pColTransFT;///<color transparency
    VclPtr<MetricField>            m_pColTransMF;
    VclPtr<CheckBox>               m_pBtnPreview;

    // Background Bitmap ----------------------------------
    VclContainer*           m_pBitmapContainer;
    VclContainer*           m_pFileFrame;
    PushButton*             m_pBtnBrowse;
    CheckBox*               m_pBtnLink;
    FixedText*              m_pFtUnlinked;
    FixedText*              m_pFtFile;
    VclPtr<VclContainer>           m_pBitmapContainer;
    VclPtr<VclContainer>           m_pFileFrame;
    VclPtr<PushButton>             m_pBtnBrowse;
    VclPtr<CheckBox>               m_pBtnLink;
    VclPtr<FixedText>              m_pFtUnlinked;
    VclPtr<FixedText>              m_pFtFile;

    VclContainer*           m_pTypeFrame;
    RadioButton*            m_pBtnPosition;
    RadioButton*            m_pBtnArea;
    RadioButton*            m_pBtnTile;
    SvxRectCtl*             m_pWndPosition;
    VclPtr<VclContainer>           m_pTypeFrame;
    VclPtr<RadioButton>            m_pBtnPosition;
    VclPtr<RadioButton>            m_pBtnArea;
    VclPtr<RadioButton>            m_pBtnTile;
    VclPtr<SvxRectCtl>             m_pWndPosition;

    VclContainer*           m_pGraphTransFrame;///<transparency of graphics
    MetricField*            m_pGraphTransMF;
    VclPtr<VclContainer>           m_pGraphTransFrame;///<transparency of graphics
    VclPtr<MetricField>            m_pGraphTransMF;

    BackgroundPreviewImpl*  m_pPreviewWin2;
    VclPtr<BackgroundPreviewImpl>  m_pPreviewWin2;

    // DDListBox for Writer -------------------------------

diff --git a/cui/source/inc/border.hxx b/cui/source/inc/border.hxx
index b05df65..ff4b48a 100644
--- a/cui/source/inc/border.hxx
+++ b/cui/source/inc/border.hxx
@@ -45,6 +45,8 @@ class SvxBorderTabPage : public SfxTabPage
    static const sal_uInt16 pRanges[];

public:
    virtual ~SvxBorderTabPage();
    virtual void dispose() SAL_OVERRIDE;
    static SfxTabPage*  Create( vcl::Window* pParent,
                                const SfxItemSet* rAttrSet);
    static const sal_uInt16*      GetRanges() { return pRanges; }
@@ -63,37 +65,37 @@ private:
    SvxBorderTabPage( vcl::Window* pParent, const SfxItemSet& rCoreAttrs );

    // Controls
    ValueSet*           m_pWndPresets;
    FixedText*          m_pUserDefFT;
    svx::FrameSelector* m_pFrameSel;
    VclPtr<ValueSet>           m_pWndPresets;
    VclPtr<FixedText>          m_pUserDefFT;
    VclPtr<svx::FrameSelector> m_pFrameSel;

    LineListBox*        m_pLbLineStyle;
    ColorListBox*       m_pLbLineColor;
    MetricField*        m_pLineWidthMF;
    VclPtr<LineListBox>        m_pLbLineStyle;
    VclPtr<ColorListBox>       m_pLbLineColor;
    VclPtr<MetricField>        m_pLineWidthMF;

    VclContainer*       m_pSpacingFrame;
    FixedText*          m_pLeftFT;
    MetricField*        m_pLeftMF;
    FixedText*          m_pRightFT;
    MetricField*        m_pRightMF;
    FixedText*          m_pTopFT;
    MetricField*        m_pTopMF;
    FixedText*          m_pBottomFT;
    MetricField*        m_pBottomMF;
    CheckBox*           m_pSynchronizeCB;
    VclPtr<VclContainer>       m_pSpacingFrame;
    VclPtr<FixedText>          m_pLeftFT;
    VclPtr<MetricField>        m_pLeftMF;
    VclPtr<FixedText>          m_pRightFT;
    VclPtr<MetricField>        m_pRightMF;
    VclPtr<FixedText>          m_pTopFT;
    VclPtr<MetricField>        m_pTopMF;
    VclPtr<FixedText>          m_pBottomFT;
    VclPtr<MetricField>        m_pBottomMF;
    VclPtr<CheckBox>           m_pSynchronizeCB;

    VclContainer*       m_pShadowFrame;
    ValueSet*           m_pWndShadows;
    FixedText*          m_pFtShadowSize;
    MetricField*        m_pEdShadowSize;
    FixedText*          m_pFtShadowColor;
    ColorListBox*       m_pLbShadowColor;
    VclPtr<VclContainer>       m_pShadowFrame;
    VclPtr<ValueSet>           m_pWndShadows;
    VclPtr<FixedText>          m_pFtShadowSize;
    VclPtr<MetricField>        m_pEdShadowSize;
    VclPtr<FixedText>          m_pFtShadowColor;
    VclPtr<ColorListBox>       m_pLbShadowColor;


    VclContainer*       m_pPropertiesFrame;///< properties - "Merge with next paragraph" in Writer
    CheckBox*           m_pMergeWithNextCB;
    VclPtr<VclContainer>       m_pPropertiesFrame;///< properties - "Merge with next paragraph" in Writer
    VclPtr<CheckBox>           m_pMergeWithNextCB;
    // #i29550#
    CheckBox*           m_pMergeAdjacentBordersCB;
    VclPtr<CheckBox>           m_pMergeAdjacentBordersCB;

    ImageList           aShadowImgLstH;
    ImageList           aShadowImgLst;
@@ -113,8 +115,8 @@ private:
    std::set<sal_Int16> maUsedBorderStyles;

    // Handler
    DECL_LINK( SelStyleHdl_Impl, ListBox* pLb );
    DECL_LINK( SelColHdl_Impl, ListBox* pLb );
    DECL_LINK( SelStyleHdl_Impl, ListBox* );
    DECL_LINK( SelColHdl_Impl, ListBox* );
    DECL_LINK( SelPreHdl_Impl, void* );
    DECL_LINK( SelSdwHdl_Impl, void* );
    DECL_LINK( LinesChanged_Impl, void* );
diff --git a/cui/source/inc/cfg.hxx b/cui/source/inc/cfg.hxx
index fd9ef1a..759b140 100644
--- a/cui/source/inc/cfg.hxx
+++ b/cui/source/inc/cfg.hxx
@@ -315,13 +315,15 @@ public:
class SvxMenuEntriesListBox : public SvTreeListBox
{
private:
    SvxConfigPage*      pPage;
    VclPtr<SvxConfigPage>      pPage;

protected:
    bool                m_bIsInternalDrag;

public:
    SvxMenuEntriesListBox(vcl::Window*, SvxConfigPage*);
    virtual ~SvxMenuEntriesListBox();
    virtual void dispose() SAL_OVERRIDE;

    virtual sal_Int8    AcceptDrop( const AcceptDropEvent& rEvt ) SAL_OVERRIDE;

@@ -358,30 +360,30 @@ protected:

    // the top section of the tab page where top level menus and toolbars
    //  are displayed in a listbox
    VclFrame*                           m_pTopLevel;
    FixedText*                          m_pTopLevelLabel;
    ListBox*                            m_pTopLevelListBox;
    PushButton*                         m_pNewTopLevelButton;
    MenuButton*                         m_pModifyTopLevelButton;
    VclPtr<VclFrame>                           m_pTopLevel;
    VclPtr<FixedText>                          m_pTopLevelLabel;
    VclPtr<ListBox>                            m_pTopLevelListBox;
    VclPtr<PushButton>                         m_pNewTopLevelButton;
    VclPtr<MenuButton>                         m_pModifyTopLevelButton;

    // the contents section where the contents of the selected
    // menu or toolbar are displayed
    VclFrame*                           m_pContents;
    FixedText*                          m_pContentsLabel;
    VclContainer*                       m_pEntries;
    SvTreeListBox*                      m_pContentsListBox;
    VclPtr<VclFrame>                           m_pContents;
    VclPtr<FixedText>                          m_pContentsLabel;
    VclPtr<VclContainer>                       m_pEntries;
    VclPtr<SvTreeListBox>                      m_pContentsListBox;

    PushButton*                         m_pAddCommandsButton;
    MenuButton*                         m_pModifyCommandButton;
    VclPtr<PushButton>                         m_pAddCommandsButton;
    VclPtr<MenuButton>                         m_pModifyCommandButton;

    PushButton*                         m_pMoveUpButton;
    PushButton*                         m_pMoveDownButton;
    VclPtr<PushButton>                         m_pMoveUpButton;
    VclPtr<PushButton>                         m_pMoveDownButton;

    ListBox*                            m_pSaveInListBox;
    VclPtr<ListBox>                            m_pSaveInListBox;

    VclMultiLineEdit*                   m_pDescriptionField;
    VclPtr<VclMultiLineEdit>                   m_pDescriptionField;

    SvxScriptSelectorDialog*            m_pSelectorDlg;
    VclPtr<SvxScriptSelectorDialog>            m_pSelectorDlg;

    /// the ResourceURL to select when opening the dialog
    OUString                            m_aURLToSelect;
@@ -409,7 +411,7 @@ protected:
                                        SvTreeListEntry* pTarget = NULL,
                                        bool bFront = false );

    void            AddSubMenusToUI(    const OUString& rBaseTitle,
    void                AddSubMenusToUI(    const OUString& rBaseTitle,
                                        SvxConfigEntry* pParentData );

    SvTreeListEntry*    InsertEntryIntoUI ( SvxConfigEntry* pNewEntryData,
@@ -422,6 +424,9 @@ protected:

public:

    virtual ~SvxConfigPage();
    virtual void dispose() SAL_OVERRIDE;

    static bool     CanConfig( const OUString& rModuleId );

    SaveInData*     GetSaveInData() { return pCurrentSaveInData; }
@@ -495,11 +500,11 @@ public:

class SvxMainMenuOrganizerDialog : public ModalDialog
{
    VclContainer*   m_pMenuBox;
    Edit*           m_pMenuNameEdit;
    SvTreeListBox*  m_pMenuListBox;
    PushButton*     m_pMoveUpButton;
    PushButton*     m_pMoveDownButton;
    VclPtr<VclContainer>   m_pMenuBox;
    VclPtr<Edit>           m_pMenuNameEdit;
    VclPtr<SvTreeListBox>  m_pMenuListBox;
    VclPtr<PushButton>     m_pMoveUpButton;
    VclPtr<PushButton>     m_pMoveDownButton;

    SvxEntries*     mpEntries;
    SvTreeListEntry*    pNewMenuEntry;
@@ -515,6 +520,8 @@ public:
    SvxMainMenuOrganizerDialog (
        vcl::Window*, SvxEntries*,
        SvxConfigEntry*, bool bCreateMenu = false );
    virtual ~SvxMainMenuOrganizerDialog();
    virtual void dispose() SAL_OVERRIDE;

    SvxEntries*     GetEntries() { return mpEntries;}
    void            SetEntries( SvxEntries* );
@@ -526,7 +533,7 @@ class SvxToolbarEntriesListBox : public SvxMenuEntriesListBox
    Size            m_aCheckBoxImageSizePixel;
    Link            m_aChangedListener;
    SvLBoxButtonData*   m_pButtonData;
    SvxConfigPage*  pPage;
    VclPtr<SvxConfigPage>  pPage;

    void            ChangeVisibility( SvTreeListEntry* pEntry );

@@ -662,8 +669,8 @@ public:
class SvxNewToolbarDialog : public ModalDialog
{
private:
    Edit*           m_pEdtName;
    OKButton*       m_pBtnOK;
    VclPtr<Edit>           m_pEdtName;
    VclPtr<OKButton>       m_pBtnOK;

    Link            aCheckNameHdl;

@@ -671,8 +678,10 @@ private:

public:
    SvxNewToolbarDialog(vcl::Window* pWindow, const OUString& rName);
    virtual ~SvxNewToolbarDialog();
    virtual void dispose() SAL_OVERRIDE;

    ListBox*        m_pSaveInListBox;
    VclPtr<ListBox>        m_pSaveInListBox;

    OUString GetName()
    {
@@ -702,10 +711,10 @@ struct SvxIconSelectorToolBoxItem
class SvxIconSelectorDialog : public ModalDialog
{
private:
    ToolBox*        pTbSymbol;
    FixedText*      pFtNote;
    PushButton*     pBtnImport;
    PushButton*     pBtnDelete;
    VclPtr<ToolBox>        pTbSymbol;
    VclPtr<FixedText>      pFtNote;
    VclPtr<PushButton>     pBtnImport;
    VclPtr<PushButton>     pBtnDelete;
    Size            aTbSize;
    sal_uInt16      m_nNextId;

@@ -770,10 +779,12 @@ public:
class SvxIconChangeDialog : public ModalDialog
{
private:
    FixedImage*         pFImageInfo;
    VclMultiLineEdit*   pLineEditDescription;
    VclPtr<FixedImage>         pFImageInfo;
    VclPtr<VclMultiLineEdit>   pLineEditDescription;
public:
    SvxIconChangeDialog(vcl::Window *pWindow, const OUString& aMessage);
    virtual ~SvxIconChangeDialog();
    virtual void dispose() SAL_OVERRIDE;
};
#endif // INCLUDED_CUI_SOURCE_INC_CFG_HXX

diff --git a/cui/source/inc/cfgutil.hxx b/cui/source/inc/cfgutil.hxx
index e4e557d..984e8e9 100644
--- a/cui/source/inc/cfgutil.hxx
+++ b/cui/source/inc/cfgutil.hxx
@@ -128,7 +128,7 @@ struct SvxConfigGroupBoxResource_Impl;
class SfxConfigGroupListBox : public SvTreeListBox
{
    SvxConfigGroupBoxResource_Impl* pImp;
    SfxConfigFunctionListBox*  pFunctionListBox;
    VclPtr<SfxConfigFunctionListBox>  pFunctionListBox;
    SfxGroupInfoArr_Impl            aArr;

    OUString m_sModuleLongName;
diff --git a/cui/source/inc/chardlg.hxx b/cui/source/inc/chardlg.hxx
index da60c36..f1075a9 100644
--- a/cui/source/inc/chardlg.hxx
+++ b/cui/source/inc/chardlg.hxx
@@ -47,7 +47,7 @@ class FontList;
class SvxCharBasePage : public SfxTabPage
{
protected:
    SvxFontPrevWindow*  m_pPreviewWin;
    VclPtr<SvxFontPrevWindow>  m_pPreviewWin;

    bool                m_bPreviewBackgroundToCharacter;

@@ -61,6 +61,9 @@ protected:
    inline SvxFont&     GetPreviewCTLFont();

public:
    virtual ~SvxCharBasePage();
    virtual void dispose() SAL_OVERRIDE;

    using SfxTabPage::ActivatePage;
    using SfxTabPage::DeactivatePage;

@@ -77,38 +80,38 @@ class SvxCharNamePage : public SvxCharBasePage

private:
    static const sal_uInt16 pNameRanges[];
    VclContainer*       m_pWestFrame;
    FixedText*          m_pWestFontNameFT;
    FontNameBox*        m_pWestFontNameLB;
    FixedText*          m_pWestFontStyleFT;
    FontStyleBox*       m_pWestFontStyleLB;
    FixedText*          m_pWestFontSizeFT;
    FontSizeBox*        m_pWestFontSizeLB;
    FixedText*          m_pWestFontLanguageFT;
    SvxLanguageComboBox* m_pWestFontLanguageLB;
    FixedText*          m_pWestFontTypeFT;
    VclPtr<VclContainer>       m_pWestFrame;
    VclPtr<FixedText>          m_pWestFontNameFT;
    VclPtr<FontNameBox>        m_pWestFontNameLB;
    VclPtr<FixedText>          m_pWestFontStyleFT;
    VclPtr<FontStyleBox>       m_pWestFontStyleLB;
    VclPtr<FixedText>          m_pWestFontSizeFT;
    VclPtr<FontSizeBox>        m_pWestFontSizeLB;
    VclPtr<FixedText>          m_pWestFontLanguageFT;
    VclPtr<SvxLanguageComboBox> m_pWestFontLanguageLB;
    VclPtr<FixedText>          m_pWestFontTypeFT;

    VclContainer*       m_pEastFrame;
    FixedText*          m_pEastFontNameFT;
    FontNameBox*        m_pEastFontNameLB;
    FixedText*          m_pEastFontStyleFT;
    FontStyleBox*       m_pEastFontStyleLB;
    FixedText*          m_pEastFontSizeFT;
    FontSizeBox*        m_pEastFontSizeLB;
    FixedText*          m_pEastFontLanguageFT;
    SvxLanguageBox*     m_pEastFontLanguageLB;
    FixedText*          m_pEastFontTypeFT;
    VclPtr<VclContainer>       m_pEastFrame;
    VclPtr<FixedText>          m_pEastFontNameFT;
    VclPtr<FontNameBox>        m_pEastFontNameLB;
    VclPtr<FixedText>          m_pEastFontStyleFT;
    VclPtr<FontStyleBox>       m_pEastFontStyleLB;
    VclPtr<FixedText>          m_pEastFontSizeFT;
    VclPtr<FontSizeBox>        m_pEastFontSizeLB;
    VclPtr<FixedText>          m_pEastFontLanguageFT;
    VclPtr<SvxLanguageBox>     m_pEastFontLanguageLB;
    VclPtr<FixedText>          m_pEastFontTypeFT;

    VclContainer*       m_pCTLFrame;
    FixedText*          m_pCTLFontNameFT;
    FontNameBox*        m_pCTLFontNameLB;
    FixedText*          m_pCTLFontStyleFT;
    FontStyleBox*       m_pCTLFontStyleLB;
    FixedText*          m_pCTLFontSizeFT;
    FontSizeBox*        m_pCTLFontSizeLB;
    FixedText*          m_pCTLFontLanguageFT;
    SvxLanguageBox*     m_pCTLFontLanguageLB;
    FixedText*          m_pCTLFontTypeFT;
    VclPtr<VclContainer>       m_pCTLFrame;
    VclPtr<FixedText>          m_pCTLFontNameFT;
    VclPtr<FontNameBox>        m_pCTLFontNameLB;
    VclPtr<FixedText>          m_pCTLFontStyleFT;
    VclPtr<FontStyleBox>       m_pCTLFontStyleLB;
    VclPtr<FixedText>          m_pCTLFontSizeFT;
    VclPtr<FontSizeBox>        m_pCTLFontSizeLB;
    VclPtr<FixedText>          m_pCTLFontLanguageFT;
    VclPtr<SvxLanguageBox>     m_pCTLFontLanguageLB;
    VclPtr<FixedText>          m_pCTLFontTypeFT;

    SvxCharNamePage_Impl*   m_pImpl;

@@ -175,37 +178,37 @@ class SvxCharEffectsPage : public SvxCharBasePage

private:
    static const sal_uInt16 pEffectsRanges[];
    FixedText*          m_pFontColorFT;
    ColorListBox*       m_pFontColorLB;
    VclPtr<FixedText>          m_pFontColorFT;
    VclPtr<ColorListBox>       m_pFontColorLB;

    FixedText*          m_pEffectsFT;
    ListBox*            m_pEffectsLB;
    VclPtr<FixedText>          m_pEffectsFT;
    VclPtr<ListBox>            m_pEffectsLB;

    FixedText*          m_pReliefFT;
    ListBox*            m_pReliefLB;
    VclPtr<FixedText>          m_pReliefFT;
    VclPtr<ListBox>            m_pReliefLB;

    TriStateBox*        m_pOutlineBtn;
    TriStateBox*        m_pShadowBtn;
    TriStateBox*        m_pBlinkingBtn;
    TriStateBox*        m_pHiddenBtn;
    VclPtr<TriStateBox>        m_pOutlineBtn;
    VclPtr<TriStateBox>        m_pShadowBtn;
    VclPtr<TriStateBox>        m_pBlinkingBtn;
    VclPtr<TriStateBox>        m_pHiddenBtn;

    ListBox*            m_pOverlineLB;
    FixedText*          m_pOverlineColorFT;
    ColorListBox*       m_pOverlineColorLB;
    VclPtr<ListBox>            m_pOverlineLB;
    VclPtr<FixedText>          m_pOverlineColorFT;
    VclPtr<ColorListBox>       m_pOverlineColorLB;

    ListBox*            m_pStrikeoutLB;
    VclPtr<ListBox>            m_pStrikeoutLB;

    ListBox*            m_pUnderlineLB;
    FixedText*          m_pUnderlineColorFT;
    ColorListBox*       m_pUnderlineColorLB;
    VclPtr<ListBox>            m_pUnderlineLB;
    VclPtr<FixedText>          m_pUnderlineColorFT;
    VclPtr<ColorListBox>       m_pUnderlineColorLB;

    CheckBox*           m_pIndividualWordsBtn;
    VclPtr<CheckBox>           m_pIndividualWordsBtn;

    FixedText*          m_pEmphasisFT;
    ListBox*            m_pEmphasisLB;
    VclPtr<FixedText>          m_pEmphasisFT;
    VclPtr<ListBox>            m_pEmphasisLB;

    FixedText*          m_pPositionFT;
    ListBox*            m_pPositionLB;
    VclPtr<FixedText>          m_pPositionFT;
    VclPtr<ListBox>            m_pPositionLB;

    sal_uInt16          m_nHtmlMode;

@@ -226,8 +229,10 @@ private:
    DECL_LINK(          ColorBoxSelectHdl_Impl, ColorListBox* );

public:
    using SfxTabPage::DeactivatePage;
    virtual ~SvxCharEffectsPage();
    virtual void dispose() SAL_OVERRIDE;

    using SfxTabPage::DeactivatePage;
    virtual int         DeactivatePage( SfxItemSet* pSet = 0 ) SAL_OVERRIDE;

public:
@@ -252,30 +257,30 @@ class SvxCharPositionPage : public SvxCharBasePage
    static const sal_uInt16 pPositionRanges[];

private:
    RadioButton*        m_pHighPosBtn;
    RadioButton*        m_pNormalPosBtn;
    RadioButton*        m_pLowPosBtn;
    FixedText*          m_pHighLowFT;
    MetricField*        m_pHighLowMF;
    CheckBox*           m_pHighLowRB;
    FixedText*          m_pFontSizeFT;
    MetricField*        m_pFontSizeMF;
    VclPtr<RadioButton>        m_pHighPosBtn;
    VclPtr<RadioButton>        m_pNormalPosBtn;
    VclPtr<RadioButton>        m_pLowPosBtn;
    VclPtr<FixedText>          m_pHighLowFT;
    VclPtr<MetricField>        m_pHighLowMF;
    VclPtr<CheckBox>           m_pHighLowRB;
    VclPtr<FixedText>          m_pFontSizeFT;
    VclPtr<MetricField>        m_pFontSizeMF;

    VclContainer*       m_pRotationContainer;
    VclPtr<VclContainer>       m_pRotationContainer;

    FixedText*          m_pScalingFT;
    FixedText*          m_pScalingAndRotationFT;
    RadioButton*        m_p0degRB;
    RadioButton*        m_p90degRB;
    RadioButton*        m_p270degRB;
    CheckBox*           m_pFitToLineCB;
    VclPtr<FixedText>          m_pScalingFT;
    VclPtr<FixedText>          m_pScalingAndRotationFT;
    VclPtr<RadioButton>        m_p0degRB;
    VclPtr<RadioButton>        m_p90degRB;
    VclPtr<RadioButton>        m_p270degRB;
    VclPtr<CheckBox>           m_pFitToLineCB;

    MetricField*        m_pScaleWidthMF;
    VclPtr<MetricField>        m_pScaleWidthMF;

    ListBox*            m_pKerningLB;
    FixedText*          m_pKerningFT;
    MetricField*        m_pKerningMF;
    CheckBox*           m_pPairKerningBtn;
    VclPtr<ListBox>            m_pKerningLB;
    VclPtr<FixedText>          m_pKerningFT;
    VclPtr<MetricField>        m_pKerningMF;
    VclPtr<CheckBox>           m_pPairKerningBtn;

    short               m_nSuperEsc;
    short               m_nSubEsc;
@@ -304,6 +309,9 @@ private:
    DECL_LINK(ScaleWidthModifyHdl_Impl, void *);

public:
    virtual ~SvxCharPositionPage();
    virtual void dispose() SAL_OVERRIDE;

    using SfxTabPage::ActivatePage;
    using SfxTabPage::DeactivatePage;

@@ -328,10 +336,10 @@ class SvxCharTwoLinesPage : public SvxCharBasePage
{
private:
    static const sal_uInt16 pTwoLinesRanges[];
    CheckBox*           m_pTwoLinesBtn;
    VclContainer*       m_pEnclosingFrame;
    ListBox*            m_pStartBracketLB;
    ListBox*            m_pEndBracketLB;
    VclPtr<CheckBox>           m_pTwoLinesBtn;
    VclPtr<VclContainer>       m_pEnclosingFrame;
    VclPtr<ListBox>            m_pStartBracketLB;
    VclPtr<ListBox>            m_pEndBracketLB;

    sal_uInt16              m_nStartBracketPosition;
    sal_uInt16              m_nEndBracketPosition;
@@ -347,13 +355,15 @@ private:
    DECL_LINK(          CharacterMapHdl_Impl, ListBox* );

public:
    virtual ~SvxCharTwoLinesPage();
    virtual void dispose() SAL_OVERRIDE;

    using SfxTabPage::ActivatePage;
    using SfxTabPage::DeactivatePage;

    virtual void        ActivatePage( const SfxItemSet& rSet ) SAL_OVERRIDE;
    virtual int         DeactivatePage( SfxItemSet* pSet = 0 ) SAL_OVERRIDE;

public:
    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rSet );
    static const sal_uInt16*  GetRanges() { return pTwoLinesRanges; }

diff --git a/cui/source/inc/connect.hxx b/cui/source/inc/connect.hxx
index b079eef..aae2744 100644
--- a/cui/source/inc/connect.hxx
+++ b/cui/source/inc/connect.hxx
@@ -34,21 +34,21 @@ class SvxConnectionPage : public SfxTabPage
{
private:
    static const sal_uInt16 pRanges[];
    ListBox*             m_pLbType;
    VclPtr<ListBox>             m_pLbType;

    FixedText*           m_pFtLine1;
    MetricField*         m_pMtrFldLine1;
    FixedText*           m_pFtLine2;
    MetricField*         m_pMtrFldLine2;
    FixedText*           m_pFtLine3;
    MetricField*         m_pMtrFldLine3;
    VclPtr<FixedText>           m_pFtLine1;
    VclPtr<MetricField>         m_pMtrFldLine1;
    VclPtr<FixedText>           m_pFtLine2;
    VclPtr<MetricField>         m_pMtrFldLine2;
    VclPtr<FixedText>           m_pFtLine3;
    VclPtr<MetricField>         m_pMtrFldLine3;

    MetricField*         m_pMtrFldHorz1;
    MetricField*         m_pMtrFldVert1;
    MetricField*         m_pMtrFldHorz2;
    MetricField*         m_pMtrFldVert2;
    VclPtr<MetricField>         m_pMtrFldHorz1;
    VclPtr<MetricField>         m_pMtrFldVert1;
    VclPtr<MetricField>         m_pMtrFldHorz2;
    VclPtr<MetricField>         m_pMtrFldVert2;

    SvxXConnectionPreview*   m_pCtlPreview;
    VclPtr<SvxXConnectionPreview>   m_pCtlPreview;

    const SfxItemSet&   rOutAttrs;
    SfxItemSet          aAttrSet;
@@ -62,6 +62,8 @@ private:
public:

    SvxConnectionPage( vcl::Window* pWindow, const SfxItemSet& rInAttrs );
    virtual ~SvxConnectionPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window*, const SfxItemSet* );
    static const sal_uInt16* GetRanges() { return pRanges; }
diff --git a/cui/source/inc/cuicharmap.hxx b/cui/source/inc/cuicharmap.hxx
index dfe0d98..596d323 100644
--- a/cui/source/inc/cuicharmap.hxx
+++ b/cui/source/inc/cuicharmap.hxx
@@ -67,16 +67,16 @@ private:

    void            init();

    SvxShowCharSet* m_pShowSet;
    Edit*           m_pShowText;
    PushButton*     m_pOKBtn;
    FixedText*      m_pFontText;
    ListBox*        m_pFontLB;
    FixedText*      m_pSubsetText;
    ListBox*        m_pSubsetLB;
    FixedText*      m_pSymbolText;
    SvxShowText*    m_pShowChar;
    FixedText*      m_pCharCodeText;
    VclPtr<SvxShowCharSet> m_pShowSet;
    VclPtr<Edit>           m_pShowText;
    VclPtr<PushButton>     m_pOKBtn;
    VclPtr<FixedText>      m_pFontText;
    VclPtr<ListBox>        m_pFontLB;
    VclPtr<FixedText>      m_pSubsetText;
    VclPtr<ListBox>        m_pSubsetLB;
    VclPtr<FixedText>      m_pSymbolText;
    VclPtr<SvxShowText>    m_pShowChar;
    VclPtr<FixedText>      m_pCharCodeText;
    vcl::Font       aFont;
    bool            bOne;
    const SubsetMap* pSubsetMap;
@@ -93,6 +93,8 @@ private:

public:
                    SvxCharacterMap( vcl::Window* pParent, bool bOne=true, const SfxItemSet* pSet=0 );
    virtual         ~SvxCharacterMap();
    virtual void    dispose() SAL_OVERRIDE;

    void            DisableFontSelection();

diff --git a/cui/source/inc/cuifmsearch.hxx b/cui/source/inc/cuifmsearch.hxx
index 96dacaf..d56c9d5 100644
--- a/cui/source/inc/cuifmsearch.hxx
+++ b/cui/source/inc/cuifmsearch.hxx
@@ -47,36 +47,36 @@ class FmSearchDialog : public ModalDialog
    friend class FmSearchEngine;

    // my all Controls
    RadioButton     *m_prbSearchForText;
    RadioButton     *m_prbSearchForNull;
    RadioButton     *m_prbSearchForNotNull;
    ComboBox        *m_pcmbSearchText;
    FixedText       *m_pftForm;
    ListBox         *m_plbForm;
    RadioButton     *m_prbAllFields;
    RadioButton     *m_prbSingleField;
    ListBox         *m_plbField;
    FixedText       *m_pftPosition;
    ListBox         *m_plbPosition;
    CheckBox        *m_pcbUseFormat;
    CheckBox        *m_pcbCase;
    CheckBox        *m_pcbBackwards;
    CheckBox        *m_pcbStartOver;
    CheckBox        *m_pcbWildCard;
    CheckBox        *m_pcbRegular;
    CheckBox        *m_pcbApprox;
    PushButton      *m_ppbApproxSettings;
    CheckBox        *m_pHalfFullFormsCJK;
    CheckBox        *m_pSoundsLikeCJK;
    PushButton      *m_pSoundsLikeCJKSettings;
    FixedText       *m_pftRecord;
    FixedText       *m_pftHint;
    PushButton      *m_pbSearchAgain;
    CancelButton    *m_pbClose;
    VclPtr<RadioButton>     m_prbSearchForText;
    VclPtr<RadioButton>     m_prbSearchForNull;
    VclPtr<RadioButton>     m_prbSearchForNotNull;
    VclPtr<ComboBox>        m_pcmbSearchText;
    VclPtr<FixedText>       m_pftForm;
    VclPtr<ListBox>         m_plbForm;
    VclPtr<RadioButton>     m_prbAllFields;
    VclPtr<RadioButton>     m_prbSingleField;
    VclPtr<ListBox>         m_plbField;
    VclPtr<FixedText>       m_pftPosition;
    VclPtr<ListBox>         m_plbPosition;
    VclPtr<CheckBox>        m_pcbUseFormat;
    VclPtr<CheckBox>        m_pcbCase;
    VclPtr<CheckBox>        m_pcbBackwards;
    VclPtr<CheckBox>        m_pcbStartOver;
    VclPtr<CheckBox>        m_pcbWildCard;
    VclPtr<CheckBox>        m_pcbRegular;
    VclPtr<CheckBox>        m_pcbApprox;
    VclPtr<PushButton>      m_ppbApproxSettings;
    VclPtr<CheckBox>        m_pHalfFullFormsCJK;
    VclPtr<CheckBox>        m_pSoundsLikeCJK;
    VclPtr<PushButton>      m_pSoundsLikeCJKSettings;
    VclPtr<FixedText>       m_pftRecord;
    VclPtr<FixedText>       m_pftHint;
    VclPtr<PushButton>      m_pbSearchAgain;
    VclPtr<CancelButton>    m_pbClose;
    OUString        m_sSearch;
    OUString        m_sCancel;

    vcl::Window*         m_pPreSearchFocus;
    VclPtr<vcl::Window>         m_pPreSearchFocus;

    Link    m_lnkFoundHandler;          ///< Handler for "found"
    Link    m_lnkCanceledNotFoundHdl;   ///< Handler for Positioning the Cursors
diff --git a/cui/source/inc/cuigaldlg.hxx b/cui/source/inc/cuigaldlg.hxx
index 2c82170..e02d6a1 100644
--- a/cui/source/inc/cuigaldlg.hxx
+++ b/cui/source/inc/cuigaldlg.hxx
@@ -60,8 +60,8 @@ class SearchThread: public salhelper::Thread
{
private:

    SearchProgress*             mpProgress;
    TPGalleryThemeProperties*   mpBrowser;
    VclPtr<SearchProgress>             mpProgress;
    VclPtr<TPGalleryThemeProperties>   mpBrowser;
    INetURLObject               maStartURL;

    void                        ImplSearch( const INetURLObject& rStartURL,
@@ -81,10 +81,10 @@ public:
class SearchProgress : public ModalDialog
{
private:
    FixedText*          m_pFtSearchDir;
    FixedText*          m_pFtSearchType;
    CancelButton*       m_pBtnCancel;
    vcl::Window * parent_;
    VclPtr<FixedText>          m_pFtSearchDir;
    VclPtr<FixedText>          m_pFtSearchType;
    VclPtr<CancelButton>       m_pBtnCancel;
    VclPtr<vcl::Window>        parent_;
    INetURLObject startUrl_;
    rtl::Reference< SearchThread > maSearchThread;

@@ -93,6 +93,8 @@ private:

public:
                        SearchProgress( vcl::Window* pParent, const INetURLObject& rStartURL );
    virtual             ~SearchProgress();
    virtual void        dispose() SAL_OVERRIDE;

                        DECL_LINK( CleanUpHdl, void* );

@@ -106,8 +108,8 @@ class TakeThread: public salhelper::Thread
{
private:

    TakeProgress*               mpProgress;
    TPGalleryThemeProperties*   mpBrowser;
    VclPtr<TakeProgress>               mpProgress;
    VclPtr<TPGalleryThemeProperties>   mpBrowser;
    TokenList_impl&             mrTakenList;

    virtual                     ~TakeThread();
@@ -125,9 +127,9 @@ public:
class TakeProgress : public ModalDialog
{
private:
    FixedText*          m_pFtTakeFile;
    CancelButton*       m_pBtnCancel;
    vcl::Window * window_;
    VclPtr<FixedText>          m_pFtTakeFile;
    VclPtr<CancelButton>       m_pBtnCancel;
    VclPtr<vcl::Window>        window_;
    rtl::Reference< TakeThread > maTakeThread;
    TokenList_impl      maTakenList;

@@ -137,6 +139,8 @@ private:
public:

    TakeProgress( vcl::Window* pWindow );
    virtual ~TakeProgress();
    virtual void dispose() SAL_OVERRIDE;

    DECL_LINK( CleanUpHdl, void* );

@@ -148,8 +152,8 @@ public:
class ActualizeProgress : public ModalDialog
{
private:
    FixedText*          m_pFtActualizeFile;
    CancelButton*       m_pBtnCancel;
    VclPtr<FixedText>          m_pFtActualizeFile;
    VclPtr<CancelButton>       m_pBtnCancel;
    Idle*               pIdle;
    GalleryTheme*       pTheme;
    GalleryProgress     aStatusProgress;
@@ -160,6 +164,8 @@ private:

public:
                        ActualizeProgress( vcl::Window* pWindow, GalleryTheme* pThm );
    virtual             ~ActualizeProgress();
    virtual void        dispose() SAL_OVERRIDE;

    virtual short       Execute() SAL_OVERRIDE;
};
@@ -167,23 +173,27 @@ public:
class TitleDialog : public ModalDialog
{
private:
    Edit* m_pEdit;
    VclPtr<Edit> m_pEdit;
public:
    TitleDialog(vcl::Window* pParent, const OUString& rOldText);
    virtual ~TitleDialog();
    virtual void dispose() SAL_OVERRIDE;
    OUString GetTitle() const { return m_pEdit->GetText(); }
};

class GalleryIdDialog : public ModalDialog
{
private:
    OKButton* m_pBtnOk;
    ListBox* m_pLbResName;
    VclPtr<OKButton> m_pBtnOk;
    VclPtr<ListBox> m_pLbResName;
    GalleryTheme*   pThm;

    DECL_LINK( ClickOkHdl, void* );
    DECL_LINK( ClickResNameHdl, void* );
public:
    GalleryIdDialog( vcl::Window* pParent, GalleryTheme* pThm );
    virtual ~GalleryIdDialog();
    virtual void dispose() SAL_OVERRIDE;
    sal_uLong GetId() const { return m_pLbResName->GetSelectEntryPos(); }
};

@@ -204,12 +214,12 @@ class TPGalleryThemeGeneral : public SfxTabPage
{
private:

    FixedImage*         m_pFiMSImage;
    Edit*               m_pEdtMSName;
    FixedText*          m_pFtMSShowType;
    FixedText*          m_pFtMSShowPath;
    FixedText*          m_pFtMSShowContent;
    FixedText*          m_pFtMSShowChangeDate;
    VclPtr<FixedImage>         m_pFiMSImage;
    VclPtr<Edit>               m_pEdtMSName;
    VclPtr<FixedText>          m_pFtMSShowType;
    VclPtr<FixedText>          m_pFtMSShowPath;
    VclPtr<FixedText>          m_pFtMSShowContent;
    VclPtr<FixedText>          m_pFtMSShowChangeDate;
    ExchangeData*       pData;

    virtual void        Reset( const SfxItemSet* ) SAL_OVERRIDE {}
@@ -219,6 +229,8 @@ private:
public:

                        TPGalleryThemeGeneral( vcl::Window* pParent, const SfxItemSet& rSet );
    virtual             ~TPGalleryThemeGeneral();
    virtual void        dispose() SAL_OVERRIDE;

    void                SetXChgData( ExchangeData* pData );
    const ExchangeData* GetXChgData() const { return pData; }
@@ -234,13 +246,13 @@ class TPGalleryThemeProperties : public SfxTabPage
    friend class TakeProgress;
    friend class TakeThread;

    ComboBox*           m_pCbbFileType;
    ListBox*            m_pLbxFound;
    PushButton*         m_pBtnSearch;
    PushButton*         m_pBtnTake;
    PushButton*         m_pBtnTakeAll;
    CheckBox*           m_pCbxPreview;
    GalleryPreview*     m_pWndPreview;
    VclPtr<ComboBox>           m_pCbbFileType;
    VclPtr<ListBox>            m_pLbxFound;
    VclPtr<PushButton>         m_pBtnSearch;
    VclPtr<PushButton>         m_pBtnTake;
    VclPtr<PushButton>         m_pBtnTakeAll;
    VclPtr<CheckBox>           m_pCbxPreview;
    VclPtr<GalleryPreview>     m_pWndPreview;

    ExchangeData*           pData;
    StringList              aFoundList;
diff --git a/cui/source/inc/cuigrfflt.hxx b/cui/source/inc/cuigrfflt.hxx
index 1fb1393..f43685d 100644
--- a/cui/source/inc/cuigrfflt.hxx
+++ b/cui/source/inc/cuigrfflt.hxx
@@ -77,7 +77,7 @@ private:
    DECL_LINK( ImplModifyHdl, void* p );

protected:
    GraphicPreviewWindow*  mpPreview;
    VclPtr<GraphicPreviewWindow>  mpPreview;

    const Link&     GetModifyHdl() const { return maModifyHdl; }
    const Size&     GetGraphicSizePixel() const { return maSizePixel; }
@@ -85,6 +85,8 @@ protected:
public:

    GraphicFilterDialog(vcl::Window* pParent, const OUString& rID, const OUString& rUIXMLDescription, const Graphic& rGraphic);
    virtual ~GraphicFilterDialog();
    virtual void dispose() SAL_OVERRIDE;

    virtual Graphic GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY ) = 0;
};
@@ -97,11 +99,13 @@ public:
class GraphicFilterSmooth : public GraphicFilterDialog
{
private:
    NumericField*   mpMtrRadius;
    VclPtr<NumericField>   mpMtrRadius;

public:

    GraphicFilterSmooth( vcl::Window* pParent, const Graphic& rGraphic, double nRadius);
    virtual ~GraphicFilterSmooth();
    virtual void dispose() SAL_OVERRIDE;

    virtual Graphic GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY ) SAL_OVERRIDE;
    double          GetRadius() const { return mpMtrRadius->GetValue() / 10.0; }
@@ -114,14 +118,16 @@ public:
class GraphicFilterMosaic : public GraphicFilterDialog
{
private:
    MetricField*    mpMtrWidth;
    MetricField*    mpMtrHeight;
    CheckBox*       mpCbxEdges;
    VclPtr<MetricField>    mpMtrWidth;
    VclPtr<MetricField>    mpMtrHeight;
    VclPtr<CheckBox>       mpCbxEdges;

public:

    GraphicFilterMosaic(vcl::Window* pParent, const Graphic& rGraphic,
        sal_uInt16 nTileWidth, sal_uInt16 nTileHeight, bool bEnhanceEdges);
    virtual ~GraphicFilterMosaic();
    virtual void dispose() SAL_OVERRIDE;

    virtual Graphic GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY ) SAL_OVERRIDE;
    long            GetTileWidth() const { return static_cast<long>(mpMtrWidth->GetValue()); }
@@ -136,13 +142,15 @@ public:
class GraphicFilterSolarize : public GraphicFilterDialog
{
private:
    MetricField*    mpMtrThreshold;
    CheckBox*       mpCbxInvert;
    VclPtr<MetricField>    mpMtrThreshold;
    VclPtr<CheckBox>       mpCbxInvert;

public:

    GraphicFilterSolarize( vcl::Window* pParent, const Graphic& rGraphic,
                                           sal_uInt8 nGreyThreshold, bool bInvert );
    virtual ~GraphicFilterSolarize();
    virtual void dispose() SAL_OVERRIDE;

    virtual Graphic     GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY ) SAL_OVERRIDE;
    sal_uInt8           GetGreyThreshold() const { return( (sal_uInt8) FRound( mpMtrThreshold->GetValue() * 2.55 ) ); }
@@ -156,10 +164,12 @@ public:
class GraphicFilterSepia : public GraphicFilterDialog
{
private:
    MetricField*    mpMtrSepia;
    VclPtr<MetricField>    mpMtrSepia;
public:
    GraphicFilterSepia( vcl::Window* pParent, const Graphic& rGraphic,
                        sal_uInt16 nSepiaPercent );
    virtual ~GraphicFilterSepia();
    virtual void dispose() SAL_OVERRIDE;
    virtual Graphic GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY ) SAL_OVERRIDE;
    sal_uInt16 GetSepiaPercent() const
    {
@@ -174,10 +184,12 @@ public:
class GraphicFilterPoster : public GraphicFilterDialog
{
private:
    NumericField*   mpNumPoster;
    VclPtr<NumericField>   mpNumPoster;
public:
    GraphicFilterPoster( vcl::Window* pParent, const Graphic& rGraphic,
                         sal_uInt16 nPosterColorCount );
    virtual ~GraphicFilterPoster();
    virtual void dispose() SAL_OVERRIDE;

    virtual Graphic GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY ) SAL_OVERRIDE;
    sal_uInt16      GetPosterColorCount() const { return( (sal_uInt16) mpNumPoster->GetValue() ); }
@@ -203,10 +215,12 @@ public:
class GraphicFilterEmboss : public GraphicFilterDialog
{
private:
    EmbossControl*  mpCtlLight;
    VclPtr<EmbossControl>  mpCtlLight;
public:
    GraphicFilterEmboss( vcl::Window* pParent, const Graphic& rGraphic,
                         RECT_POINT eLightSource );
    virtual ~GraphicFilterEmboss();
    virtual void dispose() SAL_OVERRIDE;

    virtual Graphic GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY ) SAL_OVERRIDE;
    RECT_POINT      GetLightSource() const { return mpCtlLight->GetActualRP(); }
diff --git a/cui/source/inc/cuihyperdlg.hxx b/cui/source/inc/cuihyperdlg.hxx
index 93de02f..b856337 100644
--- a/cui/source/inc/cuihyperdlg.hxx
+++ b/cui/source/inc/cuihyperdlg.hxx
@@ -38,7 +38,7 @@ class SvxHpLinkDlg;
class SvxHlinkCtrl : public SfxControllerItem
{
private :
    SvxHpLinkDlg *pParent;
    VclPtr<SvxHpLinkDlg> pParent;

    SfxStatusForwarder aRdOnlyForwarder;

diff --git a/cui/source/inc/cuiimapwnd.hxx b/cui/source/inc/cuiimapwnd.hxx
index 3266a2a..87c7e54 100644
--- a/cui/source/inc/cuiimapwnd.hxx
+++ b/cui/source/inc/cuiimapwnd.hxx
@@ -33,11 +33,11 @@

class URLDlg : public ModalDialog
{
    Edit*                m_pEdtURL;
    ComboBox*            m_pCbbTargets;
    Edit*                m_pEdtName;
    Edit*                m_pEdtAlternativeText;
    VclMultiLineEdit*       m_pEdtDescription;
    VclPtr<Edit>                m_pEdtURL;
    VclPtr<ComboBox>            m_pCbbTargets;
    VclPtr<Edit>                m_pEdtName;
    VclPtr<Edit>                m_pEdtAlternativeText;
    VclPtr<VclMultiLineEdit>       m_pEdtDescription;

public:

@@ -45,6 +45,8 @@ public:
                                const OUString& rURL, const OUString& rAlternativeText, const OUString& rDescription,
                                const OUString& rTarget, const OUString& rName,
                                TargetList& rTargetList );
    virtual             ~URLDlg();
    virtual void        dispose() SAL_OVERRIDE;

    OUString            GetURL() const { return m_pEdtURL->GetText(); }
    OUString            GetAltText() const { return m_pEdtAlternativeText->GetText(); }
diff --git a/cui/source/inc/cuioptgenrl.hxx b/cui/source/inc/cuioptgenrl.hxx
index 2febcb8..2a4c295 100644
--- a/cui/source/inc/cuioptgenrl.hxx
+++ b/cui/source/inc/cuioptgenrl.hxx
@@ -40,7 +40,7 @@ class SvxGeneralTabPage : public SfxTabPage
    using TabPage::DeactivatePage;
private:
    // the "Use data for document properties" checkbox
    CheckBox* m_pUseDataCB;
    VclPtr<CheckBox> m_pUseDataCB;
    // rows
    struct Row;
    std::vector<boost::shared_ptr<Row> > vRows;
@@ -64,6 +64,8 @@ protected:

public:
    SvxGeneralTabPage( vcl::Window* pParent, const SfxItemSet& rSet );
    virtual ~SvxGeneralTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rAttrSet );

diff --git a/cui/source/inc/cuisrchdlg.hxx b/cui/source/inc/cuisrchdlg.hxx
index 3dc19f0..376f919 100644
--- a/cui/source/inc/cuisrchdlg.hxx
+++ b/cui/source/inc/cuisrchdlg.hxx
@@ -37,7 +37,7 @@ class SvxJSearchOptionsPage;
class SvxJSearchOptionsDialog : public SfxSingleTabDialog
{
    sal_Int32                   nInitialTlFlags;
    SvxJSearchOptionsPage  *pPage;
    VclPtr<SvxJSearchOptionsPage>  pPage;

    SvxJSearchOptionsDialog( const SvxJSearchOptionsDialog & ) SAL_DELETED_FUNCTION;
    SvxJSearchOptionsDialog & operator == ( const SvxJSearchOptionsDialog & ) SAL_DELETED_FUNCTION;
@@ -45,6 +45,8 @@ class SvxJSearchOptionsDialog : public SfxSingleTabDialog
public:
    SvxJSearchOptionsDialog(vcl::Window *pParent,
        const SfxItemSet& rOptionsSet, sal_Int32 nInitialFlags);
    virtual ~SvxJSearchOptionsDialog();
    virtual void dispose() SAL_OVERRIDE;

    // Window
    virtual void    Activate() SAL_OVERRIDE;
diff --git a/cui/source/inc/cuitabarea.hxx b/cui/source/inc/cuitabarea.hxx
index c3ebd30..42e668c 100644
--- a/cui/source/inc/cuitabarea.hxx
+++ b/cui/source/inc/cuitabarea.hxx
@@ -115,29 +115,29 @@ class SvxTransparenceTabPage : public SvxTabPage
    sal_uInt16             nDlgType;

    // main selection
    RadioButton*        m_pRbtTransOff;
    RadioButton*        m_pRbtTransLinear;
    RadioButton*        m_pRbtTransGradient;
    VclPtr<RadioButton>        m_pRbtTransOff;
    VclPtr<RadioButton>        m_pRbtTransLinear;
    VclPtr<RadioButton>        m_pRbtTransGradient;

    /// linear transparency
    MetricField*        m_pMtrTransparent;
    VclPtr<MetricField>        m_pMtrTransparent;

    // gradient transparency
    VclGrid*            m_pGridGradient;
    ListBox*            m_pLbTrgrGradientType;
    FixedText*          m_pFtTrgrCenterX;
    MetricField*        m_pMtrTrgrCenterX;
    FixedText*          m_pFtTrgrCenterY;
    MetricField*        m_pMtrTrgrCenterY;
    FixedText*          m_pFtTrgrAngle;
    MetricField*        m_pMtrTrgrAngle;
    MetricField*        m_pMtrTrgrBorder;
    MetricField*        m_pMtrTrgrStartValue;
    MetricField*        m_pMtrTrgrEndValue;
    VclPtr<VclGrid>            m_pGridGradient;
    VclPtr<ListBox>            m_pLbTrgrGradientType;
    VclPtr<FixedText>          m_pFtTrgrCenterX;
    VclPtr<MetricField>        m_pMtrTrgrCenterX;
    VclPtr<FixedText>          m_pFtTrgrCenterY;
    VclPtr<MetricField>        m_pMtrTrgrCenterY;
    VclPtr<FixedText>          m_pFtTrgrAngle;
    VclPtr<MetricField>        m_pMtrTrgrAngle;
    VclPtr<MetricField>        m_pMtrTrgrBorder;
    VclPtr<MetricField>        m_pMtrTrgrStartValue;
    VclPtr<MetricField>        m_pMtrTrgrEndValue;

    // preview
    SvxXRectPreview*    m_pCtlBitmapPreview;
    SvxXRectPreview*    m_pCtlXRectPreview;
    VclPtr<SvxXRectPreview>    m_pCtlBitmapPreview;
    VclPtr<SvxXRectPreview>    m_pCtlXRectPreview;
    bool                bBitmap;

    XOutdevItemPool*    pXPool;
@@ -160,6 +160,8 @@ class SvxTransparenceTabPage : public SvxTabPage

public:
    SvxTransparenceTabPage(vcl::Window* pParent, const SfxItemSet& rInAttrs);
    virtual ~SvxTransparenceTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create(vcl::Window*, const SfxItemSet*);
    static const sal_uInt16* GetRanges() { return pTransparenceRanges; }
@@ -183,48 +185,48 @@ class SvxAreaTabPage : public SvxTabPage
    using TabPage::DeactivatePage;
    static const sal_uInt16 pAreaRanges[];
private:
    ListBox*            m_pTypeLB;
    VclPtr<ListBox>            m_pTypeLB;

    VclBox*             m_pFillLB;
    ColorLB*            m_pLbColor;
    GradientLB*         m_pLbGradient;
    HatchingLB*         m_pLbHatching;
    BitmapLB*           m_pLbBitmap;
    SvxXRectPreview*    m_pCtlBitmapPreview;
    VclPtr<VclBox>             m_pFillLB;
    VclPtr<ColorLB>            m_pLbColor;
    VclPtr<GradientLB>         m_pLbGradient;
    VclPtr<HatchingLB>         m_pLbHatching;
    VclPtr<BitmapLB>           m_pLbBitmap;
    VclPtr<SvxXRectPreview>    m_pCtlBitmapPreview;

    TriStateBox*        m_pTsbStepCount;
    VclFrame*           m_pFlStepCount;
    NumericField*       m_pNumFldStepCount;
    VclPtr<TriStateBox>        m_pTsbStepCount;
    VclPtr<VclFrame>           m_pFlStepCount;
    VclPtr<NumericField>       m_pNumFldStepCount;

    VclFrame*           m_pFlHatchBckgrd;
    CheckBox*           m_pCbxHatchBckgrd;
    ColorLB*            m_pLbHatchBckgrdColor;
    VclPtr<VclFrame>           m_pFlHatchBckgrd;
    VclPtr<CheckBox>           m_pCbxHatchBckgrd;
    VclPtr<ColorLB>            m_pLbHatchBckgrdColor;

    VclBox*             m_pBxBitmap;
    VclPtr<VclBox>             m_pBxBitmap;

    VclFrame*           m_pFlSize;
    TriStateBox*        m_pTsbOriginal;
    TriStateBox*        m_pTsbScale;
    VclGrid*            m_pGridX_Y;
    FixedText*          m_pFtXSize;
    MetricField*        m_pMtrFldXSize;
    FixedText*          m_pFtYSize;
    MetricField*        m_pMtrFldYSize;
    VclPtr<VclFrame>           m_pFlSize;
    VclPtr<TriStateBox>        m_pTsbOriginal;
    VclPtr<TriStateBox>        m_pTsbScale;
    VclPtr<VclGrid>            m_pGridX_Y;
    VclPtr<FixedText>          m_pFtXSize;
    VclPtr<MetricField>        m_pMtrFldXSize;
    VclPtr<FixedText>          m_pFtYSize;
    VclPtr<MetricField>        m_pMtrFldYSize;

    VclFrame*           m_pFlPosition;
    SvxRectCtl*         m_pCtlPosition;
    VclGrid*            m_pGridOffset;
    MetricField*        m_pMtrFldXOffset;
    MetricField*        m_pMtrFldYOffset;
    VclBox*             m_pBxTile;
    TriStateBox*        m_pTsbTile;
    TriStateBox*        m_pTsbStretch;
    VclFrame*           m_pFlOffset;
    RadioButton*        m_pRbtRow;
    RadioButton*        m_pRbtColumn;
    MetricField*        m_pMtrFldOffset;
    VclPtr<VclFrame>           m_pFlPosition;
    VclPtr<SvxRectCtl>         m_pCtlPosition;
    VclPtr<VclGrid>            m_pGridOffset;
    VclPtr<MetricField>        m_pMtrFldXOffset;
    VclPtr<MetricField>        m_pMtrFldYOffset;
    VclPtr<VclBox>             m_pBxTile;
    VclPtr<TriStateBox>        m_pTsbTile;
    VclPtr<TriStateBox>        m_pTsbStretch;
    VclPtr<VclFrame>           m_pFlOffset;
    VclPtr<RadioButton>        m_pRbtRow;
    VclPtr<RadioButton>        m_pRbtColumn;
    VclPtr<MetricField>        m_pMtrFldOffset;

    SvxXRectPreview*    m_pCtlXRectPreview;
    VclPtr<SvxXRectPreview>    m_pCtlXRectPreview;

    const SfxItemSet&   rOutAttrs;
    RECT_POINT          eRP;
@@ -264,7 +266,7 @@ private:
    bool                mbDirectGraphicSet;
    Graphic             maDirectGraphic;
    OUString            maDirectName;
    PushButton*         m_pBtnImport;
    VclPtr<PushButton>         m_pBtnImport;

    DECL_LINK(SelectDialogTypeHdl_Impl, void *);
    DECL_LINK( ModifyColorHdl_Impl, void * );
@@ -288,6 +290,8 @@ private:

public:
    SvxAreaTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs );
    virtual ~SvxAreaTabPage();
    virtual void dispose() SAL_OVERRIDE;

    void    Construct();

@@ -326,13 +330,13 @@ class SvxShadowTabPage : public SvxTabPage
    static const sal_uInt16 pShadowRanges[];

private:
    TriStateBox*        m_pTsbShowShadow;
    VclGrid*            m_pGridShadow;
    SvxRectCtl*         m_pCtlPosition;
    MetricField*        m_pMtrDistance;
    ColorLB*            m_pLbShadowColor;
    MetricField*        m_pMtrTransparent;
    SvxXShadowPreview*  m_pCtlXRectPreview;
    VclPtr<TriStateBox>        m_pTsbShowShadow;
    VclPtr<VclGrid>            m_pGridShadow;
    VclPtr<SvxRectCtl>         m_pCtlPosition;
    VclPtr<MetricField>        m_pMtrDistance;
    VclPtr<ColorLB>            m_pLbShadowColor;
    VclPtr<MetricField>        m_pMtrTransparent;
    VclPtr<SvxXShadowPreview>  m_pCtlXRectPreview;

    const SfxItemSet&   rOutAttrs;
    RECT_POINT          eRP;
@@ -355,6 +359,8 @@ private:

public:
    SvxShadowTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs  );
    virtual ~SvxShadowTabPage();
    virtual void dispose() SAL_OVERRIDE;

    void    Construct();
    static  SfxTabPage* Create( vcl::Window*, const SfxItemSet* );
@@ -383,25 +389,25 @@ class SvxGradientTabPage : public SfxTabPage
    using TabPage::DeactivatePage;

private:
    ListBox*            m_pLbGradientType;
    FixedText*          m_pFtCenterX;
    MetricField*        m_pMtrCenterX;
    FixedText*          m_pFtCenterY;
    MetricField*        m_pMtrCenterY;
    FixedText*          m_pFtAngle;
    MetricField*        m_pMtrAngle;
    MetricField*        m_pMtrBorder;
    ColorLB*            m_pLbColorFrom;
    MetricField*        m_pMtrColorFrom;
    ColorLB*            m_pLbColorTo;
    MetricField*        m_pMtrColorTo;
    GradientLB*         m_pLbGradients;
    SvxXRectPreview*    m_pCtlPreview;
    PushButton*         m_pBtnAdd;
    PushButton*         m_pBtnModify;
    PushButton*         m_pBtnDelete;
    PushButton*         m_pBtnLoad;
    PushButton*         m_pBtnSave;
    VclPtr<ListBox>            m_pLbGradientType;
    VclPtr<FixedText>          m_pFtCenterX;
    VclPtr<MetricField>        m_pMtrCenterX;
    VclPtr<FixedText>          m_pFtCenterY;
    VclPtr<MetricField>        m_pMtrCenterY;
    VclPtr<FixedText>          m_pFtAngle;
    VclPtr<MetricField>        m_pMtrAngle;
    VclPtr<MetricField>        m_pMtrBorder;
    VclPtr<ColorLB>            m_pLbColorFrom;
    VclPtr<MetricField>        m_pMtrColorFrom;
    VclPtr<ColorLB>            m_pLbColorTo;
    VclPtr<MetricField>        m_pMtrColorTo;
    VclPtr<GradientLB>         m_pLbGradients;
    VclPtr<SvxXRectPreview>    m_pCtlPreview;
    VclPtr<PushButton>         m_pBtnAdd;
    VclPtr<PushButton>         m_pBtnModify;
    VclPtr<PushButton>         m_pBtnDelete;
    VclPtr<PushButton>         m_pBtnLoad;
    VclPtr<PushButton>         m_pBtnSave;

    const SfxItemSet&   rOutAttrs;

@@ -434,6 +440,8 @@ private:

public:
    SvxGradientTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs  );
    virtual ~SvxGradientTabPage();
    virtual void dispose() SAL_OVERRIDE;

    void    Construct();

@@ -465,18 +473,18 @@ class SvxHatchTabPage : public SvxTabPage
    using TabPage::DeactivatePage;

private:
    MetricField*        m_pMtrDistance;
    MetricField*        m_pMtrAngle;
    SvxRectCtl*         m_pCtlAngle;
    ListBox*            m_pLbLineType;
    ColorLB*            m_pLbLineColor;
    HatchingLB*         m_pLbHatchings;
    SvxXRectPreview*    m_pCtlPreview;
    PushButton*         m_pBtnAdd;
    PushButton*         m_pBtnModify;
    PushButton*         m_pBtnDelete;
    PushButton*         m_pBtnLoad;
    PushButton*         m_pBtnSave;
    VclPtr<MetricField>        m_pMtrDistance;
    VclPtr<MetricField>        m_pMtrAngle;
    VclPtr<SvxRectCtl>         m_pCtlAngle;
    VclPtr<ListBox>            m_pLbLineType;
    VclPtr<ColorLB>            m_pLbLineColor;
    VclPtr<HatchingLB>         m_pLbHatchings;
    VclPtr<SvxXRectPreview>    m_pCtlPreview;
    VclPtr<PushButton>         m_pBtnAdd;
    VclPtr<PushButton>         m_pBtnModify;
    VclPtr<PushButton>         m_pBtnDelete;
    VclPtr<PushButton>         m_pBtnLoad;
    VclPtr<PushButton>         m_pBtnSave;

    const SfxItemSet&   rOutAttrs;

@@ -510,6 +518,8 @@ private:

public:
    SvxHatchTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs  );
    virtual ~SvxHatchTabPage();
    virtual void dispose() SAL_OVERRIDE;

    void    Construct();

@@ -545,19 +555,19 @@ class SvxBitmapTabPage : public SvxTabPage
    using TabPage::DeactivatePage;

private:
    VclBox*             m_pBxPixelEditor;
    SvxPixelCtl*        m_pCtlPixel;
    ColorLB*            m_pLbColor;
    ColorLB*            m_pLbBackgroundColor;
    FixedText*          m_pLbBitmapsHidden;
    BitmapLB*           m_pLbBitmaps;
    SvxXRectPreview*    m_pCtlPreview;
    PushButton*         m_pBtnAdd;
    PushButton*         m_pBtnModify;
    PushButton*         m_pBtnImport;
    PushButton*         m_pBtnDelete;
    PushButton*         m_pBtnLoad;
    PushButton*         m_pBtnSave;
    VclPtr<VclBox>             m_pBxPixelEditor;
    VclPtr<SvxPixelCtl>        m_pCtlPixel;
    VclPtr<ColorLB>            m_pLbColor;
    VclPtr<ColorLB>            m_pLbBackgroundColor;
    VclPtr<FixedText>          m_pLbBitmapsHidden;
    VclPtr<BitmapLB>           m_pLbBitmaps;
    VclPtr<SvxXRectPreview>    m_pCtlPreview;
    VclPtr<PushButton>         m_pBtnAdd;
    VclPtr<PushButton>         m_pBtnModify;
    VclPtr<PushButton>         m_pBtnImport;
    VclPtr<PushButton>         m_pBtnDelete;
    VclPtr<PushButton>         m_pBtnLoad;
    VclPtr<PushButton>         m_pBtnSave;

    SvxBitmapCtl*       m_pBitmapCtl;

@@ -642,11 +652,11 @@ class SvxColorTabPage : public SfxTabPage
private:
    XPropertyListType   meType;

    Window             *mpTopDlg;
    CheckBox           *m_pBoxEmbed;
    PushButton         *m_pBtnLoad;
    PushButton         *m_pBtnSave;
    FixedText          *m_pTableName;
    VclPtr<Window>             mpTopDlg;
    VclPtr<CheckBox>           m_pBoxEmbed;
    VclPtr<PushButton>         m_pBtnLoad;
    VclPtr<PushButton>         m_pBtnSave;
    VclPtr<FixedText>          m_pTableName;

    DECL_LINK( EmbedToggleHdl_Impl, void * );
    DECL_LINK( ClickLoadHdl_Impl, void * );
@@ -660,31 +670,31 @@ private:
    void EnableSave( bool bCanSave );

    SvxColorTabPageShadow *pShadow;
    Edit*               m_pEdtName;
    ColorLB*            m_pLbColor;
    VclPtr<Edit>               m_pEdtName;
    VclPtr<ColorLB>            m_pLbColor;

    SvxColorValueSet*   m_pValSetColorList;
    VclPtr<SvxColorValueSet>   m_pValSetColorList;

    SvxXRectPreview*    m_pCtlPreviewOld;
    SvxXRectPreview*    m_pCtlPreviewNew;
    VclPtr<SvxXRectPreview>    m_pCtlPreviewOld;
    VclPtr<SvxXRectPreview>    m_pCtlPreviewNew;

    ListBox*            m_pLbColorModel;
    VclPtr<ListBox>            m_pLbColorModel;

    VclContainer*       m_pRGB;
    NumericField*       m_pR;
    NumericField*       m_pG;
    NumericField*       m_pB;
    VclPtr<VclContainer>       m_pRGB;
    VclPtr<NumericField>       m_pR;
    VclPtr<NumericField>       m_pG;
    VclPtr<NumericField>       m_pB;

    VclContainer*       m_pCMYK;
    MetricField*        m_pC;
    MetricField*        m_pY;
    MetricField*        m_pM;
    MetricField*        m_pK;
    VclPtr<VclContainer>       m_pCMYK;
    VclPtr<MetricField>        m_pC;
    VclPtr<MetricField>        m_pY;
    VclPtr<MetricField>        m_pM;
    VclPtr<MetricField>        m_pK;

    PushButton*         m_pBtnAdd;
    PushButton*         m_pBtnModify;
    PushButton*         m_pBtnWorkOn;
    PushButton*         m_pBtnDelete;
    VclPtr<PushButton>         m_pBtnAdd;
    VclPtr<PushButton>         m_pBtnModify;
    VclPtr<PushButton>         m_pBtnWorkOn;
    VclPtr<PushButton>         m_pBtnDelete;

    const SfxItemSet&   rOutAttrs;

diff --git a/cui/source/inc/cuitabline.hxx b/cui/source/inc/cuitabline.hxx
index ca9f7b7..6f19fb7 100644
--- a/cui/source/inc/cuitabline.hxx
+++ b/cui/source/inc/cuitabline.hxx
@@ -91,34 +91,34 @@ class SvxLineTabPage : public SvxTabPage
    using TabPage::DeactivatePage;
    static const sal_uInt16 pLineRanges[];
private:
    VclBox*             m_pBoxColor;
    LineLB*             m_pLbLineStyle;
    ColorLB*            m_pLbColor;
    VclBox*             m_pBoxWidth;
    MetricField*        m_pMtrLineWidth;
    VclBox*             m_pBoxTransparency;
    MetricField*        m_pMtrTransparent;
    VclPtr<VclBox>             m_pBoxColor;
    VclPtr<LineLB>             m_pLbLineStyle;
    VclPtr<ColorLB>            m_pLbColor;
    VclPtr<VclBox>             m_pBoxWidth;
    VclPtr<MetricField>        m_pMtrLineWidth;
    VclPtr<VclBox>             m_pBoxTransparency;
    VclPtr<MetricField>        m_pMtrTransparent;

    VclFrame*           m_pFlLineEnds;
    VclBox*             m_pBoxArrowStyles;
    LineEndLB*          m_pLbStartStyle;
    VclBox*             m_pBoxStart;
    MetricField*        m_pMtrStartWidth;
    TriStateBox*        m_pTsbCenterStart;
    VclBox*             m_pBoxEnd;
    LineEndLB*          m_pLbEndStyle;
    MetricField*        m_pMtrEndWidth;
    TriStateBox*        m_pTsbCenterEnd;
    CheckBox*           m_pCbxSynchronize;
    SvxXLinePreview*    m_pCtlPreview;
    VclPtr<VclFrame>           m_pFlLineEnds;
    VclPtr<VclBox>             m_pBoxArrowStyles;
    VclPtr<LineEndLB>          m_pLbStartStyle;
    VclPtr<VclBox>             m_pBoxStart;
    VclPtr<MetricField>        m_pMtrStartWidth;
    VclPtr<TriStateBox>        m_pTsbCenterStart;
    VclPtr<VclBox>             m_pBoxEnd;
    VclPtr<LineEndLB>          m_pLbEndStyle;
    VclPtr<MetricField>        m_pMtrEndWidth;
    VclPtr<TriStateBox>        m_pTsbCenterEnd;
    VclPtr<CheckBox>           m_pCbxSynchronize;
    VclPtr<SvxXLinePreview>    m_pCtlPreview;

    // #116827#
    VclFrame*           m_pFLEdgeStyle;
    VclGrid*            m_pGridEdgeCaps;
    ListBox*            m_pLBEdgeStyle;
    VclPtr<VclFrame>           m_pFLEdgeStyle;
    VclPtr<VclGrid>            m_pGridEdgeCaps;
    VclPtr<ListBox>            m_pLBEdgeStyle;

    // LineCaps
    ListBox*             m_pLBCapStyle;
    VclPtr<ListBox>             m_pLBCapStyle;

    //#58425# symbols on a line (e. g. StarChart) ->
    /** a list of symbols to be shown in menu. Symbol at position SID_ATTR_SYMBOLTYPE is to be shown in preview.
@@ -131,12 +131,12 @@ private:
    long                nSymbolType;
    /// attributes for the shown symbols; only necessary if not equal to line properties
    SfxItemSet*         pSymbolAttr;
    VclFrame*           m_pFlSymbol;
    VclGrid*            m_pGridIconSize;
    MenuButton*         m_pSymbolMB;
    MetricField*        m_pSymbolWidthMF;
    MetricField*        m_pSymbolHeightMF;
    CheckBox*           m_pSymbolRatioCB;
    VclPtr<VclFrame>           m_pFlSymbol;
    VclPtr<VclGrid>            m_pGridIconSize;
    VclPtr<MenuButton>         m_pSymbolMB;
    VclPtr<MetricField>        m_pSymbolWidthMF;
    VclPtr<MetricField>        m_pSymbolHeightMF;
    VclPtr<CheckBox>           m_pSymbolRatioCB;
    std::vector<OUString> aGrfNames;
    SvxBmpItemInfoList  aGrfBrushItems;
    bool            bLastWidthModified;
@@ -246,21 +246,21 @@ class SvxLineDefTabPage : public SfxTabPage
    using TabPage::ActivatePage;
    using TabPage::DeactivatePage;
private:
    LineLB*              m_pLbLineStyles;
    ListBox*             m_pLbType1;
    ListBox*             m_pLbType2;
    NumericField*        m_pNumFldNumber1;
    NumericField*        m_pNumFldNumber2;
    MetricField*         m_pMtrLength1;
    MetricField*         m_pMtrLength2;
    MetricField*         m_pMtrDistance;
    CheckBox*            m_pCbxSynchronize;
    PushButton*          m_pBtnAdd;
    PushButton*          m_pBtnModify;
    PushButton*          m_pBtnDelete;
    PushButton*          m_pBtnLoad;
    PushButton*          m_pBtnSave;
    SvxXLinePreview*     m_pCtlPreview;
    VclPtr<LineLB>              m_pLbLineStyles;
    VclPtr<ListBox>             m_pLbType1;
    VclPtr<ListBox>             m_pLbType2;
    VclPtr<NumericField>        m_pNumFldNumber1;
    VclPtr<NumericField>        m_pNumFldNumber2;
    VclPtr<MetricField>         m_pMtrLength1;
    VclPtr<MetricField>         m_pMtrLength2;
    VclPtr<MetricField>         m_pMtrDistance;
    VclPtr<CheckBox>            m_pCbxSynchronize;
    VclPtr<PushButton>          m_pBtnAdd;
    VclPtr<PushButton>          m_pBtnModify;
    VclPtr<PushButton>          m_pBtnDelete;
    VclPtr<PushButton>          m_pBtnLoad;
    VclPtr<PushButton>          m_pBtnSave;
    VclPtr<SvxXLinePreview>     m_pCtlPreview;

    const SfxItemSet&   rOutAttrs;
    XDash               aDash;
@@ -303,6 +303,8 @@ private:

public:
    SvxLineDefTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs  );
    virtual ~SvxLineDefTabPage();
    virtual void dispose() SAL_OVERRIDE;

    void    Construct();

@@ -333,14 +335,14 @@ class SvxLineEndDefTabPage : public SfxTabPage
    using TabPage::DeactivatePage;

private:
    Edit*                m_pEdtName;
    LineEndLB*           m_pLbLineEnds;
    PushButton*          m_pBtnAdd;
    PushButton*          m_pBtnModify;
    PushButton*          m_pBtnDelete;
    PushButton*          m_pBtnLoad;
    PushButton*          m_pBtnSave;
    SvxXLinePreview*     m_pCtlPreview;
    VclPtr<Edit>                m_pEdtName;
    VclPtr<LineEndLB>           m_pLbLineEnds;
    VclPtr<PushButton>          m_pBtnAdd;
    VclPtr<PushButton>          m_pBtnModify;
    VclPtr<PushButton>          m_pBtnDelete;
    VclPtr<PushButton>          m_pBtnLoad;
    VclPtr<PushButton>          m_pBtnSave;
    VclPtr<SvxXLinePreview>     m_pCtlPreview;

    const SfxItemSet&   rOutAttrs;
    const SdrObject*    pPolyObj;
@@ -372,6 +374,8 @@ private:

public:
    SvxLineEndDefTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs );
    virtual ~SvxLineEndDefTabPage();
    virtual void dispose() SAL_OVERRIDE;

    void    Construct();

diff --git a/cui/source/inc/cuitbxform.hxx b/cui/source/inc/cuitbxform.hxx
index 1f2b34d..4ee1707 100644
--- a/cui/source/inc/cuitbxform.hxx
+++ b/cui/source/inc/cuitbxform.hxx
@@ -29,10 +29,12 @@
class FmInputRecordNoDialog : public ModalDialog
{
public:
    NumericField* m_pRecordNo;
    VclPtr<NumericField> m_pRecordNo;

public:
    FmInputRecordNoDialog(vcl::Window * pParent);
    virtual ~FmInputRecordNoDialog();
    virtual void dispose() SAL_OVERRIDE;

    void SetValue(long dNew) { m_pRecordNo->SetValue(dNew); }
    long GetValue() const { return static_cast<long>(m_pRecordNo->GetValue()); }
diff --git a/cui/source/inc/dbregister.hxx b/cui/source/inc/dbregister.hxx
index a665aab..fa714753b 100644
--- a/cui/source/inc/dbregister.hxx
+++ b/cui/source/inc/dbregister.hxx
@@ -46,12 +46,12 @@ namespace svx
        OUString            aTypeText;
        OUString            aPathText;

        SvSimpleTableContainer* m_pPathCtrl;
        PushButton*         m_pNew;
        PushButton*         m_pEdit;
        PushButton*         m_pDelete;
        VclPtr<SvSimpleTableContainer> m_pPathCtrl;
        VclPtr<PushButton>         m_pNew;
        VclPtr<PushButton>         m_pEdit;
        VclPtr<PushButton>         m_pDelete;

        ::svx::OptHeaderTabListBox* pPathBox;
        VclPtr<::svx::OptHeaderTabListBox> pPathBox;
        SvTreeListEntry*        m_pCurEntry;
        sal_uLong               m_nOldCount;
        bool                m_bModified;
diff --git a/cui/source/inc/dlgname.hxx b/cui/source/inc/dlgname.hxx
index 46c9714..8615477 100644
--- a/cui/source/inc/dlgname.hxx
+++ b/cui/source/inc/dlgname.hxx
@@ -30,9 +30,9 @@
class SvxNameDialog : public ModalDialog
{
private:
    FixedText*      pFtDescription;
    Edit*           pEdtName;
    OKButton*       pBtnOK;
    VclPtr<FixedText>      pFtDescription;
    VclPtr<Edit>           pEdtName;
    VclPtr<OKButton>       pBtnOK;

    Link            aCheckNameHdl;

@@ -40,6 +40,8 @@ private:

public:
    SvxNameDialog( vcl::Window* pWindow, const OUString& rName, const OUString& rDesc );
    virtual ~SvxNameDialog();
    virtual void dispose() SAL_OVERRIDE;

    void    GetName( OUString& rName ){rName = pEdtName->GetText();}

@@ -75,10 +77,10 @@ class SvxObjectNameDialog : public ModalDialog
{
private:
    // name
    Edit*           pEdtName;
    VclPtr<Edit>           pEdtName;

    // buttons
    OKButton*       pBtnOK;
    VclPtr<OKButton>       pBtnOK;

    // callback link for name uniqueness
    Link            aCheckNameHdl;
@@ -88,6 +90,8 @@ private:
public:
    // constructor
    SvxObjectNameDialog(vcl::Window* pWindow, const OUString& rName);
    virtual ~SvxObjectNameDialog();
    virtual void dispose() SAL_OVERRIDE;

    // data access
    void GetName(OUString& rName) {rName = pEdtName->GetText(); }
@@ -110,15 +114,16 @@ class SvxObjectTitleDescDialog : public ModalDialog
{
private:
    // title
    Edit*           pEdtTitle;
    VclPtr<Edit>           pEdtTitle;

    // description
    VclMultiLineEdit*  pEdtDescription;
    VclPtr<VclMultiLineEdit>  pEdtDescription;

public:
    // constructor
    SvxObjectTitleDescDialog(vcl::Window* pWindow, const OUString& rTitle, const OUString& rDesc);

    virtual ~SvxObjectTitleDescDialog();
    virtual void dispose() SAL_OVERRIDE;
    // data access
    void GetTitle(OUString& rTitle) {rTitle = pEdtTitle->GetText(); }
    void GetDescription(OUString& rDescription) {rDescription = pEdtDescription->GetText(); }
@@ -128,10 +133,10 @@ public:
class SvxMessDialog : public ModalDialog
{
private:
    FixedText*      pFtDescription;
    PushButton*     pBtn1;
    PushButton*     pBtn2;
    FixedImage*     pFtImage;
    VclPtr<FixedText>      pFtDescription;
    VclPtr<PushButton>     pBtn1;
    VclPtr<PushButton>     pBtn2;
    VclPtr<FixedImage>     pFtImage;
    Image*          pImage;

    DECL_LINK(Button1Hdl, void *);
diff --git a/cui/source/inc/dstribut.hxx b/cui/source/inc/dstribut.hxx
index e0be5f3..0d07317 100644
--- a/cui/source/inc/dstribut.hxx
+++ b/cui/source/inc/dstribut.hxx
@@ -29,21 +29,23 @@ class SvxDistributePage : public SvxTabPage
    SvxDistributeHorizontal     m_eDistributeHor;
    SvxDistributeVertical       m_eDistributeVer;

    RadioButton*                m_pBtnHorNone;
    RadioButton*                m_pBtnHorLeft;
    RadioButton*                m_pBtnHorCenter;
    RadioButton*                m_pBtnHorDistance;
    RadioButton*                m_pBtnHorRight;
    RadioButton*                m_pBtnVerNone;
    RadioButton*                m_pBtnVerTop;
    RadioButton*                m_pBtnVerCenter;
    RadioButton*                m_pBtnVerDistance;
    RadioButton*                m_pBtnVerBottom;
    VclPtr<RadioButton>                m_pBtnHorNone;
    VclPtr<RadioButton>                m_pBtnHorLeft;
    VclPtr<RadioButton>                m_pBtnHorCenter;
    VclPtr<RadioButton>                m_pBtnHorDistance;
    VclPtr<RadioButton>                m_pBtnHorRight;
    VclPtr<RadioButton>                m_pBtnVerNone;
    VclPtr<RadioButton>                m_pBtnVerTop;
    VclPtr<RadioButton>                m_pBtnVerCenter;
    VclPtr<RadioButton>                m_pBtnVerDistance;
    VclPtr<RadioButton>                m_pBtnVerBottom;

public:
    SvxDistributePage(vcl::Window* pWindow, const SfxItemSet& rInAttrs,
        SvxDistributeHorizontal eHor = SvxDistributeHorizontalNone,
        SvxDistributeVertical eVer = SvxDistributeVerticalNone);
    virtual ~SvxDistributePage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create(vcl::Window*, const SfxItemSet&,
        SvxDistributeHorizontal eHor, SvxDistributeVertical eVer);
@@ -57,12 +59,14 @@ public:

class SvxDistributeDialog : public SfxSingleTabDialog
{
    SvxDistributePage* mpPage;
    VclPtr<SvxDistributePage> mpPage;

public:
    SvxDistributeDialog(vcl::Window* pParent, const SfxItemSet& rAttr,
        SvxDistributeHorizontal eHor = SvxDistributeHorizontalNone,
        SvxDistributeVertical eVer = SvxDistributeVerticalNone);
    virtual ~SvxDistributeDialog();
    virtual void dispose() SAL_OVERRIDE;

    SvxDistributeHorizontal GetDistributeHor() const { return mpPage->GetDistributeHor(); }
    SvxDistributeVertical GetDistributeVer() const { return mpPage->GetDistributeVer(); }
diff --git a/cui/source/inc/grfpage.hxx b/cui/source/inc/grfpage.hxx
index 39cd21b..e52d39c 100644
--- a/cui/source/inc/grfpage.hxx
+++ b/cui/source/inc/grfpage.hxx
@@ -56,28 +56,28 @@ class SvxGrfCropPage : public SfxTabPage
    using TabPage::ActivatePage;
    using TabPage::DeactivatePage;

    VclContainer*   m_pCropFrame;
    RadioButton*    m_pZoomConstRB;
    RadioButton*    m_pSizeConstRB;
    MetricField*    m_pLeftMF;
    MetricField*    m_pRightMF;
    MetricField*    m_pTopMF;
    MetricField*    m_pBottomMF;
    VclPtr<VclContainer>   m_pCropFrame;
    VclPtr<RadioButton>    m_pZoomConstRB;
    VclPtr<RadioButton>    m_pSizeConstRB;
    VclPtr<MetricField>    m_pLeftMF;
    VclPtr<MetricField>    m_pRightMF;
    VclPtr<MetricField>    m_pTopMF;
    VclPtr<MetricField>    m_pBottomMF;

    VclContainer*   m_pScaleFrame;
    MetricField*    m_pWidthZoomMF;
    MetricField*    m_pHeightZoomMF;
    VclPtr<VclContainer>   m_pScaleFrame;
    VclPtr<MetricField>    m_pWidthZoomMF;
    VclPtr<MetricField>    m_pHeightZoomMF;

    VclContainer*   m_pSizeFrame;
    MetricField*    m_pWidthMF;
    MetricField*    m_pHeightMF;
    VclPtr<VclContainer>   m_pSizeFrame;
    VclPtr<MetricField>    m_pWidthMF;
    VclPtr<MetricField>    m_pHeightMF;

    VclContainer*   m_pOrigSizeGrid;
    FixedText*      m_pOrigSizeFT;
    PushButton*     m_pOrigSizePB;
    VclPtr<VclContainer>   m_pOrigSizeGrid;
    VclPtr<FixedText>      m_pOrigSizeFT;
    VclPtr<PushButton>     m_pOrigSizePB;

    // Example
    SvxCropExample* m_pExampleWN;
    VclPtr<SvxCropExample> m_pExampleWN;


    Timer           aTimer;
@@ -85,7 +85,7 @@ class SvxGrfCropPage : public SfxTabPage
    Size            aOrigSize;
    Size            aOrigPixelSize;
    Size            aPageSize;
    const MetricField*  pLastCropField;
    VclPtr<MetricField>  pLastCropField;
    long            nOldWidth;
    long            nOldHeight;
    bool            bReset;
diff --git a/cui/source/inc/hangulhanjadlg.hxx b/cui/source/inc/hangulhanjadlg.hxx
index 2cfd24d..6018b0f 100644
--- a/cui/source/inc/hangulhanjadlg.hxx
+++ b/cui/source/inc/hangulhanjadlg.hxx
@@ -104,27 +104,27 @@ namespace svx
    {
    private:

        PushButton*         m_pFind;
        PushButton*         m_pIgnore;
        PushButton*         m_pIgnoreAll;
        PushButton*         m_pReplace;
        PushButton*         m_pReplaceAll;
        PushButton*         m_pOptions;
        SuggestionDisplay*  m_pSuggestions;
        RadioButton*        m_pSimpleConversion;
        RadioButton*        m_pHangulBracketed;
        RadioButton*        m_pHanjaBracketed;
        Edit*               m_pWordInput;
        FixedText*          m_pOriginalWord;
        RubyRadioButton*    m_pHanjaAbove;
        RubyRadioButton*    m_pHanjaBelow;
        RubyRadioButton*    m_pHangulAbove;
        RubyRadioButton*    m_pHangulBelow;
        CheckBox*           m_pHangulOnly;
        CheckBox*           m_pHanjaOnly;
        CheckBox*           m_pReplaceByChar;
        VclPtr<PushButton>         m_pFind;
        VclPtr<PushButton>         m_pIgnore;
        VclPtr<PushButton>         m_pIgnoreAll;
        VclPtr<PushButton>         m_pReplace;
        VclPtr<PushButton>         m_pReplaceAll;
        VclPtr<PushButton>         m_pOptions;
        VclPtr<SuggestionDisplay>  m_pSuggestions;
        VclPtr<RadioButton>        m_pSimpleConversion;
        VclPtr<RadioButton>        m_pHangulBracketed;
        VclPtr<RadioButton>        m_pHanjaBracketed;
        VclPtr<Edit>               m_pWordInput;
        VclPtr<FixedText>          m_pOriginalWord;
        VclPtr<RubyRadioButton>    m_pHanjaAbove;
        VclPtr<RubyRadioButton>    m_pHanjaBelow;
        VclPtr<RubyRadioButton>    m_pHangulAbove;
        VclPtr<RubyRadioButton>    m_pHangulBelow;
        VclPtr<CheckBox>           m_pHangulOnly;
        VclPtr<CheckBox>           m_pHanjaOnly;
        VclPtr<CheckBox>           m_pReplaceByChar;

        CheckBox*       m_pIgnoreNonPrimary;
        VclPtr<CheckBox>       m_pIgnoreNonPrimary;
        /** are we working for a document? This is normally true, but in case
            the user uses the "find" functionality, we switch to working
            with what the user entered, which then does not have any relation to
@@ -138,6 +138,8 @@ namespace svx
        HangulHanjaConversionDialog(
                vcl::Window* _pParent,
                editeng::HangulHanjaConversion::ConversionDirection _ePrimaryDirection );
        virtual ~HangulHanjaConversionDialog();
        virtual void dispose() SAL_OVERRIDE;

    public:
        void    SetOptionsChangedHdl( const Link& _rHdl );
@@ -196,14 +198,14 @@ namespace svx
    class HangulHanjaOptionsDialog : public ModalDialog
    {
    private:
        SvxCheckListBox*    m_pDictsLB;
        CheckBox*           m_pIgnorepostCB;
        CheckBox*           m_pShowrecentlyfirstCB;
        CheckBox*           m_pAutoreplaceuniqueCB;
        PushButton*         m_pNewPB;
        PushButton*         m_pEditPB;
        PushButton*         m_pDeletePB;
        OKButton*           m_pOkPB;
        VclPtr<SvxCheckListBox>    m_pDictsLB;
        VclPtr<CheckBox>           m_pIgnorepostCB;
        VclPtr<CheckBox>           m_pShowrecentlyfirstCB;
        VclPtr<CheckBox>           m_pAutoreplaceuniqueCB;
        VclPtr<PushButton>         m_pNewPB;
        VclPtr<PushButton>         m_pEditPB;
        VclPtr<PushButton>         m_pDeletePB;
        VclPtr<OKButton>           m_pOkPB;

        SvLBoxButtonData*   m_pCheckButtonData;

@@ -232,8 +234,8 @@ namespace svx
    class HangulHanjaNewDictDialog : public ModalDialog
    {
    private:
        Edit* m_pDictNameED;
        OKButton* m_pOkBtn;
        VclPtr<Edit> m_pDictNameED;
        VclPtr<OKButton> m_pOkBtn;

        bool m_bEntered;

@@ -241,6 +243,8 @@ namespace svx
        DECL_LINK( ModifyHdl, void* );
    public:
        HangulHanjaNewDictDialog( vcl::Window* _pParent );
        virtual ~HangulHanjaNewDictDialog();
        virtual void dispose() SAL_OVERRIDE;

        bool GetName( OUString& _rRetName ) const;
    };
@@ -251,14 +255,16 @@ namespace svx
    class SuggestionEdit : public Edit
    {
    private:
        SuggestionEdit*     m_pPrev;
        SuggestionEdit*     m_pNext;
        ScrollBar*          m_pScrollBar;
        VclPtr<SuggestionEdit>     m_pPrev;
        VclPtr<SuggestionEdit>     m_pNext;
        VclPtr<ScrollBar>          m_pScrollBar;

        bool                ShouldScroll( bool _bUp ) const;
        void                DoJump( bool _bUp );
    public:
                            SuggestionEdit( vcl::Window* pParent, WinBits nBits );
        virtual             ~SuggestionEdit();
        virtual void        dispose() SAL_OVERRIDE;
        virtual bool        PreNotify( NotifyEvent& rNEvt ) SAL_OVERRIDE;
        void init( ScrollBar* pScrollBar, SuggestionEdit* pPrev, SuggestionEdit* pNext);
    };
@@ -274,15 +280,15 @@ namespace svx
        OUString        m_aOriginal;
        SuggestionList* m_pSuggestions;

        ListBox*        m_aBookLB;
        ComboBox*       m_aOriginalLB;
        SuggestionEdit* m_aEdit1;
        SuggestionEdit* m_aEdit2;
        SuggestionEdit* m_aEdit3;
        SuggestionEdit* m_aEdit4;
        ScrollBar*      m_aScrollSB;
        PushButton*     m_aNewPB;
        PushButton*     m_aDeletePB;
        VclPtr<ListBox>        m_aBookLB;
        VclPtr<ComboBox>       m_aOriginalLB;
        VclPtr<SuggestionEdit> m_aEdit1;
        VclPtr<SuggestionEdit> m_aEdit2;
        VclPtr<SuggestionEdit> m_aEdit3;
        VclPtr<SuggestionEdit> m_aEdit4;
        VclPtr<ScrollBar>      m_aScrollSB;
        VclPtr<PushButton>     m_aNewPB;
        VclPtr<PushButton>     m_aDeletePB;

        sal_uInt16      m_nTopPos;
        bool            m_bModifiedSuggestions;
diff --git a/cui/source/inc/hldocntp.hxx b/cui/source/inc/hldocntp.hxx
index 186ce6a..494b7a2 100644
--- a/cui/source/inc/hldocntp.hxx
+++ b/cui/source/inc/hldocntp.hxx
@@ -30,11 +30,11 @@
class SvxHyperlinkNewDocTp : public SvxHyperlinkTabPageBase
{
private:
    RadioButton         *m_pRbtEditNow;
    RadioButton         *m_pRbtEditLater;
    SvxHyperURLBox      *m_pCbbPath;
    PushButton          *m_pBtCreate;
    ListBox             *m_pLbDocTypes;
    VclPtr<RadioButton>         m_pRbtEditNow;
    VclPtr<RadioButton>         m_pRbtEditLater;
    VclPtr<SvxHyperURLBox>      m_pCbbPath;
    VclPtr<PushButton>          m_pBtCreate;
    VclPtr<ListBox>             m_pLbDocTypes;

    bool            ImplGetURLObject( const OUString& rPath, const OUString& rBase, INetURLObject& aURLObject ) const;
    void                FillDocumentList ();
diff --git a/cui/source/inc/hldoctp.hxx b/cui/source/inc/hldoctp.hxx
index 108df07..76dda78 100644
--- a/cui/source/inc/hldoctp.hxx
+++ b/cui/source/inc/hldoctp.hxx
@@ -30,12 +30,12 @@
class SvxHyperlinkDocTp : public SvxHyperlinkTabPageBase
{
private:
    SvxHyperURLBox      *m_pCbbPath;
    PushButton          *m_pBtFileopen;
    VclPtr<SvxHyperURLBox>      m_pCbbPath;
    VclPtr<PushButton>          m_pBtFileopen;

    Edit                *m_pEdTarget;
    FixedText           *m_pFtFullURL;
    PushButton          *m_pBtBrowse;
    VclPtr<Edit>                m_pEdTarget;
    VclPtr<FixedText>           m_pFtFullURL;
    VclPtr<PushButton>          m_pBtBrowse;

    OUString            maStrURL;

@@ -67,6 +67,8 @@ protected:

public:
    SvxHyperlinkDocTp ( vcl::Window *pParent, IconChoiceDialog* pDlg, const SfxItemSet& rItemSet);
    virtual ~SvxHyperlinkDocTp();
    virtual void dispose() SAL_OVERRIDE;

    static  IconChoicePage* Create( vcl::Window* pWindow, IconChoiceDialog* pDlg, const SfxItemSet& rItemSet );

diff --git a/cui/source/inc/hlinettp.hxx b/cui/source/inc/hlinettp.hxx
index bc76625..03b0132 100644
--- a/cui/source/inc/hlinettp.hxx
+++ b/cui/source/inc/hlinettp.hxx
@@ -32,15 +32,15 @@
class SvxHyperlinkInternetTp : public SvxHyperlinkTabPageBase
{
private:
    RadioButton         *m_pRbtLinktypInternet;
    RadioButton         *m_pRbtLinktypFTP;
    SvxHyperURLBox      *m_pCbbTarget;
    PushButton          *m_pBtBrowse;
    FixedText           *m_pFtLogin;
    Edit                *m_pEdLogin;
    FixedText           *m_pFtPassword;
    Edit                *m_pEdPassword;
    CheckBox            *m_pCbAnonymous;
    VclPtr<RadioButton >        m_pRbtLinktypInternet;
    VclPtr<RadioButton>         m_pRbtLinktypFTP;
    VclPtr<SvxHyperURLBox>      m_pCbbTarget;
    VclPtr<PushButton>          m_pBtBrowse;
    VclPtr<FixedText>           m_pFtLogin;
    VclPtr<Edit>                m_pEdLogin;
    VclPtr<FixedText>           m_pFtPassword;
    VclPtr<Edit>                m_pEdPassword;
    VclPtr<CheckBox>            m_pCbAnonymous;

    OUString            maStrOldUser;
    OUString            maStrOldPassword;
@@ -78,6 +78,8 @@ protected:

public:
    SvxHyperlinkInternetTp ( vcl::Window *pParent, IconChoiceDialog* pDlg, const SfxItemSet& rItemSet);
    virtual ~SvxHyperlinkInternetTp();
    virtual void dispose() SAL_OVERRIDE;

    static  IconChoicePage* Create( vcl::Window* pWindow, IconChoiceDialog* pDlg, const SfxItemSet& rItemSet );

diff --git a/cui/source/inc/hlmailtp.hxx b/cui/source/inc/hlmailtp.hxx
index 1687e84..5eae01b 100644
--- a/cui/source/inc/hlmailtp.hxx
+++ b/cui/source/inc/hlmailtp.hxx
@@ -30,10 +30,10 @@
class SvxHyperlinkMailTp : public SvxHyperlinkTabPageBase
{
private:
    SvxHyperURLBox      *m_pCbbReceiver;
    PushButton          *m_pBtAdrBook;
    FixedText           *m_pFtSubject;
    Edit                *m_pEdSubject;
    VclPtr<SvxHyperURLBox>      m_pCbbReceiver;
    VclPtr<PushButton>          m_pBtAdrBook;
    VclPtr<FixedText>           m_pFtSubject;
    VclPtr<Edit>                m_pEdSubject;

    DECL_LINK (ClickAdrBookHdl_Impl  , void * ); ///< Button : Address book
    DECL_LINK (ModifiedReceiverHdl_Impl, void * ); ///< Combobox "receiver" modified
@@ -51,6 +51,8 @@ protected:

public:
    SvxHyperlinkMailTp ( vcl::Window *pParent, IconChoiceDialog* pDlg, const SfxItemSet& rItemSet);
    virtual ~SvxHyperlinkMailTp();
    virtual void dispose() SAL_OVERRIDE;

    static  IconChoicePage* Create( vcl::Window* pWindow, IconChoiceDialog* pDlg, const SfxItemSet& rItemSet );

diff --git a/cui/source/inc/hlmarkwn.hxx b/cui/source/inc/hlmarkwn.hxx
index e9d8c32..9591a2a 100644
--- a/cui/source/inc/hlmarkwn.hxx
+++ b/cui/source/inc/hlmarkwn.hxx
@@ -39,10 +39,12 @@ class SvxHlinkDlgMarkWnd;
class SvxHlmarkTreeLBox : public SvTreeListBox
{
private:
    SvxHlinkDlgMarkWnd* mpParentWnd;
    VclPtr<SvxHlinkDlgMarkWnd> mpParentWnd;

public:
    SvxHlmarkTreeLBox(vcl::Window* pParent, WinBits nStyle);
    virtual ~SvxHlmarkTreeLBox();
    virtual void dispose() SAL_OVERRIDE;

    void SetParentWnd(SvxHlinkDlgMarkWnd* pParent)
    {
@@ -62,13 +64,13 @@ class SvxHlinkDlgMarkWnd : public ModalDialog //FloatingWindow
private:
    friend class SvxHlmarkTreeLBox;

    PushButton*       mpBtApply;
    PushButton*       mpBtClose;
    SvxHlmarkTreeLBox*  mpLbTree;
    VclPtr<PushButton>       mpBtApply;
    VclPtr<PushButton>       mpBtClose;
    VclPtr<SvxHlmarkTreeLBox>  mpLbTree;

    bool            mbUserMoved;

    SvxHyperlinkTabPageBase* mpParent;
    VclPtr<SvxHyperlinkTabPageBase> mpParent;

    OUString        maStrLastURL;

diff --git a/cui/source/inc/hltpbase.hxx b/cui/source/inc/hltpbase.hxx
index 275d28b..d155d6e 100644
--- a/cui/source/inc/hltpbase.hxx
+++ b/cui/source/inc/hltpbase.hxx
@@ -67,11 +67,11 @@ public:
class SvxHyperlinkTabPageBase : public IconChoicePage
{
private:
    ComboBox            *mpCbbFrame;
    ListBox             *mpLbForm;
    Edit                *mpEdIndication;
    Edit                *mpEdText;
    PushButton          *mpBtScript;
    VclPtr<ComboBox>            mpCbbFrame;
    VclPtr<ListBox>             mpLbForm;
    VclPtr<Edit>                mpEdIndication;
    VclPtr<Edit>                mpEdText;
    VclPtr<PushButton>          mpBtScript;

    bool            mbIsCloseDisabled;

@@ -79,7 +79,7 @@ private:
                        mxDocumentFrame;

protected:
    vcl::Window*             mpDialog;
    VclPtr<vcl::Window> mpDialog;

    bool                mbStdControlsInit;

@@ -87,7 +87,7 @@ protected:

    Timer               maTimer;

    SvxHlinkDlgMarkWnd* mpMarkWnd;
    VclPtr<SvxHlinkDlgMarkWnd> mpMarkWnd;

    void InitStdControls ();
    void FillStandardDlgFields ( const SvxHyperlinkItem* pHyperlinkItem );
diff --git a/cui/source/inc/hyphen.hxx b/cui/source/inc/hyphen.hxx
index 1682101..3bf9767 100644
--- a/cui/source/inc/hyphen.hxx
+++ b/cui/source/inc/hyphen.hxx
@@ -42,14 +42,14 @@ protected:

class SvxHyphenWordDialog : public SfxModalDialog
{
    HyphenEdit*         m_pWordEdit;
    PushButton*         m_pLeftBtn;
    PushButton*         m_pRightBtn;
    PushButton*         m_pOkBtn;
    PushButton*         m_pContBtn;
    PushButton*         m_pDelBtn;
    PushButton*         m_pHyphAll;
    CloseButton*        m_pCloseBtn;
    VclPtr<HyphenEdit>         m_pWordEdit;
    VclPtr<PushButton>         m_pLeftBtn;
    VclPtr<PushButton>         m_pRightBtn;
    VclPtr<PushButton>         m_pOkBtn;
    VclPtr<PushButton>         m_pContBtn;
    VclPtr<PushButton>         m_pDelBtn;
    VclPtr<PushButton>         m_pHyphAll;
    VclPtr<CloseButton>        m_pCloseBtn;
    OUString            aLabel;
    SvxSpellWrapper*    pHyphWrapper;
    css::uno::Reference< css::linguistic2::XHyphenator >        xHyphenator;
@@ -85,6 +85,8 @@ public:
                         vcl::Window* pParent,
                         css::uno::Reference< css::linguistic2::XHyphenator >  &xHyphen,
                         SvxSpellWrapper* pWrapper );
    virtual ~SvxHyphenWordDialog();
    virtual void    dispose() SAL_OVERRIDE;

    void            SetWindowTitle( LanguageType nLang );
    void            SelLeft();
diff --git a/cui/source/inc/iconcdlg.hxx b/cui/source/inc/iconcdlg.hxx
index 21a8d5b..62260e2 100644
--- a/cui/source/inc/iconcdlg.hxx
+++ b/cui/source/inc/iconcdlg.hxx
@@ -49,7 +49,7 @@ struct IconChoicePageData
    sal_uInt16 nId;
    CreatePage fnCreatePage;    ///< pointer to the factory
    GetPageRanges fnGetRanges;  ///< pointer to the ranges-function
    IconChoicePage* pPage;      ///< the TabPage itself
    VclPtr<IconChoicePage> pPage;      ///< the TabPage itself
    bool bOnDemand;         ///< Flag: ItemSet onDemand
    bool bRefresh;          ///< Flag: page has to be newly initialized

@@ -73,7 +73,7 @@ private :
    const SfxItemSet*   pSet;
    OUString            aUserString;
    bool                bHasExchangeSupport;
    IconChoiceDialog*   pDialog;
    VclPtr<IconChoiceDialog>   pDialog;

    void                SetDialog( IconChoiceDialog* pNew ) { pDialog = pNew; }
    IconChoiceDialog*   GetDialog() const { return pDialog; }
@@ -85,10 +85,12 @@ private :
protected :
    IconChoicePage( vcl::Window *pParent, const OString& rID, const OUString& rUIXMLDescription, const SfxItemSet &rAttrSet );

    sal_uInt16              GetSlot( sal_uInt16 nWhich ) const  { return pSet->GetPool()->GetSlotId( nWhich ); }
    sal_uInt16              GetWhich( sal_uInt16 nSlot ) const  { return pSet->GetPool()->GetWhich( nSlot ); }
    sal_uInt16          GetSlot( sal_uInt16 nWhich ) const  { return pSet->GetPool()->GetSlotId( nWhich ); }
    sal_uInt16          GetWhich( sal_uInt16 nSlot ) const  { return pSet->GetPool()->GetWhich( nSlot ); }

public :
    virtual ~IconChoicePage();
    virtual void        dispose() SAL_OVERRIDE;

    const SfxItemSet&   GetItemSet() const { return *pSet; }

@@ -124,18 +126,18 @@ private :

    ::std::vector< IconChoicePageData* > maPageList;

    SvtIconChoiceCtrl       *m_pIconCtrl;
    VclPtr<SvtIconChoiceCtrl>       m_pIconCtrl;

    sal_uInt16                  mnCurrentPageId;

    // Buttons
    OKButton                *m_pOKBtn;
    PushButton              *m_pApplyBtn;
    CancelButton            *m_pCancelBtn;
    HelpButton              *m_pHelpBtn;
    PushButton              *m_pResetBtn;
    VclPtr<OKButton>                m_pOKBtn;
    VclPtr<PushButton>              m_pApplyBtn;
    VclPtr<CancelButton>            m_pCancelBtn;
    VclPtr<HelpButton>              m_pHelpBtn;
    VclPtr<PushButton>              m_pResetBtn;

    VclVBox                 *m_pTabContainer;
    VclPtr<VclVBox>                 m_pTabContainer;
    const SfxItemSet*       pSet;
    SfxItemSet*             pOutSet;
    SfxItemSet*             pExampleSet;
@@ -166,7 +168,7 @@ protected :
    SfxItemSet*     CreateInputItemSet( sal_uInt16 nId );
    inline SfxItemSet*      GetInputSetImpl() { return const_cast<SfxItemSet*>(pSet); }
    inline IconChoicePage*  GetTabPage( sal_uInt16 nPageId )
                                { return ( GetPageData (nPageId)->pPage?GetPageData (nPageId)->pPage:NULL); }
                                { return ( GetPageData (nPageId)->pPage?GetPageData (nPageId)->pPage.get():NULL); }
    void                    RefreshInputSet();

    void                    ActivatePageImpl ();
diff --git a/cui/source/inc/insdlg.hxx b/cui/source/inc/insdlg.hxx
index 009174b..eda64ba 100644
--- a/cui/source/inc/insdlg.hxx
+++ b/cui/source/inc/insdlg.hxx
@@ -56,14 +56,14 @@ public:

class SvInsertOleDlg : public InsertObjectDialog_Impl
{
    RadioButton* m_pRbNewObject;
    RadioButton* m_pRbObjectFromfile;
    VclFrame* m_pObjectTypeFrame;
    ListBox* m_pLbObjecttype;
    VclFrame* m_pFileFrame;
    Edit* m_pEdFilepath;
    PushButton* m_pBtnFilepath;
    CheckBox* m_pCbFilelink;
    VclPtr<RadioButton> m_pRbNewObject;
    VclPtr<RadioButton> m_pRbObjectFromfile;
    VclPtr<VclFrame> m_pObjectTypeFrame;
    VclPtr<ListBox> m_pLbObjecttype;
    VclPtr<VclFrame> m_pFileFrame;
    VclPtr<Edit> m_pEdFilepath;
    VclPtr<PushButton> m_pBtnFilepath;
    VclPtr<CheckBox> m_pCbFilelink;
    const SvObjectServerList* m_pServers;

    ::com::sun::star::uno::Sequence< sal_Int8 > m_aIconMetaFile;
@@ -86,6 +86,8 @@ public:
    SvInsertOleDlg( vcl::Window* pParent,
        const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >& xStorage,
        const SvObjectServerList* pServers = NULL );
    virtual ~SvInsertOleDlg();
    virtual void dispose() SAL_OVERRIDE;
    virtual short Execute() SAL_OVERRIDE;

    /// get replacement for the iconified embedded object and the mediatype of the replacement
@@ -95,9 +97,9 @@ public:
class SvInsertPlugInDialog : public InsertObjectDialog_Impl
{
private:
    Edit* m_pEdFileurl;
    PushButton* m_pBtnFileurl;
    VclMultiLineEdit* m_pEdPluginsOptions;
    VclPtr<Edit> m_pEdFileurl;
    VclPtr<PushButton> m_pBtnFileurl;
    VclPtr<VclMultiLineEdit> m_pEdPluginsOptions;
    INetURLObject* m_pURL;
    OUString m_aCommands;

@@ -116,23 +118,23 @@ public:
class SfxInsertFloatingFrameDialog : public InsertObjectDialog_Impl
{
private:
    Edit* m_pEDName;
    Edit* m_pEDURL;
    PushButton* m_pBTOpen;
    VclPtr<Edit> m_pEDName;
    VclPtr<Edit> m_pEDURL;
    VclPtr<PushButton> m_pBTOpen;

    RadioButton* m_pRBScrollingOn;
    RadioButton* m_pRBScrollingOff;
    RadioButton* m_pRBScrollingAuto;
    VclPtr<RadioButton> m_pRBScrollingOn;
    VclPtr<RadioButton> m_pRBScrollingOff;
    VclPtr<RadioButton> m_pRBScrollingAuto;

    RadioButton* m_pRBFrameBorderOn;
    RadioButton* m_pRBFrameBorderOff;
    VclPtr<RadioButton> m_pRBFrameBorderOn;
    VclPtr<RadioButton> m_pRBFrameBorderOff;

    FixedText* m_pFTMarginWidth;
    NumericField* m_pNMMarginWidth;
    CheckBox* m_pCBMarginWidthDefault;
    FixedText* m_pFTMarginHeight;
    NumericField* m_pNMMarginHeight;
    CheckBox* m_pCBMarginHeightDefault;
    VclPtr<FixedText> m_pFTMarginWidth;
    VclPtr<NumericField> m_pNMMarginWidth;
    VclPtr<CheckBox> m_pCBMarginWidthDefault;
    VclPtr<FixedText> m_pFTMarginHeight;
    VclPtr<NumericField> m_pNMMarginHeight;
    VclPtr<CheckBox> m_pCBMarginHeightDefault;

    DECL_STATIC_LINK(SfxInsertFloatingFrameDialog, OpenHdl, PushButton* );
    DECL_STATIC_LINK(SfxInsertFloatingFrameDialog, CheckHdl, CheckBox* );
@@ -144,6 +146,8 @@ public:
        const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >& xStorage );
    SfxInsertFloatingFrameDialog( vcl::Window* pParent,
        const com::sun::star::uno::Reference < com::sun::star::embed::XEmbeddedObject >& xObj );
    virtual ~SfxInsertFloatingFrameDialog();
    virtual void dispose() SAL_OVERRIDE;
    virtual short Execute() SAL_OVERRIDE;
};

diff --git a/cui/source/inc/insrc.hxx b/cui/source/inc/insrc.hxx
index 012916b..f24467db 100644
--- a/cui/source/inc/insrc.hxx
+++ b/cui/source/inc/insrc.hxx
@@ -31,10 +31,10 @@

class SvxInsRowColDlg : public SvxAbstractInsRowColDlg, public ModalDialog
{
    NumericField*   m_pCountEdit;
    VclPtr<NumericField>   m_pCountEdit;

    RadioButton*    m_pBeforeBtn;
    RadioButton*    m_pAfterBtn;
    VclPtr<RadioButton>    m_pBeforeBtn;
    VclPtr<RadioButton>    m_pAfterBtn;

    OUString   aRow;
    OUString   aCol;
@@ -43,6 +43,8 @@ class SvxInsRowColDlg : public SvxAbstractInsRowColDlg, public ModalDialog

public:
    SvxInsRowColDlg( vcl::Window* pParent, bool bCol, const OString& sHelpId );
    virtual ~SvxInsRowColDlg();
    virtual void dispose() SAL_OVERRIDE;

    virtual short Execute(void) SAL_OVERRIDE;

diff --git a/cui/source/inc/labdlg.hxx b/cui/source/inc/labdlg.hxx
index 446499f..7b20283 100644
--- a/cui/source/inc/labdlg.hxx
+++ b/cui/source/inc/labdlg.hxx
@@ -34,16 +34,16 @@ class SvxCaptionTabPage : public SfxTabPage
{
private:
    static const sal_uInt16 pCaptionRanges[];
    ValueSet*       m_pCT_CAPTTYPE;
    MetricField*    m_pMF_ABSTAND;
    ListBox*        m_pLB_ANSATZ;
    FixedText*      m_pFT_UM;
    MetricField*    m_pMF_ANSATZ;
    FixedText*      m_pFT_ANSATZ_REL;
    ListBox*        m_pLB_ANSATZ_REL;
    FixedText*      m_pFT_LAENGE;
    MetricField*    m_pMF_LAENGE;
    CheckBox*       m_pCB_LAENGE;
    VclPtr<ValueSet>       m_pCT_CAPTTYPE;
    VclPtr<MetricField>    m_pMF_ABSTAND;
    VclPtr<ListBox>        m_pLB_ANSATZ;
    VclPtr<FixedText>      m_pFT_UM;
    VclPtr<MetricField>    m_pMF_ANSATZ;
    VclPtr<FixedText>      m_pFT_ANSATZ_REL;
    VclPtr<ListBox>        m_pLB_ANSATZ_REL;
    VclPtr<FixedText>      m_pFT_LAENGE;
    VclPtr<MetricField>    m_pMF_LAENGE;
    VclPtr<CheckBox>       m_pCB_LAENGE;

    Image           m_aBmpCapTypes[CAPTYPE_BITMAPS_COUNT];

@@ -75,6 +75,8 @@ private:

public:
    SvxCaptionTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs  );
    virtual ~SvxCaptionTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window*, const SfxItemSet* );
    static const sal_uInt16*  GetRanges() { return pCaptionRanges; }
diff --git a/cui/source/inc/linkdlg.hxx b/cui/source/inc/linkdlg.hxx
index 62afb0c..7e953fc 100644
--- a/cui/source/inc/linkdlg.hxx
+++ b/cui/source/inc/linkdlg.hxx
@@ -44,16 +44,16 @@ class SvBaseLinksDlg : public ModalDialog
{
    using Window::SetType;

    SvTabListBox *m_pTbLinks;
    FixedText *m_pFtFullFileName;
    FixedText *m_pFtFullSourceName;
    FixedText *m_pFtFullTypeName;
    RadioButton *m_pRbAutomatic;
    RadioButton *m_pRbManual;
    PushButton *m_pPbUpdateNow;
    PushButton *m_pPbOpenSource;
    PushButton *m_pPbChangeSource;
    PushButton *m_pPbBreakLink;
    VclPtr<SvTabListBox> m_pTbLinks;
    VclPtr<FixedText> m_pFtFullFileName;
    VclPtr<FixedText> m_pFtFullSourceName;
    VclPtr<FixedText> m_pFtFullTypeName;
    VclPtr<RadioButton> m_pRbAutomatic;
    VclPtr<RadioButton> m_pRbManual;
    VclPtr<PushButton> m_pPbUpdateNow;
    VclPtr<PushButton> m_pPbOpenSource;
    VclPtr<PushButton> m_pPbChangeSource;
    VclPtr<PushButton> m_pPbBreakLink;
    OUString aStrAutolink;
    OUString aStrManuallink;
    OUString aStrBrokenlink;
@@ -95,6 +95,8 @@ class SvBaseLinksDlg : public ModalDialog

public:
    SvBaseLinksDlg( vcl::Window * pParent, sfx2::LinkManager*, bool bHtml = false );
    virtual ~SvBaseLinksDlg();
    virtual void dispose() SAL_OVERRIDE;
    void SetActLink( sfx2::SvBaseLink * pLink );
};

diff --git a/cui/source/inc/measure.hxx b/cui/source/inc/measure.hxx
index 7e7bc03..18b0fc6 100644
--- a/cui/source/inc/measure.hxx
+++ b/cui/source/inc/measure.hxx
@@ -33,23 +33,23 @@ class SvxMeasurePage : public SvxTabPage
private:
    static const sal_uInt16 pRanges[];

    MetricField*         m_pMtrFldLineDist;
    MetricField*         m_pMtrFldHelplineOverhang;
    MetricField*         m_pMtrFldHelplineDist;
    MetricField*         m_pMtrFldHelpline1Len;
    MetricField*         m_pMtrFldHelpline2Len;
    TriStateBox*         m_pTsbBelowRefEdge;
    MetricField*         m_pMtrFldDecimalPlaces;
    VclPtr<MetricField>         m_pMtrFldLineDist;
    VclPtr<MetricField>         m_pMtrFldHelplineOverhang;
    VclPtr<MetricField>         m_pMtrFldHelplineDist;
    VclPtr<MetricField>         m_pMtrFldHelpline1Len;
    VclPtr<MetricField>         m_pMtrFldHelpline2Len;
    VclPtr<TriStateBox>         m_pTsbBelowRefEdge;
    VclPtr<MetricField>         m_pMtrFldDecimalPlaces;

    SvxRectCtl*          m_pCtlPosition;
    TriStateBox*         m_pTsbAutoPosV;
    TriStateBox*         m_pTsbAutoPosH;
    TriStateBox*         m_pTsbShowUnit;
    ListBox*             m_pLbUnit;
    TriStateBox*         m_pTsbParallel;
    FixedText*           m_pFtAutomatic;
    VclPtr<SvxRectCtl>          m_pCtlPosition;
    VclPtr<TriStateBox>         m_pTsbAutoPosV;
    VclPtr<TriStateBox>         m_pTsbAutoPosH;
    VclPtr<TriStateBox>         m_pTsbShowUnit;
    VclPtr<ListBox>             m_pLbUnit;
    VclPtr<TriStateBox>         m_pTsbParallel;
    VclPtr<FixedText>           m_pFtAutomatic;

    SvxXMeasurePreview*  m_pCtlPreview;
    VclPtr<SvxXMeasurePreview>  m_pCtlPreview;

    const SfxItemSet&   rOutAttrs;
    SfxItemSet          aAttrSet;
@@ -66,6 +66,8 @@ private:
public:

    SvxMeasurePage( vcl::Window* pWindow, const SfxItemSet& rInAttrs );
    virtual ~SvxMeasurePage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window*, const SfxItemSet* );
    static const sal_uInt16* GetRanges() { return pRanges; }
diff --git a/cui/source/inc/multipat.hxx b/cui/source/inc/multipat.hxx
index 685bbc3..ecc1395 100644
--- a/cui/source/inc/multipat.hxx
+++ b/cui/source/inc/multipat.hxx
@@ -39,9 +39,9 @@
class SvxMultiPathDialog : public ModalDialog
{
private:
    svx::SvxRadioButtonListBox* m_pRadioLB;
    PushButton*                 m_pAddBtn;
    PushButton*                 m_pDelBtn;
    VclPtr<svx::SvxRadioButtonListBox> m_pRadioLB;
    VclPtr<PushButton>                 m_pAddBtn;
    VclPtr<PushButton>                 m_pDelBtn;

    DECL_LINK(AddHdl_Impl, void *);
    DECL_LINK(DelHdl_Impl, void *);
@@ -60,9 +60,9 @@ public:
class SvxPathSelectDialog : public ModalDialog
{
private:
    ListBox*                    m_pPathLB;
    PushButton*                 m_pAddBtn;
    PushButton*                 m_pDelBtn;
    VclPtr<ListBox>                    m_pPathLB;
    VclPtr<PushButton>                 m_pAddBtn;
    VclPtr<PushButton>                 m_pDelBtn;

    DECL_LINK(AddHdl_Impl, void *);
    DECL_LINK(DelHdl_Impl, void *);
diff --git a/cui/source/inc/newtabledlg.hxx b/cui/source/inc/newtabledlg.hxx
index 778457a..f6be298 100644
--- a/cui/source/inc/newtabledlg.hxx
+++ b/cui/source/inc/newtabledlg.hxx
@@ -29,11 +29,13 @@
class SvxNewTableDialog : public SvxAbstractNewTableDialog, public ModalDialog
{
private:
    NumericField*       mpNumColumns;
    NumericField*       mpNumRows;
    VclPtr<NumericField>       mpNumColumns;
    VclPtr<NumericField>       mpNumRows;

public:
    SvxNewTableDialog( vcl::Window* pWindow );
    virtual ~SvxNewTableDialog();
    virtual void dispose() SAL_OVERRIDE;

    virtual short Execute(void) SAL_OVERRIDE;

diff --git a/cui/source/inc/numfmt.hxx b/cui/source/inc/numfmt.hxx
index 7a633e3..552f592 100644
--- a/cui/source/inc/numfmt.hxx
+++ b/cui/source/inc/numfmt.hxx
@@ -92,31 +92,31 @@ public:
private:
    SvxNumberFormatTabPage( vcl::Window* pParent,
                            const SfxItemSet& rCoreAttrs );
    FixedText*              m_pFtCategory;
    ListBox*                m_pLbCategory;
    FixedText*              m_pFtFormat;
    ListBox*                m_pLbCurrency;
    SvxFontListBox*         m_pLbFormat;
    FixedText*              m_pFtLanguage;
    SvxLanguageBox*         m_pLbLanguage;
    CheckBox*               m_pCbSourceFormat;
    SvxNumberPreview*       m_pWndPreview;
    FixedText*              m_pFtOptions;
    FixedText*              m_pFtDecimals;
    NumericField*           m_pEdDecimals;
    CheckBox*               m_pBtnNegRed;
    FixedText*              m_pFtLeadZeroes;
    NumericField*           m_pEdLeadZeroes;
    CheckBox*               m_pBtnThousand;
    VclPtr<FixedText>              m_pFtCategory;
    VclPtr<ListBox>                m_pLbCategory;
    VclPtr<FixedText>              m_pFtFormat;
    VclPtr<ListBox>                m_pLbCurrency;
    VclPtr<SvxFontListBox>         m_pLbFormat;
    VclPtr<FixedText>              m_pFtLanguage;
    VclPtr<SvxLanguageBox>         m_pLbLanguage;
    VclPtr<CheckBox>               m_pCbSourceFormat;
    VclPtr<SvxNumberPreview>       m_pWndPreview;
    VclPtr<FixedText>              m_pFtOptions;
    VclPtr<FixedText>              m_pFtDecimals;
    VclPtr<NumericField>           m_pEdDecimals;
    VclPtr<CheckBox>               m_pBtnNegRed;
    VclPtr<FixedText>              m_pFtLeadZeroes;
    VclPtr<NumericField>           m_pEdLeadZeroes;
    VclPtr<CheckBox>               m_pBtnThousand;

    VclContainer*           m_pFormatCodeFrame;
    Edit*                   m_pEdFormat;
    PushButton*             m_pIbAdd;
    PushButton*             m_pIbInfo;
    PushButton*             m_pIbRemove;
    VclPtr<VclContainer>           m_pFormatCodeFrame;
    VclPtr<Edit>                   m_pEdFormat;
    VclPtr<PushButton>             m_pIbAdd;
    VclPtr<PushButton>             m_pIbInfo;
    VclPtr<PushButton>             m_pIbRemove;

    FixedText*              m_pFtComment;
    Edit*                   m_pEdComment;
    VclPtr<FixedText>              m_pFtComment;
    VclPtr<Edit>                   m_pEdComment;
    Timer                   aResetWinTimer;


@@ -131,7 +131,7 @@ private:

    OUString sAutomaticEntry;

    vcl::Window*                 pLastActivWindow;
    VclPtr<vcl::Window>            pLastActivWindow;

    void    Init_Impl();
    void    FillCurrencyBox();
@@ -146,11 +146,11 @@ private:
    void    ChangePreviewText( sal_uInt16 nPos );
    void    AddAutomaticLanguage_Impl(LanguageType eAutoLang, bool bSelect);
    // Handler
    DECL_LINK( LostFocusHdl_Impl, Edit* pEd );
    DECL_LINK( DoubleClickHdl_Impl, SvxFontListBox* pLb );
    DECL_LINK( LostFocusHdl_Impl, Edit* );
    DECL_LINK( DoubleClickHdl_Impl, SvxFontListBox* );
    DECL_LINK( SelFormatHdl_Impl, void * );
    DECL_LINK( ClickHdl_Impl, PushButton* pIB );
    DECL_LINK( EditHdl_Impl, Edit* pEdFormat );
    DECL_LINK( ClickHdl_Impl, PushButton* );
    DECL_LINK( EditHdl_Impl, Edit* );
    DECL_LINK( OptHdl_Impl, void * );
    DECL_LINK(TimeHdl_Impl, void *);
};
diff --git a/cui/source/inc/numpages.hxx b/cui/source/inc/numpages.hxx
index 9f9cca7..f2cb95c 100644
--- a/cui/source/inc/numpages.hxx
+++ b/cui/source/inc/numpages.hxx
@@ -90,7 +90,7 @@ class SvxSingleNumPickTabPage : public SfxTabPage
    using TabPage::ActivatePage;
    using TabPage::DeactivatePage;

    SvxNumValueSet*         m_pExamplesVS;
    VclPtr<SvxNumValueSet>         m_pExamplesVS;
    SvxNumSettingsArr_Impl  aNumSettingsArr;
    SvxNumRule*             pActNum;
    SvxNumRule*             pSaveNum;
@@ -130,7 +130,7 @@ class SvxBulletPickTabPage : public SfxTabPage
    using TabPage::ActivatePage;
    using TabPage::DeactivatePage;

    SvxNumValueSet*     m_pExamplesVS;
    VclPtr<SvxNumValueSet>     m_pExamplesVS;
    SvxNumRule*         pActNum;
    SvxNumRule*         pSaveNum;
    sal_uInt16              nActNumLvl;
@@ -168,7 +168,7 @@ class SvxNumPickTabPage : public SfxTabPage
    using TabPage::ActivatePage;
    using TabPage::DeactivatePage;

    SvxNumValueSet*     m_pExamplesVS;
    VclPtr<SvxNumValueSet>     m_pExamplesVS;
    OUString            sNumCharFmtName;
    OUString            sBulletCharFmtName;

@@ -213,8 +213,8 @@ class SvxBitmapPickTabPage : public SfxTabPage
    using TabPage::ActivatePage;
    using TabPage::DeactivatePage;

    FixedText*          m_pErrorText;
    SvxBmpNumValueSet*  m_pExamplesVS;
    VclPtr<FixedText>          m_pErrorText;
    VclPtr<SvxBmpNumValueSet>  m_pExamplesVS;

    std::vector<OUString> aGrfNames;
    OUString            sNumCharFmtName;
@@ -255,44 +255,44 @@ class SvxNumOptionsTabPage : public SfxTabPage
    using TabPage::ActivatePage;
    using TabPage::DeactivatePage;

    ListBox*        m_pLevelLB;
    VclPtr<ListBox>        m_pLevelLB;

    ListBox*        m_pFmtLB;
    VclPtr<ListBox>        m_pFmtLB;

    FixedText*      m_pSeparatorFT;
    FixedText*      m_pPrefixFT;
    Edit*           m_pPrefixED;
    FixedText*      m_pSuffixFT;
    Edit*           m_pSuffixED;
    FixedText*      m_pCharFmtFT;
    ListBox*        m_pCharFmtLB;
    FixedText*      m_pBulColorFT;
    ColorListBox*   m_pBulColLB;
    FixedText*      m_pBulRelSizeFT;
    MetricField*    m_pBulRelSizeMF;
    FixedText*      m_pAllLevelFT;
    NumericField*   m_pAllLevelNF;
    FixedText*      m_pStartFT;
    NumericField*   m_pStartED;
    FixedText*      m_pBulletFT;
    PushButton*     m_pBulletPB;
    FixedText*      m_pAlignFT;
    ListBox*        m_pAlignLB;
    FixedText*      m_pBitmapFT;
    MenuButton*     m_pBitmapMB;
    VclPtr<FixedText>      m_pSeparatorFT;
    VclPtr<FixedText>      m_pPrefixFT;
    VclPtr<Edit>           m_pPrefixED;
    VclPtr<FixedText>      m_pSuffixFT;
    VclPtr<Edit>           m_pSuffixED;
    VclPtr<FixedText>      m_pCharFmtFT;
    VclPtr<ListBox>        m_pCharFmtLB;
    VclPtr<FixedText>      m_pBulColorFT;
    VclPtr<ColorListBox>   m_pBulColLB;
    VclPtr<FixedText>      m_pBulRelSizeFT;
    VclPtr<MetricField>    m_pBulRelSizeMF;
    VclPtr<FixedText>      m_pAllLevelFT;
    VclPtr<NumericField>   m_pAllLevelNF;
    VclPtr<FixedText>      m_pStartFT;
    VclPtr<NumericField>   m_pStartED;
    VclPtr<FixedText>      m_pBulletFT;
    VclPtr<PushButton>     m_pBulletPB;
    VclPtr<FixedText>      m_pAlignFT;
    VclPtr<ListBox>        m_pAlignLB;
    VclPtr<FixedText>      m_pBitmapFT;
    VclPtr<MenuButton>     m_pBitmapMB;
    sal_uInt16      m_nGalleryId;
    FixedText*      m_pWidthFT;
    MetricField*    m_pWidthMF;
    FixedText*      m_pHeightFT;
    MetricField*    m_pHeightMF;
    CheckBox*       m_pRatioCB;
    FixedText*      m_pOrientFT;
    ListBox*        m_pOrientLB;
    VclPtr<FixedText>      m_pWidthFT;
    VclPtr<MetricField>    m_pWidthMF;
    VclPtr<FixedText>      m_pHeightFT;
    VclPtr<MetricField>    m_pHeightMF;
    VclPtr<CheckBox>       m_pRatioCB;
    VclPtr<FixedText>      m_pOrientFT;
    VclPtr<ListBox>        m_pOrientLB;

    VclContainer*   m_pAllLevelsFrame;
    CheckBox*       m_pSameLevelCB;
    VclPtr<VclContainer>   m_pAllLevelsFrame;
    VclPtr<CheckBox>       m_pSameLevelCB;

    SvxNumberingPreview* m_pPreviewWIN;
    VclPtr<SvxNumberingPreview> m_pPreviewWIN;

    OUString        m_sNumCharFmtName;
    OUString        m_sBulletCharFmtName;
@@ -390,36 +390,36 @@ class SvxNumPositionTabPage : public SfxTabPage
    using TabPage::ActivatePage;
    using TabPage::DeactivatePage;

    ListBox*            m_pLevelLB;
    VclPtr<ListBox>            m_pLevelLB;

    // former set of controls shown for numbering rules containing list level
    // attributes in SvxNumberFormat::SvxNumPositionAndSpaceMode == LABEL_WIDTH_AND_POSITION
    FixedText*          m_pDistBorderFT;
    MetricField*        m_pDistBorderMF;
    CheckBox*           m_pRelativeCB;
    FixedText*          m_pIndentFT;
    MetricField*        m_pIndentMF;
    FixedText*          m_pDistNumFT;
    MetricField*        m_pDistNumMF;
    FixedText*          m_pAlignFT;
    ListBox*            m_pAlignLB;
    VclPtr<FixedText>          m_pDistBorderFT;
    VclPtr<MetricField>        m_pDistBorderMF;
    VclPtr<CheckBox>           m_pRelativeCB;
    VclPtr<FixedText>          m_pIndentFT;
    VclPtr<MetricField>        m_pIndentMF;
    VclPtr<FixedText>          m_pDistNumFT;
    VclPtr<MetricField>        m_pDistNumMF;
    VclPtr<FixedText>          m_pAlignFT;
    VclPtr<ListBox>            m_pAlignLB;

    // new set of controls shown for numbering rules containing list level
    // attributes in SvxNumberFormat::SvxNumPositionAndSpaceMode == LABEL_ALIGNMENT
    FixedText*          m_pLabelFollowedByFT;
    ListBox*            m_pLabelFollowedByLB;
    FixedText*          m_pListtabFT;
    MetricField*        m_pListtabMF;
    FixedText*          m_pAlign2FT;
    ListBox*            m_pAlign2LB;
    FixedText*          m_pAlignedAtFT;
    MetricField*        m_pAlignedAtMF;
    FixedText*          m_pIndentAtFT;
    MetricField*        m_pIndentAtMF;
    VclPtr<FixedText>          m_pLabelFollowedByFT;
    VclPtr<ListBox>            m_pLabelFollowedByLB;
    VclPtr<FixedText>          m_pListtabFT;
    VclPtr<MetricField>        m_pListtabMF;
    VclPtr<FixedText>          m_pAlign2FT;
    VclPtr<ListBox>            m_pAlign2LB;
    VclPtr<FixedText>          m_pAlignedAtFT;
    VclPtr<MetricField>        m_pAlignedAtMF;
    VclPtr<FixedText>          m_pIndentAtFT;
    VclPtr<MetricField>        m_pIndentAtMF;

    PushButton*         m_pStandardPB;
    VclPtr<PushButton>         m_pStandardPB;

    SvxNumberingPreview* m_pPreviewWIN;
    VclPtr<SvxNumberingPreview> m_pPreviewWIN;

    SvxNumRule*         pActNum;
    SvxNumRule*         pSaveNum;
diff --git a/cui/source/inc/optasian.hxx b/cui/source/inc/optasian.hxx
index 5dc1978..5be6d80 100644
--- a/cui/source/inc/optasian.hxx
+++ b/cui/source/inc/optasian.hxx
@@ -29,22 +29,22 @@
struct SvxAsianLayoutPage_Impl;
class SvxAsianLayoutPage : public SfxTabPage
{
    RadioButton* m_pCharKerningRB;
    RadioButton* m_pCharPunctKerningRB;
    VclPtr<RadioButton> m_pCharKerningRB;
    VclPtr<RadioButton> m_pCharPunctKerningRB;

    RadioButton* m_pNoCompressionRB;
    RadioButton* m_pPunctCompressionRB;
    RadioButton* m_pPunctKanaCompressionRB;
    VclPtr<RadioButton> m_pNoCompressionRB;
    VclPtr<RadioButton> m_pPunctCompressionRB;
    VclPtr<RadioButton> m_pPunctKanaCompressionRB;

    FixedText*      m_pLanguageFT;
    SvxLanguageBox* m_pLanguageLB;
    CheckBox*       m_pStandardCB;
    VclPtr<FixedText>      m_pLanguageFT;
    VclPtr<SvxLanguageBox> m_pLanguageLB;
    VclPtr<CheckBox>       m_pStandardCB;

    FixedText*   m_pStartFT;
    Edit*        m_pStartED;
    FixedText*   m_pEndFT;
    Edit*        m_pEndED;
    FixedText*   m_pHintFT;
    VclPtr<FixedText>   m_pStartFT;
    VclPtr<Edit>        m_pStartED;
    VclPtr<FixedText>   m_pEndFT;
    VclPtr<Edit>        m_pEndED;
    VclPtr<FixedText>   m_pHintFT;

    SvxAsianLayoutPage_Impl* pImpl;

diff --git a/cui/source/inc/optdict.hxx b/cui/source/inc/optdict.hxx
index 9ed48ed..3bdffc3 100644
--- a/cui/source/inc/optdict.hxx
+++ b/cui/source/inc/optdict.hxx
@@ -50,10 +50,10 @@ namespace linguistic2{
class SvxNewDictionaryDialog : public ModalDialog
{
private:
    Edit*                pNameEdit;
    SvxLanguageBox*      pLanguageLB;
    CheckBox*            pExceptBtn;
    OKButton*            pOKBtn;
    VclPtr<Edit>                pNameEdit;
    VclPtr<SvxLanguageBox>      pLanguageLB;
    VclPtr<CheckBox>            pExceptBtn;
    VclPtr<OKButton>            pOKBtn;
    ::com::sun::star::uno::Reference<
        ::com::sun::star::linguistic2::XSpellChecker1 >     xSpell;
    ::com::sun::star::uno::Reference<
@@ -66,6 +66,8 @@ public:
    SvxNewDictionaryDialog( vcl::Window* pParent,
            ::com::sun::star::uno::Reference<
                ::com::sun::star::linguistic2::XSpellChecker1 >  &xSpl );
    virtual ~SvxNewDictionaryDialog();
    virtual void dispose() SAL_OVERRIDE;

    ::com::sun::star::uno::Reference<
        ::com::sun::star::linguistic2::XDictionary >
@@ -100,16 +102,16 @@ class SvxEditDictionaryDialog : public ModalDialog
{
private:

    ListBox*                 pAllDictsLB;
    FixedText*               pLangFT;
    SvxLanguageBox*          pLangLB;
    VclPtr<ListBox>                 pAllDictsLB;
    VclPtr<FixedText>               pLangFT;
    VclPtr<SvxLanguageBox>          pLangLB;

    SvxDictEdit*             pWordED;
    FixedText*               pReplaceFT;
    SvxDictEdit*             pReplaceED;
    SvTabListBox*            pWordsLB;
    PushButton*              pNewReplacePB;
    PushButton*              pDeletePB;
    VclPtr<SvxDictEdit>             pWordED;
    VclPtr<FixedText>               pReplaceFT;
    VclPtr<SvxDictEdit>             pReplaceED;
    VclPtr<SvTabListBox>            pWordsLB;
    VclPtr<PushButton>              pNewReplacePB;
    VclPtr<PushButton>              pDeletePB;

    OUString                sModify;
    OUString                sNew;
@@ -152,6 +154,8 @@ public:
            const OUString& rName,
            ::com::sun::star::uno::Reference<
                ::com::sun::star::linguistic2::XSpellChecker1> &xSpl );
    virtual ~SvxEditDictionaryDialog();
    virtual void dispose() SAL_OVERRIDE;

    sal_uInt16 GetSelectedDict() {return pAllDictsLB->GetSelectEntryPos();}
};
diff --git a/cui/source/inc/optlingu.hxx b/cui/source/inc/optlingu.hxx
index cb49363..0dea8bc 100644
--- a/cui/source/inc/optlingu.hxx
+++ b/cui/source/inc/optlingu.hxx
@@ -52,15 +52,15 @@ class SvxLinguData_Impl;

class SvxEditModulesDlg : public ModalDialog
{
    SvxLanguageBox*     m_pLanguageLB;
    VclPtr<SvxLanguageBox>     m_pLanguageLB;

    SvxCheckListBox*    m_pModulesCLB;
    PushButton*         m_pPrioUpPB;
    PushButton*         m_pPrioDownPB;
    PushButton*         m_pBackPB;
    FixedHyperlink*     m_pMoreDictsLink;
    VclPtr<SvxCheckListBox>    m_pModulesCLB;
    VclPtr<PushButton>         m_pPrioUpPB;
    VclPtr<PushButton>         m_pPrioDownPB;
    VclPtr<PushButton>         m_pBackPB;
    VclPtr<FixedHyperlink>     m_pMoreDictsLink;

    CloseButton*        m_pClosePB;
    VclPtr<CloseButton>        m_pClosePB;

    OUString            sSpell;
    OUString            sHyph;
@@ -94,17 +94,17 @@ public:
class SvxLinguTabPage : public SfxTabPage
{
private:
    FixedText*          m_pLinguModulesFT;
    SvxCheckListBox*    m_pLinguModulesCLB;
    PushButton*         m_pLinguModulesEditPB;
    FixedText*          m_pLinguDicsFT;
    SvxCheckListBox*    m_pLinguDicsCLB;
    PushButton*         m_pLinguDicsNewPB;
    PushButton*         m_pLinguDicsEditPB;
    PushButton*         m_pLinguDicsDelPB;
    SvxCheckListBox*    m_pLinguOptionsCLB;
    PushButton*         m_pLinguOptionsEditPB;
    FixedHyperlink*     m_pMoreDictsLink;
    VclPtr<FixedText>          m_pLinguModulesFT;
    VclPtr<SvxCheckListBox>    m_pLinguModulesCLB;
    VclPtr<PushButton>         m_pLinguModulesEditPB;
    VclPtr<FixedText>          m_pLinguDicsFT;
    VclPtr<SvxCheckListBox>    m_pLinguDicsCLB;
    VclPtr<PushButton>         m_pLinguDicsNewPB;
    VclPtr<PushButton>         m_pLinguDicsEditPB;
    VclPtr<PushButton>         m_pLinguDicsDelPB;
    VclPtr<SvxCheckListBox>    m_pLinguOptionsCLB;
    VclPtr<PushButton>         m_pLinguOptionsEditPB;
    VclPtr<FixedHyperlink>     m_pMoreDictsLink;

    OUString            sCapitalWords;
    OUString            sWordsWithDigits;
diff --git a/cui/source/inc/optpath.hxx b/cui/source/inc/optpath.hxx
index 89cf485..3e0ff7e 100644
--- a/cui/source/inc/optpath.hxx
+++ b/cui/source/inc/optpath.hxx
@@ -42,11 +42,11 @@ class SvxPathTabPage;
class SvxPathTabPage : public SfxTabPage
{
private:
    SvSimpleTableContainer* m_pPathCtrl;
    PushButton*         m_pStandardBtn;
    PushButton*         m_pPathBtn;
    VclPtr<SvSimpleTableContainer> m_pPathCtrl;
    VclPtr<PushButton>         m_pStandardBtn;
    VclPtr<PushButton>         m_pPathBtn;

    ::svx::OptHeaderTabListBox* pPathBox;
    VclPtr<::svx::OptHeaderTabListBox> pPathBox;
    OptPath_Impl*               pImpl;

    ::com::sun::star::uno::Reference< ::svt::DialogClosedListener > xDialogListener;
diff --git a/cui/source/inc/page.hxx b/cui/source/inc/page.hxx
index fae515c..f34239c 100644
--- a/cui/source/inc/page.hxx
+++ b/cui/source/inc/page.hxx
@@ -75,53 +75,53 @@ class SvxPageDescPage : public SfxTabPage
    static const sal_uInt16 pRanges[];
private:
    // paper format
    ListBox*             m_pPaperSizeBox;
    VclPtr<ListBox>             m_pPaperSizeBox;

    MetricField*         m_pPaperWidthEdit;
    MetricField*         m_pPaperHeightEdit;
    VclPtr<MetricField>         m_pPaperWidthEdit;
    VclPtr<MetricField>         m_pPaperHeightEdit;

    FixedText*           m_pOrientationFT;
    RadioButton*         m_pPortraitBtn;
    RadioButton*         m_pLandscapeBtn;
    VclPtr<FixedText>           m_pOrientationFT;
    VclPtr<RadioButton>         m_pPortraitBtn;
    VclPtr<RadioButton>         m_pLandscapeBtn;

    SvxPageWindow*       m_pBspWin;
    VclPtr<SvxPageWindow>       m_pBspWin;

    FixedText*           m_pTextFlowLbl;
    svx::FrameDirectionListBox*  m_pTextFlowBox;
    VclPtr<FixedText>           m_pTextFlowLbl;
    VclPtr<svx::FrameDirectionListBox>  m_pTextFlowBox;

    ListBox*             m_pPaperTrayBox;
    VclPtr<ListBox>             m_pPaperTrayBox;

    // Margins
    FixedText*           m_pLeftMarginLbl;
    MetricField*         m_pLeftMarginEdit;
    FixedText*           m_pRightMarginLbl;
    MetricField*         m_pRightMarginEdit;
    MetricField*         m_pTopMarginEdit;
    MetricField*         m_pBottomMarginEdit;
    VclPtr<FixedText>           m_pLeftMarginLbl;
    VclPtr<MetricField>         m_pLeftMarginEdit;
    VclPtr<FixedText>           m_pRightMarginLbl;
    VclPtr<MetricField>         m_pRightMarginEdit;
    VclPtr<MetricField>         m_pTopMarginEdit;
    VclPtr<MetricField>         m_pBottomMarginEdit;

    // layout settings
    FixedText*           m_pPageText;
    ListBox*             m_pLayoutBox;
    ListBox*             m_pNumberFormatBox;
    VclPtr<FixedText>           m_pPageText;
    VclPtr<ListBox>             m_pLayoutBox;
    VclPtr<ListBox>             m_pNumberFormatBox;

    //Extras Calc
    FixedText*           m_pTblAlignFT;
    CheckBox*            m_pHorzBox;
    CheckBox*            m_pVertBox;
    VclPtr<FixedText>           m_pTblAlignFT;
    VclPtr<CheckBox>            m_pHorzBox;
    VclPtr<CheckBox>            m_pVertBox;

    // Impress and Draw
    CheckBox*            m_pAdaptBox;
    VclPtr<CheckBox>            m_pAdaptBox;

    //Register Writer
    CheckBox*            m_pRegisterCB;
    FixedText*           m_pRegisterFT;
    ListBox*             m_pRegisterLB;
    VclPtr<CheckBox>            m_pRegisterCB;
    VclPtr<FixedText>           m_pRegisterFT;
    VclPtr<ListBox>             m_pRegisterLB;

    OUString             sStandardRegister;

    FixedText*           m_pInsideLbl;
    FixedText*           m_pOutsideLbl;
    FixedText*           m_pPrintRangeQueryText;
    VclPtr<FixedText>           m_pInsideLbl;
    VclPtr<FixedText>           m_pOutsideLbl;
    VclPtr<FixedText>           m_pPrintRangeQueryText;

    long                nFirstLeftMargin;
    long                nFirstRightMargin;
diff --git a/cui/source/inc/paragrph.hxx b/cui/source/inc/paragrph.hxx
index 26a9bc7..401158e 100644
--- a/cui/source/inc/paragrph.hxx
+++ b/cui/source/inc/paragrph.hxx
@@ -52,32 +52,32 @@ private:
    SvxStdParagraphTabPage( vcl::Window* pParent, const SfxItemSet& rSet );

    // indention
    SvxRelativeField*       m_pLeftIndent;
    VclPtr<SvxRelativeField>       m_pLeftIndent;

    FixedText*              m_pRightLabel;
    SvxRelativeField*       m_pRightIndent;
    VclPtr<FixedText>              m_pRightLabel;
    VclPtr<SvxRelativeField>       m_pRightIndent;

    FixedText*              m_pFLineLabel;
    SvxRelativeField*       m_pFLineIndent;
    CheckBox*               m_pAutoCB;
    VclPtr<FixedText>              m_pFLineLabel;
    VclPtr<SvxRelativeField>       m_pFLineIndent;
    VclPtr<CheckBox>               m_pAutoCB;

    // distance
    SvxRelativeField*       m_pTopDist;
    SvxRelativeField*       m_pBottomDist;
    CheckBox*               m_pContextualCB;
    VclPtr<SvxRelativeField>       m_pTopDist;
    VclPtr<SvxRelativeField>       m_pBottomDist;
    VclPtr<CheckBox>               m_pContextualCB;

    // line spacing
    ListBox*                m_pLineDist;
    FixedText*              m_pLineDistAtLabel;
    MetricField*            m_pLineDistAtPercentBox;
    MetricField*            m_pLineDistAtMetricBox;
    FixedText*              m_pAbsDist;
    VclPtr<ListBox>                m_pLineDist;
    VclPtr<FixedText>              m_pLineDistAtLabel;
    VclPtr<MetricField>            m_pLineDistAtPercentBox;
    VclPtr<MetricField>            m_pLineDistAtMetricBox;
    VclPtr<FixedText>              m_pAbsDist;
    OUString                sAbsDist;
    SvxParaPrevWindow*      m_pExampleWin;
    VclPtr<SvxParaPrevWindow>      m_pExampleWin;

    // only writer
    VclFrame*               m_pRegisterFL;
    CheckBox*               m_pRegisterCB;
    VclPtr<VclFrame>               m_pRegisterFL;
    VclPtr<CheckBox>               m_pRegisterCB;

    long                    nAbst;
    long                    nWidth;
@@ -98,6 +98,9 @@ protected:


public:
    virtual ~SvxStdParagraphTabPage();
    virtual void dispose() SAL_OVERRIDE;

    DECL_LINK(ELRLoseFocusHdl, void *);

    static SfxTabPage*      Create( vcl::Window* pParent, const SfxItemSet* rSet );
@@ -125,27 +128,27 @@ class SvxParaAlignTabPage : public SfxTabPage
    static const sal_uInt16 pAlignRanges[];

    // alignment
    RadioButton*             m_pLeft;
    RadioButton*             m_pRight;
    RadioButton*             m_pCenter;
    RadioButton*             m_pJustify;
    FixedText*               m_pLeftBottom;
    FixedText*               m_pRightTop;
    VclPtr<RadioButton>             m_pLeft;
    VclPtr<RadioButton>             m_pRight;
    VclPtr<RadioButton>             m_pCenter;
    VclPtr<RadioButton>             m_pJustify;
    VclPtr<FixedText>               m_pLeftBottom;
    VclPtr<FixedText>               m_pRightTop;

    FixedText*               m_pLastLineFT;
    ListBox*                 m_pLastLineLB;
    CheckBox*                m_pExpandCB;
    VclPtr<FixedText>               m_pLastLineFT;
    VclPtr<ListBox>                 m_pLastLineLB;
    VclPtr<CheckBox>                m_pExpandCB;

    CheckBox*                m_pSnapToGridCB;
    VclPtr<CheckBox>                m_pSnapToGridCB;

    //preview
    SvxParaPrevWindow*       m_pExampleWin;
    VclPtr<SvxParaPrevWindow>       m_pExampleWin;
    //vertical alignment
    VclFrame*                m_pVertAlignFL;
    ListBox*                 m_pVertAlignLB;
    VclPtr<VclFrame>                m_pVertAlignFL;
    VclPtr<ListBox>                 m_pVertAlignLB;

    VclFrame*                m_pPropertiesFL;
    svx::FrameDirectionListBox*  m_pTextDirectionLB;
    VclPtr<VclFrame>                m_pPropertiesFL;
    VclPtr<svx::FrameDirectionListBox>  m_pTextDirectionLB;

    DECL_LINK(AlignHdl_Impl, void *);
    DECL_LINK(LastLineHdl_Impl, void *);
@@ -159,6 +162,9 @@ protected:
    virtual int             DeactivatePage( SfxItemSet* pSet = 0 ) SAL_OVERRIDE;

public:
    virtual ~SvxParaAlignTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*      Create( vcl::Window* pParent, const SfxItemSet* rSet );
    static const sal_uInt16* GetRanges() { return pAlignRanges; }

@@ -189,6 +195,9 @@ class SvxExtParagraphTabPage: public SfxTabPage
    static const sal_uInt16 pExtRanges[];

public:
    virtual ~SvxExtParagraphTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent,
                                const SfxItemSet* rSet );
    static const sal_uInt16* GetRanges() { return pExtRanges; }
@@ -205,37 +214,37 @@ private:
                        SvxExtParagraphTabPage( vcl::Window* pParent, const SfxItemSet& rSet );

    // hyphenation
    TriStateBox*        m_pHyphenBox;
    FixedText*          m_pBeforeText;
    NumericField*       m_pExtHyphenBeforeBox;
    FixedText*          m_pAfterText;
    NumericField*       m_pExtHyphenAfterBox;
    FixedText*          m_pMaxHyphenLabel;
    NumericField*       m_pMaxHyphenEdit;
    VclPtr<TriStateBox>        m_pHyphenBox;
    VclPtr<FixedText>          m_pBeforeText;
    VclPtr<NumericField>       m_pExtHyphenBeforeBox;
    VclPtr<FixedText>          m_pAfterText;
    VclPtr<NumericField>       m_pExtHyphenAfterBox;
    VclPtr<FixedText>          m_pMaxHyphenLabel;
    VclPtr<NumericField>       m_pMaxHyphenEdit;

    // pagebreak
    TriStateBox*        m_pPageBreakBox;
    FixedText*          m_pBreakTypeFT;
    ListBox*            m_pBreakTypeLB;
    FixedText*          m_pBreakPositionFT;
    ListBox*            m_pBreakPositionLB;
    TriStateBox*        m_pApplyCollBtn;
    ListBox*            m_pApplyCollBox;
    FixedText*          m_pPagenumText;
    NumericField*       m_pPagenumEdit;
    VclPtr<TriStateBox>        m_pPageBreakBox;
    VclPtr<FixedText>          m_pBreakTypeFT;
    VclPtr<ListBox>            m_pBreakTypeLB;
    VclPtr<FixedText>          m_pBreakPositionFT;
    VclPtr<ListBox>            m_pBreakPositionLB;
    VclPtr<TriStateBox>        m_pApplyCollBtn;
    VclPtr<ListBox>            m_pApplyCollBox;
    VclPtr<FixedText>          m_pPagenumText;
    VclPtr<NumericField>       m_pPagenumEdit;

    // paragraph division
    TriStateBox*        m_pKeepTogetherBox;
    TriStateBox*        m_pKeepParaBox;
    VclPtr<TriStateBox>        m_pKeepTogetherBox;
    VclPtr<TriStateBox>        m_pKeepParaBox;

    // orphan/widow
    TriStateBox*        m_pOrphanBox;
    NumericField*       m_pOrphanRowNo;
    FixedText*          m_pOrphanRowLabel;
    VclPtr<TriStateBox>        m_pOrphanBox;
    VclPtr<NumericField>       m_pOrphanRowNo;
    VclPtr<FixedText>          m_pOrphanRowLabel;

    TriStateBox*        m_pWidowBox;
    NumericField*       m_pWidowRowNo;
    FixedText*          m_pWidowRowLabel;
    VclPtr<TriStateBox>        m_pWidowBox;
    VclPtr<NumericField>       m_pWidowRowNo;
    VclPtr<FixedText>          m_pWidowRowLabel;

    bool                bPageBreak;
    bool                bHtmlMode;
@@ -257,15 +266,18 @@ private:
class SvxAsianTabPage : public SfxTabPage
{

    CheckBox*     m_pForbiddenRulesCB;
    CheckBox*     m_pHangingPunctCB;
    CheckBox*     m_pScriptSpaceCB;
    VclPtr<CheckBox>     m_pForbiddenRulesCB;
    VclPtr<CheckBox>     m_pHangingPunctCB;
    VclPtr<CheckBox>     m_pScriptSpaceCB;

    SvxAsianTabPage( vcl::Window* pParent, const SfxItemSet& rSet );

    DECL_LINK( ClickHdl_Impl, CheckBox* );

public:
    virtual ~SvxAsianTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent,
                                const SfxItemSet* rSet );
    static const sal_uInt16*      GetRanges();
diff --git a/cui/source/inc/pastedlg.hxx b/cui/source/inc/pastedlg.hxx
index a4ac241..ef4779d 100644
--- a/cui/source/inc/pastedlg.hxx
+++ b/cui/source/inc/pastedlg.hxx
@@ -39,10 +39,10 @@ class TransferableDataHelper;

class SvPasteObjectDialog : public ModalDialog
{
    FixedText* m_pFtObjectSource;
    ListBox* m_pLbInsertList;
    OKButton* m_pOKButton;
    ::std::map< SotClipboardFormatId, OUString > aSupplementMap;
    VclPtr<FixedText> m_pFtObjectSource;
    VclPtr<ListBox> m_pLbInsertList;
    VclPtr<OKButton> m_pOKButton;
    ::std::map< SotFormatStringId, OUString > aSupplementMap;
    SvGlobalName    aObjClassName;
    OUString        aObjName;

@@ -55,6 +55,8 @@ class SvPasteObjectDialog : public ModalDialog

public:
                SvPasteObjectDialog( vcl::Window* pParent );
    virtual     ~SvPasteObjectDialog();
    virtual void dispose() SAL_OVERRIDE;

    void        Insert( SotClipboardFormatId nFormat, const OUString & rFormatName );
    void        SetObjName( const SvGlobalName & rClass, const OUString & rObjName );
diff --git a/cui/source/inc/postdlg.hxx b/cui/source/inc/postdlg.hxx
index fa31243..170e006 100644
--- a/cui/source/inc/postdlg.hxx
+++ b/cui/source/inc/postdlg.hxx
@@ -88,17 +88,17 @@ public:
    }

private:
    FixedText*          m_pLastEditFT;
    VclPtr<FixedText>          m_pLastEditFT;

    VclMultiLineEdit*   m_pEditED;
    VclPtr<VclMultiLineEdit>   m_pEditED;

    VclContainer*       m_pInsertAuthor;
    PushButton*         m_pAuthorBtn;
    VclPtr<VclContainer>       m_pInsertAuthor;
    VclPtr<PushButton>         m_pAuthorBtn;

    OKButton*           m_pOKBtn;
    VclPtr<OKButton>           m_pOKBtn;

    PushButton*         m_pPrevBtn;
    PushButton*         m_pNextBtn;
    VclPtr<PushButton>         m_pPrevBtn;
    VclPtr<PushButton>         m_pNextBtn;

    const SfxItemSet&   rSet;
    SfxItemSet*         pOutSet;
diff --git a/cui/source/inc/scriptdlg.hxx b/cui/source/inc/scriptdlg.hxx
index 0936ff2..d3847dc 100644
--- a/cui/source/inc/scriptdlg.hxx
+++ b/cui/source/inc/scriptdlg.hxx
@@ -95,9 +95,11 @@ public:
class CuiInputDialog : public ModalDialog
{
private:
    Edit* m_pEdit;
    VclPtr<Edit> m_pEdit;
public:
    CuiInputDialog(vcl::Window * pParent, sal_uInt16 nMode);
    virtual ~CuiInputDialog();
    virtual void dispose() SAL_OVERRIDE;

    OUString GetObjectName() const { return m_pEdit->GetText(); }
    void SetObjectName(const OUString& rName)
@@ -132,14 +134,14 @@ public:
class SvxScriptOrgDialog : public SfxModalDialog
{
protected:
    SFTreeListBox*          m_pScriptsBox;
    VclPtr<SFTreeListBox>          m_pScriptsBox;

    PushButton*             m_pRunButton;
    CloseButton*            m_pCloseButton;
    PushButton*             m_pCreateButton;
    PushButton*             m_pEditButton;
    PushButton*             m_pRenameButton;
    PushButton*             m_pDelButton;
    VclPtr<PushButton>             m_pRunButton;
    VclPtr<CloseButton>            m_pCloseButton;
    VclPtr<PushButton>             m_pCreateButton;
    VclPtr<PushButton>             m_pEditButton;
    VclPtr<PushButton>             m_pRenameButton;
    VclPtr<PushButton>             m_pDelButton;

    OUString         m_sLanguage;
    static Selection_hash   m_lastSelection;
diff --git a/cui/source/inc/selector.hxx b/cui/source/inc/selector.hxx
index de029f8..c1ac1e3 100644
--- a/cui/source/inc/selector.hxx
+++ b/cui/source/inc/selector.hxx
@@ -123,7 +123,7 @@ class SvxConfigGroupListBox : public SvTreeListBox
    SvxGroupInfoArr_Impl            aArr;
    bool                            m_bShowSlots;

    SvxConfigFunctionListBox*  pFunctionListBox;
    VclPtr<SvxConfigFunctionListBox>  pFunctionListBox;
    ImageProvider*                  m_pImageProvider;

    ::com::sun::star::uno::Reference
@@ -181,12 +181,12 @@ public:

class SvxScriptSelectorDialog : public ModelessDialog
{
    FixedText*                      m_pDialogDescription;
    SvxConfigGroupListBox*          m_pCategories;
    SvxConfigFunctionListBox*       m_pCommands;
    PushButton*                     m_pOKButton;
    PushButton*                     m_pCancelButton;
    VclMultiLineEdit*               m_pDescriptionText;
    VclPtr<FixedText>                      m_pDialogDescription;
    VclPtr<SvxConfigGroupListBox>          m_pCategories;
    VclPtr<SvxConfigFunctionListBox>       m_pCommands;
    VclPtr<PushButton>                     m_pOKButton;
    VclPtr<PushButton>                     m_pCancelButton;
    VclPtr<VclMultiLineEdit>               m_pDescriptionText;
    OUString                        m_sDefaultDesc;
    bool                        m_bShowSlots;
    Link                            m_aAddHdl;
@@ -205,6 +205,8 @@ public:
        const ::com::sun::star::uno::Reference
            < ::com::sun::star::frame::XFrame >& xFrame = 0
    );
    virtual ~SvxScriptSelectorDialog();
    virtual void dispose() SAL_OVERRIDE;

    void        SetAddHdl( const Link& rLink ) { m_aAddHdl = rLink; }
    const Link& GetAddHdl() const { return m_aAddHdl; }
diff --git a/cui/source/inc/showcols.hxx b/cui/source/inc/showcols.hxx
index dceddb7..d7494d7 100644
--- a/cui/source/inc/showcols.hxx
+++ b/cui/source/inc/showcols.hxx
@@ -35,13 +35,15 @@

class FmShowColsDialog : public ModalDialog
{
    ListBox*        m_pList;
    OKButton*       m_pOK;
    VclPtr<ListBox>        m_pList;
    VclPtr<OKButton>       m_pOK;

    ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >   m_xColumns;

public:
    FmShowColsDialog(vcl::Window* pParent);
    virtual ~FmShowColsDialog();
    virtual void dispose() SAL_OVERRIDE;

    void SetColumns(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer>& xCols);

diff --git a/cui/source/inc/splitcelldlg.hxx b/cui/source/inc/splitcelldlg.hxx
index bc5fc70..e9142e2 100644
--- a/cui/source/inc/splitcelldlg.hxx
+++ b/cui/source/inc/splitcelldlg.hxx
@@ -28,10 +28,10 @@

class SvxSplitTableDlg : public SvxAbstractSplittTableDialog, public SvxStandardDialog
{
    NumericField* m_pCountEdit;
    RadioButton*  m_pHorzBox;
    RadioButton*  m_pVertBox;
    CheckBox*     m_pPropCB;
    VclPtr<NumericField> m_pCountEdit;
    VclPtr<RadioButton>  m_pHorzBox;
    VclPtr<RadioButton>  m_pVertBox;
    VclPtr<CheckBox>     m_pPropCB;

    long                mnMaxVertical;
    long                mnMaxHorizontal;
@@ -40,6 +40,8 @@ protected:

public:
    SvxSplitTableDlg(vcl::Window *pParent, bool bIsTableVertical, long nMaxVertical, long nMaxHorizontal );
    virtual ~SvxSplitTableDlg();
    virtual void dispose() SAL_OVERRIDE;

    DECL_LINK( ClickHdl, Button * );

diff --git a/cui/source/inc/srchxtra.hxx b/cui/source/inc/srchxtra.hxx
index 705c4d2..f1c6aef 100644
--- a/cui/source/inc/srchxtra.hxx
+++ b/cui/source/inc/srchxtra.hxx
@@ -51,10 +51,12 @@ class SvxSearchAttributeDialog : public ModalDialog
public:
    SvxSearchAttributeDialog( vcl::Window* pParent, SearchAttrItemList& rLst,
                              const sal_uInt16* pWhRanges );
    virtual ~SvxSearchAttributeDialog();
    virtual void dispose() SAL_OVERRIDE;

private:
    SvxCheckListBox*    m_pAttrLB;
    OKButton*           m_pOKBtn;
    VclPtr<SvxCheckListBox>    m_pAttrLB;
    VclPtr<OKButton>           m_pOKBtn;

    SearchAttrItemList& rList;

@@ -66,10 +68,10 @@ private:
class SvxSearchSimilarityDialog : public ModalDialog
{
private:
    NumericField*        m_pOtherFld;
    NumericField*        m_pLongerFld;
    NumericField*        m_pShorterFld;
    CheckBox*            m_pRelaxBox;
    VclPtr<NumericField>        m_pOtherFld;
    VclPtr<NumericField>        m_pLongerFld;
    VclPtr<NumericField>        m_pShorterFld;
    VclPtr<CheckBox>            m_pRelaxBox;

public:
    SvxSearchSimilarityDialog(  vcl::Window* pParent,
@@ -77,6 +79,8 @@ public:
                                sal_uInt16 nOther,
                                sal_uInt16 nShorter,
                                sal_uInt16 nLonger );
    virtual ~SvxSearchSimilarityDialog();
    virtual void dispose() SAL_OVERRIDE;

    sal_uInt16  GetOther()      { return (sal_uInt16)m_pOtherFld->GetValue(); }
    sal_uInt16  GetShorter()    { return (sal_uInt16)m_pShorterFld->GetValue(); }
diff --git a/cui/source/inc/swpossizetabpage.hxx b/cui/source/inc/swpossizetabpage.hxx
index 3c3d3e6..5ed3ad7 100644
--- a/cui/source/inc/swpossizetabpage.hxx
+++ b/cui/source/inc/swpossizetabpage.hxx
@@ -34,39 +34,39 @@ class SvxSwPosSizeTabPage : public SfxTabPage
{
    using TabPage::DeactivatePage;

    MetricField*  m_pWidthMF;
    MetricField*  m_pHeightMF;
    CheckBox*     m_pKeepRatioCB;
    VclPtr<MetricField>  m_pWidthMF;
    VclPtr<MetricField>  m_pHeightMF;
    VclPtr<CheckBox>     m_pKeepRatioCB;

    RadioButton*  m_pToPageRB;
    RadioButton*  m_pToParaRB;
    RadioButton*  m_pToCharRB;
    RadioButton*  m_pAsCharRB;
    RadioButton*  m_pToFrameRB;
    VclPtr<RadioButton>  m_pToPageRB;
    VclPtr<RadioButton>  m_pToParaRB;
    VclPtr<RadioButton>  m_pToCharRB;
    VclPtr<RadioButton>  m_pAsCharRB;
    VclPtr<RadioButton>  m_pToFrameRB;

    TriStateBox*  m_pPositionCB;
    TriStateBox*  m_pSizeCB;
    VclPtr<TriStateBox>  m_pPositionCB;
    VclPtr<TriStateBox>  m_pSizeCB;

    VclContainer* m_pPosFrame;
    FixedText*    m_pHoriFT;
    ListBox*      m_pHoriLB;
    FixedText*    m_pHoriByFT;
    MetricField*  m_pHoriByMF;
    FixedText*    m_pHoriToFT;
    ListBox*      m_pHoriToLB;
    VclPtr<VclContainer> m_pPosFrame;
    VclPtr<FixedText>    m_pHoriFT;
    VclPtr<ListBox>      m_pHoriLB;
    VclPtr<FixedText>    m_pHoriByFT;
    VclPtr<MetricField>  m_pHoriByMF;
    VclPtr<FixedText>    m_pHoriToFT;
    VclPtr<ListBox>      m_pHoriToLB;

    CheckBox*     m_pHoriMirrorCB;
    VclPtr<CheckBox>     m_pHoriMirrorCB;

    FixedText*    m_pVertFT;
    ListBox*      m_pVertLB;
    FixedText*    m_pVertByFT;
    MetricField*  m_pVertByMF;
    FixedText*    m_pVertToFT;
    ListBox*      m_pVertToLB;
    VclPtr<FixedText>    m_pVertFT;
    VclPtr<ListBox>      m_pVertLB;
    VclPtr<FixedText>    m_pVertByFT;
    VclPtr<MetricField>  m_pVertByMF;
    VclPtr<FixedText>    m_pVertToFT;
    VclPtr<ListBox>      m_pVertToLB;

    CheckBox*     m_pFollowCB;
    VclPtr<CheckBox>     m_pFollowCB;

    SvxSwFrameExample* m_pExampleWN;
    VclPtr<SvxSwFrameExample> m_pExampleWN;

    Link        m_aValidateLink;

@@ -123,6 +123,8 @@ class SvxSwPosSizeTabPage : public SfxTabPage

public:
    SvxSwPosSizeTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs  );
    virtual ~SvxSwPosSizeTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create( vcl::Window*, const SfxItemSet* );
    static const sal_uInt16*     GetRanges();
diff --git a/cui/source/inc/tabstpge.hxx b/cui/source/inc/tabstpge.hxx
index 2fd0d3a..4a67cd9 100644
--- a/cui/source/inc/tabstpge.hxx
+++ b/cui/source/inc/tabstpge.hxx
@@ -49,6 +49,8 @@ class SvxTabulatorTabPage : public SfxTabPage
    static const sal_uInt16 pRanges[];

public:
    virtual ~SvxTabulatorTabPage();
    virtual void dispose() SAL_OVERRIDE;
    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rSet );
    static const sal_uInt16* GetRanges() { return pRanges; }

@@ -64,34 +66,34 @@ private:
    SvxTabulatorTabPage( vcl::Window* pParent, const SfxItemSet& rSet );

    // tabulators and positions
    MetricBox*      m_pTabBox;
    VclPtr<MetricBox>      m_pTabBox;
    // TabType
    RadioButton*    m_pLeftTab;
    RadioButton*    m_pRightTab;
    RadioButton*    m_pCenterTab;
    RadioButton*    m_pDezTab;
    VclPtr<RadioButton>    m_pLeftTab;
    VclPtr<RadioButton>    m_pRightTab;
    VclPtr<RadioButton>    m_pCenterTab;
    VclPtr<RadioButton>    m_pDezTab;

    TabWin_Impl*    m_pLeftWin;
    TabWin_Impl*    m_pRightWin;
    TabWin_Impl*    m_pCenterWin;
    TabWin_Impl*    m_pDezWin;
    VclPtr<TabWin_Impl>    m_pLeftWin;
    VclPtr<TabWin_Impl>    m_pRightWin;
    VclPtr<TabWin_Impl>    m_pCenterWin;
    VclPtr<TabWin_Impl>    m_pDezWin;

    FixedText*      m_pDezCharLabel;
    Edit*           m_pDezChar;
    VclPtr<FixedText>      m_pDezCharLabel;
    VclPtr<Edit>           m_pDezChar;

    RadioButton*    m_pNoFillChar;
    RadioButton*    m_pFillPoints;
    RadioButton*    m_pFillDashLine ;
    RadioButton*    m_pFillSolidLine;
    RadioButton*    m_pFillSpecial;
    Edit*           m_pFillChar;
    VclPtr<RadioButton>    m_pNoFillChar;
    VclPtr<RadioButton>    m_pFillPoints;
    VclPtr<RadioButton>    m_pFillDashLine ;
    VclPtr<RadioButton>    m_pFillSolidLine;
    VclPtr<RadioButton>    m_pFillSpecial;
    VclPtr<Edit>           m_pFillChar;

    PushButton*     m_pNewBtn;
    PushButton*     m_pDelAllBtn;
    PushButton*     m_pDelBtn;
    VclPtr<PushButton>     m_pNewBtn;
    VclPtr<PushButton>     m_pDelAllBtn;
    VclPtr<PushButton>     m_pDelBtn;

    VclContainer*   m_pTypeFrame;
    VclContainer*   m_pFillFrame;
    VclPtr<VclContainer>   m_pTypeFrame;
    VclPtr<VclContainer>   m_pFillFrame;

    // local variables, internal functions
    SvxTabStop      aAktTab;
diff --git a/cui/source/inc/textanim.hxx b/cui/source/inc/textanim.hxx
index 31a705d..8ba2ad2 100644
--- a/cui/source/inc/textanim.hxx
+++ b/cui/source/inc/textanim.hxx
@@ -37,27 +37,28 @@ class SdrView;
class SvxTextAnimationPage : public SfxTabPage
{
private:
    static const sal_uInt16 pRanges[];
    ListBox*             m_pLbEffect;
    VclBox*              m_pBoxDirection;
    PushButton*          m_pBtnUp;
    PushButton*          m_pBtnLeft;
    PushButton*          m_pBtnRight;
    PushButton*          m_pBtnDown;
    static const sal_uInt16     pRanges[];

    VclFrame*            m_pFlProperties;
    TriStateBox*         m_pTsbStartInside;
    TriStateBox*         m_pTsbStopInside;
    VclPtr<ListBox>             m_pLbEffect;
    VclPtr<VclBox>              m_pBoxDirection;
    VclPtr<PushButton>          m_pBtnUp;
    VclPtr<PushButton>          m_pBtnLeft;
    VclPtr<PushButton>          m_pBtnRight;
    VclPtr<PushButton>          m_pBtnDown;

    VclBox*              m_pBoxCount;
    TriStateBox*         m_pTsbEndless;
    NumericField*        m_pNumFldCount;
    VclPtr<VclFrame>            m_pFlProperties;
    VclPtr<TriStateBox>         m_pTsbStartInside;
    VclPtr<TriStateBox>         m_pTsbStopInside;

    TriStateBox*         m_pTsbPixel;
    MetricField*         m_pMtrFldAmount;
    VclPtr<VclBox>              m_pBoxCount;
    VclPtr<TriStateBox>         m_pTsbEndless;
    VclPtr<NumericField>        m_pNumFldCount;

    TriStateBox*         m_pTsbAuto;
    MetricField*         m_pMtrFldDelay;
    VclPtr<TriStateBox>         m_pTsbPixel;
    VclPtr<MetricField>         m_pMtrFldAmount;

    VclPtr<TriStateBox>         m_pTsbAuto;
    VclPtr<MetricField>         m_pMtrFldDelay;

    const SfxItemSet&   rOutAttrs;
    SdrTextAniKind      eAniKind;
@@ -75,6 +76,8 @@ private:

public:
    SvxTextAnimationPage( vcl::Window* pWindow, const SfxItemSet& rInAttrs );
    virtual ~SvxTextAnimationPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window*, const SfxItemSet* );
    static const sal_uInt16* GetRanges() { return pRanges; }
diff --git a/cui/source/inc/textattr.hxx b/cui/source/inc/textattr.hxx
index 439eb82..eacc826 100644
--- a/cui/source/inc/textattr.hxx
+++ b/cui/source/inc/textattr.hxx
@@ -38,22 +38,23 @@ class SvxTextAttrPage : public SvxTabPage
{
private:
    static const sal_uInt16 pRanges[];
    TriStateBox*         m_pTsbAutoGrowWidth;
    TriStateBox*         m_pTsbAutoGrowHeight;
    TriStateBox*         m_pTsbFitToSize;
    TriStateBox*         m_pTsbContour;
    TriStateBox*         m_pTsbWordWrapText;
    TriStateBox*         m_pTsbAutoGrowSize;

    VclFrame*            m_pFlDistance;
    MetricField*         m_pMtrFldLeft;
    MetricField*         m_pMtrFldRight;
    MetricField*         m_pMtrFldTop;
    MetricField*         m_pMtrFldBottom;
    VclPtr<TriStateBox>         m_pTsbAutoGrowWidth;
    VclPtr<TriStateBox>         m_pTsbAutoGrowHeight;
    VclPtr<TriStateBox>         m_pTsbFitToSize;
    VclPtr<TriStateBox>         m_pTsbContour;
    VclPtr<TriStateBox>         m_pTsbWordWrapText;
    VclPtr<TriStateBox>         m_pTsbAutoGrowSize;

    VclFrame*            m_pFlPosition;
    SvxRectCtl*          m_pCtlPosition;
    TriStateBox*         m_pTsbFullWidth;
    VclPtr<VclFrame>            m_pFlDistance;
    VclPtr<MetricField>         m_pMtrFldLeft;
    VclPtr<MetricField>         m_pMtrFldRight;
    VclPtr<MetricField>         m_pMtrFldTop;
    VclPtr<MetricField>         m_pMtrFldBottom;

    VclPtr<VclFrame>            m_pFlPosition;
    VclPtr<SvxRectCtl>          m_pCtlPosition;
    VclPtr<TriStateBox>         m_pTsbFullWidth;

    const SfxItemSet&   rOutAttrs;
    const SdrView*      pView;
@@ -76,6 +77,8 @@ private:
public:

    SvxTextAttrPage( vcl::Window* pWindow, const SfxItemSet& rInAttrs );
    virtual ~SvxTextAttrPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window*, const SfxItemSet* );
    static const sal_uInt16*  GetRanges() { return pRanges; }
diff --git a/cui/source/inc/thesdlg.hxx b/cui/source/inc/thesdlg.hxx
index 9b035f1..6617881 100644
--- a/cui/source/inc/thesdlg.hxx
+++ b/cui/source/inc/thesdlg.hxx
@@ -35,13 +35,15 @@ class SvxThesaurusDialog;
class LookUpComboBox : public ComboBox
{
    Idle                        m_aModifyIdle;
    SvxThesaurusDialog*         m_pDialog;
    VclPtr<SvxThesaurusDialog>         m_pDialog;

    LookUpComboBox( const LookUpComboBox & ) SAL_DELETED_FUNCTION;
    LookUpComboBox& operator = ( const LookUpComboBox & ) SAL_DELETED_FUNCTION;

public:
    LookUpComboBox(vcl::Window *pParent);
    virtual ~LookUpComboBox();
    virtual void dispose() SAL_OVERRIDE;

    DECL_LINK( ModifyTimer_Hdl, Timer * );

@@ -71,7 +73,7 @@ public:
class ThesaurusAlternativesCtrl
    : public SvxCheckListBox
{
    SvxThesaurusDialog*     m_pDialog;
    VclPtr<SvxThesaurusDialog>     m_pDialog;

    typedef std::map< const SvTreeListEntry *, AlternativesExtraData >  UserDataMap_t;
    UserDataMap_t           m_aUserData;
@@ -98,13 +100,15 @@ public:

class ReplaceEdit : public Edit
{
    Button *                    m_pBtn;
    VclPtr<Button>       m_pBtn;

    ReplaceEdit( const ReplaceEdit & ) SAL_DELETED_FUNCTION;
    ReplaceEdit & operator = ( const ReplaceEdit & ) SAL_DELETED_FUNCTION;

public:
    ReplaceEdit(vcl::Window *pParent);
    virtual ~ReplaceEdit();
    virtual void dispose() SAL_OVERRIDE;

    void init(Button *pBtn)  { m_pBtn = pBtn; }

@@ -116,11 +120,11 @@ public:

class SvxThesaurusDialog : public SvxStandardDialog
{
    PushButton*             m_pLeftBtn;
    LookUpComboBox*         m_pWordCB;
    ThesaurusAlternativesCtrl* m_pAlternativesCT;
    ReplaceEdit*            m_pReplaceEdit;
    ListBox*                m_pLangLB;
    VclPtr<PushButton>             m_pLeftBtn;
    VclPtr<LookUpComboBox>         m_pWordCB;
    VclPtr<ThesaurusAlternativesCtrl> m_pAlternativesCT;
    VclPtr<ReplaceEdit>            m_pReplaceEdit;
    VclPtr<ListBox>                m_pLangLB;

    OUString                m_aErrStr;

@@ -131,6 +135,9 @@ class SvxThesaurusDialog : public SvxStandardDialog
    bool                    m_bWordFound;

public:
    virtual ~SvxThesaurusDialog();
    virtual void dispose() SAL_OVERRIDE;

    bool                    WordFound() const { return m_bWordFound; }
    OUString                getErrStr() const { return m_aErrStr; }

diff --git a/cui/source/inc/transfrm.hxx b/cui/source/inc/transfrm.hxx
index 6d477a5..e2a5163 100644
--- a/cui/source/inc/transfrm.hxx
+++ b/cui/source/inc/transfrm.hxx
@@ -81,29 +81,29 @@ class SvxPositionSizeTabPage : public SvxTabPage

private:
    // position
    VclFrame*            m_pFlPosition;
    MetricField*         m_pMtrPosX;
    MetricField*         m_pMtrPosY;
    SvxRectCtl*          m_pCtlPos;
    VclPtr<VclFrame>            m_pFlPosition;
    VclPtr<MetricField>         m_pMtrPosX;
    VclPtr<MetricField>         m_pMtrPosY;
    VclPtr<SvxRectCtl>          m_pCtlPos;

    // size
    VclFrame*            m_pFlSize;
    FixedText*           m_pFtWidth;
    MetricField*         m_pMtrWidth;
    FixedText*           m_pFtHeight;
    MetricField*         m_pMtrHeight;
    CheckBox*            m_pCbxScale;
    SvxRectCtl*          m_pCtlSize;
    VclPtr<VclFrame>            m_pFlSize;
    VclPtr<FixedText>           m_pFtWidth;
    VclPtr<MetricField>         m_pMtrWidth;
    VclPtr<FixedText>           m_pFtHeight;
    VclPtr<MetricField>         m_pMtrHeight;
    VclPtr<CheckBox>            m_pCbxScale;
    VclPtr<SvxRectCtl>          m_pCtlSize;

    // protect
    VclFrame*            m_pFlProtect;
    TriStateBox*         m_pTsbPosProtect;
    TriStateBox*         m_pTsbSizeProtect;
    VclPtr<VclFrame>            m_pFlProtect;
    VclPtr<TriStateBox>         m_pTsbPosProtect;
    VclPtr<TriStateBox>         m_pTsbSizeProtect;

    // adjust
    VclFrame*            m_pFlAdjust;
    TriStateBox*         m_pTsbAutoGrowWidth;
    TriStateBox*         m_pTsbAutoGrowHeight;
    VclPtr<VclFrame>            m_pFlAdjust;
    VclPtr<TriStateBox>         m_pTsbAutoGrowWidth;
    VclPtr<TriStateBox>         m_pTsbAutoGrowHeight;

private:
    const SfxItemSet&   mrOutAttrs;
@@ -146,6 +146,8 @@ private:

public:
    SvxPositionSizeTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs  );
    virtual ~SvxPositionSizeTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create( vcl::Window*, const SfxItemSet* );
    static const sal_uInt16* GetRanges() {  return pPosSizeRanges; }
@@ -181,14 +183,14 @@ class SvxAngleTabPage : public SvxTabPage
    static const sal_uInt16 pAngleRanges[];

private:
    VclFrame*            m_pFlPosition;
    MetricField*         m_pMtrPosX;
    MetricField*         m_pMtrPosY;
    SvxRectCtl*          m_pCtlRect;
    VclPtr<VclFrame>            m_pFlPosition;
    VclPtr<MetricField>         m_pMtrPosX;
    VclPtr<MetricField>         m_pMtrPosY;
    VclPtr<SvxRectCtl>          m_pCtlRect;

    VclFrame*            m_pFlAngle;
    NumericField*        m_pNfAngle;
    svx::DialControl*    m_pCtlAngle;
    VclPtr<VclFrame>            m_pFlAngle;
    VclPtr<NumericField>        m_pNfAngle;
    VclPtr<svx::DialControl>    m_pCtlAngle;

    const SfxItemSet&   rOutAttrs;
    const SdrView*      pView;
@@ -202,6 +204,8 @@ private:

public:
         SvxAngleTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs  );
    virtual ~SvxAngleTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create( vcl::Window*, const SfxItemSet* );
    static const sal_uInt16*  GetRanges() { return pAngleRanges; }
@@ -230,10 +234,10 @@ class SvxSlantTabPage : public SvxTabPage
    static const sal_uInt16 pSlantRanges[];

private:
    VclFrame*            m_pFlRadius;
    MetricField*         m_pMtrRadius;
    VclFrame*            m_pFlAngle;
    MetricField*         m_pMtrAngle;
    VclPtr<VclFrame>            m_pFlRadius;
    VclPtr<MetricField>         m_pMtrRadius;
    VclPtr<VclFrame>            m_pFlAngle;
    VclPtr<MetricField>         m_pMtrAngle;

    const SfxItemSet&   rOutAttrs;

@@ -247,6 +251,8 @@ private:

public:
         SvxSlantTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs  );
    virtual ~SvxSlantTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create( vcl::Window*, const SfxItemSet* );
    static const sal_uInt16* GetRanges() {  return pSlantRanges; }
diff --git a/cui/source/inc/treeopt.hxx b/cui/source/inc/treeopt.hxx
index e006029..5fa829c 100644
--- a/cui/source/inc/treeopt.hxx
+++ b/cui/source/inc/treeopt.hxx
@@ -146,18 +146,18 @@ private:
    SvTreeListEntry*    pCurrentPageEntry;
    bool hasTreePendingLayout() const;

    OKButton*       pOkPB;
    PushButton*     pBackPB;
    VclPtr<OKButton>       pOkPB;
    VclPtr<PushButton>     pBackPB;

    SvTreeListBox*  pTreeLB;
    VclBox*         pTabBox;
    VclPtr<SvTreeListBox>  pTreeLB;
    VclPtr<VclBox>         pTabBox;

    OUString        sTitle;
    OUString        sNotLoadedError;

    // for the ColorTabPage
    SfxItemSet*     pColorPageItemSet;
    SvxColorTabPage *mpColorPage;
    VclPtr<SvxColorTabPage> mpColorPage;

    bool        bForgetSelection;
    bool            bIsFromExtensionManager;
diff --git a/cui/source/inc/zoom.hxx b/cui/source/inc/zoom.hxx
index 3664ecc..882be46 100644
--- a/cui/source/inc/zoom.hxx
+++ b/cui/source/inc/zoom.hxx
@@ -27,21 +27,21 @@
class SvxZoomDialog : public SfxModalDialog
{
private:
    RadioButton*  m_pOptimalBtn;
    RadioButton*  m_pWholePageBtn;
    RadioButton*  m_pPageWidthBtn;
    RadioButton*  m_p100Btn;
    RadioButton*  m_pUserBtn;
    MetricField*  m_pUserEdit;
    VclPtr<RadioButton>        m_pOptimalBtn;
    VclPtr<RadioButton>        m_pWholePageBtn;
    VclPtr<RadioButton>        m_pPageWidthBtn;
    VclPtr<RadioButton>        m_p100Btn;
    VclPtr<RadioButton>        m_pUserBtn;
    VclPtr<MetricField>        m_pUserEdit;

    VclContainer* m_pViewFrame;
    RadioButton*  m_pAutomaticBtn;
    RadioButton*  m_pSingleBtn;
    RadioButton*  m_pColumnsBtn;
    NumericField* m_pColumnsEdit;
    CheckBox*     m_pBookModeChk;
    VclPtr<VclContainer>       m_pViewFrame;
    VclPtr<RadioButton>        m_pAutomaticBtn;
    VclPtr<RadioButton>        m_pSingleBtn;
    VclPtr<RadioButton>        m_pColumnsBtn;
    VclPtr<NumericField>       m_pColumnsEdit;
    VclPtr<CheckBox>           m_pBookModeChk;

    OKButton*     m_pOKBtn;
    VclPtr<OKButton>           m_pOKBtn;

    const SfxItemSet&           mrSet;
    std::unique_ptr<SfxItemSet> mpOutSet;
diff --git a/cui/source/options/certpath.cxx b/cui/source/options/certpath.cxx
index 8e47763..55b85df 100644
--- a/cui/source/options/certpath.cxx
+++ b/cui/source/options/certpath.cxx
@@ -156,8 +156,10 @@ void CertPathDialog::dispose()
        delete pCertPath;
        pEntry = m_pCertPathList->Next( pEntry );
    }
    delete m_pCertPathList;
    m_pCertPathList = NULL;
    m_pCertPathListContainer.clear();
    m_pCertPathList.clear();
    m_pAddBtn.clear();
    m_pOKBtn.clear();
    ModalDialog::dispose();
}

diff --git a/cui/source/options/certpath.hxx b/cui/source/options/certpath.hxx
index 1add8ea..29a3e1a 100644
--- a/cui/source/options/certpath.hxx
+++ b/cui/source/options/certpath.hxx
@@ -19,10 +19,10 @@
class CertPathDialog : public ModalDialog
{
private:
    SvSimpleTableContainer* m_pCertPathListContainer;
    svx::SvxRadioButtonListBox* m_pCertPathList;
    PushButton* m_pAddBtn;
    OKButton*   m_pOKBtn;
    VclPtr<SvSimpleTableContainer> m_pCertPathListContainer;
    VclPtr<svx::SvxRadioButtonListBox> m_pCertPathList;
    VclPtr<PushButton> m_pAddBtn;
    VclPtr<OKButton>   m_pOKBtn;
    OUString    m_sAddDialogText;
    OUString    m_sManual;

diff --git a/cui/source/options/connpooloptions.cxx b/cui/source/options/connpooloptions.cxx
index 3d43269..ecb9963 100644
--- a/cui/source/options/connpooloptions.cxx
+++ b/cui/source/options/connpooloptions.cxx
@@ -325,6 +325,23 @@ namespace offapp
        m_pDriverList->SetRowChangeHandler( LINK(this, ConnectionPoolOptionsPage, OnDriverRowChanged) );
    }

    ConnectionPoolOptionsPage::~ConnectionPoolOptionsPage()
    {
        dispose();
    }

    void ConnectionPoolOptionsPage::dispose()
    {
        m_pEnablePooling.clear();
        m_pDriversLabel.clear();
        m_pDriverList.clear();
        m_pDriverLabel.clear();
        m_pDriver.clear();
        m_pDriverPoolingEnabled.clear();
        m_pTimeoutLabel.clear();
        m_pTimeout.clear();
        SfxTabPage::dispose();
    }

    SfxTabPage* ConnectionPoolOptionsPage::Create(vcl::Window* _pParent, const SfxItemSet* _rAttrSet)
    {
diff --git a/cui/source/options/connpooloptions.hxx b/cui/source/options/connpooloptions.hxx
index 868c427..8650d12 100644
--- a/cui/source/options/connpooloptions.hxx
+++ b/cui/source/options/connpooloptions.hxx
@@ -38,19 +38,21 @@ namespace offapp
        using TabPage::ActivatePage;

    protected:
        CheckBox*               m_pEnablePooling;
        FixedText*              m_pDriversLabel;
        DriverListControl*      m_pDriverList;
        FixedText*              m_pDriverLabel;
        FixedText*              m_pDriver;
        CheckBox*               m_pDriverPoolingEnabled;
        FixedText*              m_pTimeoutLabel;
        NumericField*           m_pTimeout;
        VclPtr<CheckBox>               m_pEnablePooling;
        VclPtr<FixedText>              m_pDriversLabel;
        VclPtr<DriverListControl>      m_pDriverList;
        VclPtr<FixedText>              m_pDriverLabel;
        VclPtr<FixedText>              m_pDriver;
        VclPtr<CheckBox>               m_pDriverPoolingEnabled;
        VclPtr<FixedText>              m_pTimeoutLabel;
        VclPtr<NumericField>           m_pTimeout;

    protected:
        ConnectionPoolOptionsPage(vcl::Window* _pParent, const SfxItemSet& _rAttrSet);

    public:
        virtual ~ConnectionPoolOptionsPage();
        virtual void dispose() SAL_OVERRIDE;
        static SfxTabPage*  Create(vcl::Window* _pParent, const SfxItemSet* _rAttrSet);

    protected:
diff --git a/cui/source/options/cuisrchdlg.cxx b/cui/source/options/cuisrchdlg.cxx
index a704160..a911a1e 100644
--- a/cui/source/options/cuisrchdlg.cxx
+++ b/cui/source/options/cuisrchdlg.cxx
@@ -60,6 +60,17 @@ SvxJSearchOptionsDialog::SvxJSearchOptionsDialog(vcl::Window *pParent,
    pPage->EnableSaveOptions(false);
}

SvxJSearchOptionsDialog::~SvxJSearchOptionsDialog()
{
    dispose();
}

void SvxJSearchOptionsDialog::dispose()
{
    pPage.clear();
    SfxSingleTabDialog::dispose();
}

void SvxJSearchOptionsDialog::Activate()
{
    pPage->SetTransliterationFlags( nInitialTlFlags );
diff --git a/cui/source/options/dbregister.cxx b/cui/source/options/dbregister.cxx
index de08fa0..f149629 100644
--- a/cui/source/options/dbregister.cxx
+++ b/cui/source/options/dbregister.cxx
@@ -170,8 +170,11 @@ void DbRegistrationOptionsPage::dispose()
{
    for ( sal_uInt16 i = 0; i < pPathBox->GetEntryCount(); ++i )
        delete static_cast< DatabaseRegistration* >( pPathBox->GetEntry(i)->GetUserData() );
    delete pPathBox;
    pPathBox = NULL;
    pPathBox.clear();
    m_pPathCtrl.clear();
    m_pNew.clear();
    m_pEdit.clear();
    m_pDelete.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/options/doclinkdialog.cxx b/cui/source/options/doclinkdialog.cxx
index 0148229..74e8742 100644
--- a/cui/source/options/doclinkdialog.cxx
+++ b/cui/source/options/doclinkdialog.cxx
@@ -70,6 +70,20 @@ namespace svx
        m_pURL->SetDropDownLineCount( 5 );
    }

    ODocumentLinkDialog::~ODocumentLinkDialog()
    {
        dispose();
    }

    void ODocumentLinkDialog::dispose()
    {
        m_pURL.clear();
        m_pBrowseFile.clear();
        m_pName.clear();
        m_pOK.clear();
        ModalDialog::dispose();
    }


    void ODocumentLinkDialog::setLink( const OUString& _rName, const OUString& _rURL )
    {
diff --git a/cui/source/options/doclinkdialog.hxx b/cui/source/options/doclinkdialog.hxx
index 0584734..55493e9 100644
--- a/cui/source/options/doclinkdialog.hxx
+++ b/cui/source/options/doclinkdialog.hxx
@@ -40,10 +40,10 @@ namespace svx
    class ODocumentLinkDialog : public ModalDialog
    {
    protected:
        ::svt::OFileURLControl* m_pURL;
        PushButton*             m_pBrowseFile;
        Edit*                   m_pName;
        OKButton*               m_pOK;
        VclPtr<::svt::OFileURLControl> m_pURL;
        VclPtr<PushButton>             m_pBrowseFile;
        VclPtr<Edit>                   m_pName;
        VclPtr<OKButton>               m_pOK;

        bool                m_bCreatingNew;

@@ -51,6 +51,8 @@ namespace svx

    public:
        ODocumentLinkDialog( vcl::Window* _pParent, bool _bCreateNew );
        virtual ~ODocumentLinkDialog();
        virtual void dispose() SAL_OVERRIDE;

        // name validation has to be done by an external instance
        // the validator link gets a pointer to a String, and should return 0 if the string is not
diff --git a/cui/source/options/fontsubs.cxx b/cui/source/options/fontsubs.cxx
index 098855a..6dfd19f 100644
--- a/cui/source/options/fontsubs.cxx
+++ b/cui/source/options/fontsubs.cxx
@@ -147,8 +147,16 @@ void SvxFontSubstTabPage::dispose()
    pCheckButtonData = NULL;
    delete pConfig;
    pConfig = NULL;
    delete m_pCheckLB;
    m_pCheckLB = NULL;
    m_pCheckLB.clear();
    m_pUseTableCB.clear();
    m_pReplacements.clear();
    m_pFont1CB.clear();
    m_pFont2CB.clear();
    m_pApply.clear();
    m_pDelete.clear();
    m_pFontNameLB.clear();
    m_pNonPropFontsOnlyCB.clear();
    m_pFontHeightLB.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/options/fontsubs.hxx b/cui/source/options/fontsubs.hxx
index b051cdd..3a5b967 100644
--- a/cui/source/options/fontsubs.hxx
+++ b/cui/source/options/fontsubs.hxx
@@ -63,18 +63,18 @@ class SvxFontSubstCheckListBox : public SvSimpleTable
class SvtFontSubstConfig;
class SvxFontSubstTabPage : public SfxTabPage
{
    CheckBox*                   m_pUseTableCB;
    VclContainer*               m_pReplacements;
    FontNameBox*                m_pFont1CB;
    FontNameBox*                m_pFont2CB;
    PushButton*                 m_pApply;
    PushButton*                 m_pDelete;
    VclPtr<CheckBox>                   m_pUseTableCB;
    VclPtr<VclContainer>               m_pReplacements;
    VclPtr<FontNameBox>                m_pFont1CB;
    VclPtr<FontNameBox>                m_pFont2CB;
    VclPtr<PushButton>                 m_pApply;
    VclPtr<PushButton>                 m_pDelete;

    SvxFontSubstCheckListBox*   m_pCheckLB;
    VclPtr<SvxFontSubstCheckListBox>   m_pCheckLB;

    ListBox*                    m_pFontNameLB;
    CheckBox*                   m_pNonPropFontsOnlyCB;
    ListBox*                    m_pFontHeightLB;
    VclPtr<ListBox>                    m_pFontNameLB;
    VclPtr<CheckBox>                   m_pNonPropFontsOnlyCB;
    VclPtr<ListBox>                    m_pFontHeightLB;

    OUString                    m_sAutomatic;

diff --git a/cui/source/options/optaboutconfig.cxx b/cui/source/options/optaboutconfig.cxx
index c5ef749..02d8184 100644
--- a/cui/source/options/optaboutconfig.cxx
+++ b/cui/source/options/optaboutconfig.cxx
@@ -164,6 +164,21 @@ CuiAboutConfigTabPage::CuiAboutConfigTabPage( vcl::Window* pParent/*, const SfxI
    m_pPrefBox->SetAlternatingRowColors( true );
}

CuiAboutConfigTabPage::~CuiAboutConfigTabPage()
{
    dispose();
}

void CuiAboutConfigTabPage::dispose()
{
    m_pPrefCtrl.clear();
    m_pResetBtn.clear();
    m_pEditBtn.clear();
    m_pSearchBtn.clear();
    m_pSearchEdit.clear();
    ModelessDialog::dispose();
}

void CuiAboutConfigTabPage::InsertEntry(const OUString& rProp, const OUString& rStatus, const OUString& rType, const OUString& rValue)
{
    SvTreeListEntry* pEntry = new SvTreeListEntry;
@@ -477,6 +492,17 @@ CuiAboutConfigValueDialog::CuiAboutConfigValueDialog( vcl::Window* pWindow,

}

CuiAboutConfigValueDialog::~CuiAboutConfigValueDialog()
{
    dispose();
}

void CuiAboutConfigValueDialog::dispose()
{
    m_pEDValue.clear();
    ModalDialog::dispose();
}

IMPL_LINK_NOARG( CuiAboutConfigTabPage, ResetBtnHdl_Impl )
{
    Reset();
diff --git a/cui/source/options/optaboutconfig.hxx b/cui/source/options/optaboutconfig.hxx
index dc19e4a..85a10de 100644
--- a/cui/source/options/optaboutconfig.hxx
+++ b/cui/source/options/optaboutconfig.hxx
@@ -43,11 +43,11 @@ public:
class CuiAboutConfigTabPage : public ModelessDialog
{
private:
    SvSimpleTableContainer* m_pPrefCtrl;
    PushButton* m_pResetBtn;
    PushButton* m_pEditBtn;
    PushButton* m_pSearchBtn;
    Edit* m_pSearchEdit;
    VclPtr<SvSimpleTableContainer> m_pPrefCtrl;
    VclPtr<PushButton> m_pResetBtn;
    VclPtr<PushButton> m_pEditBtn;
    VclPtr<PushButton> m_pSearchBtn;
    VclPtr<Edit> m_pSearchEdit;

    std::vector< boost::shared_ptr< Prop_Impl > > m_vectorOfModified;
    boost::scoped_ptr< SvSimpleTable > m_pPrefBox;
@@ -65,6 +65,8 @@ private:

public:
   CuiAboutConfigTabPage(vcl::Window* pParent);
   virtual ~CuiAboutConfigTabPage();
   virtual void dispose() SAL_OVERRIDE;
   void     InsertEntry(const OUString& rProp, const OUString& rStatus, const OUString& rType, const OUString& rValue);
   void     Reset();
   void     FillItems(const com::sun::star::uno::Reference<com::sun::star::container::XNameAccess>& xNameAccess);
@@ -75,10 +77,12 @@ public:
class CuiAboutConfigValueDialog : public ModalDialog
{
private:
    CuiCustomMultilineEdit* m_pEDValue;
    VclPtr<CuiCustomMultilineEdit> m_pEDValue;

public:
    CuiAboutConfigValueDialog( vcl::Window* pWindow, const OUString& rValue , int limit = 0);
    virtual ~CuiAboutConfigValueDialog();
    virtual void dispose() SAL_OVERRIDE;

    OUString getValue()
    {
diff --git a/cui/source/options/optaccessibility.cxx b/cui/source/options/optaccessibility.cxx
index f09b19c..61354e1 100644
--- a/cui/source/options/optaccessibility.cxx
+++ b/cui/source/options/optaccessibility.cxx
@@ -65,6 +65,15 @@ void SvxAccessibilityOptionsTabPage::dispose()
{
    delete m_pImpl;
    m_pImpl = NULL;
    m_pAccessibilityTool.clear();
    m_pTextSelectionInReadonly.clear();
    m_pAnimatedGraphics.clear();
    m_pAnimatedTexts.clear();
    m_pTipHelpCB.clear();
    m_pTipHelpNF.clear();
    m_pAutoDetectHC.clear();
    m_pAutomaticFontColor.clear();
    m_pPagePreviews.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/options/optaccessibility.hxx b/cui/source/options/optaccessibility.hxx
index ccf2ac0..0a33851 100644
--- a/cui/source/options/optaccessibility.hxx
+++ b/cui/source/options/optaccessibility.hxx
@@ -25,15 +25,15 @@
struct SvxAccessibilityOptionsTabPage_Impl;
class SvxAccessibilityOptionsTabPage : public SfxTabPage
{
    CheckBox*       m_pAccessibilityTool;
    CheckBox*       m_pTextSelectionInReadonly;
    CheckBox*       m_pAnimatedGraphics;
    CheckBox*       m_pAnimatedTexts;
    CheckBox*       m_pTipHelpCB;
    NumericField*   m_pTipHelpNF;
    CheckBox*       m_pAutoDetectHC;
    CheckBox*       m_pAutomaticFontColor;
    CheckBox*       m_pPagePreviews;
    VclPtr<CheckBox>       m_pAccessibilityTool;
    VclPtr<CheckBox>       m_pTextSelectionInReadonly;
    VclPtr<CheckBox>       m_pAnimatedGraphics;
    VclPtr<CheckBox>       m_pAnimatedTexts;
    VclPtr<CheckBox>       m_pTipHelpCB;
    VclPtr<NumericField>   m_pTipHelpNF;
    VclPtr<CheckBox>       m_pAutoDetectHC;
    VclPtr<CheckBox>       m_pAutomaticFontColor;
    VclPtr<CheckBox>       m_pPagePreviews;

    DECL_LINK(TipHelpHdl, CheckBox*);
    void EnableTipHelp(bool bCheck);
diff --git a/cui/source/options/optasian.cxx b/cui/source/options/optasian.cxx
index 0f9bab2..49b50157 100644
--- a/cui/source/options/optasian.cxx
+++ b/cui/source/options/optasian.cxx
@@ -158,6 +158,19 @@ void SvxAsianLayoutPage::dispose()
{
    delete pImpl;
    pImpl = NULL;
    m_pCharKerningRB.clear();
    m_pCharPunctKerningRB.clear();
    m_pNoCompressionRB.clear();
    m_pPunctCompressionRB.clear();
    m_pPunctKanaCompressionRB.clear();
    m_pLanguageFT.clear();
    m_pLanguageLB.clear();
    m_pStandardCB.clear();
    m_pStartFT.clear();
    m_pStartED.clear();
    m_pEndFT.clear();
    m_pEndED.clear();
    m_pHintFT.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/options/optbasic.cxx b/cui/source/options/optbasic.cxx
index 74028ff..1be3582 100644
--- a/cui/source/options/optbasic.cxx
+++ b/cui/source/options/optbasic.cxx
@@ -45,6 +45,22 @@ SvxBasicIDEOptionsPage::SvxBasicIDEOptionsPage( vcl::Window* pParent, const SfxI

}

SvxBasicIDEOptionsPage::~SvxBasicIDEOptionsPage()
{
    dispose();
}

void SvxBasicIDEOptionsPage::dispose()
{
    pCodeCompleteChk.clear();
    pAutocloseProcChk.clear();
    pAutocloseParenChk.clear();
    pAutocloseQuotesChk.clear();
    pAutoCorrectChk.clear();
    pUseExtendedTypesChk.clear();
    SfxTabPage::dispose();
}

void SvxBasicIDEOptionsPage::LoadConfig()
{
    bool bProcClose = officecfg::Office::BasicIDE::Autocomplete::AutocloseProc::get();
diff --git a/cui/source/options/optbasic.hxx b/cui/source/options/optbasic.hxx
index 45f9312..9aaced3 100644
--- a/cui/source/options/optbasic.hxx
+++ b/cui/source/options/optbasic.hxx
@@ -27,17 +27,19 @@
class SvxBasicIDEOptionsPage: public SfxTabPage
{
private:
    CheckBox* pCodeCompleteChk;
    CheckBox* pAutocloseProcChk;
    CheckBox* pAutocloseParenChk;
    CheckBox* pAutocloseQuotesChk;
    CheckBox* pAutoCorrectChk;
    CheckBox* pUseExtendedTypesChk;
    VclPtr<CheckBox> pCodeCompleteChk;
    VclPtr<CheckBox> pAutocloseProcChk;
    VclPtr<CheckBox> pAutocloseParenChk;
    VclPtr<CheckBox> pAutocloseQuotesChk;
    VclPtr<CheckBox> pAutoCorrectChk;
    VclPtr<CheckBox> pUseExtendedTypesChk;

    void LoadConfig();

public:
    SvxBasicIDEOptionsPage( vcl::Window* pParent, const SfxItemSet& rSet );
    virtual ~SvxBasicIDEOptionsPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create( vcl::Window* pParent, const SfxItemSet* rSet );
    virtual bool FillItemSet( SfxItemSet* rSet ) SAL_OVERRIDE;
diff --git a/cui/source/options/optchart.cxx b/cui/source/options/optchart.cxx
index 8005483..7cb85b4 100644
--- a/cui/source/options/optchart.cxx
+++ b/cui/source/options/optchart.cxx
@@ -99,6 +99,11 @@ void SvxDefaultColorOptPage::dispose()
        delete pChartOptions;
        pChartOptions = NULL;
    }
    m_pLbChartColors.clear();
    m_pValSetColorBox.clear();
    m_pPBDefault.clear();
    m_pPBAdd.clear();
    m_pPBRemove.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/options/optchart.hxx b/cui/source/options/optchart.hxx
index 99d5377..ff69706 100644
--- a/cui/source/options/optchart.hxx
+++ b/cui/source/options/optchart.hxx
@@ -33,11 +33,11 @@ class SvxDefaultColorOptPage : public SfxTabPage
{

private:
    ColorLB*                m_pLbChartColors;
    ValueSet*               m_pValSetColorBox;
    PushButton*             m_pPBDefault;
    PushButton*             m_pPBAdd;
    PushButton*             m_pPBRemove;
    VclPtr<ColorLB>                m_pLbChartColors;
    VclPtr<ValueSet>               m_pValSetColorBox;
    VclPtr<PushButton>             m_pPBDefault;
    VclPtr<PushButton>             m_pPBAdd;
    VclPtr<PushButton>             m_pPBRemove;

    SvxChartOptions*        pChartOptions;
    SvxChartColorTableItem* pColorConfig;
diff --git a/cui/source/options/optcolor.cxx b/cui/source/options/optcolor.cxx
index b18abcc..6bdf8a1 100644
--- a/cui/source/options/optcolor.cxx
+++ b/cui/source/options/optcolor.cxx
@@ -174,7 +174,7 @@ class ColorConfigWindow_Impl
{
public:
    ColorConfigWindow_Impl(vcl::Window* pParent);
    ~ColorConfigWindow_Impl() { dispose(); }
    virtual ~ColorConfigWindow_Impl() { dispose(); }
    virtual void dispose() SAL_OVERRIDE;

public:
@@ -193,8 +193,7 @@ private:
    class Chapter
    {
        // text
        bool m_bOwnsWidget;
        FixedText *m_pText;
        VclPtr<FixedText> m_pText;
    public:
        Chapter(FixedText *pText, bool bShow);
        Chapter(vcl::Window *pGrid, unsigned nYPos, const OUString& sDisplayName);
@@ -235,11 +234,11 @@ private:
    private:
        bool m_bOwnsWidgets;
        // checkbox (CheckBox) or simple text (FixedText)
        Control* m_pText;
        VclPtr<Control> m_pText;
        // color list box
        ColorListBox* m_pColorList;
        VclPtr<ColorListBox> m_pColorList;
        // color preview box
        vcl::Window* m_pPreview;
        VclPtr<vcl::Window> m_pPreview;
        // default color
        Color m_aDefaultColor;
    private:
@@ -256,9 +255,9 @@ private:


private:
    VclGrid *m_pGrid;
    ScrollBar *m_pVScroll;
    HeaderBar *m_pHeaderHB;
    VclPtr<VclGrid>   m_pGrid;
    VclPtr<ScrollBar> m_pVScroll;
    VclPtr<HeaderBar> m_pHeaderHB;

    // initialization
    void CreateEntries();
@@ -283,8 +282,7 @@ private:
// eGroup: which group is this?
// rResMgr: resource manager
ColorConfigWindow_Impl::Chapter::Chapter(FixedText* pText, bool bShow)
    : m_bOwnsWidget(false)
    , m_pText(pText)
    : m_pText(pText)
{
    if (!bShow)
        Hide();
@@ -293,7 +291,6 @@ ColorConfigWindow_Impl::Chapter::Chapter(FixedText* pText, bool bShow)
// ctor for extended groups
ColorConfigWindow_Impl::Chapter::Chapter(vcl::Window *pGrid,
    unsigned nYPos, const OUString& rDisplayName)
    : m_bOwnsWidget(true)
{
    m_pText = new FixedText(pGrid, WB_LEFT|WB_VCENTER|WB_3DLOOK);
    m_pText->set_font_attribute("weight", "bold");
@@ -305,8 +302,6 @@ ColorConfigWindow_Impl::Chapter::Chapter(vcl::Window *pGrid,

ColorConfigWindow_Impl::Chapter::~Chapter()
{
    if (m_bOwnsWidget)
        delete m_pText;
}

void ColorConfigWindow_Impl::Chapter::Show(Wallpaper const& rBackWall)
@@ -373,9 +368,9 @@ ColorConfigWindow_Impl::Entry::~Entry()
{
    if (m_bOwnsWidgets)
    {
        delete m_pText;
        delete m_pColorList;
        delete m_pPreview;
        m_pText.clear();
        m_pColorList.clear();
        m_pPreview.clear();
    }
}

@@ -417,7 +412,7 @@ void ColorConfigWindow_Impl::Entry::SetLinks(
{
    m_pColorList->SetSelectHdl(aColorLink);
    m_pColorList->SetGetFocusHdl(aGetFocusLink);
    if (CheckBox* pCheckBox = dynamic_cast<CheckBox*>(m_pText))
    if (CheckBox* pCheckBox = dynamic_cast<CheckBox*>(m_pText.get()))
    {
        pCheckBox->SetClickHdl(aCheckLink);
        pCheckBox->SetGetFocusHdl(aGetFocusLink);
@@ -440,7 +435,7 @@ void ColorConfigWindow_Impl::Entry::Update (
        m_pColorList->SelectEntry(aColor);
    }
    m_pPreview->SetBackground(Wallpaper(aColor));
    if (CheckBox* pCheckBox = dynamic_cast<CheckBox*>(m_pText))
    if (CheckBox* pCheckBox = dynamic_cast<CheckBox*>(m_pText.get()))
        pCheckBox->Check(rValue.bIsVisible);
}

@@ -513,6 +508,9 @@ ColorConfigWindow_Impl::ColorConfigWindow_Impl(vcl::Window* pParent)
void ColorConfigWindow_Impl::dispose()
{
    disposeBuilder();
        m_pGrid.clear();
        m_pVScroll.clear();
        m_pHeaderHB.clear();
    VclContainer::dispose();
}

@@ -827,10 +825,10 @@ void ColorConfigWindow_Impl::Command( const CommandEvent& rCEvt )

class ColorConfigCtrl_Impl : public VclVBox
{
    HeaderBar*              m_pHeaderHB;
    VclHBox*                m_pBody;
    ColorConfigWindow_Impl* m_pScrollWindow;
    ScrollBar*              m_pVScroll;
    VclPtr<HeaderBar>              m_pHeaderHB;
    VclPtr<VclHBox>                m_pBody;
    VclPtr<ColorConfigWindow_Impl> m_pScrollWindow;
    VclPtr<ScrollBar>              m_pVScroll;

    EditableColorConfig*            pColorConfig;
    EditableExtendedColorConfig*    pExtColorConfig;
@@ -920,15 +918,10 @@ ColorConfigCtrl_Impl::~ColorConfigCtrl_Impl()

void ColorConfigCtrl_Impl::dispose()
{
    delete m_pVScroll;
    m_pVScroll = NULL;
    delete m_pScrollWindow;
    m_pScrollWindow = NULL;
    delete m_pBody;
    m_pBody = NULL;
    delete m_pHeaderHB;
    m_pHeaderHB = NULL;

    m_pVScroll.clear();
    m_pScrollWindow.clear();
    m_pBody.clear();
    m_pHeaderHB.clear();
    VclVBox::dispose();
}

@@ -1100,6 +1093,10 @@ void SvxColorOptionsTabPage::dispose()
        delete pExtColorConfig;
        pExtColorConfig = NULL;
    }
    m_pColorSchemeLB.clear();
    m_pSaveSchemePB.clear();
    m_pDeleteSchemePB.clear();
    m_pColorConfigCT.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/options/optcolor.hxx b/cui/source/options/optcolor.hxx
index cc886b5..f5c31bdb 100644
--- a/cui/source/options/optcolor.hxx
+++ b/cui/source/options/optcolor.hxx
@@ -31,10 +31,10 @@ class SvxColorOptionsTabPage : public SfxTabPage
{
    using SfxTabPage::DeactivatePage;

    ListBox* m_pColorSchemeLB;
    PushButton* m_pSaveSchemePB;
    PushButton* m_pDeleteSchemePB;
    ColorConfigCtrl_Impl* m_pColorConfigCT;
    VclPtr<ListBox> m_pColorSchemeLB;
    VclPtr<PushButton> m_pSaveSchemePB;
    VclPtr<PushButton> m_pDeleteSchemePB;
    VclPtr<ColorConfigCtrl_Impl> m_pColorConfigCT;

    bool bFillItemSetCalled;

diff --git a/cui/source/options/optctl.cxx b/cui/source/options/optctl.cxx
index caaa047..40203d8 100644
--- a/cui/source/options/optctl.cxx
+++ b/cui/source/options/optctl.cxx
@@ -57,6 +57,22 @@ SvxCTLOptionsPage::SvxCTLOptionsPage( vcl::Window* pParent, const SfxItemSet& rS
    m_pNumeralsLB->SetDropDownLineCount( m_pNumeralsLB->GetEntryCount() );
}

SvxCTLOptionsPage::~SvxCTLOptionsPage()
{
    dispose();
}

void SvxCTLOptionsPage::dispose()
{
    m_pSequenceCheckingCB.clear();
    m_pRestrictedCB.clear();
    m_pTypeReplaceCB.clear();
    m_pMovementLogicalRB.clear();
    m_pMovementVisualRB.clear();
    m_pNumeralsLB.clear();
    SfxTabPage::dispose();
}

SfxTabPage* SvxCTLOptionsPage::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet )
{
    return new SvxCTLOptionsPage( pParent, *rAttrSet );
diff --git a/cui/source/options/optctl.hxx b/cui/source/options/optctl.hxx
index 034e04b..4c086eb 100644
--- a/cui/source/options/optctl.hxx
+++ b/cui/source/options/optctl.hxx
@@ -30,20 +30,22 @@ class SvxCTLOptionsPage : public SfxTabPage
{
private:

    CheckBox*            m_pSequenceCheckingCB;
    CheckBox*            m_pRestrictedCB;
    CheckBox*            m_pTypeReplaceCB;
    VclPtr<CheckBox>            m_pSequenceCheckingCB;
    VclPtr<CheckBox>            m_pRestrictedCB;
    VclPtr<CheckBox>            m_pTypeReplaceCB;

    RadioButton*         m_pMovementLogicalRB;
    RadioButton*         m_pMovementVisualRB;
    VclPtr<RadioButton>         m_pMovementLogicalRB;
    VclPtr<RadioButton>         m_pMovementVisualRB;

    ListBox*             m_pNumeralsLB;
    VclPtr<ListBox>             m_pNumeralsLB;

    DECL_LINK( SequenceCheckingCB_Hdl, void* );

    SvxCTLOptionsPage( vcl::Window* pParent, const SfxItemSet& rSet );

public:
    virtual ~SvxCTLOptionsPage();
    virtual void dispose() SAL_OVERRIDE;
    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rAttrSet );
    virtual bool        FillItemSet( SfxItemSet* rSet ) SAL_OVERRIDE;
    virtual void        Reset( const SfxItemSet* rSet ) SAL_OVERRIDE;
diff --git a/cui/source/options/optdict.cxx b/cui/source/options/optdict.cxx
index fefbbd2..d48e9a5 100644
--- a/cui/source/options/optdict.cxx
+++ b/cui/source/options/optdict.cxx
@@ -117,6 +117,19 @@ SvxNewDictionaryDialog::SvxNewDictionaryDialog( vcl::Window* pParent,
    pLanguageLB->SelectEntryPos(0);
}

SvxNewDictionaryDialog::~SvxNewDictionaryDialog()
{
    dispose();
}

void SvxNewDictionaryDialog::dispose()
{
    pNameEdit.clear();
    pLanguageLB.clear();
    pExceptBtn.clear();
    pOKBtn.clear();
    ModalDialog::dispose();
}


IMPL_LINK_NOARG(SvxNewDictionaryDialog, OKHdl_Impl)
@@ -331,6 +344,24 @@ SvxEditDictionaryDialog::SvxEditDictionaryDialog(
    }
}

SvxEditDictionaryDialog::~SvxEditDictionaryDialog()
{
    dispose();
}

void SvxEditDictionaryDialog::dispose()
{
    pAllDictsLB.clear();
    pLangFT.clear();
    pLangLB.clear();
    pWordED.clear();
    pReplaceFT.clear();
    pReplaceED.clear();
    pWordsLB.clear();
    pNewReplacePB.clear();
    pDeletePB.clear();
    ModalDialog::dispose();
}


/*
diff --git a/cui/source/options/optfltr.cxx b/cui/source/options/optfltr.cxx
index 6a6d711..65953a8 100644
--- a/cui/source/options/optfltr.cxx
+++ b/cui/source/options/optfltr.cxx
@@ -54,6 +54,25 @@ OfaMSFilterTabPage::OfaMSFilterTabPage(vcl::Window* pParent, const SfxItemSet& r
    aEBasicCodeCB->SetClickHdl( LINK( this, OfaMSFilterTabPage, LoadExcelBasicCheckHdl_Impl ) );
}

OfaMSFilterTabPage::~OfaMSFilterTabPage()
{
    dispose();
}

void OfaMSFilterTabPage::dispose()
{
    aWBasicCodeCB.clear();
    aWBasicWbctblCB.clear();
    aWBasicStgCB.clear();
    aEBasicCodeCB.clear();
    aEBasicExectblCB.clear();
    aEBasicStgCB.clear();
    aPBasicCodeCB.clear();
    aPBasicStgCB.clear();
    SfxTabPage::dispose();
}


IMPL_LINK_NOARG(OfaMSFilterTabPage, LoadWordBasicCheckHdl_Impl)
{
    aWBasicWbctblCB->Enable( aWBasicCodeCB->IsChecked() );
@@ -166,8 +185,8 @@ void OfaMSFilterTabPage2::dispose()
{
    delete pCheckButtonData;
    pCheckButtonData = NULL;
    delete m_pCheckLB;
    m_pCheckLB = NULL;
    m_pCheckLB.clear();
    m_pCheckLBContainer.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/options/optfltr.hxx b/cui/source/options/optfltr.hxx
index 763794f..20b01c1 100644
--- a/cui/source/options/optfltr.hxx
+++ b/cui/source/options/optfltr.hxx
@@ -27,20 +27,22 @@

class OfaMSFilterTabPage : public SfxTabPage
{
    CheckBox*       aWBasicCodeCB;
    CheckBox*       aWBasicWbctblCB;
    CheckBox*       aWBasicStgCB;
    CheckBox*       aEBasicCodeCB;
    CheckBox*       aEBasicExectblCB;
    CheckBox*       aEBasicStgCB;
    CheckBox*       aPBasicCodeCB;
    CheckBox*       aPBasicStgCB;
    VclPtr<CheckBox>       aWBasicCodeCB;
    VclPtr<CheckBox>       aWBasicWbctblCB;
    VclPtr<CheckBox>       aWBasicStgCB;
    VclPtr<CheckBox>       aEBasicCodeCB;
    VclPtr<CheckBox>       aEBasicExectblCB;
    VclPtr<CheckBox>       aEBasicStgCB;
    VclPtr<CheckBox>       aPBasicCodeCB;
    VclPtr<CheckBox>       aPBasicStgCB;

    OfaMSFilterTabPage( vcl::Window* pParent, const SfxItemSet& rSet );

    DECL_LINK(LoadWordBasicCheckHdl_Impl, void *);
    DECL_LINK(LoadExcelBasicCheckHdl_Impl, void *);
public:
    virtual ~OfaMSFilterTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent,
                                const SfxItemSet* rAttrSet );
@@ -72,8 +74,8 @@ class OfaMSFilterTabPage2 : public SfxTabPage
        }
    };

    SvSimpleTableContainer* m_pCheckLBContainer;
    MSFltrSimpleTable* m_pCheckLB;
    VclPtr<SvSimpleTableContainer> m_pCheckLBContainer;
    VclPtr<MSFltrSimpleTable> m_pCheckLB;
    OUString sHeader1, sHeader2;
    OUString sChgToFromMath,
           sChgToFromWriter,
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index 3ab3ae8..dabfc6b 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -307,6 +307,27 @@ OfaMiscTabPage::OfaMiscTabPage(vcl::Window* pParent, const SfxItemSet& rSet)
    m_pToolTipsCB->SetClickHdl( aLink );
}

OfaMiscTabPage::~OfaMiscTabPage()
{
    dispose();
}

void OfaMiscTabPage::dispose()
{
    m_pToolTipsCB.clear();
    m_pExtHelpCB.clear();
    m_pFileDlgROImage.clear();
    m_pFileDlgCB.clear();
    m_pPrintDlgCB.clear();
    m_pDocStatusCB.clear();
    m_pSaveAlwaysCB.clear();
    m_pYearFrame.clear();
    m_pYearValueField.clear();
    m_pToYearFT.clear();
    m_pCollectUsageInfo.clear();
    SfxTabPage::dispose();
}

SfxTabPage* OfaMiscTabPage::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet )
{
    return new OfaMiscTabPage( pParent, *rAttrSet );
@@ -693,6 +714,23 @@ void OfaViewTabPage::dispose()
    pCanvasSettings = NULL;
    delete pAppearanceCfg;
    pAppearanceCfg = NULL;
    m_pWindowSizeMF.clear();
    m_pIconSizeLB.clear();
    m_pIconStyleLB.clear();
    m_pFontAntiAliasing.clear();
    m_pAAPointLimitLabel.clear();
    m_pAAPointLimit.clear();
    m_pMenuIconsLB.clear();
    m_pFontShowCB.clear();
    m_pFontHistoryCB.clear();
    m_pUseHardwareAccell.clear();
    m_pUseAntiAliase.clear();
    m_pUseOpenGL.clear();
    m_pForceOpenGL.clear();
    m_pMousePosLB.clear();
    m_pMouseMiddleLB.clear();
    m_pSelectionCB.clear();
    m_pSelectionMF.clear();
    SfxTabPage::dispose();
}

@@ -1217,6 +1255,22 @@ void OfaLanguagesTabPage::dispose()
{
    delete pLangConfig;
    pLangConfig = NULL;
    m_pUserInterfaceLB.clear();
    m_pLocaleSettingFT.clear();
    m_pLocaleSettingLB.clear();
    m_pDecimalSeparatorCB.clear();
    m_pCurrencyFT.clear();
    m_pCurrencyLB.clear();
    m_pDatePatternsFT.clear();
    m_pDatePatternsED.clear();
    m_pWesternLanguageLB.clear();
    m_pWesternLanguageFT.clear();
    m_pAsianLanguageLB.clear();
    m_pComplexLanguageLB.clear();
    m_pCurrentDocCB.clear();
    m_pAsianSupportCB.clear();
    m_pCTLSupportCB.clear();
    m_pIgnoreLanguageChangeCB.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/options/optgdlg.hxx b/cui/source/options/optgdlg.hxx
index 4f01834..19ec2a0 100644
--- a/cui/source/options/optgdlg.hxx
+++ b/cui/source/options/optgdlg.hxx
@@ -44,24 +44,24 @@ class OfaMiscTabPage : public SfxTabPage
{
    using TabPage::DeactivatePage;
private:
    CheckBox*     m_pToolTipsCB;
    CheckBox*     m_pExtHelpCB;
    VclPtr<CheckBox>     m_pToolTipsCB;
    VclPtr<CheckBox>     m_pExtHelpCB;

    FixedImage*   m_pFileDlgROImage;
    CheckBox*     m_pFileDlgCB;
    VclPtr<FixedImage>   m_pFileDlgROImage;
    VclPtr<CheckBox>     m_pFileDlgCB;

    CheckBox*     m_pPrintDlgCB;
    VclPtr<CheckBox>     m_pPrintDlgCB;

    CheckBox*     m_pDocStatusCB;
    CheckBox*     m_pSaveAlwaysCB;
    VclPtr<CheckBox>     m_pDocStatusCB;
    VclPtr<CheckBox>     m_pSaveAlwaysCB;

    VclContainer* m_pYearFrame;
    NumericField* m_pYearValueField;
    FixedText*    m_pToYearFT;
    VclPtr<VclContainer> m_pYearFrame;
    VclPtr<NumericField> m_pYearValueField;
    VclPtr<FixedText>    m_pToYearFT;

    OUString      m_aStrDateInfo;

    CheckBox*     m_pCollectUsageInfo;
    VclPtr<CheckBox>     m_pCollectUsageInfo;

    DECL_LINK( TwoFigureHdl, NumericField* );
    DECL_LINK( TwoFigureConfigHdl, NumericField* );
@@ -74,6 +74,8 @@ protected:

public:
    OfaMiscTabPage( vcl::Window* pParent, const SfxItemSet& rSet );
    virtual ~OfaMiscTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rAttrSet );

@@ -87,30 +89,30 @@ class SvtTabAppearanceCfg;
class OfaViewTabPage : public SfxTabPage
{
private:
    MetricField*    m_pWindowSizeMF;
    ListBox*        m_pIconSizeLB;
    ListBox*        m_pIconStyleLB;
    VclPtr<MetricField>    m_pWindowSizeMF;
    VclPtr<ListBox>        m_pIconSizeLB;
    VclPtr<ListBox>        m_pIconStyleLB;

    CheckBox*       m_pFontAntiAliasing;
    FixedText*      m_pAAPointLimitLabel;
    MetricField*    m_pAAPointLimit;
    VclPtr<CheckBox>       m_pFontAntiAliasing;
    VclPtr<FixedText>      m_pAAPointLimitLabel;
    VclPtr<MetricField>    m_pAAPointLimit;

    ListBox*        m_pMenuIconsLB;
    VclPtr<ListBox>        m_pMenuIconsLB;

    CheckBox*       m_pFontShowCB;
    CheckBox*       m_pFontHistoryCB;
    VclPtr<CheckBox>       m_pFontShowCB;
    VclPtr<CheckBox>       m_pFontHistoryCB;

    CheckBox*       m_pUseHardwareAccell;
    CheckBox*       m_pUseAntiAliase;
    CheckBox*       m_pUseOpenGL;
    CheckBox*       m_pForceOpenGL;
    VclPtr<CheckBox>       m_pUseHardwareAccell;
    VclPtr<CheckBox>       m_pUseAntiAliase;
    VclPtr<CheckBox>       m_pUseOpenGL;
    VclPtr<CheckBox>       m_pForceOpenGL;

    ListBox*        m_pMousePosLB;
    ListBox*        m_pMouseMiddleLB;
    VclPtr<ListBox>        m_pMousePosLB;
    VclPtr<ListBox>        m_pMouseMiddleLB;

    // #i97672#
    CheckBox*       m_pSelectionCB;
    MetricField*    m_pSelectionMF;
    VclPtr<CheckBox>       m_pSelectionCB;
    VclPtr<MetricField>    m_pSelectionMF;

    sal_uInt16      nSizeLB_InitialSelection;
    sal_uInt16      nStyleLB_InitialSelection;
@@ -142,23 +144,23 @@ public:
struct LanguageConfig_Impl;
class OfaLanguagesTabPage : public SfxTabPage
{
    ListBox*        m_pUserInterfaceLB;
    FixedText*      m_pLocaleSettingFT;
    SvxLanguageBox* m_pLocaleSettingLB;
    CheckBox*       m_pDecimalSeparatorCB;
    FixedText*      m_pCurrencyFT;
    ListBox*        m_pCurrencyLB;
    FixedText*      m_pDatePatternsFT;
    Edit*           m_pDatePatternsED;
    VclPtr<ListBox>        m_pUserInterfaceLB;
    VclPtr<FixedText>      m_pLocaleSettingFT;
    VclPtr<SvxLanguageBox> m_pLocaleSettingLB;
    VclPtr<CheckBox>       m_pDecimalSeparatorCB;
    VclPtr<FixedText>      m_pCurrencyFT;
    VclPtr<ListBox>        m_pCurrencyLB;
    VclPtr<FixedText>      m_pDatePatternsFT;
    VclPtr<Edit>           m_pDatePatternsED;

    SvxLanguageBox* m_pWesternLanguageLB;
    FixedText*      m_pWesternLanguageFT;
    SvxLanguageBox* m_pAsianLanguageLB;
    SvxLanguageBox* m_pComplexLanguageLB;
    CheckBox*       m_pCurrentDocCB;
    CheckBox*       m_pAsianSupportCB;
    CheckBox*       m_pCTLSupportCB;
    CheckBox*       m_pIgnoreLanguageChangeCB;
    VclPtr<SvxLanguageBox> m_pWesternLanguageLB;
    VclPtr<FixedText>      m_pWesternLanguageFT;
    VclPtr<SvxLanguageBox> m_pAsianLanguageLB;
    VclPtr<SvxLanguageBox> m_pComplexLanguageLB;
    VclPtr<CheckBox>       m_pCurrentDocCB;
    VclPtr<CheckBox>       m_pAsianSupportCB;
    VclPtr<CheckBox>       m_pCTLSupportCB;
    VclPtr<CheckBox>       m_pIgnoreLanguageChangeCB;

    bool        m_bOldAsian;
    bool        m_bOldCtl;
diff --git a/cui/source/options/optgenrl.cxx b/cui/source/options/optgenrl.cxx
index 28fde5a..9d6afd3 100644
--- a/cui/source/options/optgenrl.cxx
+++ b/cui/source/options/optgenrl.cxx
@@ -166,7 +166,7 @@ struct SvxGeneralTabPage::Row
    // which row is it?
    RowType eRow;
    // row label
    FixedText* pLabel;
    VclPtr<FixedText> pLabel;
    // first and last field in the row (last is exclusive)
    unsigned nFirstField, nLastField;

@@ -191,7 +191,7 @@ struct SvxGeneralTabPage::Field
    // which field is this? (in vFieldInfo[] above)
    unsigned iField;
    // edit box
    Edit *pEdit;
    VclPtr<Edit> pEdit;

public:
    Field (Edit *pEdit_, unsigned iField_)
@@ -219,6 +219,16 @@ SvxGeneralTabPage::SvxGeneralTabPage(vcl::Window* pParent, const SfxItemSet& rCo
    SetLinks();
}

SvxGeneralTabPage::~SvxGeneralTabPage()
{
    dispose();
}

void SvxGeneralTabPage::dispose()
{
    m_pUseDataCB.clear();
    SfxTabPage::dispose();
}


// Initializes the titles and the edit boxes,
diff --git a/cui/source/options/opthtml.cxx b/cui/source/options/opthtml.cxx
index eeae4d7d..34d7fff 100644
--- a/cui/source/options/opthtml.cxx
+++ b/cui/source/options/opthtml.cxx
@@ -84,6 +84,32 @@ SfxTabPage( pParent, "OptHtmlPage" , "cui/ui/opthtmlpage.ui", &rSet )
    aCharSetLB->FillWithMimeAndSelectBest();
}

OfaHtmlTabPage::~OfaHtmlTabPage()
{
    dispose();
}

void OfaHtmlTabPage::dispose()
{
    aSize1NF.clear();
    aSize2NF.clear();
    aSize3NF.clear();
    aSize4NF.clear();
    aSize5NF.clear();
    aSize6NF.clear();
    aSize7NF.clear();
    aNumbersEnglishUSCB.clear();
    aUnknownTagCB.clear();
    aIgnoreFontNamesCB.clear();
    aExportLB.clear();
    aStarBasicCB.clear();
    aStarBasicWarningCB.clear();
    aPrintExtensionCB.clear();
    aSaveGrfLocalCB.clear();
    aCharSetLB.clear();
    SfxTabPage::dispose();
}

SfxTabPage* OfaHtmlTabPage::Create( vcl::Window* pParent,
                                const SfxItemSet* rAttrSet )
{
diff --git a/cui/source/options/opthtml.hxx b/cui/source/options/opthtml.hxx
index 2697fb5..0e17f48 100644
--- a/cui/source/options/opthtml.hxx
+++ b/cui/source/options/opthtml.hxx
@@ -30,30 +30,32 @@
class OfaHtmlTabPage : public SfxTabPage
{

    NumericField*    aSize1NF;
    NumericField*    aSize2NF;
    NumericField*    aSize3NF;
    NumericField*    aSize4NF;
    NumericField*    aSize5NF;
    NumericField*    aSize6NF;
    NumericField*    aSize7NF;
    VclPtr<NumericField>    aSize1NF;
    VclPtr<NumericField>    aSize2NF;
    VclPtr<NumericField>    aSize3NF;
    VclPtr<NumericField>    aSize4NF;
    VclPtr<NumericField>    aSize5NF;
    VclPtr<NumericField>    aSize6NF;
    VclPtr<NumericField>    aSize7NF;

    CheckBox*        aNumbersEnglishUSCB;
    CheckBox*        aUnknownTagCB;
    CheckBox*        aIgnoreFontNamesCB;
    VclPtr<CheckBox>        aNumbersEnglishUSCB;
    VclPtr<CheckBox>        aUnknownTagCB;
    VclPtr<CheckBox>        aIgnoreFontNamesCB;

    ListBox*         aExportLB;
    CheckBox*        aStarBasicCB;
    CheckBox*        aStarBasicWarningCB;
    CheckBox*        aPrintExtensionCB;
    CheckBox*        aSaveGrfLocalCB;
    SvxTextEncodingBox* aCharSetLB;
    VclPtr<ListBox>         aExportLB;
    VclPtr<CheckBox>        aStarBasicCB;
    VclPtr<CheckBox>        aStarBasicWarningCB;
    VclPtr<CheckBox>        aPrintExtensionCB;
    VclPtr<CheckBox>        aSaveGrfLocalCB;
    VclPtr<SvxTextEncodingBox> aCharSetLB;

    DECL_LINK(ExportHdl_Impl, ListBox*);
    DECL_LINK(CheckBoxHdl_Impl, CheckBox*);

    OfaHtmlTabPage(vcl::Window* pParent, const SfxItemSet& rSet);
public:
    virtual ~OfaHtmlTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent,
                                const SfxItemSet* rAttrSet );
diff --git a/cui/source/options/optinet2.cxx b/cui/source/options/optinet2.cxx
index a9063ece..5dc7a28 100644
--- a/cui/source/options/optinet2.cxx
+++ b/cui/source/options/optinet2.cxx
@@ -215,6 +215,32 @@ SvxProxyTabPage::SvxProxyTabPage(vcl::Window* pParent, const SfxItemSet& rSet)
        aArgumentList );
}

SvxProxyTabPage::~SvxProxyTabPage()
{
    dispose();
}

void SvxProxyTabPage::dispose()
{
    m_pProxyModeLB.clear();
    m_pHttpProxyFT.clear();
    m_pHttpProxyED.clear();
    m_pHttpPortFT.clear();
    m_pHttpPortED.clear();
    m_pHttpsProxyFT.clear();
    m_pHttpsProxyED.clear();
    m_pHttpsPortFT.clear();
    m_pHttpsPortED.clear();
    m_pFtpProxyFT.clear();
    m_pFtpProxyED.clear();
    m_pFtpPortFT.clear();
    m_pFtpPortED.clear();
    m_pNoProxyForFT.clear();
    m_pNoProxyForED.clear();
    m_pNoProxyDescFT.clear();
    SfxTabPage::dispose();
}

SfxTabPage* SvxProxyTabPage::Create(vcl::Window* pParent, const SfxItemSet* rAttrSet )
{
    return new SvxProxyTabPage(pParent, *rAttrSet);
@@ -627,12 +653,20 @@ SvxSecurityTabPage::~SvxSecurityTabPage()

void SvxSecurityTabPage::dispose()
{
    delete mpCertPathDlg;
    mpCertPathDlg = NULL;
    delete mpSecOptions;
    mpSecOptions = NULL;
    delete mpSecOptDlg;
    mpSecOptDlg = NULL;
    mpCertPathDlg.clear();
    mpSecOptDlg.clear();
    m_pSecurityOptionsPB.clear();
    m_pSavePasswordsCB.clear();
    m_pShowConnectionsPB.clear();
    m_pMasterPasswordCB.clear();
    m_pMasterPasswordFT.clear();
    m_pMasterPasswordPB.clear();
    m_pMacroSecFrame.clear();
    m_pMacroSecPB.clear();
    m_pCertFrame.clear();
    m_pCertPathPB.clear();
    SfxTabPage::dispose();
}

@@ -983,6 +1017,13 @@ void SvxEMailTabPage::dispose()
{
    delete pImpl;
    pImpl = NULL;
    m_pMailContainer.clear();
    m_pMailerURLFI.clear();
    m_pMailerURLED.clear();
    m_pMailerURLPB.clear();
    m_pSuppressHiddenContainer.clear();
    m_pSuppressHiddenFI.clear();
    m_pSuppressHidden.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/options/optinet2.hxx b/cui/source/options/optinet2.hxx
index 6eddd54..e1cccd41 100644
--- a/cui/source/options/optinet2.hxx
+++ b/cui/source/options/optinet2.hxx
@@ -58,26 +58,26 @@ class SvxProxyTabPage : public SfxTabPage
{
private:

    ListBox*        m_pProxyModeLB;
    VclPtr<ListBox>        m_pProxyModeLB;

    FixedText*      m_pHttpProxyFT;
    SvxNoSpaceEdit* m_pHttpProxyED;
    FixedText*      m_pHttpPortFT;
    SvxNoSpaceEdit* m_pHttpPortED;
    VclPtr<FixedText>      m_pHttpProxyFT;
    VclPtr<SvxNoSpaceEdit> m_pHttpProxyED;
    VclPtr<FixedText>      m_pHttpPortFT;
    VclPtr<SvxNoSpaceEdit> m_pHttpPortED;

    FixedText*      m_pHttpsProxyFT;
    SvxNoSpaceEdit* m_pHttpsProxyED;
    FixedText*      m_pHttpsPortFT;
    SvxNoSpaceEdit* m_pHttpsPortED;
    VclPtr<FixedText>      m_pHttpsProxyFT;
    VclPtr<SvxNoSpaceEdit> m_pHttpsProxyED;
    VclPtr<FixedText>      m_pHttpsPortFT;
    VclPtr<SvxNoSpaceEdit> m_pHttpsPortED;

    FixedText*      m_pFtpProxyFT;
    SvxNoSpaceEdit* m_pFtpProxyED;
    FixedText*      m_pFtpPortFT;
    SvxNoSpaceEdit* m_pFtpPortED;
    VclPtr<FixedText>      m_pFtpProxyFT;
    VclPtr<SvxNoSpaceEdit> m_pFtpProxyED;
    VclPtr<FixedText>      m_pFtpPortFT;
    VclPtr<SvxNoSpaceEdit> m_pFtpPortED;

    FixedText*      m_pNoProxyForFT;
    Edit*           m_pNoProxyForED;
    FixedText*      m_pNoProxyDescFT;
    VclPtr<FixedText>      m_pNoProxyForFT;
    VclPtr<Edit>           m_pNoProxyForED;
    VclPtr<FixedText>      m_pNoProxyDescFT;

    const OUString aProxyModePN;
    const OUString aHttpProxyPN;
@@ -101,6 +101,8 @@ private:
    SvxProxyTabPage( vcl::Window* pParent, const SfxItemSet& rSet );

public:
    virtual ~SvxProxyTabPage();
    virtual void dispose() SAL_OVERRIDE;
    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rAttrSet );
    virtual bool        FillItemSet( SfxItemSet* rSet ) SAL_OVERRIDE;
    virtual void        Reset( const SfxItemSet* rSet ) SAL_OVERRIDE;
@@ -129,28 +131,28 @@ class SvxSecurityTabPage : public SfxTabPage
    using TabPage::DeactivatePage;

private:
    PushButton*         m_pSecurityOptionsPB;
    VclPtr<PushButton>         m_pSecurityOptionsPB;

    CheckBox*           m_pSavePasswordsCB;
    PushButton*         m_pShowConnectionsPB;
    VclPtr<CheckBox>           m_pSavePasswordsCB;
    VclPtr<PushButton>         m_pShowConnectionsPB;

    CheckBox*           m_pMasterPasswordCB;
    FixedText*          m_pMasterPasswordFT;
    PushButton*         m_pMasterPasswordPB;
    VclPtr<CheckBox>           m_pMasterPasswordCB;
    VclPtr<FixedText>          m_pMasterPasswordFT;
    VclPtr<PushButton>         m_pMasterPasswordPB;

    VclContainer*       m_pMacroSecFrame;
    PushButton*         m_pMacroSecPB;
    VclPtr<VclContainer>       m_pMacroSecFrame;
    VclPtr<PushButton>         m_pMacroSecPB;

    VclContainer*       m_pCertFrame;
    PushButton*         m_pCertPathPB;
    VclPtr<VclContainer>       m_pCertFrame;
    VclPtr<PushButton>         m_pCertPathPB;

    VclContainer*       m_pTSAURLsFrame;
    PushButton*         m_pTSAURLsPB;

    SvtSecurityOptions*         mpSecOptions;
    svx::SecurityOptionsDialog* mpSecOptDlg;
    VclPtr<svx::SecurityOptionsDialog> mpSecOptDlg;

    CertPathDialog* mpCertPathDlg;
    VclPtr<CertPathDialog> mpCertPathDlg;

    OUString            m_sPasswordStoringDeactivateStr;

@@ -182,13 +184,13 @@ public:
struct SvxEMailTabPage_Impl;
class SvxEMailTabPage : public SfxTabPage
{
    VclContainer* m_pMailContainer;
    FixedImage*   m_pMailerURLFI;
    Edit*         m_pMailerURLED;
    PushButton*   m_pMailerURLPB;
    VclContainer* m_pSuppressHiddenContainer;
    FixedImage*   m_pSuppressHiddenFI;
    CheckBox*     m_pSuppressHidden;
    VclPtr<VclContainer> m_pMailContainer;
    VclPtr<FixedImage>   m_pMailerURLFI;
    VclPtr<Edit>         m_pMailerURLED;
    VclPtr<PushButton>   m_pMailerURLPB;
    VclPtr<VclContainer> m_pSuppressHiddenContainer;
    VclPtr<FixedImage>   m_pSuppressHiddenFI;
    VclPtr<CheckBox>     m_pSuppressHidden;

    OUString      m_sDefaultFilterName;

diff --git a/cui/source/options/optjava.cxx b/cui/source/options/optjava.cxx
index 5be1b1fa..98853d5 100644
--- a/cui/source/options/optjava.cxx
+++ b/cui/source/options/optjava.cxx
@@ -207,12 +207,7 @@ SvxJavaOptionsPage::~SvxJavaOptionsPage()

void SvxJavaOptionsPage::dispose()
{
    delete m_pJavaList;
    m_pJavaList = NULL;
    delete m_pParamDlg;
    m_pParamDlg = NULL;
    delete m_pPathDlg;
    m_pPathDlg = NULL;
    m_pJavaList.clear();
    ClearJavaInfo();
#if HAVE_FEATURE_JAVA
    std::vector< JavaInfo* >::iterator pIter;
@@ -225,6 +220,17 @@ void SvxJavaOptionsPage::dispose()

    jfw_unlock();
#endif
    m_pJavaEnableCB.clear();
    m_pJavaBox.clear();
    m_pJavaPathText.clear();
    m_pAddBtn.clear();
    m_pParameterBtn.clear();
    m_pClassPathBtn.clear();
    m_pExpertConfigBtn.clear();
    m_pExperimentalCB.clear();
    m_pMacroCB.clear();
    m_pParamDlg.clear();
    m_pPathDlg.clear();
    SfxTabPage::dispose();
}

@@ -815,6 +821,19 @@ SvxJavaParameterDlg::SvxJavaParameterDlg( vcl::Window* pParent ) :
    EnableRemoveButton();
}

SvxJavaParameterDlg::~SvxJavaParameterDlg()
{
    dispose();
}

void SvxJavaParameterDlg::dispose()
{
    m_pParameterEdit.clear();
    m_pAssignBtn.clear();
    m_pAssignedList.clear();
    m_pRemoveBtn.clear();
    ModalDialog::dispose();
}


IMPL_LINK_NOARG(SvxJavaParameterDlg, ModifyHdl_Impl)
@@ -955,6 +974,10 @@ void SvxJavaClassPathDlg::dispose()
            delete static_cast< OUString* >( m_pPathList->GetEntryData(i) );
        m_pPathList = NULL;
    }
    m_pPathList.clear();
    m_pAddArchiveBtn.clear();
    m_pAddPathBtn.clear();
    m_pRemoveBtn.clear();
    ModalDialog::dispose();
}

diff --git a/cui/source/options/optjava.hxx b/cui/source/options/optjava.hxx
index 4c42201..68ed2442 100644
--- a/cui/source/options/optjava.hxx
+++ b/cui/source/options/optjava.hxx
@@ -51,17 +51,17 @@ class   SvxJavaListBox;
class SvxJavaOptionsPage : public SfxTabPage
{
private:
    CheckBox*                   m_pJavaEnableCB;
    VclContainer*               m_pJavaBox;
    SvxJavaListBox*             m_pJavaList;
    FixedText*                  m_pJavaPathText;
    PushButton*                 m_pAddBtn;
    PushButton*                 m_pParameterBtn;
    PushButton*                 m_pClassPathBtn;
    PushButton*                 m_pExpertConfigBtn;
    VclPtr<CheckBox>                   m_pJavaEnableCB;
    VclPtr<VclContainer>               m_pJavaBox;
    VclPtr<SvxJavaListBox>             m_pJavaList;
    VclPtr<FixedText>                  m_pJavaPathText;
    VclPtr<PushButton>                 m_pAddBtn;
    VclPtr<PushButton>                 m_pParameterBtn;
    VclPtr<PushButton>                 m_pClassPathBtn;
    VclPtr<PushButton>                 m_pExpertConfigBtn;

    SvxJavaParameterDlg*    m_pParamDlg;
    SvxJavaClassPathDlg*    m_pPathDlg;
    VclPtr<SvxJavaParameterDlg>        m_pParamDlg;
    VclPtr<SvxJavaClassPathDlg>        m_pPathDlg;

#if HAVE_FEATURE_JAVA
    JavaInfo**              m_parJavaInfo;
@@ -75,8 +75,8 @@ private:
    OUString                m_sAddDialogText;
    Idle                    m_aResetIdle;

    CheckBox*               m_pExperimentalCB;
    CheckBox*               m_pMacroCB;
    VclPtr<CheckBox>               m_pExperimentalCB;
    VclPtr<CheckBox>               m_pMacroCB;

    ::std::vector< JavaInfo* >
                            m_aAddedInfos;
@@ -121,11 +121,11 @@ public:
class SvxJavaParameterDlg : public ModalDialog
{
private:
    Edit*                   m_pParameterEdit;
    PushButton*             m_pAssignBtn;
    VclPtr<Edit>                   m_pParameterEdit;
    VclPtr<PushButton>             m_pAssignBtn;

    ListBox*                m_pAssignedList;
    PushButton*             m_pRemoveBtn;
    VclPtr<ListBox>                m_pAssignedList;
    VclPtr<PushButton>             m_pRemoveBtn;

    DECL_LINK(ModifyHdl_Impl, void *);
    DECL_LINK(AssignHdl_Impl, void *);
@@ -141,6 +141,8 @@ private:

public:
    SvxJavaParameterDlg( vcl::Window* pParent );
    virtual ~SvxJavaParameterDlg();
    virtual void dispose() SAL_OVERRIDE;

    virtual short           Execute() SAL_OVERRIDE;

@@ -153,10 +155,10 @@ public:
class SvxJavaClassPathDlg : public ModalDialog
{
private:
    ListBox*                 m_pPathList;
    PushButton*              m_pAddArchiveBtn;
    PushButton*              m_pAddPathBtn;
    PushButton*              m_pRemoveBtn;
    VclPtr<ListBox>                 m_pPathList;
    VclPtr<PushButton>              m_pAddArchiveBtn;
    VclPtr<PushButton>              m_pAddPathBtn;
    VclPtr<PushButton>              m_pRemoveBtn;

    OUString                m_sOldPath;

diff --git a/cui/source/options/optjsearch.cxx b/cui/source/options/optjsearch.cxx
index 707717f..263405d 100644
--- a/cui/source/options/optjsearch.cxx
+++ b/cui/source/options/optjsearch.cxx
@@ -55,6 +55,34 @@ SvxJSearchOptionsPage::SvxJSearchOptionsPage( vcl::Window* pParent, const SfxIte
    nTransliterationFlags = 0x00000000;
}

SvxJSearchOptionsPage::~SvxJSearchOptionsPage()
{
    dispose();
}

void SvxJSearchOptionsPage::dispose()
{
    m_pMatchCase.clear();
    m_pMatchFullHalfWidth.clear();
    m_pMatchHiraganaKatakana.clear();
    m_pMatchContractions.clear();
    m_pMatchMinusDashChoon.clear();
    m_pMatchRepeatCharMarks.clear();
    m_pMatchVariantFormKanji.clear();
    m_pMatchOldKanaForms.clear();
    m_pMatchDiziDuzu.clear();
    m_pMatchBavaHafa.clear();
    m_pMatchTsithichiDhizi.clear();
    m_pMatchHyuiyuByuvyu.clear();
    m_pMatchSesheZeje.clear();
    m_pMatchIaiya.clear();
    m_pMatchKiku.clear();
    m_pMatchProlongedSoundMark.clear();
    m_pIgnorePunctuation.clear();
    m_pIgnoreWhitespace.clear();
    m_pIgnoreMiddleDot.clear();
    SfxTabPage::dispose();
}

SfxTabPage*  SvxJSearchOptionsPage::Create( vcl::Window* pParent, const SfxItemSet* rSet )
{
diff --git a/cui/source/options/optjsearch.hxx b/cui/source/options/optjsearch.hxx
index 35639df..70d03ac 100644
--- a/cui/source/options/optjsearch.hxx
+++ b/cui/source/options/optjsearch.hxx
@@ -32,26 +32,26 @@ class SfxItemSet;
class SvxJSearchOptionsPage : public SfxTabPage
{
private:
    CheckBox*   m_pMatchCase;
    CheckBox*   m_pMatchFullHalfWidth;
    CheckBox*   m_pMatchHiraganaKatakana;
    CheckBox*   m_pMatchContractions;
    CheckBox*   m_pMatchMinusDashChoon;
    CheckBox*   m_pMatchRepeatCharMarks;
    CheckBox*   m_pMatchVariantFormKanji;
    CheckBox*   m_pMatchOldKanaForms;
    CheckBox*   m_pMatchDiziDuzu;
    CheckBox*   m_pMatchBavaHafa;
    CheckBox*   m_pMatchTsithichiDhizi;
    CheckBox*   m_pMatchHyuiyuByuvyu;
    CheckBox*   m_pMatchSesheZeje;
    CheckBox*   m_pMatchIaiya;
    CheckBox*   m_pMatchKiku;
    CheckBox*   m_pMatchProlongedSoundMark;
    VclPtr<CheckBox>   m_pMatchCase;
    VclPtr<CheckBox>   m_pMatchFullHalfWidth;
    VclPtr<CheckBox>   m_pMatchHiraganaKatakana;
    VclPtr<CheckBox>   m_pMatchContractions;
    VclPtr<CheckBox>   m_pMatchMinusDashChoon;
    VclPtr<CheckBox>   m_pMatchRepeatCharMarks;
    VclPtr<CheckBox>   m_pMatchVariantFormKanji;
    VclPtr<CheckBox>   m_pMatchOldKanaForms;
    VclPtr<CheckBox>   m_pMatchDiziDuzu;
    VclPtr<CheckBox>   m_pMatchBavaHafa;
    VclPtr<CheckBox>   m_pMatchTsithichiDhizi;
    VclPtr<CheckBox>   m_pMatchHyuiyuByuvyu;
    VclPtr<CheckBox>   m_pMatchSesheZeje;
    VclPtr<CheckBox>   m_pMatchIaiya;
    VclPtr<CheckBox>   m_pMatchKiku;
    VclPtr<CheckBox>   m_pMatchProlongedSoundMark;

    CheckBox*   m_pIgnorePunctuation;
    CheckBox*   m_pIgnoreWhitespace;
    CheckBox*   m_pIgnoreMiddleDot;
    VclPtr<CheckBox>   m_pIgnorePunctuation;
    VclPtr<CheckBox>   m_pIgnoreWhitespace;
    VclPtr<CheckBox>   m_pIgnoreMiddleDot;

    sal_Int32       nTransliterationFlags;
    bool        bSaveOptions;
@@ -62,6 +62,8 @@ protected:
                        SvxJSearchOptionsPage( vcl::Window* pParent, const SfxItemSet& rSet );

public:
    virtual ~SvxJSearchOptionsPage();
    virtual void dispose() SAL_OVERRIDE;
    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rSet );

    virtual void        Reset( const SfxItemSet* rSet ) SAL_OVERRIDE;
diff --git a/cui/source/options/optlingu.cxx b/cui/source/options/optlingu.cxx
index 8e7929e..9c357e6 100644
--- a/cui/source/options/optlingu.cxx
+++ b/cui/source/options/optlingu.cxx
@@ -329,10 +329,10 @@ static inline OUString lcl_GetPropertyName( EID_OPTIONS eEntryId )

class OptionsBreakSet : public ModalDialog
{
    VclFrame*       m_pBeforeFrame;
    VclFrame*       m_pAfterFrame;
    VclFrame*       m_pMinimalFrame;
    NumericField*   m_pBreakNF;
    VclPtr<VclFrame>       m_pBeforeFrame;
    VclPtr<VclFrame>       m_pAfterFrame;
    VclPtr<VclFrame>       m_pMinimalFrame;
    VclPtr<NumericField>   m_pBreakNF;

public:
    OptionsBreakSet(vcl::Window* pParent, sal_uInt16 nRID)
@@ -364,6 +364,15 @@ public:
            get(m_pBreakNF, "wordlength");
        }
    }
    virtual ~OptionsBreakSet() { dispose(); }
    virtual void dispose() SAL_OVERRIDE
    {
        m_pBeforeFrame.clear();
        m_pAfterFrame.clear();
        m_pMinimalFrame.clear();
        m_pBreakNF.clear();
        ModalDialog::dispose();
    }

    NumericField&   GetNumericFld()
    {
@@ -1129,6 +1138,17 @@ void SvxLinguTabPage::dispose()
{
    delete pLinguData;
    pLinguData = NULL;
    m_pLinguModulesFT.clear();
    m_pLinguModulesCLB.clear();
    m_pLinguModulesEditPB.clear();
    m_pLinguDicsFT.clear();
    m_pLinguDicsCLB.clear();
    m_pLinguDicsNewPB.clear();
    m_pLinguDicsEditPB.clear();
    m_pLinguDicsDelPB.clear();
    m_pLinguOptionsCLB.clear();
    m_pLinguOptionsEditPB.clear();
    m_pMoreDictsLink.clear();
    SfxTabPage::dispose();
}

@@ -1905,6 +1925,13 @@ void SvxEditModulesDlg::dispose()
{
    delete pDefaultLinguData;
    pDefaultLinguData = NULL;
    m_pLanguageLB.clear();
    m_pModulesCLB.clear();
    m_pPrioUpPB.clear();
    m_pPrioDownPB.clear();
    m_pBackPB.clear();
    m_pMoreDictsLink.clear();
    m_pClosePB.clear();
    ModalDialog::dispose();
}

diff --git a/cui/source/options/optmemory.cxx b/cui/source/options/optmemory.cxx
index 3f509a4..79a86d9 100644
--- a/cui/source/options/optmemory.cxx
+++ b/cui/source/options/optmemory.cxx
@@ -141,6 +141,23 @@ OfaMemoryOptionsPage::OfaMemoryOptionsPage(vcl::Window* pParent, const SfxItemSe
    m_pNfGraphicCache->SetModifyHdl( LINK( this, OfaMemoryOptionsPage, GraphicCacheConfigHdl ) );
}

OfaMemoryOptionsPage::~OfaMemoryOptionsPage()
{
    dispose();
}

void OfaMemoryOptionsPage::dispose()
{
    m_pUndoEdit.clear();
    m_pNfGraphicCache.clear();
    m_pNfGraphicObjectCache.clear();
    m_pTfGraphicObjectTime.clear();
    m_pNfOLECache.clear();
    m_pQuickStarterFrame.clear();
    m_pQuickLaunchCB.clear();
    SfxTabPage::dispose();
}

SfxTabPage* OfaMemoryOptionsPage::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet )
{
    return new OfaMemoryOptionsPage( pParent, *rAttrSet );
diff --git a/cui/source/options/optmemory.hxx b/cui/source/options/optmemory.hxx
index c3d189f..91559d9 100644
--- a/cui/source/options/optmemory.hxx
+++ b/cui/source/options/optmemory.hxx
@@ -32,16 +32,16 @@ class OfaMemoryOptionsPage : public SfxTabPage
{
    using SfxTabPage::DeactivatePage;
private:
    NumericField*       m_pUndoEdit;
    VclPtr<NumericField>       m_pUndoEdit;

    NumericField*       m_pNfGraphicCache;
    NumericField*       m_pNfGraphicObjectCache;
    TimeField*          m_pTfGraphicObjectTime;
    VclPtr<NumericField>       m_pNfGraphicCache;
    VclPtr<NumericField>       m_pNfGraphicObjectCache;
    VclPtr<TimeField>          m_pTfGraphicObjectTime;

    NumericField*       m_pNfOLECache;
    VclPtr<NumericField>       m_pNfOLECache;

    VclContainer*       m_pQuickStarterFrame;
    CheckBox*           m_pQuickLaunchCB;
    VclPtr<VclContainer>       m_pQuickStarterFrame;
    VclPtr<CheckBox>           m_pQuickLaunchCB;

    DECL_LINK(GraphicCacheConfigHdl, void *);

@@ -57,6 +57,8 @@ protected:

public:
    OfaMemoryOptionsPage( vcl::Window* pParent, const SfxItemSet& rSet );
    virtual ~OfaMemoryOptionsPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rAttrSet );

diff --git a/cui/source/options/optopencl.cxx b/cui/source/options/optopencl.cxx
index b6faede..bd8c784 100644
--- a/cui/source/options/optopencl.cxx
+++ b/cui/source/options/optopencl.cxx
@@ -117,6 +117,34 @@ void SvxOpenCLTabPage::dispose()
    mpWhiteList.disposeAndClear()
}

SvxOpenCLTabPage::~SvxOpenCLTabPage()
{
    dispose();
}

void SvxOpenCLTabPage::dispose()
{
    mpUseOpenCL.clear();
    mpBlackListFrame.clear();
    mpBlackList.clear();
    mpBlackListTable.clear();
    mpBlackListEdit.clear();
    mpBlackListAdd.clear();
    mpBlackListDelete.clear();
    mpOS.clear();
    mpOSVersion.clear();
    mpDevice.clear();
    mpVendor.clear();
    mpDrvVersion.clear();
    mpWhiteListFrame.clear();
    mpWhiteList.clear();
    mpWhiteListTable.clear();
    mpWhiteListEdit.clear();
    mpWhiteListAdd.clear();
    mpWhiteListDelete.clear();
    SfxTabPage::dispose();
}

SfxTabPage* SvxOpenCLTabPage::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet )
{
    return new SvxOpenCLTabPage(pParent, *rAttrSet);
@@ -194,16 +222,27 @@ class ListEntryDialog : public ModalDialog
public:
    OpenCLConfig::ImplMatcher maEntry;

    ListBox* mpOS;
    Edit* mpOSVersion;
    Edit* mpPlatformVendor;
    Edit* mpDevice;
    Edit* mpDriverVersion;
    VclPtr<ListBox> mpOS;
    VclPtr<Edit> mpOSVersion;
    VclPtr<Edit> mpPlatformVendor;
    VclPtr<Edit> mpDevice;
    VclPtr<Edit> mpDriverVersion;

    DECL_LINK(OSSelectHdl, ListBox*);
    DECL_LINK(EditModifiedHdl, Edit*);

    ListEntryDialog(vcl::Window* pParent, const OpenCLConfig::ImplMatcher& rEntry, const OString& rTag);
    virtual ~ListEntryDialog() { dispose(); }
    virtual void dispose() SAL_OVERRIDE
    {
        mpOS.clear();
        mpOSVersion.clear();
        mpPlatformVendor.clear();
        mpDevice.clear();
        mpDriverVersion.clear();
        ModalDialog::dispose();
    }

};

ListEntryDialog::ListEntryDialog(vcl::Window* pParent, const OpenCLConfig::ImplMatcher& rEntry, const OString& rTag)
diff --git a/cui/source/options/optopencl.hxx b/cui/source/options/optopencl.hxx
index 378dd5a..067b038 100644
--- a/cui/source/options/optopencl.hxx
+++ b/cui/source/options/optopencl.hxx
@@ -31,26 +31,26 @@ class SvxOpenCLTabPage : public SfxTabPage
private:
    OpenCLConfig maConfig;

    CheckBox* mpUseOpenCL;
    VclPtr<CheckBox> mpUseOpenCL;

    VclFrame* mpBlackListFrame;
    SvSimpleTable* mpBlackList;
    SvSimpleTableContainer* mpBlackListTable;
    PushButton* mpBlackListEdit;
    PushButton* mpBlackListAdd;
    PushButton* mpBlackListDelete;
    FixedText*  mpOS;
    FixedText*  mpOSVersion;
    FixedText*  mpDevice;
    FixedText*  mpVendor;
    FixedText*  mpDrvVersion;
    VclPtr<VclFrame> mpBlackListFrame;
    VclPtr<SvSimpleTable> mpBlackList;
    VclPtr<SvSimpleTableContainer> mpBlackListTable;
    VclPtr<PushButton> mpBlackListEdit;
    VclPtr<PushButton> mpBlackListAdd;
    VclPtr<PushButton> mpBlackListDelete;
    VclPtr<FixedText> mpOS;
    VclPtr<FixedText> mpOSVersion;
    VclPtr<FixedText> mpDevice;
    VclPtr<FixedText> mpVendor;
    VclPtr<FixedText> mpDrvVersion;

    VclFrame* mpWhiteListFrame;
    SvSimpleTable* mpWhiteList;
    SvSimpleTableContainer* mpWhiteListTable;
    PushButton* mpWhiteListEdit;
    PushButton* mpWhiteListAdd;
    PushButton* mpWhiteListDelete;
    VclPtr<VclFrame> mpWhiteListFrame;
    VclPtr<SvSimpleTable> mpWhiteList;
    VclPtr<SvSimpleTableContainer> mpWhiteListTable;
    VclPtr<PushButton> mpWhiteListEdit;
    VclPtr<PushButton> mpWhiteListAdd;
    VclPtr<PushButton> mpWhiteListDelete;

    DECL_LINK(BlackListEditHdl, void*);
    DECL_LINK(BlackListAddHdl, void*);
@@ -70,6 +70,7 @@ private:

public:
    SvxOpenCLTabPage( vcl::Window* pParent, const SfxItemSet& rSet );
    virtual ~SvxOpenCLTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*      Create( vcl::Window* pParent, const SfxItemSet* rSet );
diff --git a/cui/source/options/optpath.cxx b/cui/source/options/optpath.cxx
index 94de402..7d2d48c 100644
--- a/cui/source/options/optpath.cxx
+++ b/cui/source/options/optpath.cxx
@@ -256,11 +256,13 @@ void SvxPathTabPage::dispose()
    {
        for ( sal_uInt16 i = 0; i < pPathBox->GetEntryCount(); ++i )
            delete static_cast<PathUserData_Impl*>(pPathBox->GetEntry(i)->GetUserData());
        delete pPathBox;
        pPathBox = NULL;
        pPathBox.clear();
    }
    delete pImpl;
    pImpl = NULL;
    m_pPathCtrl.clear();
    m_pStandardBtn.clear();
    m_pPathBtn.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/options/optsave.cxx b/cui/source/options/optsave.cxx
index 00d3aff..8da1a6c 100644
--- a/cui/source/options/optsave.cxx
+++ b/cui/source/options/optsave.cxx
@@ -206,6 +206,23 @@ void SvxSaveTabPage::dispose()
{
    delete pImpl;
    pImpl = NULL;
    aLoadUserSettingsCB.clear();
    aLoadDocPrinterCB.clear();
    aDocInfoCB.clear();
    aBackupCB.clear();
    aAutoSaveCB.clear();
    aAutoSaveEdit.clear();
    aMinuteFT.clear();
    aUserAutoSaveCB.clear();
    aRelativeFsysCB.clear();
    aRelativeInetCB.clear();
    aODFVersionLB.clear();
    aWarnAlienFormatCB.clear();
    aDocTypeLB.clear();
    aSaveAsFT.clear();
    aSaveAsLB.clear();
    aODFWarningFI.clear();
    aODFWarningFT.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/options/optsave.hxx b/cui/source/options/optsave.hxx
index 87bd682..0cb7526d 100644
--- a/cui/source/options/optsave.hxx
+++ b/cui/source/options/optsave.hxx
@@ -42,25 +42,25 @@ struct SvxSaveTabPage_Impl;
class SvxSaveTabPage : public SfxTabPage
{
private:
    CheckBox*               aLoadUserSettingsCB;
    CheckBox*               aLoadDocPrinterCB;
    VclPtr<CheckBox>               aLoadUserSettingsCB;
    VclPtr<CheckBox>               aLoadDocPrinterCB;

    CheckBox*               aDocInfoCB;
    CheckBox*               aBackupCB;
    CheckBox*               aAutoSaveCB;
    NumericField*           aAutoSaveEdit;
    FixedText*              aMinuteFT;
    CheckBox*               aUserAutoSaveCB;
    CheckBox*               aRelativeFsysCB;
    CheckBox*               aRelativeInetCB;
    VclPtr<CheckBox>               aDocInfoCB;
    VclPtr<CheckBox>               aBackupCB;
    VclPtr<CheckBox>               aAutoSaveCB;
    VclPtr<NumericField>           aAutoSaveEdit;
    VclPtr<FixedText>              aMinuteFT;
    VclPtr<CheckBox>               aUserAutoSaveCB;
    VclPtr<CheckBox>               aRelativeFsysCB;
    VclPtr<CheckBox>               aRelativeInetCB;

    ListBox*                aODFVersionLB;
    CheckBox*               aWarnAlienFormatCB;
    ListBox*                aDocTypeLB;
    FixedText*              aSaveAsFT;
    ListBox*                aSaveAsLB;
    FixedImage*             aODFWarningFI;
    FixedText*              aODFWarningFT;
    VclPtr<ListBox>                aODFVersionLB;
    VclPtr<CheckBox>               aWarnAlienFormatCB;
    VclPtr<ListBox>                aDocTypeLB;
    VclPtr<FixedText>              aSaveAsFT;
    VclPtr<ListBox>                aSaveAsLB;
    VclPtr<FixedImage>             aODFWarningFI;
    VclPtr<FixedText>              aODFWarningFT;

    SvxSaveTabPage_Impl*    pImpl;

diff --git a/cui/source/options/optupdt.cxx b/cui/source/options/optupdt.cxx
index 0c7894c..30eb718 100644
--- a/cui/source/options/optupdt.cxx
+++ b/cui/source/options/optupdt.cxx
@@ -82,6 +82,25 @@ SvxOnlineUpdateTabPage::SvxOnlineUpdateTabPage(vcl::Window* pParent, const SfxIt
    UpdateLastCheckedText();
}

SvxOnlineUpdateTabPage::~SvxOnlineUpdateTabPage()
{
    dispose();
}

void SvxOnlineUpdateTabPage::dispose()
{
    m_pAutoCheckCheckBox.clear();
    m_pEveryDayButton.clear();
    m_pEveryWeekButton.clear();
    m_pEveryMonthButton.clear();
    m_pCheckNowButton.clear();
    m_pAutoDownloadCheckBox.clear();
    m_pDestPathLabel.clear();
    m_pDestPath.clear();
    m_pChangePathButton.clear();
    m_pLastChecked.clear();
    SfxTabPage::dispose();
}


void SvxOnlineUpdateTabPage::UpdateLastCheckedText()
diff --git a/cui/source/options/optupdt.hxx b/cui/source/options/optupdt.hxx
index ce5362b..4324caf 100644
--- a/cui/source/options/optupdt.hxx
+++ b/cui/source/options/optupdt.hxx
@@ -29,16 +29,16 @@
class SvxOnlineUpdateTabPage : public SfxTabPage
{
private:
    CheckBox*           m_pAutoCheckCheckBox;
    RadioButton*        m_pEveryDayButton;
    RadioButton*        m_pEveryWeekButton;
    RadioButton*        m_pEveryMonthButton;
    PushButton*         m_pCheckNowButton;
    CheckBox*           m_pAutoDownloadCheckBox;
    FixedText*          m_pDestPathLabel;
    FixedText*          m_pDestPath;
    PushButton*         m_pChangePathButton;
    FixedText*          m_pLastChecked;
    VclPtr<CheckBox>           m_pAutoCheckCheckBox;
    VclPtr<RadioButton>        m_pEveryDayButton;
    VclPtr<RadioButton>        m_pEveryWeekButton;
    VclPtr<RadioButton>        m_pEveryMonthButton;
    VclPtr<PushButton>         m_pCheckNowButton;
    VclPtr<CheckBox>           m_pAutoDownloadCheckBox;
    VclPtr<FixedText>          m_pDestPathLabel;
    VclPtr<FixedText>          m_pDestPath;
    VclPtr<PushButton>         m_pChangePathButton;
    VclPtr<FixedText>          m_pLastChecked;
    OUString       m_aNeverChecked;
    OUString       m_aLastCheckedTemplate;

@@ -52,6 +52,8 @@ private:

public:
    SvxOnlineUpdateTabPage( vcl::Window* pParent, const SfxItemSet& rSet );
    virtual ~SvxOnlineUpdateTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*      Create( vcl::Window* pParent, const SfxItemSet* rSet );

diff --git a/cui/source/options/personalization.cxx b/cui/source/options/personalization.cxx
index 1bae7f52..e6d73e4 100644
--- a/cui/source/options/personalization.cxx
+++ b/cui/source/options/personalization.cxx
@@ -92,6 +92,25 @@ SelectPersonaDialog::SelectPersonaDialog( vcl::Window *pParent )
    }
}

SelectPersonaDialog::~SelectPersonaDialog()
{
    dispose();
}

void SelectPersonaDialog::dispose()
{
    m_pEdit.clear();
    m_pSearchButton.clear();
    m_pProgressLabel.clear();
    for (VclPtr<PushButton> vp : m_vResultList)
        vp.clear();
    for (VclPtr<PushButton> vp : m_vSearchSuggestions)
        vp.clear();
    m_pOkButton.clear();
    m_pCancelButton.clear();
    ModalDialog::dispose();
}

OUString SelectPersonaDialog::GetSelectedPersona() const
{
    if( !m_aSelectedPersona.isEmpty( ) )
@@ -291,6 +310,26 @@ SvxPersonalizationTabPage::SvxPersonalizationTabPage( vcl::Window *pParent, cons
    LoadExtensionThemes();
}

SvxPersonalizationTabPage::~SvxPersonalizationTabPage()
{
    dispose();
}

void SvxPersonalizationTabPage::dispose()
{
    m_pNoPersona.clear();
    m_pDefaultPersona.clear();
    m_pOwnPersona.clear();
    m_pSelectPersona.clear();
    for (int i=0; i<3; ++i)
        m_vDefaultPersonaImages[i].clear();
    m_pExtensionPersonaPreview.clear();
    m_pPersonaList.clear();
    m_pExtensionLabel.clear();
    SfxTabPage::dispose();
}


SfxTabPage* SvxPersonalizationTabPage::Create( vcl::Window *pParent, const SfxItemSet *rSet )
{
    return new SvxPersonalizationTabPage( pParent, *rSet );
diff --git a/cui/source/options/personalization.hxx b/cui/source/options/personalization.hxx
index 4c147ab..e491d8b 100644
--- a/cui/source/options/personalization.hxx
+++ b/cui/source/options/personalization.hxx
@@ -25,15 +25,15 @@ class SvxPersonalizationTabPage : public SfxTabPage
    using SfxTabPage::DeactivatePage;

private:
    RadioButton *m_pNoPersona;                  ///< Just the default look, without any bitmap
    RadioButton *m_pDefaultPersona;             ///< Use the built-in bitmap
    RadioButton *m_pOwnPersona;                 ///< Use the user-defined bitmap
    PushButton *m_pSelectPersona;               ///< Let the user select in the 'own' case
    PushButton *m_vDefaultPersonaImages[3];     ///< Buttons to show the default persona images
    PushButton *m_pExtensionPersonaPreview;     ///< Buttons to show the last 3 personas installed via extensions
    ListBox* m_pPersonaList;                    ///< The ListBox to show the list of installed personas
    VclPtr<RadioButton> m_pNoPersona;                  ///< Just the default look, without any bitmap
    VclPtr<RadioButton> m_pDefaultPersona;             ///< Use the built-in bitmap
    VclPtr<RadioButton> m_pOwnPersona;                 ///< Use the user-defined bitmap
    VclPtr<PushButton> m_pSelectPersona;               ///< Let the user select in the 'own' case
    VclPtr<PushButton> m_vDefaultPersonaImages[3];     ///< Buttons to show the default persona images
    VclPtr<PushButton> m_pExtensionPersonaPreview;     ///< Buttons to show the last 3 personas installed via extensions
    VclPtr<ListBox> m_pPersonaList;                    ///< The ListBox to show the list of installed personas
    OUString m_aPersonaSettings;                ///< Header and footer images + color to be set in the settings.
    FixedText *m_pExtensionLabel;               ///< The "select persona installed via extensions" label
    VclPtr<FixedText> m_pExtensionLabel;               ///< The "select persona installed via extensions" label

    std::vector<OUString> m_vDefaultPersonaSettings;
    std::vector<OUString> m_vExtensionPersonaSettings;
@@ -41,6 +41,8 @@ private:
public:
    ::rtl::Reference< SearchAndParseThread > m_rApplyThread;
    SvxPersonalizationTabPage( vcl::Window *pParent, const SfxItemSet &rSet );
    virtual ~SvxPersonalizationTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create( vcl::Window *pParent, const SfxItemSet *rSet );

@@ -77,13 +79,13 @@ https://addons.mozilla.org/firefox/themes ...
class SelectPersonaDialog : public ModalDialog
{
private:
    Edit *m_pEdit;                          ///< The input line for the search term
    PushButton *m_pSearchButton;            ///< The search button
    FixedText *m_pProgressLabel;            ///< The label for showing progress of search
    PushButton *m_vResultList[9];           ///< List of buttons to show search results
    PushButton *m_vSearchSuggestions[5];    ///< List of buttons for the search suggestions
    PushButton *m_pOkButton;                ///< The OK button
    PushButton *m_pCancelButton;            ///< The Cancel button
    VclPtr<Edit> m_pEdit;                          ///< The input line for the search term
    VclPtr<PushButton> m_pSearchButton;            ///< The search button
    VclPtr<FixedText> m_pProgressLabel;            ///< The label for showing progress of search
    VclPtr<PushButton> m_vResultList[9];           ///< List of buttons to show search results
    VclPtr<PushButton> m_vSearchSuggestions[5];    ///< List of buttons for the search suggestions
    VclPtr<PushButton> m_pOkButton;                ///< The OK button
    VclPtr<PushButton> m_pCancelButton;            ///< The Cancel button

    std::vector<OUString> m_vPersonaSettings;
    OUString m_aSelectedPersona;
@@ -91,6 +93,8 @@ private:

public:
    SelectPersonaDialog( vcl::Window *pParent );
    virtual ~SelectPersonaDialog();
    virtual void dispose() SAL_OVERRIDE;
    ::rtl::Reference< SearchAndParseThread > m_rSearchThread;

    OUString GetSelectedPersona() const;
@@ -113,7 +117,7 @@ class SearchAndParseThread: public salhelper::Thread
{
private:

    SelectPersonaDialog *m_pPersonaDialog;
    VclPtr<SelectPersonaDialog> m_pPersonaDialog;
    OUString m_aURL;
    bool m_bExecute;

diff --git a/cui/source/options/securityoptions.cxx b/cui/source/options/securityoptions.cxx
index 64d81bc..5071769 100644
--- a/cui/source/options/securityoptions.cxx
+++ b/cui/source/options/securityoptions.cxx
@@ -72,6 +72,24 @@ SecurityOptionsDialog::SecurityOptionsDialog(vcl::Window* pParent, SvtSecurityOp
        *get<FixedImage>("lockblockuntrusted"));
}

SecurityOptionsDialog::~SecurityOptionsDialog()
{
    dispose();
}

void SecurityOptionsDialog::dispose()
{
    m_pSaveOrSendDocsCB.clear();
    m_pSignDocsCB.clear();
    m_pPrintDocsCB.clear();
    m_pCreatePdfCB.clear();
    m_pRemovePersInfoCB.clear();
    m_pRecommPasswdCB.clear();
    m_pCtrlHyperlinkCB.clear();
    m_pBlockUntrustedRefererLinksCB.clear();
    ModalDialog::dispose();
}

}   // namespace svx


diff --git a/cui/source/options/securityoptions.hxx b/cui/source/options/securityoptions.hxx
index 4581ed7..216e372 100644
--- a/cui/source/options/securityoptions.hxx
+++ b/cui/source/options/securityoptions.hxx
@@ -37,18 +37,20 @@ namespace svx
    class SecurityOptionsDialog : public ModalDialog
    {
    private:
        CheckBox* m_pSaveOrSendDocsCB;
        CheckBox* m_pSignDocsCB;
        CheckBox* m_pPrintDocsCB;
        CheckBox* m_pCreatePdfCB;
        VclPtr<CheckBox> m_pSaveOrSendDocsCB;
        VclPtr<CheckBox> m_pSignDocsCB;
        VclPtr<CheckBox> m_pPrintDocsCB;
        VclPtr<CheckBox> m_pCreatePdfCB;

        CheckBox* m_pRemovePersInfoCB;
        CheckBox* m_pRecommPasswdCB;
        CheckBox* m_pCtrlHyperlinkCB;
        CheckBox* m_pBlockUntrustedRefererLinksCB;
        VclPtr<CheckBox> m_pRemovePersInfoCB;
        VclPtr<CheckBox> m_pRecommPasswdCB;
        VclPtr<CheckBox> m_pCtrlHyperlinkCB;
        VclPtr<CheckBox> m_pBlockUntrustedRefererLinksCB;

    public:
        SecurityOptionsDialog( vcl::Window* pParent, SvtSecurityOptions* pOptions );
        virtual ~SecurityOptionsDialog();
        virtual void dispose() SAL_OVERRIDE;

        bool IsSaveOrSendDocsChecked() const { return m_pSaveOrSendDocsCB->IsChecked(); }
        bool IsSignDocsChecked() const { return m_pSignDocsCB->IsChecked(); }
diff --git a/cui/source/options/treeopt.cxx b/cui/source/options/treeopt.cxx
index 095b6fc..f37c797 100644
--- a/cui/source/options/treeopt.cxx
+++ b/cui/source/options/treeopt.cxx
@@ -465,11 +465,11 @@ static bool lcl_isOptionHidden( sal_uInt16 _nPageId, const SvtOptionsDialogOptio

struct OptionsPageInfo
{
    SfxTabPage*         m_pPage;
    VclPtr<SfxTabPage>  m_pPage;
    sal_uInt16          m_nPageId;
    OUString       m_sPageURL;
    OUString       m_sEventHdl;
    ExtensionsTabPage*  m_pExtPage;
    VclPtr<ExtensionsTabPage>  m_pExtPage;

    OptionsPageInfo( sal_uInt16 nId ) : m_pPage( NULL ), m_nPageId( nId ), m_pExtPage( NULL ) {}
};
@@ -483,7 +483,7 @@ struct OptionsGroupInfo
    sal_uInt16          m_nDialogId;    // Id of the former dialog
    bool            m_bLoadError;   // load fails?
    OUString       m_sPageURL;
    ExtensionsTabPage*  m_pExtPage;
    VclPtr<ExtensionsTabPage>  m_pExtPage;

    OptionsGroupInfo( SfxShell* pSh, SfxModule* pMod, sal_uInt16 nId ) :
        m_pInItemSet( NULL ), m_pOutItemSet( NULL ), m_pShell( pSh ),
@@ -575,7 +575,6 @@ void OfaTreeOptionsDialog::dispose()
                    SvtViewOptions aTabPageOpt( E_TABPAGE, OUString::number( pPageInfo->m_nPageId) );
                    SetViewOptUserItem( aTabPageOpt, aPageData );
                }
                delete pPageInfo->m_pPage;
            }

            if (pPageInfo->m_nPageId == RID_SFXPAGE_LINGU)
@@ -588,8 +587,6 @@ void OfaTreeOptionsDialog::dispose()
                }
            }

            delete pPageInfo->m_pExtPage;

            delete pPageInfo;
        }
        pEntry = pTreeLB->Next(pEntry);
@@ -602,8 +599,8 @@ void OfaTreeOptionsDialog::dispose()
        if(!pTreeLB->GetParent(pEntry))
        {
            OptionsGroupInfo* pGroupInfo = static_cast<OptionsGroupInfo*>(pEntry->GetUserData());
            if ( pGroupInfo && pGroupInfo->m_pExtPage )
                delete pGroupInfo->m_pExtPage;
            if ( pGroupInfo )
                pGroupInfo->m_pExtPage.clear();
            delete pGroupInfo;
        }
        pEntry = pTreeLB->Next(pEntry);
@@ -611,7 +608,11 @@ void OfaTreeOptionsDialog::dispose()
    delete pColorPageItemSet;
    pColorPageItemSet = NULL;
    deleteGroupNames();
    pTreeLB = NULL;
    pOkPB.clear();
    pBackPB.clear();
    pTreeLB.clear();
    pTabBox.clear();
    mpColorPage.clear();
    SfxModalDialog::dispose();
}

@@ -1048,7 +1049,7 @@ void OfaTreeOptionsDialog::SelectHdl_Impl()
        {
            pPageInfo->m_pPage = ::CreateGeneralTabPage(
                pPageInfo->m_nPageId, pTabBox, *pColorPageItemSet );
            mpColorPage = static_cast<SvxColorTabPage*>(pPageInfo->m_pPage);
            mpColorPage = static_cast<SvxColorTabPage*>(pPageInfo->m_pPage.get());
            mpColorPage->SetupForViewFrame( SfxViewFrame::Current() );
        }
        else
diff --git a/cui/source/options/webconninfo.cxx b/cui/source/options/webconninfo.cxx
index 6628b18..16fcd75 100644
--- a/cui/source/options/webconninfo.cxx
+++ b/cui/source/options/webconninfo.cxx
@@ -147,8 +147,10 @@ WebConnectionInfoDialog::~WebConnectionInfoDialog()

void WebConnectionInfoDialog::dispose()
{
    delete m_pPasswordsLB;
    m_pPasswordsLB = NULL;
    m_pPasswordsLB.clear();
    m_pRemoveBtn.clear();
    m_pRemoveAllBtn.clear();
    m_pChangeBtn.clear();
    ModalDialog::dispose();
}

diff --git a/cui/source/options/webconninfo.hxx b/cui/source/options/webconninfo.hxx
index 2cd37eb0..a9d1b56 100644
--- a/cui/source/options/webconninfo.hxx
+++ b/cui/source/options/webconninfo.hxx
@@ -47,10 +47,10 @@ namespace svx
    class WebConnectionInfoDialog : public ModalDialog
    {
    private:
        PasswordTable* m_pPasswordsLB;
        PushButton*    m_pRemoveBtn;
        PushButton*    m_pRemoveAllBtn;
        PushButton*    m_pChangeBtn;
        VclPtr<PasswordTable> m_pPasswordsLB;
        VclPtr<PushButton>    m_pRemoveBtn;
        VclPtr<PushButton>    m_pRemoveAllBtn;
        VclPtr<PushButton>    m_pChangeBtn;
        sal_Int32      m_nPos;

    DECL_LINK( HeaderBarClickedHdl, SvSimpleTable* );
diff --git a/cui/source/tabpages/align.cxx b/cui/source/tabpages/align.cxx
index 7405627..ada97c5 100644
--- a/cui/source/tabpages/align.cxx
+++ b/cui/source/tabpages/align.cxx
@@ -257,6 +257,30 @@ void AlignmentTabPage::dispose()
{
    delete m_pOrientHlp;
    m_pOrientHlp = NULL;
    m_pLbHorAlign.clear();
    m_pFtIndent.clear();
    m_pEdIndent.clear();
    m_pFtVerAlign.clear();
    m_pLbVerAlign.clear();
    m_pCtrlDial.clear();
    m_pFtRotate.clear();
    m_pNfRotate.clear();
    m_pFtRefEdge.clear();
    m_pVsRefEdge.clear();
    m_pCbStacked.clear();
    m_pCbAsianMode.clear();
    m_pBoxDirection.clear();
    m_pBtnWrap.clear();
    m_pBtnHyphen.clear();
    m_pBtnShrink.clear();
    m_pLbFrameDir.clear();
    m_pFtBotLock.clear();
    m_pFtTopLock.clear();
    m_pFtCelLock.clear();
    m_pFtABCD.clear();
    m_pAlignmentFrame.clear();
    m_pOrientFrame.clear();
    m_pPropertiesFrame.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/tabpages/autocdlg.cxx b/cui/source/tabpages/autocdlg.cxx
index 9ad3cfca..346fc8b 100644
--- a/cui/source/tabpages/autocdlg.cxx
+++ b/cui/source/tabpages/autocdlg.cxx
@@ -137,6 +137,18 @@ OfaAutoCorrDlg::OfaAutoCorrDlg(vcl::Window* pParent, const SfxItemSet* _pSet )
        SetCurPageId("smarttags");
}

OfaAutoCorrDlg::~OfaAutoCorrDlg()
{
    dispose();
}

void OfaAutoCorrDlg::dispose()
{
    m_pLanguageBox.clear();
    m_pLanguageLB.clear();
    SfxTabDialog::dispose();
}

void OfaAutoCorrDlg::EnableLanguage(bool bEnable)
{
    m_pLanguageBox->Enable(bEnable);
@@ -192,6 +204,17 @@ OfaAutocorrOptionsPage::OfaAutocorrOptionsPage(vcl::Window* pParent, const SfxIt
    get(m_pCheckLB, "checklist");
}

OfaAutocorrOptionsPage::~OfaAutocorrOptionsPage()
{
    dispose();
}

void OfaAutocorrOptionsPage::dispose()
{
    m_pCheckLB.clear();
    SfxTabPage::dispose();
}

SfxTabPage* OfaAutocorrOptionsPage::Create( vcl::Window* pParent,
                                const SfxItemSet* rSet)
{
@@ -282,13 +305,16 @@ struct ImpUserData

class OfaAutoFmtPrcntSet : public ModalDialog
{
    MetricField* m_pPrcntMF;
    VclPtr<MetricField> m_pPrcntMF;
public:
    OfaAutoFmtPrcntSet(vcl::Window* pParent)
        : ModalDialog(pParent, "PercentDialog","cui/ui/percentdialog.ui")
    {
        get(m_pPrcntMF, "margin");
    }
    virtual ~OfaAutoFmtPrcntSet() { dispose(); }
    virtual void dispose() SAL_OVERRIDE { m_pPrcntMF.clear(); ModalDialog::dispose(); }

    MetricField& GetPrcntFld()
    {
        return *m_pPrcntMF;
@@ -481,9 +507,9 @@ void OfaSwAutoFmtOptionsPage::dispose()
        delete static_cast<ImpUserData*>(m_pCheckLB->GetUserData( MERGE_SINGLE_LINE_PARA ));
        delete pCheckButtonData;
        pCheckButtonData = NULL;
        delete m_pCheckLB;
        m_pCheckLB = NULL;
    }
    m_pCheckLB.clear();
    m_pEditPB.clear();
    SfxTabPage::dispose();
}

@@ -920,6 +946,13 @@ void OfaAutocorrReplacePage::dispose()
    pCompareClass = NULL;
    delete pCharClass;
    pCharClass = NULL;

    m_pTextOnlyCB.clear();
    m_pShortED.clear();
    m_pReplaceED.clear();
    m_pReplaceTLB.clear();
    m_pNewReplacePB.clear();
    m_pDeleteReplacePB.clear();
    SfxTabPage::dispose();
}

@@ -1426,6 +1459,16 @@ void OfaAutocorrExceptPage::dispose()
{
    aStringsTable.clear();
    delete pCompareClass;
    m_pAbbrevED.clear();
    m_pAbbrevLB.clear();
    m_pNewAbbrevPB.clear();
    m_pDelAbbrevPB.clear();
    m_pAutoAbbrevCB.clear();
    m_pDoubleCapsED.clear();
    m_pDoubleCapsLB.clear();
    m_pNewDoublePB.clear();
    m_pDelDoublePB.clear();
    m_pAutoCapsCB.clear();
    SfxTabPage::dispose();
}

@@ -1643,7 +1686,7 @@ void OfaAutocorrExceptPage::Reset( const SfxItemSet* )

IMPL_LINK(OfaAutocorrExceptPage, NewDelHdl, void*, pBtn)
{
    if((pBtn == m_pNewAbbrevPB || pBtn == m_pAbbrevED )
    if((pBtn == m_pNewAbbrevPB || pBtn == (PushButton*)m_pAbbrevED.get() )
        && !m_pAbbrevED->GetText().isEmpty())
    {
        m_pAbbrevLB->InsertEntry(m_pAbbrevED->GetText());
@@ -1654,7 +1697,7 @@ IMPL_LINK(OfaAutocorrExceptPage, NewDelHdl, void*, pBtn)
        m_pAbbrevLB->RemoveEntry(m_pAbbrevED->GetText());
        ModifyHdl(m_pAbbrevED);
    }
    else if((pBtn == m_pNewDoublePB || pBtn == m_pDoubleCapsED )
    else if((pBtn == m_pNewDoublePB || pBtn == (PushButton*)m_pDoubleCapsED.get() )
            && !m_pDoubleCapsED->GetText().isEmpty())
    {
        m_pDoubleCapsLB->InsertEntry(m_pDoubleCapsED->GetText());
@@ -1849,8 +1892,20 @@ void OfaQuoteTabPage::dispose()
{
    delete pCheckButtonData;
    pCheckButtonData = NULL;
    delete m_pSwCheckLB;
    m_pSwCheckLB = NULL;
    m_pSwCheckLB.clear();
    m_pCheckLB.clear();
    m_pSingleTypoCB.clear();
    m_pSglStartQuotePB.clear();
    m_pSglStartExFT.clear();
    m_pSglEndQuotePB.clear();
    m_pSglEndExFT.clear();
    m_pSglStandardPB.clear();
    m_pDoubleTypoCB.clear();
    m_pDblStartQuotePB.clear();
    m_pDblStartExFT.clear();
    m_pDblEndQuotePB.clear();
    m_pDblEndExFT.clear();
    m_pDblStandardPB.clear();
    SfxTabPage::dispose();
}

@@ -2174,6 +2229,26 @@ OfaAutoCompleteTabPage::OfaAutoCompleteTabPage(vcl::Window* pParent,
    m_pCBCollect->SetToggleHdl(LINK(this, OfaAutoCompleteTabPage, CheckHdl));
}

OfaAutoCompleteTabPage::~OfaAutoCompleteTabPage()
{
    dispose();
}

void OfaAutoCompleteTabPage::dispose()
{
    m_pCBActiv.clear();
    m_pCBAppendSpace.clear();
    m_pCBAsTip.clear();
    m_pCBCollect.clear();
    m_pCBRemoveList.clear();
    m_pDCBExpandKey.clear();
    m_pNFMinWordlen.clear();
    m_pNFMaxEntries.clear();
    m_pLBEntries.clear();
    m_pPBEntries.clear();
    SfxTabPage::dispose();
}

SfxTabPage* OfaAutoCompleteTabPage::Create( vcl::Window* pParent,
                                            const SfxItemSet* rSet)
{
@@ -2347,6 +2422,17 @@ void OfaAutoCompleteTabPage::CopyToClipboard() const
    }
}

OfaAutoCompleteTabPage::AutoCompleteMultiListBox::~AutoCompleteMultiListBox()
{
    dispose();
}

void OfaAutoCompleteTabPage::AutoCompleteMultiListBox::dispose()
{
    m_pPage.clear();
    MultiListBox::dispose();
}

bool OfaAutoCompleteTabPage::AutoCompleteMultiListBox::PreNotify(
            NotifyEvent& rNEvt )
{
@@ -2408,6 +2494,19 @@ OfaSmartTagOptionsTabPage::OfaSmartTagOptionsTabPage( vcl::Window* pParent,
    m_pSmartTagTypesLB->SetSelectHdl(LINK(this, OfaSmartTagOptionsTabPage, SelectHdl));
}

OfaSmartTagOptionsTabPage::~OfaSmartTagOptionsTabPage()
{
    dispose();
}

void OfaSmartTagOptionsTabPage::dispose()
{
    m_pMainCB.clear();
    m_pSmartTagTypesLB.clear();
    m_pPropertiesPB.clear();
    SfxTabPage::dispose();
}

SfxTabPage* OfaSmartTagOptionsTabPage::Create( vcl::Window* pParent, const SfxItemSet* rSet)
{
    return new OfaSmartTagOptionsTabPage( pParent, *rSet );
diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx
index 15c7826..0771bcd 100644
--- a/cui/source/tabpages/backgrnd.cxx
+++ b/cui/source/tabpages/backgrnd.cxx
@@ -460,6 +460,33 @@ void SvxBackgroundTabPage::dispose()
        delete pParaBck_Impl;
        pParaBck_Impl = NULL;
    }

    m_pAsGrid.clear();
    m_pSelectTxt.clear();
    m_pLbSelect.clear();
    m_pTblDesc.clear();
    m_pTblLBox.clear();
    m_pParaLBox.clear();
    m_pBackGroundColorFrame.clear();
    m_pBackgroundColorSet.clear();
    m_pPreviewWin1.clear();
    m_pColTransFT.clear();
    m_pColTransMF.clear();
    m_pBtnPreview.clear();
    m_pBitmapContainer.clear();
    m_pFileFrame.clear();
    m_pBtnBrowse.clear();
    m_pBtnLink.clear();
    m_pFtUnlinked.clear();
    m_pFtFile.clear();
    m_pTypeFrame.clear();
    m_pBtnPosition.clear();
    m_pBtnArea.clear();
    m_pBtnTile.clear();
    m_pWndPosition.clear();
    m_pGraphTransFrame.clear();
    m_pGraphTransMF.clear();
    m_pPreviewWin2.clear();
    SvxTabPage::dispose();
}

diff --git a/cui/source/tabpages/border.cxx b/cui/source/tabpages/border.cxx
index 9159dc6..4078833 100644
--- a/cui/source/tabpages/border.cxx
+++ b/cui/source/tabpages/border.cxx
@@ -334,6 +334,40 @@ SvxBorderTabPage::SvxBorderTabPage(vcl::Window* pParent, const SfxItemSet& rCore
    m_pMergeAdjacentBordersCB->Hide();
}

SvxBorderTabPage::~SvxBorderTabPage()
{
    dispose();
}

void SvxBorderTabPage::dispose()
{
    m_pWndPresets.clear();
    m_pUserDefFT.clear();
    m_pFrameSel.clear();
    m_pLbLineStyle.clear();
    m_pLbLineColor.clear();
    m_pLineWidthMF.clear();
    m_pSpacingFrame.clear();
    m_pLeftFT.clear();
    m_pLeftMF.clear();
    m_pRightFT.clear();
    m_pRightMF.clear();
    m_pTopFT.clear();
    m_pTopMF.clear();
    m_pBottomFT.clear();
    m_pBottomMF.clear();
    m_pSynchronizeCB.clear();
    m_pShadowFrame.clear();
    m_pWndShadows.clear();
    m_pFtShadowSize.clear();
    m_pEdShadowSize.clear();
    m_pFtShadowColor.clear();
    m_pLbShadowColor.clear();
    m_pPropertiesFrame.clear();
    m_pMergeWithNextCB.clear();
    m_pMergeAdjacentBordersCB.clear();
    SfxTabPage::dispose();
}


SfxTabPage* SvxBorderTabPage::Create( vcl::Window* pParent,
diff --git a/cui/source/tabpages/chardlg.cxx b/cui/source/tabpages/chardlg.cxx
index f4c1054..37c9634 100644
--- a/cui/source/tabpages/chardlg.cxx
+++ b/cui/source/tabpages/chardlg.cxx
@@ -183,6 +183,16 @@ SvxCharBasePage::SvxCharBasePage(vcl::Window* pParent, const OString& rID, const
{
}

SvxCharBasePage::~SvxCharBasePage()
{
    dispose();
}

void SvxCharBasePage::dispose()
{
    m_pPreviewWin.clear();
    SfxTabPage::dispose();
}


void SvxCharBasePage::ActivatePage( const SfxItemSet& rSet )
@@ -376,6 +386,36 @@ void SvxCharNamePage::dispose()
{
    delete m_pImpl;
    m_pImpl = NULL;
    m_pWestFrame.clear();
    m_pWestFontNameFT.clear();
    m_pWestFontNameLB.clear();
    m_pWestFontStyleFT.clear();
    m_pWestFontStyleLB.clear();
    m_pWestFontSizeFT.clear();
    m_pWestFontSizeLB.clear();
    m_pWestFontLanguageFT.clear();
    m_pWestFontLanguageLB.clear();
    m_pWestFontTypeFT.clear();
    m_pEastFrame.clear();
    m_pEastFontNameFT.clear();
    m_pEastFontNameLB.clear();
    m_pEastFontStyleFT.clear();
    m_pEastFontStyleLB.clear();
    m_pEastFontSizeFT.clear();
    m_pEastFontSizeLB.clear();
    m_pEastFontLanguageFT.clear();
    m_pEastFontLanguageLB.clear();
    m_pEastFontTypeFT.clear();
    m_pCTLFrame.clear();
    m_pCTLFontNameFT.clear();
    m_pCTLFontNameLB.clear();
    m_pCTLFontStyleFT.clear();
    m_pCTLFontStyleLB.clear();
    m_pCTLFontSizeFT.clear();
    m_pCTLFontSizeLB.clear();
    m_pCTLFontLanguageFT.clear();
    m_pCTLFontLanguageLB.clear();
    m_pCTLFontTypeFT.clear();
    SvxCharBasePage::dispose();
}

@@ -1336,6 +1376,37 @@ SvxCharEffectsPage::SvxCharEffectsPage( vcl::Window* pParent, const SfxItemSet& 
    Initialize();
}

SvxCharEffectsPage::~SvxCharEffectsPage()
{
    dispose();
}

void SvxCharEffectsPage::dispose()
{
    m_pFontColorFT.clear();
    m_pFontColorLB.clear();
    m_pEffectsFT.clear();
    m_pEffectsLB.clear();
    m_pReliefFT.clear();
    m_pReliefLB.clear();
    m_pOutlineBtn.clear();
    m_pShadowBtn.clear();
    m_pBlinkingBtn.clear();
    m_pHiddenBtn.clear();
    m_pOverlineLB.clear();
    m_pOverlineColorFT.clear();
    m_pOverlineColorLB.clear();
    m_pStrikeoutLB.clear();
    m_pUnderlineLB.clear();
    m_pUnderlineColorFT.clear();
    m_pUnderlineColorLB.clear();
    m_pIndividualWordsBtn.clear();
    m_pEmphasisFT.clear();
    m_pEmphasisLB.clear();
    m_pPositionFT.clear();
    m_pPositionLB.clear();
    SvxCharBasePage::dispose();
}


void SvxCharEffectsPage::Initialize()
@@ -1636,7 +1707,7 @@ IMPL_LINK( SvxCharEffectsPage, SelectHdl_Impl, ListBox*, pBox )
        m_pOutlineBtn->Enable( bEnable );
        m_pShadowBtn->Enable( bEnable );
    }
    else if ( m_pPositionLB != pBox )
    else if ( m_pPositionLB.get() != pBox )
    {
        sal_Int32 nUPos = m_pUnderlineLB->GetSelectEntryPos(),
               nOPos = m_pOverlineLB->GetSelectEntryPos(),
@@ -2578,6 +2649,35 @@ SvxCharPositionPage::SvxCharPositionPage( vcl::Window* pParent, const SfxItemSet
    Initialize();
}

SvxCharPositionPage::~SvxCharPositionPage()
{
    dispose();
}

void SvxCharPositionPage::dispose()
{
    m_pHighPosBtn.clear();
    m_pNormalPosBtn.clear();
    m_pLowPosBtn.clear();
    m_pHighLowFT.clear();
    m_pHighLowMF.clear();
    m_pHighLowRB.clear();
    m_pFontSizeFT.clear();
    m_pFontSizeMF.clear();
    m_pRotationContainer.clear();
    m_pScalingFT.clear();
    m_pScalingAndRotationFT.clear();
    m_p0degRB.clear();
    m_p90degRB.clear();
    m_p270degRB.clear();
    m_pFitToLineCB.clear();
    m_pScaleWidthMF.clear();
    m_pKerningLB.clear();
    m_pKerningFT.clear();
    m_pKerningMF.clear();
    m_pPairKerningBtn.clear();
    SvxCharBasePage::dispose();
}


void SvxCharPositionPage::Initialize()
@@ -3308,6 +3408,20 @@ SvxCharTwoLinesPage::SvxCharTwoLinesPage(vcl::Window* pParent, const SfxItemSet&
    Initialize();
}

SvxCharTwoLinesPage::~SvxCharTwoLinesPage()
{
    dispose();
}

void SvxCharTwoLinesPage::dispose()
{
    m_pTwoLinesBtn.clear();
    m_pEnclosingFrame.clear();
    m_pStartBracketLB.clear();
    m_pEndBracketLB.clear();
    SvxCharBasePage::dispose();
}

void SvxCharTwoLinesPage::Initialize()
{
    m_pTwoLinesBtn->Check( false );
diff --git a/cui/source/tabpages/connect.cxx b/cui/source/tabpages/connect.cxx
index a17148ab..de8cce5 100644
--- a/cui/source/tabpages/connect.cxx
+++ b/cui/source/tabpages/connect.cxx
@@ -131,6 +131,28 @@ SvxConnectionPage::SvxConnectionPage( vcl::Window* pWindow, const SfxItemSet& rI
    m_pLbType->SetSelectHdl( aLink );
}

SvxConnectionPage::~SvxConnectionPage()
{
    dispose();
}

void SvxConnectionPage::dispose()
{
    m_pLbType.clear();
    m_pFtLine1.clear();
    m_pMtrFldLine1.clear();
    m_pFtLine2.clear();
    m_pMtrFldLine2.clear();
    m_pFtLine3.clear();
    m_pMtrFldLine3.clear();
    m_pMtrFldHorz1.clear();
    m_pMtrFldVert1.clear();
    m_pMtrFldHorz2.clear();
    m_pMtrFldVert2.clear();
    m_pCtlPreview.clear();
    SfxTabPage::dispose();
}

/*************************************************************************
|*
|* reads passed Item-Set
diff --git a/cui/source/tabpages/dstribut.cxx b/cui/source/tabpages/dstribut.cxx
index 86d23299..c82c33f 100644
--- a/cui/source/tabpages/dstribut.cxx
+++ b/cui/source/tabpages/dstribut.cxx
@@ -41,6 +41,17 @@ SvxDistributeDialog::SvxDistributeDialog(vcl::Window* pParent,
    SetTabPage(mpPage);
}

SvxDistributeDialog::~SvxDistributeDialog()
{
    dispose();
}

void SvxDistributeDialog::dispose()
{
    mpPage.clear();
    SfxSingleTabDialog::dispose();
}

/*************************************************************************
|*
|* Tabpage
@@ -68,6 +79,27 @@ SvxDistributePage::SvxDistributePage(vcl::Window* pWindow,
    get(m_pBtnVerBottom, "verbottom");
}

SvxDistributePage::~SvxDistributePage()
{
    dispose();
}

void SvxDistributePage::dispose()
{
    m_pBtnHorNone.clear();
    m_pBtnHorLeft.clear();
    m_pBtnHorCenter.clear();
    m_pBtnHorDistance.clear();
    m_pBtnHorRight.clear();
    m_pBtnVerNone.clear();
    m_pBtnVerTop.clear();
    m_pBtnVerCenter.clear();
    m_pBtnVerDistance.clear();
    m_pBtnVerBottom.clear();
    SvxTabPage::dispose();
}


/*************************************************************************
|*
|* create the tabpage
diff --git a/cui/source/tabpages/grfpage.cxx b/cui/source/tabpages/grfpage.cxx
index 70c126d..a1294a5 100644
--- a/cui/source/tabpages/grfpage.cxx
+++ b/cui/source/tabpages/grfpage.cxx
@@ -133,6 +133,24 @@ SvxGrfCropPage::~SvxGrfCropPage()
void SvxGrfCropPage::dispose()
{
    aTimer.Stop();
    m_pCropFrame.clear();
    m_pZoomConstRB.clear();
    m_pSizeConstRB.clear();
    m_pLeftMF.clear();
    m_pRightMF.clear();
    m_pTopMF.clear();
    m_pBottomMF.clear();
    m_pScaleFrame.clear();
    m_pWidthZoomMF.clear();
    m_pHeightZoomMF.clear();
    m_pSizeFrame.clear();
    m_pWidthMF.clear();
    m_pHeightMF.clear();
    m_pOrigSizeGrid.clear();
    m_pOrigSizeFT.clear();
    m_pOrigSizePB.clear();
    m_pExampleWN.clear();
    pLastCropField.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/tabpages/labdlg.cxx b/cui/source/tabpages/labdlg.cxx
index 243d9dc..1f9c31d 100644
--- a/cui/source/tabpages/labdlg.cxx
+++ b/cui/source/tabpages/labdlg.cxx
@@ -138,6 +138,26 @@ SvxCaptionTabPage::SvxCaptionTabPage(vcl::Window* pParent, const SfxItemSet& rIn
    m_pCB_LAENGE->SetClickHdl(LINK(this,SvxCaptionTabPage,LineOptHdl_Impl));
}

SvxCaptionTabPage::~SvxCaptionTabPage()
{
    dispose();
}

void SvxCaptionTabPage::dispose()
{
    m_pCT_CAPTTYPE.clear();
    m_pMF_ABSTAND.clear();
    m_pLB_ANSATZ.clear();
    m_pFT_UM.clear();
    m_pMF_ANSATZ.clear();
    m_pFT_ANSATZ_REL.clear();
    m_pLB_ANSATZ_REL.clear();
    m_pFT_LAENGE.clear();
    m_pMF_LAENGE.clear();
    m_pCB_LAENGE.clear();
    SfxTabPage::dispose();
}

void SvxCaptionTabPage::Construct()
{
    // set rectangle and working area
diff --git a/cui/source/tabpages/macroass.cxx b/cui/source/tabpages/macroass.cxx
index 43330b9..4bc1917 100644
--- a/cui/source/tabpages/macroass.cxx
+++ b/cui/source/tabpages/macroass.cxx
@@ -44,16 +44,16 @@ class _SfxMacroTabPage_Impl
public:
    _SfxMacroTabPage_Impl();

    OUString                        maStaticMacroLBLabel;
    PushButton*                     pAssignPB;
    PushButton*                     pDeletePB;
    OUString                        sStrEvent;
    OUString                        sAssignedMacro;
    MacroEventListBox*              pEventLB;
    VclFrame*                       pGroupFrame;
    SfxConfigGroupListBox*          pGroupLB;
    VclFrame*                       pMacroFrame;
    SfxConfigFunctionListBox*       pMacroLB;
    OUString                               maStaticMacroLBLabel;
    VclPtr<PushButton>                     pAssignPB;
    VclPtr<PushButton>                     pDeletePB;
    OUString                               sStrEvent;
    OUString                               sAssignedMacro;
    VclPtr<MacroEventListBox>              pEventLB;
    VclPtr<VclFrame>                       pGroupFrame;
    VclPtr<SfxConfigGroupListBox>          pGroupLB;
    VclPtr<VclFrame>                       pMacroFrame;
    VclPtr<SfxConfigFunctionListBox>       pMacroLB;

    bool                            bReadOnly;
    Idle                            maFillGroupIdle;
diff --git a/cui/source/tabpages/measure.cxx b/cui/source/tabpages/measure.cxx
index f6b906d..ee178dc 100644
--- a/cui/source/tabpages/measure.cxx
+++ b/cui/source/tabpages/measure.cxx
@@ -148,6 +148,31 @@ SvxMeasurePage::SvxMeasurePage( vcl::Window* pWindow, const SfxItemSet& rInAttrs
    m_pLbUnit->SetSelectHdl( aLink );
}

SvxMeasurePage::~SvxMeasurePage()
{
    dispose();
}

void SvxMeasurePage::dispose()
{
    m_pMtrFldLineDist.clear();
    m_pMtrFldHelplineOverhang.clear();
    m_pMtrFldHelplineDist.clear();
    m_pMtrFldHelpline1Len.clear();
    m_pMtrFldHelpline2Len.clear();
    m_pTsbBelowRefEdge.clear();
    m_pMtrFldDecimalPlaces.clear();
    m_pCtlPosition.clear();
    m_pTsbAutoPosV.clear();
    m_pTsbAutoPosH.clear();
    m_pTsbShowUnit.clear();
    m_pLbUnit.clear();
    m_pTsbParallel.clear();
    m_pFtAutomatic.clear();
    m_pCtlPreview.clear();
    SvxTabPage::dispose();
}

/*************************************************************************
|*
|* read the delivered Item-Set
diff --git a/cui/source/tabpages/numfmt.cxx b/cui/source/tabpages/numfmt.cxx
index cab5ff26..9b8b85b 100644
--- a/cui/source/tabpages/numfmt.cxx
+++ b/cui/source/tabpages/numfmt.cxx
@@ -292,6 +292,30 @@ void SvxNumberFormatTabPage::dispose()
    pNumFmtShell = NULL;
    delete pNumItem;
    pNumItem = NULL;
    m_pFtCategory.clear();
    m_pLbCategory.clear();
    m_pFtFormat.clear();
    m_pLbCurrency.clear();
    m_pLbFormat.clear();
    m_pFtLanguage.clear();
    m_pLbLanguage.clear();
    m_pCbSourceFormat.clear();
    m_pWndPreview.clear();
    m_pFtOptions.clear();
    m_pFtDecimals.clear();
    m_pEdDecimals.clear();
    m_pBtnNegRed.clear();
    m_pFtLeadZeroes.clear();
    m_pEdLeadZeroes.clear();
    m_pBtnThousand.clear();
    m_pFormatCodeFrame.clear();
    m_pEdFormat.clear();
    m_pIbAdd.clear();
    m_pIbInfo.clear();
    m_pIbRemove.clear();
    m_pFtComment.clear();
    m_pEdComment.clear();
    pLastActivWindow.clear();
    SfxTabPage::dispose();
}

@@ -1653,7 +1677,7 @@ bool SvxNumberFormatTabPage::PreNotify( NotifyEvent& rNEvt )
{
    if(rNEvt.GetType()==MouseNotifyEvent::LOSEFOCUS)
    {
        if ( rNEvt.GetWindow() == dynamic_cast< vcl::Window* >( m_pEdComment ) && !m_pEdComment->IsVisible() )
        if ( rNEvt.GetWindow() == dynamic_cast< vcl::Window* >( m_pEdComment.get() ) && !m_pEdComment->IsVisible() )
        {
            pLastActivWindow = NULL;
        }
diff --git a/cui/source/tabpages/numpages.cxx b/cui/source/tabpages/numpages.cxx
index 56d500e..3c0c619 100644
--- a/cui/source/tabpages/numpages.cxx
+++ b/cui/source/tabpages/numpages.cxx
@@ -228,6 +228,7 @@ void SvxSingleNumPickTabPage::dispose()
    pActNum = NULL;
    delete pSaveNum;
    pSaveNum = NULL;
    m_pExamplesVS.clear();
    SfxTabPage::dispose();
}

@@ -397,6 +398,7 @@ void SvxBulletPickTabPage::dispose()
    pActNum = NULL;
    delete pSaveNum;
    pSaveNum = NULL;
    m_pExamplesVS.clear();
    SfxTabPage::dispose();
}

@@ -602,6 +604,7 @@ void SvxNumPickTabPage::dispose()
    pActNum = NULL;
    delete pSaveNum;
    pSaveNum = NULL;
    m_pExamplesVS.clear();
    SfxTabPage::dispose();
}

@@ -851,6 +854,8 @@ void SvxBitmapPickTabPage::dispose()
    pActNum = NULL;
    delete pSaveNum;
    pSaveNum = NULL;
    m_pErrorText.clear();
    m_pExamplesVS.clear();
    SfxTabPage::dispose();
}

@@ -1165,12 +1170,44 @@ void SvxNumOptionsTabPage::dispose()
    if (m_pBitmapMB)
    {
        delete m_pBitmapMB->GetPopupMenu()->GetPopupMenu(m_nGalleryId);
        m_pBitmapMB = NULL;
    }
    delete pActNum;
    pActNum = NULL;
    delete pSaveNum;
    pSaveNum = NULL;
    m_pLevelLB.clear();
    m_pFmtLB.clear();
    m_pSeparatorFT.clear();
    m_pPrefixFT.clear();
    m_pPrefixED.clear();
    m_pSuffixFT.clear();
    m_pSuffixED.clear();
    m_pCharFmtFT.clear();
    m_pCharFmtLB.clear();
    m_pBulColorFT.clear();
    m_pBulColLB.clear();
    m_pBulRelSizeFT.clear();
    m_pBulRelSizeMF.clear();
    m_pAllLevelFT.clear();
    m_pAllLevelNF.clear();
    m_pStartFT.clear();
    m_pStartED.clear();
    m_pBulletFT.clear();
    m_pBulletPB.clear();
    m_pAlignFT.clear();
    m_pAlignLB.clear();
    m_pBitmapFT.clear();
    m_pBitmapMB.clear();
    m_pWidthFT.clear();
    m_pWidthMF.clear();
    m_pHeightFT.clear();
    m_pHeightMF.clear();
    m_pRatioCB.clear();
    m_pOrientFT.clear();
    m_pOrientLB.clear();
    m_pAllLevelsFrame.clear();
    m_pSameLevelCB.clear();
    m_pPreviewWIN.clear();
    SfxTabPage::dispose();
}

@@ -2736,6 +2773,28 @@ void SvxNumPositionTabPage::dispose()
    pActNum = NULL;
    delete pSaveNum;
    pSaveNum = NULL;
    m_pLevelLB.clear();
    m_pDistBorderFT.clear();
    m_pDistBorderMF.clear();
    m_pRelativeCB.clear();
    m_pIndentFT.clear();
    m_pIndentMF.clear();
    m_pDistNumFT.clear();
    m_pDistNumMF.clear();
    m_pAlignFT.clear();
    m_pAlignLB.clear();
    m_pLabelFollowedByFT.clear();
    m_pLabelFollowedByLB.clear();
    m_pListtabFT.clear();
    m_pListtabMF.clear();
    m_pAlign2FT.clear();
    m_pAlign2LB.clear();
    m_pAlignedAtFT.clear();
    m_pAlignedAtMF.clear();
    m_pIndentAtFT.clear();
    m_pIndentAtMF.clear();
    m_pStandardPB.clear();
    m_pPreviewWIN.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/tabpages/page.cxx b/cui/source/tabpages/page.cxx
index 6c8c41e..fb67d8b 100644
--- a/cui/source/tabpages/page.cxx
+++ b/cui/source/tabpages/page.cxx
@@ -377,6 +377,35 @@ void SvxPageDescPage::dispose()
        mpDefPrinter = NULL;
        mbDelPrinter = false;
    }
    m_pPaperSizeBox.clear();
    m_pPaperWidthEdit.clear();
    m_pPaperHeightEdit.clear();
    m_pOrientationFT.clear();
    m_pPortraitBtn.clear();
    m_pLandscapeBtn.clear();
    m_pBspWin.clear();
    m_pTextFlowLbl.clear();
    m_pTextFlowBox.clear();
    m_pPaperTrayBox.clear();
    m_pLeftMarginLbl.clear();
    m_pLeftMarginEdit.clear();
    m_pRightMarginLbl.clear();
    m_pRightMarginEdit.clear();
    m_pTopMarginEdit.clear();
    m_pBottomMarginEdit.clear();
    m_pPageText.clear();
    m_pLayoutBox.clear();
    m_pNumberFormatBox.clear();
    m_pTblAlignFT.clear();
    m_pHorzBox.clear();
    m_pVertBox.clear();
    m_pAdaptBox.clear();
    m_pRegisterCB.clear();
    m_pRegisterFT.clear();
    m_pRegisterLB.clear();
    m_pInsideLbl.clear();
    m_pOutsideLbl.clear();
    m_pPrintRangeQueryText.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/tabpages/paragrph.cxx b/cui/source/tabpages/paragrph.cxx
index d80ed2f..d8ecede 100644
--- a/cui/source/tabpages/paragrph.cxx
+++ b/cui/source/tabpages/paragrph.cxx
@@ -654,6 +654,33 @@ SvxStdParagraphTabPage::SvxStdParagraphTabPage( vcl::Window* pParent,  const Sfx
    setPreviewsToSamePlace(pParent, this);
}

SvxStdParagraphTabPage::~SvxStdParagraphTabPage()
{
    dispose();
}

void SvxStdParagraphTabPage::dispose()
{
    m_pLeftIndent.clear();
    m_pRightLabel.clear();
    m_pRightIndent.clear();
    m_pFLineLabel.clear();
    m_pFLineIndent.clear();
    m_pAutoCB.clear();
    m_pTopDist.clear();
    m_pBottomDist.clear();
    m_pContextualCB.clear();
    m_pLineDist.clear();
    m_pLineDistAtLabel.clear();
    m_pLineDistAtPercentBox.clear();
    m_pLineDistAtMetricBox.clear();
    m_pAbsDist.clear();
    m_pExampleWin.clear();
    m_pRegisterFL.clear();
    m_pRegisterCB.clear();
    SfxTabPage::dispose();
}

void SvxStdParagraphTabPage::EnableNegativeMode()
{
    m_pLeftIndent->SetMin(-9999);
@@ -1012,6 +1039,31 @@ SvxParaAlignTabPage::SvxParaAlignTabPage( vcl::Window* pParent, const SfxItemSet
    setPreviewsToSamePlace(pParent, this);
}

SvxParaAlignTabPage::~SvxParaAlignTabPage()
{
    dispose();
}

void SvxParaAlignTabPage::dispose()
{
    m_pLeft.clear();
    m_pRight.clear();
    m_pCenter.clear();
    m_pJustify.clear();
    m_pLeftBottom.clear();
    m_pRightTop.clear();
    m_pLastLineFT.clear();
    m_pLastLineLB.clear();
    m_pExpandCB.clear();
    m_pSnapToGridCB.clear();
    m_pExampleWin.clear();
    m_pVertAlignFL.clear();
    m_pVertAlignLB.clear();
    m_pPropertiesFL.clear();
    m_pTextDirectionLB.clear();
    SfxTabPage::dispose();
}

int SvxParaAlignTabPage::DeactivatePage( SfxItemSet* _pSet )
{
    if ( _pSet )
@@ -1891,6 +1943,40 @@ SvxExtParagraphTabPage::SvxExtParagraphTabPage( vcl::Window* pParent, const SfxI
    }
}

SvxExtParagraphTabPage::~SvxExtParagraphTabPage()
{
    dispose();
}

void SvxExtParagraphTabPage::dispose()
{
    m_pHyphenBox.clear();
    m_pBeforeText.clear();
    m_pExtHyphenBeforeBox.clear();
    m_pAfterText.clear();
    m_pExtHyphenAfterBox.clear();
    m_pMaxHyphenLabel.clear();
    m_pMaxHyphenEdit.clear();
    m_pPageBreakBox.clear();
    m_pBreakTypeFT.clear();
    m_pBreakTypeLB.clear();
    m_pBreakPositionFT.clear();
    m_pBreakPositionLB.clear();
    m_pApplyCollBtn.clear();
    m_pApplyCollBox.clear();
    m_pPagenumText.clear();
    m_pPagenumEdit.clear();
    m_pKeepTogetherBox.clear();
    m_pKeepParaBox.clear();
    m_pOrphanBox.clear();
    m_pOrphanRowNo.clear();
    m_pOrphanRowLabel.clear();
    m_pWidowBox.clear();
    m_pWidowRowNo.clear();
    m_pWidowRowLabel.clear();
    SfxTabPage::dispose();
}

IMPL_LINK_NOARG(SvxExtParagraphTabPage, PageBreakHdl_Impl)
{
    switch ( m_pPageBreakBox->GetState() )
@@ -2093,6 +2179,19 @@ SvxAsianTabPage::SvxAsianTabPage( vcl::Window* pParent, const SfxItemSet& rSet )

}

SvxAsianTabPage::~SvxAsianTabPage()
{
    dispose();
}

void SvxAsianTabPage::dispose()
{
    m_pForbiddenRulesCB.clear();
    m_pHangingPunctCB.clear();
    m_pScriptSpaceCB.clear();
    SfxTabPage::dispose();
}

SfxTabPage* SvxAsianTabPage::Create(    vcl::Window* pParent, const SfxItemSet* rSet )
{
    return new SvxAsianTabPage(pParent, *rSet);
diff --git a/cui/source/tabpages/swpossizetabpage.cxx b/cui/source/tabpages/swpossizetabpage.cxx
index 305b877..d9c26b4 100644
--- a/cui/source/tabpages/swpossizetabpage.cxx
+++ b/cui/source/tabpages/swpossizetabpage.cxx
@@ -588,6 +588,43 @@ SvxSwPosSizeTabPage::SvxSwPosSizeTabPage(vcl::Window* pParent, const SfxItemSet&
    m_pPositionCB->SetClickHdl(LINK(this, SvxSwPosSizeTabPage, ProtectHdl));
}

SvxSwPosSizeTabPage::~SvxSwPosSizeTabPage()
{
    dispose();
}

void SvxSwPosSizeTabPage::dispose()
{
    m_pWidthMF.clear();
    m_pHeightMF.clear();
    m_pKeepRatioCB.clear();
    m_pToPageRB.clear();
    m_pToParaRB.clear();
    m_pToCharRB.clear();
    m_pAsCharRB.clear();
    m_pToFrameRB.clear();
    m_pPositionCB.clear();
    m_pSizeCB.clear();
    m_pPosFrame.clear();
    m_pHoriFT.clear();
    m_pHoriLB.clear();
    m_pHoriByFT.clear();
    m_pHoriByMF.clear();
    m_pHoriToFT.clear();
    m_pHoriToLB.clear();
    m_pHoriMirrorCB.clear();
    m_pVertFT.clear();
    m_pVertLB.clear();
    m_pVertByFT.clear();
    m_pVertByMF.clear();
    m_pVertToFT.clear();
    m_pVertToLB.clear();
    m_pFollowCB.clear();
    m_pExampleWN.clear();
    SfxTabPage::dispose();
}


namespace
{
    struct FrmMaps
diff --git a/cui/source/tabpages/tabstpge.cxx b/cui/source/tabpages/tabstpge.cxx
index 6167f0d..3820ea8 100644
--- a/cui/source/tabpages/tabstpge.cxx
+++ b/cui/source/tabpages/tabstpge.cxx
@@ -38,7 +38,7 @@

class TabWin_Impl : public vcl::Window
{
    SvxTabulatorTabPage* mpPage;
    VclPtr<SvxTabulatorTabPage> mpPage;
private:
    sal_uInt16  nTabStyle;

@@ -50,6 +50,8 @@ public:
        , nTabStyle(0)
    {
    }
    virtual ~TabWin_Impl() { dispose(); }
    virtual void dispose() SAL_OVERRIDE { mpPage.clear(); vcl::Window::dispose(); }

    virtual void    Paint( const Rectangle& rRect ) SAL_OVERRIDE;

@@ -185,6 +187,37 @@ SvxTabulatorTabPage::SvxTabulatorTabPage( vcl::Window* pParent, const SfxItemSet
    aAktTab.GetDecimal() = rLocaleWrapper.getNumDecimalSep()[0];
}

SvxTabulatorTabPage::~SvxTabulatorTabPage()
{
    dispose();
}

void SvxTabulatorTabPage::dispose()
{
    m_pTabBox.clear();
    m_pLeftTab.clear();
    m_pRightTab.clear();
    m_pCenterTab.clear();
    m_pDezTab.clear();
    m_pLeftWin.clear();
    m_pRightWin.clear();
    m_pCenterWin.clear();
    m_pDezWin.clear();
    m_pDezCharLabel.clear();
    m_pDezChar.clear();
    m_pNoFillChar.clear();
    m_pFillPoints.clear();
    m_pFillDashLine.clear();
    m_pFillSolidLine.clear();
    m_pFillSpecial.clear();
    m_pFillChar.clear();
    m_pNewBtn.clear();
    m_pDelAllBtn.clear();
    m_pDelBtn.clear();
    m_pTypeFrame.clear();
    m_pFillFrame.clear();
    SfxTabPage::dispose();
}

bool SvxTabulatorTabPage::FillItemSet( SfxItemSet* rSet )
{
diff --git a/cui/source/tabpages/textanim.cxx b/cui/source/tabpages/textanim.cxx
index 23f9d9980..45d48ec 100644
--- a/cui/source/tabpages/textanim.cxx
+++ b/cui/source/tabpages/textanim.cxx
@@ -122,6 +122,32 @@ SvxTextAnimationPage::SvxTextAnimationPage( vcl::Window* pWindow, const SfxItemS
    m_pBtnDown->SetClickHdl( aLink );
}

SvxTextAnimationPage::~SvxTextAnimationPage()
{
    dispose();
}

void SvxTextAnimationPage::dispose()
{
    m_pLbEffect.clear();
    m_pBoxDirection.clear();
    m_pBtnUp.clear();
    m_pBtnLeft.clear();
    m_pBtnRight.clear();
    m_pBtnDown.clear();
    m_pFlProperties.clear();
    m_pTsbStartInside.clear();
    m_pTsbStopInside.clear();
    m_pBoxCount.clear();
    m_pTsbEndless.clear();
    m_pNumFldCount.clear();
    m_pTsbPixel.clear();
    m_pMtrFldAmount.clear();
    m_pTsbAuto.clear();
    m_pMtrFldDelay.clear();
    SfxTabPage::dispose();
}

/*************************************************************************
|*
|* reads the passed item set
diff --git a/cui/source/tabpages/textattr.cxx b/cui/source/tabpages/textattr.cxx
index 7805f4c..de0eeab 100644
--- a/cui/source/tabpages/textattr.cxx
+++ b/cui/source/tabpages/textattr.cxx
@@ -96,6 +96,30 @@ SvxTextAttrPage::SvxTextAttrPage(vcl::Window* pWindow, const SfxItemSet& rInAttr
    m_pTsbFullWidth->SetClickHdl(LINK( this, SvxTextAttrPage, ClickFullWidthHdl_Impl ) );
}

SvxTextAttrPage::~SvxTextAttrPage()
{
    dispose();
}

void SvxTextAttrPage::dispose()
{
    m_pTsbAutoGrowWidth.clear();
    m_pTsbAutoGrowHeight.clear();
    m_pTsbFitToSize.clear();
    m_pTsbContour.clear();
    m_pTsbWordWrapText.clear();
    m_pTsbAutoGrowSize.clear();
    m_pFlDistance.clear();
    m_pMtrFldLeft.clear();
    m_pMtrFldRight.clear();
    m_pMtrFldTop.clear();
    m_pMtrFldBottom.clear();
    m_pFlPosition.clear();
    m_pCtlPosition.clear();
    m_pTsbFullWidth.clear();
    SvxTabPage::dispose();
}

/*************************************************************************
|*
|* reads the passed item set
diff --git a/cui/source/tabpages/tparea.cxx b/cui/source/tabpages/tparea.cxx
index 5d4abf6..9f13a52 100644
--- a/cui/source/tabpages/tparea.cxx
+++ b/cui/source/tabpages/tparea.cxx
@@ -118,6 +118,33 @@ IMPL_LINK_NOARG(SvxTransparenceTabPage, ClickTransGradientHdl_Impl)
    return 0L;
}

SvxTransparenceTabPage::~SvxTransparenceTabPage()
{
    dispose();
}

void SvxTransparenceTabPage::dispose()
{
    m_pRbtTransOff.clear();
    m_pRbtTransLinear.clear();
    m_pRbtTransGradient.clear();
    m_pMtrTransparent.clear();
    m_pGridGradient.clear();
    m_pLbTrgrGradientType.clear();
    m_pFtTrgrCenterX.clear();
    m_pMtrTrgrCenterX.clear();
    m_pFtTrgrCenterY.clear();
    m_pMtrTrgrCenterY.clear();
    m_pFtTrgrAngle.clear();
    m_pMtrTrgrAngle.clear();
    m_pMtrTrgrBorder.clear();
    m_pMtrTrgrStartValue.clear();
    m_pMtrTrgrEndValue.clear();
    m_pCtlBitmapPreview.clear();
    m_pCtlXRectPreview.clear();
    SvxTabPage::dispose();
}

void SvxTransparenceTabPage::ActivateLinear(bool bActivate)
{
    m_pMtrTransparent->Enable(bActivate);
@@ -768,6 +795,51 @@ SvxAreaTabPage::SvxAreaTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs
    m_pCtlXRectPreview->set_height_request(aSize2.Height());
}

SvxAreaTabPage::~SvxAreaTabPage()
{
    dispose();
}

void SvxAreaTabPage::dispose()
{
    m_pTypeLB.clear();
    m_pFillLB.clear();
    m_pLbColor.clear();
    m_pLbGradient.clear();
    m_pLbHatching.clear();
    m_pLbBitmap.clear();
    m_pCtlBitmapPreview.clear();
    m_pTsbStepCount.clear();
    m_pFlStepCount.clear();
    m_pNumFldStepCount.clear();
    m_pFlHatchBckgrd.clear();
    m_pCbxHatchBckgrd.clear();
    m_pLbHatchBckgrdColor.clear();
    m_pBxBitmap.clear();
    m_pFlSize.clear();
    m_pTsbOriginal.clear();
    m_pTsbScale.clear();
    m_pGridX_Y.clear();
    m_pFtXSize.clear();
    m_pMtrFldXSize.clear();
    m_pFtYSize.clear();
    m_pMtrFldYSize.clear();
    m_pFlPosition.clear();
    m_pCtlPosition.clear();
    m_pGridOffset.clear();
    m_pMtrFldXOffset.clear();
    m_pMtrFldYOffset.clear();
    m_pBxTile.clear();
    m_pTsbTile.clear();
    m_pTsbStretch.clear();
    m_pFlOffset.clear();
    m_pRbtRow.clear();
    m_pRbtColumn.clear();
    m_pMtrFldOffset.clear();
    m_pCtlXRectPreview.clear();
    m_pBtnImport.clear();
    SvxTabPage::dispose();
}


void SvxAreaTabPage::Construct()
diff --git a/cui/source/tabpages/tpbitmap.cxx b/cui/source/tabpages/tpbitmap.cxx
index faf565c..59e1b8b 100644
--- a/cui/source/tabpages/tpbitmap.cxx
+++ b/cui/source/tabpages/tpbitmap.cxx
@@ -129,6 +129,19 @@ void SvxBitmapTabPage::dispose()
{
    delete m_pBitmapCtl;
    m_pBitmapCtl = NULL;
    m_pBxPixelEditor.clear();
    m_pCtlPixel.clear();
    m_pLbColor.clear();
    m_pLbBackgroundColor.clear();
    m_pLbBitmapsHidden.clear();
    m_pLbBitmaps.clear();
    m_pCtlPreview.clear();
    m_pBtnAdd.clear();
    m_pBtnModify.clear();
    m_pBtnImport.clear();
    m_pBtnDelete.clear();
    m_pBtnLoad.clear();
    m_pBtnSave.clear();
    SvxTabPage::dispose();
}

@@ -974,7 +987,7 @@ void SvxBitmapTabPage::PointChanged( vcl::Window* pWindow, RECT_POINT )
vcl::Window* SvxBitmapTabPage::GetParentLabeledBy( const vcl::Window* pLabeled ) const
{
    if (pLabeled == m_pLbBitmaps)
        return const_cast<FixedText*>(m_pLbBitmapsHidden);
        return const_cast<FixedText*>(m_pLbBitmapsHidden.get());
    else
        return SvxTabPage::GetParentLabeledBy (pLabeled);
}
diff --git a/cui/source/tabpages/tpcolor.cxx b/cui/source/tabpages/tpcolor.cxx
index 3d74649..b9c73e4 100644
--- a/cui/source/tabpages/tpcolor.cxx
+++ b/cui/source/tabpages/tpcolor.cxx
@@ -51,8 +51,8 @@ using namespace com::sun::star;

XPropertyListRef SvxColorTabPage::GetList()
{
    SvxAreaTabDialog* pArea = dynamic_cast< SvxAreaTabDialog* >( mpTopDlg );
    SvxLineTabDialog* pLine = dynamic_cast< SvxLineTabDialog* >( mpTopDlg );
    SvxAreaTabDialog* pArea = dynamic_cast< SvxAreaTabDialog* >( mpTopDlg.get() );
    SvxLineTabDialog* pLine = dynamic_cast< SvxLineTabDialog* >( mpTopDlg.get() );

    XColorListRef pList;
    if( pArea )
@@ -162,8 +162,8 @@ IMPL_LINK_NOARG(SvxColorTabPage, ClickLoadHdl_Impl)
            if( pList->Load() )
            {
                // check whether the table may be deleted:
                SvxAreaTabDialog* pArea = dynamic_cast< SvxAreaTabDialog* >( mpTopDlg );
                SvxLineTabDialog* pLine = dynamic_cast< SvxLineTabDialog* >( mpTopDlg );
                SvxAreaTabDialog* pArea = dynamic_cast< SvxAreaTabDialog* >( mpTopDlg.get() );
                SvxLineTabDialog* pLine = dynamic_cast< SvxLineTabDialog* >( mpTopDlg.get() );

                // FIXME: want to have a generic set and get method by type ...
                if( pArea )
@@ -404,6 +404,30 @@ void SvxColorTabPage::dispose()
{
    delete pShadow;
    pShadow = NULL;
    mpTopDlg.clear();
    m_pBoxEmbed.clear();
    m_pBtnLoad.clear();
    m_pBtnSave.clear();
    m_pTableName.clear();
    m_pEdtName.clear();
    m_pLbColor.clear();
    m_pValSetColorList.clear();
    m_pCtlPreviewOld.clear();
    m_pCtlPreviewNew.clear();
    m_pLbColorModel.clear();
    m_pRGB.clear();
    m_pR.clear();
    m_pG.clear();
    m_pB.clear();
    m_pCMYK.clear();
    m_pC.clear();
    m_pY.clear();
    m_pM.clear();
    m_pK.clear();
    m_pBtnAdd.clear();
    m_pBtnModify.clear();
    m_pBtnWorkOn.clear();
    m_pBtnDelete.clear();
    SfxTabPage::dispose();
}

diff --git a/cui/source/tabpages/tpgradnt.cxx b/cui/source/tabpages/tpgradnt.cxx
index 98caa11..4713c93 100644
--- a/cui/source/tabpages/tpgradnt.cxx
+++ b/cui/source/tabpages/tpgradnt.cxx
@@ -139,6 +139,34 @@ SvxGradientTabPage::SvxGradientTabPage
    setPreviewsToSamePlace(pParent, this);
}

SvxGradientTabPage::~SvxGradientTabPage()
{
    dispose();
}

void SvxGradientTabPage::dispose()
{
    m_pLbGradientType.clear();
    m_pFtCenterX.clear();
    m_pMtrCenterX.clear();
    m_pFtCenterY.clear();
    m_pMtrCenterY.clear();
    m_pFtAngle.clear();
    m_pMtrAngle.clear();
    m_pMtrBorder.clear();
    m_pLbColorFrom.clear();
    m_pMtrColorFrom.clear();
    m_pLbColorTo.clear();
    m_pMtrColorTo.clear();
    m_pLbGradients.clear();
    m_pCtlPreview.clear();
    m_pBtnAdd.clear();
    m_pBtnModify.clear();
    m_pBtnDelete.clear();
    m_pBtnLoad.clear();
    m_pBtnSave.clear();
    SfxTabPage::dispose();
}


void SvxGradientTabPage::Construct()
diff --git a/cui/source/tabpages/tphatch.cxx b/cui/source/tabpages/tphatch.cxx
index 782b98b..2022fed 100644
--- a/cui/source/tabpages/tphatch.cxx
+++ b/cui/source/tabpages/tphatch.cxx
@@ -137,6 +137,27 @@ SvxHatchTabPage::SvxHatchTabPage
    setPreviewsToSamePlace(pParent, this);
}

SvxHatchTabPage::~SvxHatchTabPage()
{
    dispose();
}

void SvxHatchTabPage::dispose()
{
    m_pMtrDistance.clear();
    m_pMtrAngle.clear();
    m_pCtlAngle.clear();
    m_pLbLineType.clear();
    m_pLbLineColor.clear();
    m_pLbHatchings.clear();
    m_pCtlPreview.clear();
    m_pBtnAdd.clear();
    m_pBtnModify.clear();
    m_pBtnDelete.clear();
    m_pBtnLoad.clear();
    m_pBtnSave.clear();
    SvxTabPage::dispose();
}


void SvxHatchTabPage::Construct()
diff --git a/cui/source/tabpages/tpline.cxx b/cui/source/tabpages/tpline.cxx
index e6fe6a9..8bc7abd 100644
--- a/cui/source/tabpages/tpline.cxx
+++ b/cui/source/tabpages/tpline.cxx
@@ -253,6 +253,35 @@ void SvxLineTabPage::dispose()
    }
    aGrfBrushItems.clear();

    m_pBoxColor.clear();
    m_pLbLineStyle.clear();
    m_pLbColor.clear();
    m_pBoxWidth.clear();
    m_pMtrLineWidth.clear();
    m_pBoxTransparency.clear();
    m_pMtrTransparent.clear();
    m_pFlLineEnds.clear();
    m_pBoxArrowStyles.clear();
    m_pLbStartStyle.clear();
    m_pBoxStart.clear();
    m_pMtrStartWidth.clear();
    m_pTsbCenterStart.clear();
    m_pBoxEnd.clear();
    m_pLbEndStyle.clear();
    m_pMtrEndWidth.clear();
    m_pTsbCenterEnd.clear();
    m_pCbxSynchronize.clear();
    m_pCtlPreview.clear();
    m_pFLEdgeStyle.clear();
    m_pGridEdgeCaps.clear();
    m_pLBEdgeStyle.clear();
    m_pLBCapStyle.clear();
    m_pFlSymbol.clear();
    m_pGridIconSize.clear();
    m_pSymbolMB.clear();
    m_pSymbolWidthMF.clear();
    m_pSymbolHeightMF.clear();
    m_pSymbolRatioCB.clear();
    SvxTabPage::dispose();
}

diff --git a/cui/source/tabpages/tplnedef.cxx b/cui/source/tabpages/tplnedef.cxx
index 04b7ff0..0d84db3 100644
--- a/cui/source/tabpages/tplnedef.cxx
+++ b/cui/source/tabpages/tplnedef.cxx
@@ -154,6 +154,31 @@ SvxLineDefTabPage::SvxLineDefTabPage
    pDashList = NULL;
}

SvxLineDefTabPage::~SvxLineDefTabPage()
{
    dispose();
}

void SvxLineDefTabPage::dispose()
{
    m_pLbLineStyles.clear();
    m_pLbType1.clear();
    m_pLbType2.clear();
    m_pNumFldNumber1.clear();
    m_pNumFldNumber2.clear();
    m_pMtrLength1.clear();
    m_pMtrLength2.clear();
    m_pMtrDistance.clear();
    m_pCbxSynchronize.clear();
    m_pBtnAdd.clear();
    m_pBtnModify.clear();
    m_pBtnDelete.clear();
    m_pBtnLoad.clear();
    m_pBtnSave.clear();
    m_pCtlPreview.clear();
    SfxTabPage::dispose();
}

void SvxLineDefTabPage::Construct()
{
    // Line style fill; do *not* add default fields here
diff --git a/cui/source/tabpages/tplneend.cxx b/cui/source/tabpages/tplneend.cxx
index 5235d1d..4163b57 100644
--- a/cui/source/tabpages/tplneend.cxx
+++ b/cui/source/tabpages/tplneend.cxx
@@ -105,6 +105,24 @@ SvxLineEndDefTabPage::SvxLineEndDefTabPage

}

SvxLineEndDefTabPage::~SvxLineEndDefTabPage()
{
    dispose();
}

void SvxLineEndDefTabPage::dispose()
{
    m_pEdtName.clear();
    m_pLbLineEnds.clear();
    m_pBtnAdd.clear();
    m_pBtnModify.clear();
    m_pBtnDelete.clear();
    m_pBtnLoad.clear();
    m_pBtnSave.clear();
    m_pCtlPreview.clear();
    SfxTabPage::dispose();
}

void SvxLineEndDefTabPage::Resize()
{
    rXLSet.Put(XLineStartWidthItem(m_pCtlPreview->GetOutputSize().Height()  / 2 ));
diff --git a/cui/source/tabpages/tpshadow.cxx b/cui/source/tabpages/tpshadow.cxx
index b163ceb..6b3f38e 100644
--- a/cui/source/tabpages/tpshadow.cxx
+++ b/cui/source/tabpages/tpshadow.cxx
@@ -165,6 +165,23 @@ SvxShadowTabPage::SvxShadowTabPage( vcl::Window* pParent, const SfxItemSet& rInA
    m_pMtrDistance->SetModifyHdl( aLink );
}

SvxShadowTabPage::~SvxShadowTabPage()
{
    dispose();
}

void SvxShadowTabPage::dispose()
{
    m_pTsbShowShadow.clear();
    m_pGridShadow.clear();
    m_pCtlPosition.clear();
    m_pMtrDistance.clear();
    m_pLbShadowColor.clear();
    m_pMtrTransparent.clear();
    m_pCtlXRectPreview.clear();
    SvxTabPage::dispose();
}

void SvxShadowTabPage::Construct()
{
    m_pLbShadowColor->Fill( pColorList );
diff --git a/cui/source/tabpages/transfrm.cxx b/cui/source/tabpages/transfrm.cxx
index ce21ccf..31a5bbb 100644
--- a/cui/source/tabpages/transfrm.cxx
+++ b/cui/source/tabpages/transfrm.cxx
@@ -197,6 +197,23 @@ SvxAngleTabPage::SvxAngleTabPage(vcl::Window* pParent, const SfxItemSet& rInAttr
    m_pCtlAngle->SetLinkedField( m_pNfAngle, 2 );
}

SvxAngleTabPage::~SvxAngleTabPage()
{
    dispose();
}

void SvxAngleTabPage::dispose()
{
    m_pFlPosition.clear();
    m_pMtrPosX.clear();
    m_pMtrPosY.clear();
    m_pCtlRect.clear();
    m_pFlAngle.clear();
    m_pNfAngle.clear();
    m_pCtlAngle.clear();
    SvxTabPage::dispose();
}

void SvxAngleTabPage::Construct()
{
    DBG_ASSERT(pView, "No valid view (!)");
@@ -422,6 +439,20 @@ SvxSlantTabPage::SvxSlantTabPage(vcl::Window* pParent, const SfxItemSet& rInAttr
    ePoolUnit = pPool->GetMetric( SID_ATTR_TRANSFORM_POS_X );
}

SvxSlantTabPage::~SvxSlantTabPage()
{
    dispose();
}

void SvxSlantTabPage::dispose()
{
    m_pFlRadius.clear();
    m_pMtrRadius.clear();
    m_pFlAngle.clear();
    m_pMtrAngle.clear();
    SvxTabPage::dispose();
}

void SvxSlantTabPage::Construct()
{
    // get the range
@@ -637,6 +668,33 @@ SvxPositionSizeTabPage::SvxPositionSizeTabPage(vcl::Window* pParent, const SfxIt

}

SvxPositionSizeTabPage::~SvxPositionSizeTabPage()
{
    dispose();
}

void SvxPositionSizeTabPage::dispose()
{
    m_pFlPosition.clear();
    m_pMtrPosX.clear();
    m_pMtrPosY.clear();
    m_pCtlPos.clear();
    m_pFlSize.clear();
    m_pFtWidth.clear();
    m_pMtrWidth.clear();
    m_pFtHeight.clear();
    m_pMtrHeight.clear();
    m_pCbxScale.clear();
    m_pCtlSize.clear();
    m_pFlProtect.clear();
    m_pTsbPosProtect.clear();
    m_pTsbSizeProtect.clear();
    m_pFlAdjust.clear();
    m_pTsbAutoGrowWidth.clear();
    m_pTsbAutoGrowHeight.clear();
    SvxTabPage::dispose();
}

void SvxPositionSizeTabPage::Construct()
{
    // get range and work area
diff --git a/dbaccess/source/ext/macromigration/macromigrationpages.cxx b/dbaccess/source/ext/macromigration/macromigrationpages.cxx
index 41c6479..2e82219 100644
--- a/dbaccess/source/ext/macromigration/macromigrationpages.cxx
+++ b/dbaccess/source/ext/macromigration/macromigrationpages.cxx
@@ -67,6 +67,17 @@ namespace dbmm
        get(m_pCloseDocError, "closedocerror");
    }

    PreparationPage::~PreparationPage()
    {
        dispose();
    }

    void PreparationPage::dispose()
    {
        m_pCloseDocError.clear();
        MacroMigrationPage::dispose();
    }

    void PreparationPage::showCloseDocsError( bool _bShow )
    {
        m_pCloseDocError->Show( _bShow );
@@ -101,6 +112,9 @@ namespace dbmm
    void SaveDBDocPage::dispose()
    {
        delete m_pLocationController;
        m_pSaveAsLocation.clear();
        m_pBrowseSaveAsLocation.clear();
        m_pStartMigration.clear();
        MacroMigrationPage::dispose();
    }

@@ -180,6 +194,21 @@ namespace dbmm
        get(m_pMigrationDone, "done");
    }

    ProgressPage::~ProgressPage()
    {
        dispose();
    }

    void ProgressPage::dispose()
    {
        m_pObjectCount.clear();
        m_pCurrentObject.clear();
        m_pCurrentAction.clear();
        m_pAllProgressText.clear();
        m_pMigrationDone.clear();
        MacroMigrationPage::dispose();
    }

    TabPage* ProgressPage::Create(::svt::RoadmapWizard& _rParentDialog)
    {
        return new ProgressPage(&_rParentDialog);
@@ -262,6 +291,19 @@ namespace dbmm
        get(m_pFailureLabel, "failure");
    }

    ResultPage::~ResultPage()
    {
        dispose();
    }

    void ResultPage::dispose()
    {
        m_pSuccessLabel.clear();
        m_pFailureLabel.clear();
        m_pChanges.clear();
        MacroMigrationPage::dispose();
    }

    TabPage* ResultPage::Create(::svt::RoadmapWizard& _rParentDialog)
    {
        return new ResultPage(&_rParentDialog);
diff --git a/dbaccess/source/ext/macromigration/macromigrationpages.hxx b/dbaccess/source/ext/macromigration/macromigrationpages.hxx
index a093313..d7d11ca 100644
--- a/dbaccess/source/ext/macromigration/macromigrationpages.hxx
+++ b/dbaccess/source/ext/macromigration/macromigrationpages.hxx
@@ -57,6 +57,8 @@ namespace dbmm
    {
    public:
        PreparationPage(vcl::Window *pParent);
        virtual ~PreparationPage();
        virtual void dispose() SAL_OVERRIDE;

        static TabPage* Create( ::svt::RoadmapWizard& _rParentDialog );

@@ -64,7 +66,7 @@ namespace dbmm
        void    showCloseDocsError(bool _bShow);

    protected:
        FixedText*  m_pCloseDocError;
        VclPtr<FixedText>  m_pCloseDocError;
    };

    // SaveDBDocPage
@@ -81,9 +83,9 @@ namespace dbmm
        void            grabLocationFocus() { m_pSaveAsLocation->GrabFocus(); }

    protected:
        ::svt::OFileURLControl*  m_pSaveAsLocation;
        PushButton*             m_pBrowseSaveAsLocation;
        FixedText*              m_pStartMigration;
        VclPtr<::svt::OFileURLControl>  m_pSaveAsLocation;
        VclPtr<PushButton>             m_pBrowseSaveAsLocation;
        VclPtr<FixedText>              m_pStartMigration;
        ::svx::DatabaseLocationInputController* m_pLocationController;

    protected:
@@ -102,6 +104,8 @@ namespace dbmm
    {
    public:
        ProgressPage(vcl::Window *pParent);
        virtual ~ProgressPage();
        virtual void dispose() SAL_OVERRIDE;

        static TabPage* Create( ::svt::RoadmapWizard& _rParentDialog );

@@ -119,13 +123,13 @@ namespace dbmm
        virtual void    setOverallProgressValue( const sal_uInt32 _nValue ) SAL_OVERRIDE;

    private:
        FixedText*          m_pObjectCount;
        FixedText*          m_pCurrentObject;
        FixedText*          m_pCurrentAction;
        RangeProgressBar    m_aCurrentProgress;
        FixedText*          m_pAllProgressText;
        RangeProgressBar    m_aAllProgress;
        FixedText*          m_pMigrationDone;
        VclPtr<FixedText>          m_pObjectCount;
        VclPtr<FixedText>          m_pCurrentObject;
        VclPtr<FixedText>          m_pCurrentAction;
        RangeProgressBar           m_aCurrentProgress;
        VclPtr<FixedText>          m_pAllProgressText;
        RangeProgressBar           m_aAllProgress;
        VclPtr<FixedText>          m_pMigrationDone;
    };

    // ResultPage
@@ -133,15 +137,17 @@ namespace dbmm
    {
    public:
        ResultPage(vcl::Window *pParent);
        virtual ~ResultPage();
        virtual void dispose() SAL_OVERRIDE;

        static TabPage* Create( ::svt::RoadmapWizard& _rParentDialog );

        void            displayMigrationLog( const bool _bSuccessful, const OUString& _rLog );

    private:
        FixedText*        m_pSuccessLabel;
        FixedText*        m_pFailureLabel;
        VclMultiLineEdit* m_pChanges;
        VclPtr<FixedText>        m_pSuccessLabel;
        VclPtr<FixedText>        m_pFailureLabel;
        VclPtr<VclMultiLineEdit> m_pChanges;
    };

} // namespace dbmm
diff --git a/dbaccess/source/ext/macromigration/rangeprogressbar.hxx b/dbaccess/source/ext/macromigration/rangeprogressbar.hxx
index 0dde133..7b5a1a0 100644
--- a/dbaccess/source/ext/macromigration/rangeprogressbar.hxx
+++ b/dbaccess/source/ext/macromigration/rangeprogressbar.hxx
@@ -65,7 +65,7 @@ namespace dbmm
        }

    private:
        ProgressBar *m_pBar;
        VclPtr<ProgressBar> m_pBar;
        sal_uInt32  m_nRange;
    };

diff --git a/dbaccess/source/ui/app/AppDetailPageHelper.cxx b/dbaccess/source/ui/app/AppDetailPageHelper.cxx
index 61a047e..4e090e9 100644
--- a/dbaccess/source/ui/app/AppDetailPageHelper.cxx
+++ b/dbaccess/source/ui/app/AppDetailPageHelper.cxx
@@ -261,7 +261,6 @@ void OAppDetailPageHelper::dispose()
    m_pTablePreview.disposeAndClear();
    m_aBorder.disposeAndClear();
    m_aMenu.reset();

    vcl::Window::dispose();
}

diff --git a/dbaccess/source/ui/app/AppDetailView.cxx b/dbaccess/source/ui/app/AppDetailView.cxx
index a65d6f6..d68b8a3 100644
--- a/dbaccess/source/ui/app/AppDetailView.cxx
+++ b/dbaccess/source/ui/app/AppDetailView.cxx
@@ -374,6 +374,7 @@ void OTasksWindow::dispose()
    m_aDescription.disposeAndClear();
    m_aHelpText.disposeAndClear();
    m_aFL.disposeAndClear();
    m_pDetailView.clear();
    vcl::Window::dispose();
}

@@ -572,10 +573,10 @@ void OApplicationDetailView::dispose()
{
    set(NULL,NULL);
    setSplitter(NULL);
    m_pControlHelper = NULL;
    m_aHorzSplitter.disposeAndClear();
    m_aTasks.disposeAndClear();
    m_aContainer.disposeAndClear();
    m_pControlHelper.clear();
    OSplitterView::dispose();
}

diff --git a/dbaccess/source/ui/app/AppDetailView.hxx b/dbaccess/source/ui/app/AppDetailView.hxx
index 052094d..fadf675 100644
--- a/dbaccess/source/ui/app/AppDetailView.hxx
+++ b/dbaccess/source/ui/app/AppDetailView.hxx
@@ -115,7 +115,7 @@ namespace dbaui
        VclPtr<FixedText>                   m_aDescription;
        VclPtr<FixedText>                   m_aHelpText;
        VclPtr<FixedLine>                   m_aFL;
        OApplicationDetailView*             m_pDetailView;
        VclPtr<OApplicationDetailView>      m_pDetailView;

        DECL_LINK( OnEntrySelectHdl,        SvTreeListBox* );
        void ImplInitSettings( bool bFont, bool bForeground, bool bBackground );
@@ -149,7 +149,7 @@ namespace dbaui
        VclPtr<OTitleWindow>                m_aTasks;
        VclPtr<OTitleWindow>                m_aContainer;
        OAppBorderWindow&                   m_rBorderWin;       // my parent
        OAppDetailPageHelper*               m_pControlHelper;
        VclPtr<OAppDetailPageHelper>        m_pControlHelper;
        ::std::vector< TaskPaneData >       m_aTaskPaneData;
        MnemonicGenerator                   m_aExternalMnemonics;

diff --git a/dbaccess/source/ui/app/AppTitleWindow.cxx b/dbaccess/source/ui/app/AppTitleWindow.cxx
index eb8eebc..c6686f2 100644
--- a/dbaccess/source/ui/app/AppTitleWindow.cxx
+++ b/dbaccess/source/ui/app/AppTitleWindow.cxx
@@ -56,8 +56,8 @@ void OTitleWindow::dispose()
    {
        m_pChild->Hide();
        boost::scoped_ptr<vcl::Window> aTemp(m_pChild);
        m_pChild = NULL;
    }
    m_pChild.clear();
    m_aSpace1.disposeAndClear();
    m_aSpace2.disposeAndClear();
    m_aTitle.disposeAndClear();
diff --git a/dbaccess/source/ui/app/AppTitleWindow.hxx b/dbaccess/source/ui/app/AppTitleWindow.hxx
index d7ffc56..875f693 100644
--- a/dbaccess/source/ui/app/AppTitleWindow.hxx
+++ b/dbaccess/source/ui/app/AppTitleWindow.hxx
@@ -28,7 +28,7 @@ namespace dbaui
        VclPtr<FixedText>   m_aSpace1;
        VclPtr<FixedText>   m_aSpace2;
        VclPtr<FixedText>   m_aTitle;
        vcl::Window*     m_pChild;
        VclPtr<vcl::Window> m_pChild;
        bool        m_bShift;
        void ImplInitSettings( bool bFont, bool bForeground, bool bBackground );
    protected:
diff --git a/dbaccess/source/ui/app/AppView.cxx b/dbaccess/source/ui/app/AppView.cxx
index 2e67c18..a9382f4 100644
--- a/dbaccess/source/ui/app/AppView.cxx
+++ b/dbaccess/source/ui/app/AppView.cxx
@@ -95,15 +95,14 @@ void OAppBorderWindow::dispose()
    if ( m_pPanel )
    {
        m_pPanel->Hide();
        boost::scoped_ptr<vcl::Window> aTemp(m_pPanel);
        m_pPanel = NULL;
    }
    if ( m_pDetailView )
    {
        m_pDetailView->Hide();
        boost::scoped_ptr<vcl::Window> aTemp(m_pDetailView);
        m_pDetailView = NULL;
    }
    m_pPanel.clear();
    m_pDetailView.clear();
    m_pView.clear();
    vcl::Window::dispose();
}

@@ -219,12 +218,7 @@ void OApplicationView::dispose()
        stopComponentListening(m_xObject);
        m_xObject.clear();
    }
    if (m_pWin)
    {
        m_pWin->Hide();
        boost::scoped_ptr<vcl::Window> aTemp(m_pWin);
        m_pWin = NULL;
    }
    m_pWin.clear();
    ODataView::dispose();
}

diff --git a/dbaccess/source/ui/app/AppView.hxx b/dbaccess/source/ui/app/AppView.hxx
index c480c4f..41f30c8 100644
--- a/dbaccess/source/ui/app/AppView.hxx
+++ b/dbaccess/source/ui/app/AppView.hxx
@@ -44,9 +44,9 @@ namespace dbaui
    class OTitleWindow;
    class OAppBorderWindow : public vcl::Window
    {
        OTitleWindow*                       m_pPanel;
        OApplicationDetailView*             m_pDetailView;
        OApplicationView*                   m_pView;
        VclPtr<OTitleWindow>                m_pPanel;
        VclPtr<OApplicationDetailView>      m_pDetailView;
        VclPtr<OApplicationView>            m_pView;

        void ImplInitSettings();
    protected:
@@ -80,7 +80,7 @@ namespace dbaui
        ::com::sun::star::lang::Locale      m_aLocale;
        ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >
                                            m_xObject;
        OAppBorderWindow*                   m_pWin;
        VclPtr<OAppBorderWindow>            m_pWin;
        IApplicationController&             m_rAppController;
        ChildFocusState                     m_eChildFocus;

diff --git a/dbaccess/source/ui/app/subcomponentmanager.cxx b/dbaccess/source/ui/app/subcomponentmanager.cxx
index e4c0539..8805045 100644
--- a/dbaccess/source/ui/app/subcomponentmanager.cxx
+++ b/dbaccess/source/ui/app/subcomponentmanager.cxx
@@ -32,6 +32,7 @@
#include <com/sun/star/beans/XPropertySet.hpp>

#include <tools/diagnose_ex.h>
#include <dbaccess/dataview.hxx>
#include <vcl/svapp.hxx>
#include <osl/mutex.hxx>

diff --git a/dbaccess/source/ui/browser/brwview.cxx b/dbaccess/source/ui/browser/brwview.cxx
index 3e66f5c..83a436a 100644
--- a/dbaccess/source/ui/browser/brwview.cxx
+++ b/dbaccess/source/ui/browser/brwview.cxx
@@ -106,7 +106,7 @@ void UnoDataBrowserView::Construct(const Reference< ::com::sun::star::awt::XCont
        m_pVclControl = NULL;
        getVclControl();

        OSL_ENSURE(m_pVclControl != NULL, "UnoDataBrowserView::Construct : no real grid control !");
        OSL_ENSURE(m_pVclControl != nullptr, "UnoDataBrowserView::Construct : no real grid control !");
    }
    catch(const Exception&)
    {
@@ -122,17 +122,10 @@ UnoDataBrowserView::~UnoDataBrowserView()

void UnoDataBrowserView::dispose()
{
    {
        boost::scoped_ptr<Splitter> aTemp(m_pSplitter);
        m_pSplitter = NULL;
    }
    m_pSplitter.clear();
    setTreeView(NULL);

    if ( m_pStatus )
    {
        delete m_pStatus;
        m_pStatus = NULL;
    }
    m_pStatus.clear();

    try
    {
@@ -141,6 +134,8 @@ void UnoDataBrowserView::dispose()
    }
    catch(const Exception&)
    {}
    m_pTreeView.clear();
    m_pVclControl.clear();
    ODataView::dispose();
}

@@ -162,13 +157,9 @@ void UnoDataBrowserView::setSplitter(Splitter* _pSplitter)

void UnoDataBrowserView::setTreeView(DBTreeView* _pTreeView)
{
    if (m_pTreeView != _pTreeView)
    if (m_pTreeView.get() != _pTreeView)
    {
        if (m_pTreeView)
        {
            boost::scoped_ptr<vcl::Window> aTemp(m_pTreeView);
            m_pTreeView = NULL;
        }
        m_pTreeView.clear();
        m_pTreeView = _pTreeView;
    }
}
diff --git a/dbaccess/source/ui/browser/dbtreeview.cxx b/dbaccess/source/ui/browser/dbtreeview.cxx
index 0956ff1..d80dc3d 100644
--- a/dbaccess/source/ui/browser/dbtreeview.cxx
+++ b/dbaccess/source/ui/browser/dbtreeview.cxx
@@ -58,9 +58,8 @@ void DBTreeView::dispose()
            m_pTreeListBox->GetModel()->RemoveView(m_pTreeListBox);
            m_pTreeListBox->DisconnectFromModel();
        }
        boost::scoped_ptr<vcl::Window> aTemp(m_pTreeListBox);
        m_pTreeListBox = NULL;
    }
    m_pTreeListBox.clear();
    vcl::Window::dispose();
}

diff --git a/dbaccess/source/ui/browser/dbtreeview.hxx b/dbaccess/source/ui/browser/dbtreeview.hxx
index bc9e11b..5313583 100644
--- a/dbaccess/source/ui/browser/dbtreeview.hxx
+++ b/dbaccess/source/ui/browser/dbtreeview.hxx
@@ -31,7 +31,7 @@ namespace dbaui
    class DBTreeView : public vcl::Window
    {
    private:
        DBTreeListBox*  m_pTreeListBox;
        VclPtr<DBTreeListBox>  m_pTreeListBox;
    protected:
        // window overridables
        virtual void Resize() SAL_OVERRIDE;
diff --git a/dbaccess/source/ui/browser/genericcontroller.cxx b/dbaccess/source/ui/browser/genericcontroller.cxx
index 0613b7d..7b129ee 100644
--- a/dbaccess/source/ui/browser/genericcontroller.cxx
+++ b/dbaccess/source/ui/browser/genericcontroller.cxx
@@ -983,6 +983,16 @@ Reference< XConnection > OGenericUnoController::connect( const OUString& _rDataS
    return xConnection;
}

void OGenericUnoController::setView( ODataView& i_rView )
{
    m_pView = &i_rView;
}

void OGenericUnoController::clearView()
{
    m_pView = NULL;
}

void OGenericUnoController::showError(const SQLExceptionInfo& _rInfo)
{
    ::dbaui::showError(_rInfo,getView(),getORB());
diff --git a/dbaccess/source/ui/control/FieldDescControl.cxx b/dbaccess/source/ui/control/FieldDescControl.cxx
index 826384e..73495b5 100644
--- a/dbaccess/source/ui/control/FieldDescControl.cxx
+++ b/dbaccess/source/ui/control/FieldDescControl.cxx
@@ -76,17 +76,15 @@ using namespace ::com::sun::star::util;
namespace
{

    template< typename T1, typename T2> void lcl_HideAndDeleteControl(short& _nPos,T1** _pControl,T2** _pControlText)
    template< typename T1, typename T2> void lcl_HideAndDeleteControl(short& _nPos,VclPtr<T1>& _pControl, VclPtr<T2>& _pControlText)
    {
        if ( *_pControl )
        if ( _pControl )
        {
            --_nPos;
            (*_pControl)->Hide();
            (*_pControlText)->Hide();
            delete *_pControl;
            delete *_pControlText;
            (*_pControl) = NULL;
            (*_pControlText) = NULL;
            _pControl->Hide();
            _pControlText->Hide();
            _pControl.clear();
            _pControlText.clear();
        }
    }

@@ -191,6 +189,36 @@ void OFieldDescControl::dispose()
    DeactivateAggregate( tpColumnName );
    DeactivateAggregate( tpType );
    DeactivateAggregate( tpAutoIncrementValue );
    pHelp.clear();
    pLastFocusWindow.clear();
    m_pActFocusWindow.clear();
    pDefaultText.clear();
    pRequiredText.clear();
    pAutoIncrementText.clear();
    pTextLenText.clear();
    pNumTypeText.clear();
    pLengthText.clear();
    pScaleText.clear();
    pFormatText.clear();
    pBoolDefaultText.clear();
    m_pColumnNameText.clear();
    m_pTypeText.clear();
    m_pAutoIncrementValueText.clear();
    pRequired.clear();
    pNumType.clear();
    pAutoIncrement.clear();
    pDefault.clear();
    pTextLen.clear();
    pLength.clear();
    pScale.clear();
    pFormatSample.clear();
    pBoolDefault.clear();
    m_pColumnName.clear();
    m_pType.clear();
    m_pAutoIncrementValue.clear();
    pFormat.clear();
    m_pVertScroll.clear();
    m_pHorzScroll.clear();
    TabPage::dispose();
}

@@ -685,8 +713,8 @@ void OFieldDescControl::ArrangeAggregates()
    // A Control's description
    struct AGGREGATE_DESCRIPTION
    {
        Control*    pctrlInputControl;  // The actual Control for input
        Control*    pctrlTextControl;   // The corresponding Label
        VclPtr<Control>    pctrlInputControl;  // The actual Control for input
        VclPtr<Control>    pctrlTextControl;   // The corresponding Label
        sal_uInt16      nPosSizeArgument;   // The second argument for SetPosSize
    };
    AGGREGATE_DESCRIPTION adAggregates[] = {
@@ -722,8 +750,8 @@ void OFieldDescControl::ArrangeAggregates()
    {
        if (adAggregates[i].pctrlInputControl)
        {
            SetPosSize(&adAggregates[i].pctrlTextControl, nCurrentControlPos, 0);
            SetPosSize(&adAggregates[i].pctrlInputControl, nCurrentControlPos, adAggregates[i].nPosSizeArgument);
            SetPosSize(adAggregates[i].pctrlTextControl, nCurrentControlPos, 0);
            SetPosSize(adAggregates[i].pctrlInputControl, nCurrentControlPos, adAggregates[i].nPosSizeArgument);

            // Set the z-order in a way such that the Controls can be traversed in the same sequence in which they have been arranged here
            adAggregates[i].pctrlTextControl->SetZOrder(pZOrderPredecessor, pZOrderPredecessor ? WINDOW_ZORDER_BEHIND : WINDOW_ZORDER_FIRST);
@@ -976,62 +1004,61 @@ void OFieldDescControl::DeactivateAggregate( EControlType eType )
    switch( eType )
    {
    case tpDefault:
        lcl_HideAndDeleteControl(m_nPos,&pDefault,&pDefaultText);
        lcl_HideAndDeleteControl(m_nPos,pDefault,pDefaultText);
        break;

    case tpAutoIncrementValue:
        lcl_HideAndDeleteControl(m_nPos,&m_pAutoIncrementValue,&m_pAutoIncrementValueText);
        lcl_HideAndDeleteControl(m_nPos,m_pAutoIncrementValue,m_pAutoIncrementValueText);
        break;

    case tpColumnName:
        lcl_HideAndDeleteControl(m_nPos,&m_pColumnName,&m_pColumnNameText);
        lcl_HideAndDeleteControl(m_nPos,m_pColumnName,m_pColumnNameText);
        break;

    case tpType:
        lcl_HideAndDeleteControl(m_nPos,&m_pType,&m_pTypeText);
        lcl_HideAndDeleteControl(m_nPos,m_pType,m_pTypeText);
        break;

    case tpAutoIncrement:
        lcl_HideAndDeleteControl(m_nPos,&pAutoIncrement,&pAutoIncrementText);
        lcl_HideAndDeleteControl(m_nPos,pAutoIncrement,pAutoIncrementText);
        break;

    case tpRequired:
        lcl_HideAndDeleteControl(m_nPos,&pRequired,&pRequiredText);
        lcl_HideAndDeleteControl(m_nPos,pRequired,pRequiredText);
        break;

    case tpTextLen:
        lcl_HideAndDeleteControl(m_nPos,&pTextLen,&pTextLenText);
        lcl_HideAndDeleteControl(m_nPos,pTextLen,pTextLenText);
        break;

    case tpNumType:
        lcl_HideAndDeleteControl(m_nPos,&pNumType,&pNumTypeText);
        lcl_HideAndDeleteControl(m_nPos,pNumType,pNumTypeText);
        break;

    case tpLength:
        lcl_HideAndDeleteControl(m_nPos,&pLength,&pLengthText);
        lcl_HideAndDeleteControl(m_nPos,pLength,pLengthText);
        break;

    case tpScale:
        lcl_HideAndDeleteControl(m_nPos,&pScale,&pScaleText);
        lcl_HideAndDeleteControl(m_nPos,pScale,pScaleText);
        break;

    case tpFormat:
        // TODO: we have to check if we have to increment m_nPos again
        lcl_HideAndDeleteControl(m_nPos,&pFormat,&pFormatText);
        lcl_HideAndDeleteControl(m_nPos,pFormat,pFormatText);
        if ( pFormatSample )
        {
            pFormatSample->Hide();
            delete pFormatSample;
            pFormatSample = NULL;
            pFormatSample.clear();
        }
        break;
    case tpBoolDefault:
        lcl_HideAndDeleteControl(m_nPos,&pBoolDefault,&pBoolDefaultText);
        lcl_HideAndDeleteControl(m_nPos,pBoolDefault,pBoolDefaultText);
        break;
    }
}

void OFieldDescControl::SetPosSize( Control** ppControl, long nRow, sal_uInt16 nCol )
void OFieldDescControl::SetPosSize( VclPtr<Control>& rControl, long nRow, sal_uInt16 nCol )
{

    // Calculate size
@@ -1082,18 +1109,18 @@ void OFieldDescControl::SetPosSize( Control** ppControl, long nRow, sal_uInt16 n
        aPosition.X() = 0;
    }

    (*ppControl)->SetSizePixel( aSize );
    aSize = (*ppControl)->GetSizePixel( );
    rControl->SetSizePixel( aSize );
    aSize = rControl->GetSizePixel( );

    const sal_Int32 nControl_Spacing_y = LogicToPixel(Size(0, CONTROL_SPACING_Y),MAP_APPFONT).Height();
    aPosition.Y() += ((nRow+1)*nControl_Spacing_y) +
                    (nRow*nControlHeight);

    // Display Control
    (*ppControl)->SetPosSizePixel( aPosition, aSize );
    aSize = (*ppControl)->GetSizePixel();
    rControl->SetPosSizePixel( aPosition, aSize );
    aSize = rControl->GetSizePixel();

    (*ppControl)->Show();
    rControl->Show();
}

void OFieldDescControl::DisplayData(OFieldDescription* pFieldDescr )
@@ -1458,7 +1485,7 @@ IMPL_LINK(OFieldDescControl, OnControlFocusGot, Control*, pControl )
    if (pControl == pFormat)
        strHelpText = ModuleRes(STR_HELP_FORMAT_BUTTON);

    if (!strHelpText.isEmpty() && (pHelp != NULL))
    if (!strHelpText.isEmpty() && (pHelp != nullptr))
        pHelp->SetHelpText(strHelpText);

    m_pActFocusWindow = pControl;
@@ -1584,30 +1611,30 @@ void OFieldDescControl::LoseFocus()

bool OFieldDescControl::isCopyAllowed()
{
    bool bAllowed = (m_pActFocusWindow != NULL) &&
    bool bAllowed = (m_pActFocusWindow != nullptr) &&
                        (m_pActFocusWindow == pDefault || m_pActFocusWindow == pFormatSample    ||
                        m_pActFocusWindow == pTextLen || m_pActFocusWindow == pLength           ||
                        m_pActFocusWindow == pScale  || m_pActFocusWindow == m_pColumnName      ||
                        m_pActFocusWindow == m_pAutoIncrementValue) &&
                        !static_cast<Edit*>(m_pActFocusWindow)->GetSelected().isEmpty();
                        !static_cast<Edit*>(m_pActFocusWindow.get())->GetSelected().isEmpty();

    return bAllowed;
}

bool OFieldDescControl::isCutAllowed()
{
    bool bAllowed = (m_pActFocusWindow != NULL) &&
    bool bAllowed = (m_pActFocusWindow != nullptr) &&
                        (m_pActFocusWindow == pDefault || m_pActFocusWindow == pFormatSample    ||
                        m_pActFocusWindow == pTextLen || m_pActFocusWindow == pLength           ||
                        m_pActFocusWindow == pScale  || m_pActFocusWindow == m_pColumnName      ||
                        m_pActFocusWindow == m_pAutoIncrementValue) &&
                        !static_cast<Edit*>(m_pActFocusWindow)->GetSelected().isEmpty();
                        !static_cast<Edit*>(m_pActFocusWindow.get())->GetSelected().isEmpty();
    return bAllowed;
}

bool OFieldDescControl::isPasteAllowed()
{
    bool bAllowed = (m_pActFocusWindow != NULL) &&
    bool bAllowed = (m_pActFocusWindow != nullptr) &&
                        (m_pActFocusWindow == pDefault || m_pActFocusWindow == pFormatSample    ||
                        m_pActFocusWindow == pTextLen || m_pActFocusWindow == pLength           ||
                        m_pActFocusWindow == pScale  || m_pActFocusWindow == m_pColumnName      ||
@@ -1623,19 +1650,19 @@ bool OFieldDescControl::isPasteAllowed()
void OFieldDescControl::cut()
{
    if(isCutAllowed())
        static_cast<Edit*>(m_pActFocusWindow)->Cut();
        static_cast<Edit*>(m_pActFocusWindow.get())->Cut();
}

void OFieldDescControl::copy()
{
    if(isCopyAllowed()) // this only checks if the focus window is valid
        static_cast<Edit*>(m_pActFocusWindow)->Copy();
        static_cast<Edit*>(m_pActFocusWindow.get())->Copy();
}

void OFieldDescControl::paste()
{
    if(m_pActFocusWindow) // this only checks if the focus window is valid
        static_cast<Edit*>(m_pActFocusWindow)->Paste();
        static_cast<Edit*>(m_pActFocusWindow.get())->Paste();
}

bool OFieldDescControl::isTextFormat(const OFieldDescription* _pFieldDescr, sal_uInt32& _nFormatKey) const
diff --git a/dbaccess/source/ui/control/TableGrantCtrl.cxx b/dbaccess/source/ui/control/TableGrantCtrl.cxx
index d48e915..6f86962 100644
--- a/dbaccess/source/ui/control/TableGrantCtrl.cxx
+++ b/dbaccess/source/ui/control/TableGrantCtrl.cxx
@@ -82,8 +82,8 @@ void OTableGrantControl::dispose()
        m_nDeactivateEvent = 0;
    }

    delete m_pCheckCell;
    delete m_pEdit;
    m_pCheckCell.clear();
    m_pEdit.clear();

    m_xTables       = NULL;
    ::svt::EditBrowseBox::dispose();
diff --git a/dbaccess/source/ui/control/VertSplitView.cxx b/dbaccess/source/ui/control/VertSplitView.cxx
index d0e5bbc..3201f5e 100644
--- a/dbaccess/source/ui/control/VertSplitView.cxx
+++ b/dbaccess/source/ui/control/VertSplitView.cxx
@@ -44,7 +44,9 @@ OSplitterView::~OSplitterView()

void OSplitterView::dispose()
{
    m_pRight = m_pLeft = NULL;
    m_pSplitter.clear();
    m_pLeft.clear();
    m_pRight.clear();
    vcl::Window::dispose();
}

diff --git a/dbaccess/source/ui/control/curledit.cxx b/dbaccess/source/ui/control/curledit.cxx
index bd34140..e30ab13 100644
--- a/dbaccess/source/ui/control/curledit.cxx
+++ b/dbaccess/source/ui/control/curledit.cxx
@@ -45,8 +45,8 @@ OConnectionURLEdit::~OConnectionURLEdit()

void OConnectionURLEdit::dispose()
{
    SetSubEdit(VclPtr<Edit>());
    delete m_pForcedPrefix;
    SetSubEdit(nullptr);
    m_pForcedPrefix.clear();
    Edit::dispose();
}

@@ -89,7 +89,7 @@ void OConnectionURLEdit::SetText(const OUString& _rStr, const Selection& /*_rNew
{
    // create new sub controls, if necessary
    if (!GetSubEdit())
        SetSubEdit(VclPtr<Edit>(new Edit(this, 0)));
        SetSubEdit(new Edit(this, 0));
    if ( !m_pForcedPrefix )
    {
        m_pForcedPrefix = new FixedText(this, WB_VCENTER);
diff --git a/dbaccess/source/ui/control/sqledit.cxx b/dbaccess/source/ui/control/sqledit.cxx
index bf4aa1f..9d2c870a 100644
--- a/dbaccess/source/ui/control/sqledit.cxx
+++ b/dbaccess/source/ui/control/sqledit.cxx
@@ -121,6 +121,7 @@ void OSqlEdit::dispose()
        n->removePropertiesChangeListener(m_listener.get());
    }
    m_ColorConfig.RemoveListener(this);
    m_pView.clear();
    MultiLineEditSyntaxHighlight::dispose();
}

diff --git a/dbaccess/source/ui/dlg/CollectionView.cxx b/dbaccess/source/ui/dlg/CollectionView.cxx
index c3ba08f..ed64086 100644
--- a/dbaccess/source/ui/dlg/CollectionView.cxx
+++ b/dbaccess/source/ui/dlg/CollectionView.cxx
@@ -91,6 +91,22 @@ OCollectionView::OCollectionView( vcl::Window * pParent
    m_pPB_OK->SetClickHdl( LINK( this, OCollectionView, Save_Click ) );
}

OCollectionView::~OCollectionView()
{
    dispose();
}

void OCollectionView::dispose()
{
    m_pFTCurrentPath.clear();
    m_pNewFolder.clear();
    m_pUp.clear();
    m_pView.clear();
    m_pName.clear();
    m_pPB_OK.clear();
    ModalDialog::dispose();
}

IMPL_LINK_NOARG(OCollectionView, Save_Click)
{
    OUString sName = m_pName->GetText();
diff --git a/dbaccess/source/ui/dlg/ConnectionHelper.cxx b/dbaccess/source/ui/dlg/ConnectionHelper.cxx
index d0d0043..c50eef0 100644
--- a/dbaccess/source/ui/dlg/ConnectionHelper.cxx
+++ b/dbaccess/source/ui/dlg/ConnectionHelper.cxx
@@ -91,7 +91,6 @@ namespace dbaui
        : OGenericAdministrationPage(pParent, _rId, _rUIXMLDescription, _rCoreAttrs)
        , m_bUserGrabFocus(false)
        , m_pCollection(NULL)
        , m_bDelete(false)
    {
        get(m_pFT_Connection, "browseurllabel");
        get(m_pConnectionURL, "browseurl");
@@ -115,13 +114,10 @@ namespace dbaui

    void OConnectionHelper::dispose()
    {
        if(m_bDelete)
        {
            delete m_pFT_Connection;
            delete m_pConnectionURL;
            delete m_pPB_Connection;
            delete m_pPB_CreateDB;
        }
        m_pFT_Connection.clear();
        m_pConnectionURL.clear();
        m_pPB_Connection.clear();
        m_pPB_CreateDB.clear();
        OGenericAdministrationPage::dispose();
    }

diff --git a/dbaccess/source/ui/dlg/ConnectionHelper.hxx b/dbaccess/source/ui/dlg/ConnectionHelper.hxx
index 5d9ae8b..9fd69e7 100644
--- a/dbaccess/source/ui/dlg/ConnectionHelper.hxx
+++ b/dbaccess/source/ui/dlg/ConnectionHelper.hxx
@@ -43,10 +43,10 @@ namespace dbaui
        OConnectionHelper( vcl::Window* pParent, const OString& _rId, const OUString& _rUIXMLDescription, const SfxItemSet& _rCoreAttrs);
        virtual ~OConnectionHelper();
        virtual void dispose() SAL_OVERRIDE;
        FixedText           *m_pFT_Connection;
        OConnectionURLEdit  *m_pConnectionURL;
        PushButton          *m_pPB_Connection;
        PushButton          *m_pPB_CreateDB;
        VclPtr<FixedText>           m_pFT_Connection;
        VclPtr<OConnectionURLEdit>  m_pConnectionURL;
        VclPtr<PushButton>          m_pPB_Connection;
        VclPtr<PushButton>          m_pPB_CreateDB;
        OUString     m_eType;          // the type can't be changed in this class, so we hold it as member.

    public:
@@ -96,7 +96,6 @@ namespace dbaui
        OUString    impl_getURL( bool _bPrefix ) const;
        void        impl_setURL( const OUString& _rURL, bool _bPrefix );
        void        implUpdateURLDependentStates() const;
        bool        m_bDelete;
    };

}   // namespace dbaui
diff --git a/dbaccess/source/ui/dlg/ConnectionPage.cxx b/dbaccess/source/ui/dlg/ConnectionPage.cxx
index a8884ac..1a2a7be 100644
--- a/dbaccess/source/ui/dlg/ConnectionPage.cxx
+++ b/dbaccess/source/ui/dlg/ConnectionPage.cxx
@@ -109,6 +109,25 @@ namespace dbaui
        m_pTestJavaDriver->SetClickHdl(LINK(this,OConnectionTabPage,OnTestJavaClickHdl));
    }

    OConnectionTabPage::~OConnectionTabPage()
    {
        dispose();
    }

    void OConnectionTabPage::dispose()
    {
        m_pFL2.clear();
        m_pUserNameLabel.clear();
        m_pUserName.clear();
        m_pPasswordRequired.clear();
        m_pFL3.clear();
        m_pJavaDriverLabel.clear();
        m_pJavaDriver.clear();
        m_pTestJavaDriver.clear();
        m_pTestConnection.clear();
        OConnectionHelper::dispose();
    }

    void OConnectionTabPage::implInitControls(const SfxItemSet& _rSet, bool _bSaveValue)
    {
        // check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa)
diff --git a/dbaccess/source/ui/dlg/ConnectionPage.hxx b/dbaccess/source/ui/dlg/ConnectionPage.hxx
index 9713621..53befc0 100644
--- a/dbaccess/source/ui/dlg/ConnectionPage.hxx
+++ b/dbaccess/source/ui/dlg/ConnectionPage.hxx
@@ -36,25 +36,27 @@ namespace dbaui
    {
    protected:
        // user authentification
        FixedText*          m_pFL2;
        FixedText*          m_pUserNameLabel;
        Edit*               m_pUserName;
        CheckBox*           m_pPasswordRequired;
        VclPtr<FixedText>          m_pFL2;
        VclPtr<FixedText>          m_pUserNameLabel;
        VclPtr<Edit>               m_pUserName;
        VclPtr<CheckBox>           m_pPasswordRequired;

        // jdbc driver
        FixedText*          m_pFL3;
        FixedText*          m_pJavaDriverLabel;
        Edit*               m_pJavaDriver;
        PushButton*         m_pTestJavaDriver;
        VclPtr<FixedText>          m_pFL3;
        VclPtr<FixedText>          m_pJavaDriverLabel;
        VclPtr<Edit>               m_pJavaDriver;
        VclPtr<PushButton>         m_pTestJavaDriver;

        // connection test
        PushButton*         m_pTestConnection;
        VclPtr<PushButton>         m_pTestConnection;

        // called when the test connection button was clicked
        DECL_LINK(OnTestJavaClickHdl,PushButton*);
        DECL_LINK(OnEditModified,Edit*);
        DECL_LINK(OnTestJavaClickHdl, PushButton*);
        DECL_LINK(OnEditModified, Edit*);

    public:
        virtual ~OConnectionTabPage();
        virtual void dispose() SAL_OVERRIDE;
        static  SfxTabPage* Create( vcl::Window* pParent, const SfxItemSet* _rAttrSet );
        virtual bool        FillItemSet (SfxItemSet* _rCoreAttrs) SAL_OVERRIDE;

diff --git a/dbaccess/source/ui/dlg/ConnectionPageSetup.cxx b/dbaccess/source/ui/dlg/ConnectionPageSetup.cxx
index ce72b8d..0d9dd54 100644
--- a/dbaccess/source/ui/dlg/ConnectionPageSetup.cxx
+++ b/dbaccess/source/ui/dlg/ConnectionPageSetup.cxx
@@ -119,6 +119,18 @@ namespace dbaui
        SetRoadmapStateValue(false);
    }

    OConnectionTabPageSetup::~OConnectionTabPageSetup()
    {
        dispose();
    }

    void OConnectionTabPageSetup::dispose()
    {
        m_pHelpText.clear();
        m_pHeaderText.clear();
        OConnectionHelper::dispose();
    }

    void OConnectionTabPageSetup::implInitControls(const SfxItemSet& _rSet, bool _bSaveValue)
    {
        m_eType = m_pAdminDialog->getDatasourceType(_rSet);
diff --git a/dbaccess/source/ui/dlg/ConnectionPageSetup.hxx b/dbaccess/source/ui/dlg/ConnectionPageSetup.hxx
index b417c78..633dcb7 100644
--- a/dbaccess/source/ui/dlg/ConnectionPageSetup.hxx
+++ b/dbaccess/source/ui/dlg/ConnectionPageSetup.hxx
@@ -39,13 +39,15 @@ namespace dbaui
        bool            m_bUserGrabFocus : 1;
    protected:

        FixedText           *m_pHelpText;
        FixedText           *m_pHeaderText;
        VclPtr<FixedText>           m_pHelpText;
        VclPtr<FixedText>           m_pHeaderText;

        // called when the test connection button was clicked
        DECL_LINK(OnEditModified,Edit*);

    public:
        virtual ~OConnectionTabPageSetup();
        virtual void dispose() SAL_OVERRIDE;
        static  OGenericAdministrationPage* CreateDbaseTabPage( vcl::Window* pParent, const SfxItemSet& _rAttrSet );
        static  OGenericAdministrationPage* CreateMSAccessTabPage( vcl::Window* pParent, const SfxItemSet& _rAttrSet );
        static  OGenericAdministrationPage* CreateADOTabPage( vcl::Window* pParent, const SfxItemSet& _rAttrSet );
diff --git a/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx b/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx
index 850a91a..57356b6 100644
--- a/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx
+++ b/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx
@@ -81,7 +81,7 @@ using namespace ::com::sun::star;

    void OTextConnectionPageSetup::dispose()
    {
        DELETEZ(m_pTextConnectionHelper);
        m_pTextConnectionHelper.clear();
        OConnectionTabPageSetup::dispose();
    }

@@ -156,6 +156,25 @@ using namespace ::com::sun::star;
        SetRoadmapStateValue(false);
    }

    OLDAPConnectionPageSetup::~OLDAPConnectionPageSetup()
    {
        dispose();
    }

    void OLDAPConnectionPageSetup::dispose()
    {
        m_pFTHelpText.clear();
        m_pFTHostServer.clear();
        m_pETHostServer.clear();
        m_pFTBaseDN.clear();
        m_pETBaseDN.clear();
        m_pFTPortNumber.clear();
        m_pNFPortNumber.clear();
        m_pFTDefaultPortNumber.clear();
        m_pCBUseSSL.clear();
        OGenericAdministrationPage::dispose();
    }

    bool OLDAPConnectionPageSetup::FillItemSet( SfxItemSet* _rSet )
    {
        bool bChangedSomething = false;
@@ -240,6 +259,19 @@ using namespace ::com::sun::star;
        m_pNATIVEDatabase->SetToggleHdl(LINK(this, OMySQLIntroPageSetup, OnSetupModeSelected));
    }

    OMySQLIntroPageSetup::~OMySQLIntroPageSetup()
    {
        dispose();
    }

    void OMySQLIntroPageSetup::dispose()
    {
        m_pODBCDatabase.clear();
        m_pJDBCDatabase.clear();
        m_pNATIVEDatabase.clear();
        OGenericAdministrationPage::dispose();
    }

    IMPL_LINK(OMySQLIntroPageSetup, OnSetupModeSelected, RadioButton*, /*_pBox*/)
    {
        maClickHdl.Call( this );
@@ -308,6 +340,7 @@ using namespace ::com::sun::star;
    void MySQLNativeSetupPage::dispose()
    {
        m_aMySQLSettings.disposeAndClear();
        m_pHelpText.clear();
        OGenericAdministrationPage::dispose();
    }

@@ -398,6 +431,28 @@ using namespace ::com::sun::star;
        SetRoadmapStateValue(false);
    }

    OGeneralSpecialJDBCConnectionPageSetup::~OGeneralSpecialJDBCConnectionPageSetup()
    {
        dispose();
    }

    void OGeneralSpecialJDBCConnectionPageSetup::dispose()
    {
        m_pHeaderText.clear();
        m_pFTHelpText.clear();
        m_pFTDatabasename.clear();
        m_pETDatabasename.clear();
        m_pFTHostname.clear();
        m_pETHostname.clear();
        m_pFTPortNumber.clear();
        m_pFTDefaultPortNumber.clear();
        m_pNFPortNumber.clear();
        m_pFTDriverClass.clear();
        m_pETDriverClass.clear();
        m_pPBTestJavaDriver.clear();
        OGenericAdministrationPage::dispose();
    }

    OGenericAdministrationPage* OGeneralSpecialJDBCConnectionPageSetup::CreateMySQLJDBCTabPage( vcl::Window* pParent, const SfxItemSet& _rAttrSet )
    {
        return ( new OGeneralSpecialJDBCConnectionPageSetup( pParent,
@@ -540,6 +595,19 @@ using namespace ::com::sun::star;
        m_pPBTestJavaDriver->SetClickHdl(LINK(this,OJDBCConnectionPageSetup,OnTestJavaClickHdl));
    }

    OJDBCConnectionPageSetup::~OJDBCConnectionPageSetup()
    {
        dispose();
    }

    void OJDBCConnectionPageSetup::dispose()
    {
        m_pFTDriverClass.clear();
        m_pETDriverClass.clear();
        m_pPBTestJavaDriver.clear();
        OConnectionTabPageSetup::dispose();
    }

    void OJDBCConnectionPageSetup::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList)
    {
        _rControlList.push_back(new OSaveValueWrapper<Edit>(m_pETDriverClass));
@@ -645,6 +713,17 @@ using namespace ::com::sun::star;
        m_pPasswordrequired->SetToggleHdl(getControlModifiedLink());
    }

    OSpreadSheetConnectionPageSetup::~OSpreadSheetConnectionPageSetup()
    {
        dispose();
    }

    void OSpreadSheetConnectionPageSetup::dispose()
    {
        m_pPasswordrequired.clear();
        OConnectionTabPageSetup::dispose();
    }

    void OSpreadSheetConnectionPageSetup::fillWindows(::std::vector< ISaveValueWrapper* >& /*_rControlList*/)
    {
    }
@@ -689,6 +768,21 @@ using namespace ::com::sun::star;
        LayoutHelper::fitSizeRightAligned( *m_pPBTestConnection );
    }

    OAuthentificationPageSetup::~OAuthentificationPageSetup()
    {
        dispose();
    }

    void OAuthentificationPageSetup::dispose()
    {
        m_pFTHelpText.clear();
        m_pFTUserName.clear();
        m_pETUserName.clear();
        m_pCBPasswordRequired.clear();
        m_pPBTestConnection.clear();
        OGenericAdministrationPage::dispose();
    }

    void OAuthentificationPageSetup::fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList)
    {
        _rControlList.push_back(new ODisableWrapper<FixedText>(m_pFTHelpText));
@@ -754,6 +848,24 @@ using namespace ::com::sun::star;
        m_pRBRegisterDataSource->SetState(true);
    }

    OFinalDBPageSetup::~OFinalDBPageSetup()
    {
        dispose();
    }

    void OFinalDBPageSetup::dispose()
    {
        m_pFTFinalHeader.clear();
        m_pFTFinalHelpText.clear();
        m_pRBRegisterDataSource.clear();
        m_pRBDontregisterDataSource.clear();
        m_pFTAdditionalSettings.clear();
        m_pCBOpenAfterwards.clear();
        m_pCBStartTableWizard.clear();
        m_pFTFinalText.clear();
        OGenericAdministrationPage::dispose();
    }

    bool OFinalDBPageSetup::IsDatabaseDocumentToBeRegistered()
    {
        return m_pRBRegisterDataSource->IsChecked() && m_pRBRegisterDataSource->IsEnabled();
diff --git a/dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx b/dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx
index 3b3ed06..23416fc 100644
--- a/dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx
+++ b/dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx
@@ -42,9 +42,11 @@ namespace dbaui
        virtual bool        FillItemSet ( SfxItemSet* _rCoreAttrs ) SAL_OVERRIDE;
        static  OGenericAdministrationPage* CreateSpreadSheetTabPage( vcl::Window* pParent, const SfxItemSet& _rAttrSet );
        OSpreadSheetConnectionPageSetup(vcl::Window* pParent, const SfxItemSet& _rCoreAttrs);
        virtual ~OSpreadSheetConnectionPageSetup();
        virtual void dispose() SAL_OVERRIDE;

    protected:
        CheckBox *m_pPasswordrequired;
        VclPtr<CheckBox> m_pPasswordrequired;

    protected:
        virtual void implInitControls(const SfxItemSet& _rSet, bool _bSaveValue) SAL_OVERRIDE;
@@ -57,15 +59,14 @@ namespace dbaui
    class OTextConnectionPageSetup : public OConnectionTabPageSetup
    {
    public:
        virtual bool        FillItemSet ( SfxItemSet* _rCoreAttrs ) SAL_OVERRIDE;
           static   OGenericAdministrationPage* CreateTextTabPage( vcl::Window* pParent, const SfxItemSet& _rAttrSet );
        OTextConnectionPageSetup( vcl::Window* pParent, const SfxItemSet& _rCoreAttrs );
        OTextConnectionHelper*  m_pTextConnectionHelper;
    private:
        VclPtr<OTextConnectionHelper>  m_pTextConnectionHelper;

    protected:
        virtual bool        FillItemSet ( SfxItemSet* _rCoreAttrs ) SAL_OVERRIDE;
        static   OGenericAdministrationPage* CreateTextTabPage( vcl::Window* pParent, const SfxItemSet& _rAttrSet );
        OTextConnectionPageSetup( vcl::Window* pParent, const SfxItemSet& _rCoreAttrs );
        virtual ~OTextConnectionPageSetup();
        virtual void dispose() SAL_OVERRIDE;
    protected:
        virtual bool prepareLeave() SAL_OVERRIDE;
        virtual void implInitControls(const SfxItemSet& _rSet, bool _bSaveValue) SAL_OVERRIDE;
        virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList) SAL_OVERRIDE;
@@ -83,6 +84,8 @@ namespace dbaui
        virtual bool        FillItemSet ( SfxItemSet* _rCoreAttrs ) SAL_OVERRIDE;
        static  OGenericAdministrationPage* CreateLDAPTabPage( vcl::Window* pParent, const SfxItemSet& _rAttrSet );
        OLDAPConnectionPageSetup( vcl::Window* pParent, const SfxItemSet& _rCoreAttrs );
        virtual ~OLDAPConnectionPageSetup();
        virtual void dispose() SAL_OVERRIDE;
        virtual Link getControlModifiedLink() SAL_OVERRIDE { return LINK(this, OLDAPConnectionPageSetup, OnEditModified); }

    protected:
@@ -92,22 +95,22 @@ namespace dbaui
        DECL_LINK(OnEditModified,Edit*);

    private:
        FixedText*          m_pFTHelpText;
        FixedText*          m_pFTHostServer;
        Edit*               m_pETHostServer;
        FixedText*          m_pFTBaseDN;
        Edit*               m_pETBaseDN;
        FixedText*          m_pFTPortNumber;
        NumericField*       m_pNFPortNumber;
        FixedText*          m_pFTDefaultPortNumber;
        CheckBox*           m_pCBUseSSL;
        VclPtr<FixedText>          m_pFTHelpText;
        VclPtr<FixedText>          m_pFTHostServer;
        VclPtr<Edit>               m_pETHostServer;
        VclPtr<FixedText>          m_pFTBaseDN;
        VclPtr<Edit>               m_pETBaseDN;
        VclPtr<FixedText>          m_pFTPortNumber;
        VclPtr<NumericField>       m_pNFPortNumber;
        VclPtr<FixedText>          m_pFTDefaultPortNumber;
        VclPtr<CheckBox>           m_pCBUseSSL;
    };

    // MySQLNativeSetupPage
    class MySQLNativeSetupPage : public OGenericAdministrationPage
    {
    private:
        FixedText           *m_pHelpText;
        VclPtr<FixedText>          m_pHelpText;
        VclPtr<MySQLNativeSettings> m_aMySQLSettings;

    public:
@@ -141,6 +144,8 @@ namespace dbaui
                                        , sal_uInt16 _nHelpTextResId
                                        , sal_uInt16 _nHeaderTextResId
                                        , sal_uInt16 _nDriverClassId );
        virtual ~OGeneralSpecialJDBCConnectionPageSetup();
        virtual void dispose() SAL_OVERRIDE;
    static  OGenericAdministrationPage* CreateMySQLJDBCTabPage( vcl::Window* pParent, const SfxItemSet& _rAttrSet );
    static  OGenericAdministrationPage* CreateOracleJDBCTabPage( vcl::Window* pParent, const SfxItemSet& _rAttrSet );

@@ -153,19 +158,19 @@ namespace dbaui

        DECL_LINK(OnTestJavaClickHdl,PushButton*);
        DECL_LINK(OnEditModified,Edit*);
        FixedText*          m_pHeaderText;
        FixedText*          m_pFTHelpText;
        FixedText*          m_pFTDatabasename;
        Edit*               m_pETDatabasename;
        FixedText*          m_pFTHostname;
        Edit*               m_pETHostname;
        FixedText*          m_pFTPortNumber;
        FixedText*          m_pFTDefaultPortNumber;
        NumericField*       m_pNFPortNumber;
        VclPtr<FixedText>          m_pHeaderText;
        VclPtr<FixedText>          m_pFTHelpText;
        VclPtr<FixedText>          m_pFTDatabasename;
        VclPtr<Edit>               m_pETDatabasename;
        VclPtr<FixedText>          m_pFTHostname;
        VclPtr<Edit>               m_pETHostname;
        VclPtr<FixedText>          m_pFTPortNumber;
        VclPtr<FixedText>          m_pFTDefaultPortNumber;
        VclPtr<NumericField>       m_pNFPortNumber;

        FixedText*          m_pFTDriverClass;
        Edit*               m_pETDriverClass;
        PushButton*         m_pPBTestJavaDriver;
        VclPtr<FixedText>          m_pFTDriverClass;
        VclPtr<Edit>               m_pETDriverClass;
        VclPtr<PushButton>         m_pPBTestJavaDriver;

        OUString              m_sDefaultJdbcDriverName;
        sal_uInt16              m_nPortId;
@@ -176,6 +181,8 @@ namespace dbaui
    {
    public:
                OJDBCConnectionPageSetup( vcl::Window* pParent, const SfxItemSet& _rCoreAttrs );
        virtual ~OJDBCConnectionPageSetup();
        virtual void dispose() SAL_OVERRIDE;
        static  OGenericAdministrationPage* CreateJDBCTabPage( vcl::Window* pParent, const SfxItemSet& _rAttrSet );

    protected:
@@ -188,9 +195,9 @@ namespace dbaui

        DECL_LINK(OnTestJavaClickHdl,PushButton*);
        DECL_LINK(OnEditModified,Edit*);
        FixedText*          m_pFTDriverClass;
        Edit*               m_pETDriverClass;
        PushButton*         m_pPBTestJavaDriver;
        VclPtr<FixedText>          m_pFTDriverClass;
        VclPtr<Edit>               m_pETDriverClass;
        VclPtr<PushButton>         m_pPBTestJavaDriver;
    };

    // OJDBCConnectionPageSetup
@@ -205,6 +212,8 @@ namespace dbaui
        };

        OMySQLIntroPageSetup( vcl::Window* pParent, const SfxItemSet& _rCoreAttrs);
        virtual ~OMySQLIntroPageSetup();
        virtual void dispose() SAL_OVERRIDE;

        static OMySQLIntroPageSetup*    CreateMySQLIntroTabPage( vcl::Window* _pParent, const SfxItemSet& _rAttrSet );
        ConnectionType      getMySQLMode();
@@ -220,9 +229,9 @@ namespace dbaui
        virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList) SAL_OVERRIDE;

    private:
        RadioButton         *m_pODBCDatabase;
        RadioButton         *m_pJDBCDatabase;
        RadioButton         *m_pNATIVEDatabase;
        VclPtr<RadioButton>         m_pODBCDatabase;
        VclPtr<RadioButton>         m_pJDBCDatabase;
        VclPtr<RadioButton>         m_pNATIVEDatabase;

        DECL_LINK(OnSetupModeSelected, RadioButton*);

@@ -235,13 +244,15 @@ namespace dbaui
        virtual bool        FillItemSet ( SfxItemSet* _rCoreAttrs ) SAL_OVERRIDE;
        static  OGenericAdministrationPage* CreateAuthentificationTabPage( vcl::Window* pParent, const SfxItemSet& _rAttrSet );
        OAuthentificationPageSetup(vcl::Window* pParent, const SfxItemSet& _rCoreAttrs);
        virtual ~OAuthentificationPageSetup();
        virtual void dispose() SAL_OVERRIDE;

    protected:
        FixedText*  m_pFTHelpText;
        FixedText*  m_pFTUserName;
        Edit*       m_pETUserName;
        CheckBox*   m_pCBPasswordRequired;
        PushButton* m_pPBTestConnection;
        VclPtr<FixedText>  m_pFTHelpText;
        VclPtr<FixedText>  m_pFTUserName;
        VclPtr<Edit>       m_pETUserName;
        VclPtr<CheckBox>   m_pCBPasswordRequired;
        VclPtr<PushButton> m_pPBTestConnection;

    protected:
        virtual void implInitControls(const SfxItemSet& _rSet, bool _bSaveValue) SAL_OVERRIDE;
@@ -256,16 +267,18 @@ namespace dbaui
        virtual bool        FillItemSet ( SfxItemSet* _rCoreAttrs ) SAL_OVERRIDE;
           static   OGenericAdministrationPage* CreateFinalDBTabPageSetup( vcl::Window* pParent, const SfxItemSet& _rAttrSet);

        FixedText*   m_pFTFinalHeader;
        FixedText*   m_pFTFinalHelpText;
        RadioButton* m_pRBRegisterDataSource;
        RadioButton* m_pRBDontregisterDataSource;
        FixedText*   m_pFTAdditionalSettings;
        CheckBox*    m_pCBOpenAfterwards;
        CheckBox*    m_pCBStartTableWizard;
        FixedText*   m_pFTFinalText;
        VclPtr<FixedText>   m_pFTFinalHeader;
        VclPtr<FixedText>   m_pFTFinalHelpText;
        VclPtr<RadioButton> m_pRBRegisterDataSource;
        VclPtr<RadioButton> m_pRBDontregisterDataSource;
        VclPtr<FixedText>   m_pFTAdditionalSettings;
        VclPtr<CheckBox>    m_pCBOpenAfterwards;
        VclPtr<CheckBox>    m_pCBStartTableWizard;
        VclPtr<FixedText>   m_pFTFinalText;

        OFinalDBPageSetup(vcl::Window* pParent, const SfxItemSet& _rCoreAttrs);
        virtual ~OFinalDBPageSetup();
        virtual void dispose() SAL_OVERRIDE;
        bool IsDatabaseDocumentToBeRegistered();
        bool IsDatabaseDocumentToBeOpened();
        bool IsTableWizardToBeStarted();
diff --git a/dbaccess/source/ui/dlg/DbAdminImpl.hxx b/dbaccess/source/ui/dlg/DbAdminImpl.hxx
index 4b46778..890a7ac 100644
--- a/dbaccess/source/ui/dlg/DbAdminImpl.hxx
+++ b/dbaccess/source/ui/dlg/DbAdminImpl.hxx
@@ -35,6 +35,7 @@
#include <svl/itemset.hxx>
#include <com/sun/star/frame/XModel.hpp>
#include <svl/poolitem.hxx>
#include <vcl/vclptr.hxx>

namespace vcl { class Window; }
namespace dbaui
@@ -68,7 +69,7 @@ namespace dbaui

        MapInt2String           m_aDirectPropTranslator;    /// translating property id's into names (direct properties of a data source)
        MapInt2String           m_aIndirectPropTranslator;  /// translating property id's into names (indirect properties of a data source)
        vcl::Window*                 m_pParent;
        VclPtr<vcl::Window>     m_pParent;
        IItemSetHelper*         m_pItemSetHelper;
    public:

diff --git a/dbaccess/source/ui/dlg/QueryPropertiesDialog.cxx b/dbaccess/source/ui/dlg/QueryPropertiesDialog.cxx
index cfdab77..716c895 100644
--- a/dbaccess/source/ui/dlg/QueryPropertiesDialog.cxx
+++ b/dbaccess/source/ui/dlg/QueryPropertiesDialog.cxx
@@ -28,6 +28,19 @@ QueryPropertiesDialog::QueryPropertiesDialog(
    m_pLB_Limit->SetValue( nLimit );
}

QueryPropertiesDialog::~QueryPropertiesDialog()
{
    dispose();
}

void QueryPropertiesDialog::dispose()
{
    m_pRB_Distinct.clear();
    m_pRB_NonDistinct.clear();
    m_pLB_Limit.clear();
    ModalDialog::dispose();
}

} ///dbaui namespace

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/dbaccess/source/ui/dlg/RelationDlg.cxx b/dbaccess/source/ui/dlg/RelationDlg.cxx
index f0626ae..9a27bd7 100644
--- a/dbaccess/source/ui/dlg/RelationDlg.cxx
+++ b/dbaccess/source/ui/dlg/RelationDlg.cxx
@@ -88,6 +88,26 @@ ORelationDialog::ORelationDialog( OJoinTableView* pParent,
    m_xTableControl->NotifyCellChange();
}

ORelationDialog::~ORelationDialog()
{
    dispose();
}

void ORelationDialog::dispose()
{
    m_pRB_NoCascUpd.clear();
    m_pRB_CascUpd.clear();
    m_pRB_CascUpdNull.clear();
    m_pRB_CascUpdDefault.clear();
    m_pRB_NoCascDel.clear();
    m_pRB_CascDel.clear();
    m_pRB_CascDelNull.clear();
    m_pRB_CascDelDefault.clear();
    m_pPB_OK.clear();
    ModalDialog::dispose();
}


void ORelationDialog::Init(const TTableConnectionData::value_type& _pConnectionData)
{
    ORelationTableConnectionData* pConnData = static_cast<ORelationTableConnectionData*>(_pConnectionData.get());
diff --git a/dbaccess/source/ui/dlg/TextConnectionHelper.cxx b/dbaccess/source/ui/dlg/TextConnectionHelper.cxx
index c107517..cc2079d 100644
--- a/dbaccess/source/ui/dlg/TextConnectionHelper.cxx
+++ b/dbaccess/source/ui/dlg/TextConnectionHelper.cxx
@@ -114,7 +114,7 @@ namespace dbaui
        struct SectionDescriptor
        {
            short   nFlag;
            vcl::Window* pFirstControl;
            VclPtr<vcl::Window> pFirstControl;
        } aSections[] = {
            { TC_EXTENSION,     m_pExtensionHeader },
            { TC_SEPARATORS,    m_pFormatHeader },
@@ -151,6 +151,35 @@ namespace dbaui
        Show();
    }

    OTextConnectionHelper::~OTextConnectionHelper()
    {
        dispose();
    }

    void OTextConnectionHelper::dispose()
    {
        m_pExtensionHeader.clear();
        m_pAccessTextFiles.clear();
        m_pAccessCSVFiles.clear();
        m_pAccessOtherFiles.clear();
        m_pOwnExtension.clear();
        m_pExtensionExample.clear();
        m_pFormatHeader.clear();
        m_pFieldSeparatorLabel.clear();
        m_pFieldSeparator.clear();
        m_pTextSeparatorLabel.clear();
        m_pTextSeparator.clear();
        m_pDecimalSeparatorLabel.clear();
        m_pDecimalSeparator.clear();
        m_pThousandsSeparatorLabel.clear();
        m_pThousandsSeparator.clear();
        m_pRowHeader.clear();
        m_pCharSetHeader.clear();
        m_pCharSetLabel.clear();
        m_pCharSet.clear();
        TabPage::dispose();
    }

    IMPL_LINK(OTextConnectionHelper, OnControlModified, Control*, /*EMPTYARG*/)
    {
        callModifiedHdl();
diff --git a/dbaccess/source/ui/dlg/TextConnectionHelper.hxx b/dbaccess/source/ui/dlg/TextConnectionHelper.hxx
index 03dde73..56610e6 100644
--- a/dbaccess/source/ui/dlg/TextConnectionHelper.hxx
+++ b/dbaccess/source/ui/dlg/TextConnectionHelper.hxx
@@ -48,27 +48,29 @@ namespace dbaui

    public:
        OTextConnectionHelper( vcl::Window* pParent, const short _nAvailableSections );
        virtual ~OTextConnectionHelper();
        virtual void dispose() SAL_OVERRIDE;

    private:
        FixedText        *m_pExtensionHeader;
        RadioButton      *m_pAccessTextFiles;
        RadioButton      *m_pAccessCSVFiles;
        RadioButton      *m_pAccessOtherFiles;
        Edit             *m_pOwnExtension;
        FixedText        *m_pExtensionExample;
        FixedText        *m_pFormatHeader;
        FixedText        *m_pFieldSeparatorLabel;
        ComboBox         *m_pFieldSeparator;
        FixedText        *m_pTextSeparatorLabel;
        ComboBox         *m_pTextSeparator;
        FixedText        *m_pDecimalSeparatorLabel;
        ComboBox         *m_pDecimalSeparator;
        FixedText        *m_pThousandsSeparatorLabel;
        ComboBox         *m_pThousandsSeparator;
        CheckBox         *m_pRowHeader;
        FixedText        *m_pCharSetHeader;
        FixedText        *m_pCharSetLabel;
        CharSetListBox   *m_pCharSet;
        VclPtr<FixedText>        m_pExtensionHeader;
        VclPtr<RadioButton>      m_pAccessTextFiles;
        VclPtr<RadioButton>      m_pAccessCSVFiles;
        VclPtr<RadioButton>      m_pAccessOtherFiles;
        VclPtr<Edit>             m_pOwnExtension;
        VclPtr<FixedText>        m_pExtensionExample;
        VclPtr<FixedText>        m_pFormatHeader;
        VclPtr<FixedText>        m_pFieldSeparatorLabel;
        VclPtr<ComboBox>         m_pFieldSeparator;
        VclPtr<FixedText>        m_pTextSeparatorLabel;
        VclPtr<ComboBox>         m_pTextSeparator;
        VclPtr<FixedText>        m_pDecimalSeparatorLabel;
        VclPtr<ComboBox>         m_pDecimalSeparator;
        VclPtr<FixedText>        m_pThousandsSeparatorLabel;
        VclPtr<ComboBox>         m_pThousandsSeparator;
        VclPtr<CheckBox>         m_pRowHeader;
        VclPtr<FixedText>        m_pCharSetHeader;
        VclPtr<FixedText>        m_pCharSetLabel;
        VclPtr<CharSetListBox>   m_pCharSet;
        OUString    m_aFieldSeparatorList;
        OUString    m_aTextSeparatorList;
        OUString    m_aTextNone;
diff --git a/dbaccess/source/ui/dlg/UserAdmin.cxx b/dbaccess/source/ui/dlg/UserAdmin.cxx
index 219440b..23621cc 100644
--- a/dbaccess/source/ui/dlg/UserAdmin.cxx
+++ b/dbaccess/source/ui/dlg/UserAdmin.cxx
@@ -51,17 +51,27 @@ using namespace comphelper;

class OPasswordDialog : public ModalDialog
{
    VclFrame* m_pUser;
    Edit*     m_pEDOldPassword;
    Edit*     m_pEDPassword;
    Edit*     m_pEDPasswordRepeat;
    OKButton* m_pOKBtn;
    VclPtr<VclFrame> m_pUser;
    VclPtr<Edit>     m_pEDOldPassword;
    VclPtr<Edit>     m_pEDPassword;
    VclPtr<Edit>     m_pEDPasswordRepeat;
    VclPtr<OKButton> m_pOKBtn;

    DECL_LINK( OKHdl_Impl, void * );
    DECL_LINK( ModifiedHdl, Edit * );

public:
    OPasswordDialog( vcl::Window* pParent,const OUString& _sUserName);
    virtual ~OPasswordDialog() { dispose(); }
    virtual void dispose() SAL_OVERRIDE
    {
        m_pUser.clear();
        m_pEDOldPassword.clear();
        m_pEDPassword.clear();
        m_pEDPasswordRepeat.clear();
        m_pOKBtn.clear();
        ModalDialog::dispose();
    }

    OUString        GetOldPassword() const { return m_pEDOldPassword->GetText(); }
    OUString        GetNewPassword() const { return m_pEDPassword->GetText(); }
@@ -138,6 +148,10 @@ void OUserAdmin::dispose()
{
    m_xConnection = NULL;
    m_TableCtrl.disposeAndClear();
    m_pUSER.clear();
    m_pNEWUSER.clear();
    m_pCHANGEPWD.clear();
    m_pDELETEUSER.clear();
    OGenericAdministrationPage::dispose();
}

diff --git a/dbaccess/source/ui/dlg/UserAdmin.hxx b/dbaccess/source/ui/dlg/UserAdmin.hxx
index 76922bb..5bed223 100644
--- a/dbaccess/source/ui/dlg/UserAdmin.hxx
+++ b/dbaccess/source/ui/dlg/UserAdmin.hxx
@@ -41,10 +41,10 @@ namespace dbaui
class OUserAdmin : public OGenericAdministrationPage
{
protected:
    ListBox             *m_pUSER;
    PushButton          *m_pNEWUSER;
    PushButton          *m_pCHANGEPWD;
    PushButton          *m_pDELETEUSER;
    VclPtr<ListBox>             m_pUSER;
    VclPtr<PushButton>          m_pNEWUSER;
    VclPtr<PushButton>          m_pCHANGEPWD;
    VclPtr<PushButton>          m_pDELETEUSER;
    VclPtr<OTableGrantControl>  m_TableCtrl; // show the grant rights of one user

    ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection>          m_xConnection;
diff --git a/dbaccess/source/ui/dlg/admincontrols.cxx b/dbaccess/source/ui/dlg/admincontrols.cxx
index 9b6f3312..08e7be8 100644
--- a/dbaccess/source/ui/dlg/admincontrols.cxx
+++ b/dbaccess/source/ui/dlg/admincontrols.cxx
@@ -168,6 +168,28 @@ namespace dbaui
#endif
    }

    MySQLNativeSettings::~MySQLNativeSettings()
    {
        dispose();
    }

    void MySQLNativeSettings::dispose()
    {
        m_pDatabaseNameLabel.clear();
        m_pDatabaseName.clear();
        m_pHostPortRadio.clear();
        m_pSocketRadio.clear();
        m_pNamedPipeRadio.clear();
        m_pHostNameLabel.clear();
        m_pHostName.clear();
        m_pPortLabel.clear();
        m_pPort.clear();
        m_pDefaultPort.clear();
        m_pSocket.clear();
        m_pNamedPipe.clear();
        TabPage::dispose();
    }

    void MySQLNativeSettings::fillControls( ::std::vector< ISaveValueWrapper* >& _rControlList )
    {
        _rControlList.push_back( new OSaveValueWrapper< Edit >( m_pDatabaseName ) );
diff --git a/dbaccess/source/ui/dlg/admincontrols.hxx b/dbaccess/source/ui/dlg/admincontrols.hxx
index e1daa86..544ef8b 100644
--- a/dbaccess/source/ui/dlg/admincontrols.hxx
+++ b/dbaccess/source/ui/dlg/admincontrols.hxx
@@ -35,25 +35,26 @@ namespace dbaui
    class MySQLNativeSettings : public TabPage
    {
    private:
        FixedText           *m_pDatabaseNameLabel;
        Edit                *m_pDatabaseName;
        RadioButton         *m_pHostPortRadio;
        RadioButton         *m_pSocketRadio;
        RadioButton         *m_pNamedPipeRadio;
        FixedText           *m_pHostNameLabel;
        Edit                *m_pHostName;
        FixedText           *m_pPortLabel;
        NumericField        *m_pPort;
        FixedText           *m_pDefaultPort;
        Edit                *m_pSocket;
        Edit                *m_pNamedPipe;
        VclPtr<FixedText>           m_pDatabaseNameLabel;
        VclPtr<Edit>                m_pDatabaseName;
        VclPtr<RadioButton>         m_pHostPortRadio;
        VclPtr<RadioButton>         m_pSocketRadio;
        VclPtr<RadioButton>         m_pNamedPipeRadio;
        VclPtr<FixedText>           m_pHostNameLabel;
        VclPtr<Edit>                m_pHostName;
        VclPtr<FixedText>           m_pPortLabel;
        VclPtr<NumericField>        m_pPort;
        VclPtr<FixedText>           m_pDefaultPort;
        VclPtr<Edit>                m_pSocket;
        VclPtr<Edit>                m_pNamedPipe;

        ::svt::ControlDependencyManager
                            m_aControlDependencies;

    public:
        MySQLNativeSettings( vcl::Window& _rParent, const Link& _rControlModificationLink );

        virtual ~MySQLNativeSettings();
        virtual void dispose() SAL_OVERRIDE;
        void fillControls( ::std::vector< ISaveValueWrapper* >& _rControlList );
        void fillWindows( ::std::vector< ISaveValueWrapper* >& _rControlList );

diff --git a/dbaccess/source/ui/dlg/adminpages.hxx b/dbaccess/source/ui/dlg/adminpages.hxx
index 77f4278..1d6438c 100644
--- a/dbaccess/source/ui/dlg/adminpages.hxx
+++ b/dbaccess/source/ui/dlg/adminpages.hxx
@@ -231,7 +231,7 @@ namespace dbaui
            is modified. The implementation just calls callModifiedHdl.
        */
        DECL_LINK(OnControlModified, void*);
        DECL_LINK(OnTestConnectionClickHdl,PushButton*);
        DECL_LINK(OnTestConnectionClickHdl, PushButton*);

        /// may be used in SetXXXHdl calls to controls, is a link to <method>OnControlModified</method>
        virtual Link getControlModifiedLink() { return LINK(this, OGenericAdministrationPage, OnControlModified); }
diff --git a/dbaccess/source/ui/dlg/adtabdlg.cxx b/dbaccess/source/ui/dlg/adtabdlg.cxx
index 707645b..27d83e5 100644
--- a/dbaccess/source/ui/dlg/adtabdlg.cxx
+++ b/dbaccess/source/ui/dlg/adtabdlg.cxx
@@ -368,6 +368,12 @@ OAddTableDlg::~OAddTableDlg()
void OAddTableDlg::dispose()
{
    m_rContext.onWindowClosing( this );
    m_pCaseTables.clear();
    m_pCaseQueries.clear();
    m_pTableList.clear();
    m_pQueryList.clear();
    m_pAddButton.clear();
    m_pCloseButton.clear();
    ModelessDialog::dispose();
}

diff --git a/dbaccess/source/ui/dlg/advancedsettings.cxx b/dbaccess/source/ui/dlg/advancedsettings.cxx
index d9d36cd..859decf 100644
--- a/dbaccess/source/ui/dlg/advancedsettings.cxx
+++ b/dbaccess/source/ui/dlg/advancedsettings.cxx
@@ -48,7 +48,7 @@ namespace dbaui
    // SpecialSettingsPage
    struct BooleanSettingDesc
    {
        CheckBox**  ppControl;          // the dialog's control which displays this setting
        VclPtr<CheckBox>& ppControl;          // the dialog's control which displays this setting
        OString     sControlId;         // the widget name of the control in the .ui
        sal_uInt16  nItemId;            // the ID of the item (in an SfxItemSet) which corresponds to this setting
        bool        bInvertedDisplay;   // true if and only if the checkbox is checked when the item is sal_False, and vice versa
@@ -95,14 +95,14 @@ namespace dbaui
            sal_uInt16 nItemId = setting->nItemId;
            if ( rFeatures.has( nItemId ) )
            {
                get((*setting->ppControl), setting->sControlId);
                (*setting->ppControl)->SetClickHdl( getControlModifiedLink() );
                (*setting->ppControl)->Show();
                get(setting->ppControl, setting->sControlId);
                setting->ppControl->SetClickHdl( getControlModifiedLink() );
                setting->ppControl->Show();

                // check whether this must be a tristate check box
                const SfxPoolItem& rItem = _rCoreAttrs.Get( nItemId );
                if ( rItem.ISA( OptionalBoolItem ) )
                    (*setting->ppControl)->EnableTriState( true );
                    setting->ppControl->EnableTriState( true );
            }
        }

@@ -140,6 +140,26 @@ namespace dbaui
    void SpecialSettingsPage::dispose()
    {
        m_aControlDependencies.clear();
        m_pIsSQL92Check.clear();
        m_pAppendTableAlias.clear();
        m_pAsBeforeCorrelationName.clear();
        m_pEnableOuterJoin.clear();
        m_pIgnoreDriverPrivileges.clear();
        m_pParameterSubstitution.clear();
        m_pSuppressVersionColumn.clear();
        m_pCatalog.clear();
        m_pSchema.clear();
        m_pIndexAppendix.clear();
        m_pDosLineEnds.clear();
        m_pCheckRequiredFields.clear();
        m_pIgnoreCurrency.clear();
        m_pEscapeDateTime.clear();
        m_pPrimaryKeySupport.clear();
        m_pRespectDriverResultSetType.clear();
        m_pBooleanComparisonModeLabel.clear();
        m_pBooleanComparisonMode.clear();
        m_pMaxRowScanLabel.clear();
        m_pMaxRowScan.clear();
        OGenericAdministrationPage::dispose();
    }

@@ -149,28 +169,28 @@ namespace dbaui

        // for easier maintenance, write the table in this form, then copy it to m_aBooleanSettings
        BooleanSettingDesc aSettings[] = {
            { &m_pIsSQL92Check,                 "usesql92",        DSID_SQL92CHECK,            false },
            { &m_pAppendTableAlias,             "append",          DSID_APPEND_TABLE_ALIAS,    false },
            { &m_pAsBeforeCorrelationName,      "useas",           DSID_AS_BEFORE_CORRNAME,    false },
            { &m_pEnableOuterJoin,              "useoj",           DSID_ENABLEOUTERJOIN,       false },
            { &m_pIgnoreDriverPrivileges,       "ignoreprivs",     DSID_IGNOREDRIVER_PRIV,     false },
            { &m_pParameterSubstitution,        "replaceparams",   DSID_PARAMETERNAMESUBST,    false },
            { &m_pSuppressVersionColumn,        "displayver",      DSID_SUPPRESSVERSIONCL,     true },
            { &m_pCatalog,                      "usecatalogname",  DSID_CATALOG,               false },
            { &m_pSchema,                       "useschemaname",   DSID_SCHEMA,                false },
            { &m_pIndexAppendix,                "createindex",     DSID_INDEXAPPENDIX,         false },
            { &m_pDosLineEnds,                  "eol",             DSID_DOSLINEENDS,           false },
            { &m_pCheckRequiredFields,          "inputchecks",     DSID_CHECK_REQUIRED_FIELDS, false },
            { &m_pIgnoreCurrency,               "ignorecurrency",  DSID_IGNORECURRENCY,        false },
            { &m_pEscapeDateTime,               "useodbcliterals", DSID_ESCAPE_DATETIME,       false },
            { &m_pPrimaryKeySupport,            "primarykeys",     DSID_PRIMARY_KEY_SUPPORT,   false },
            { &m_pRespectDriverResultSetType,   "resulttype",      DSID_RESPECTRESULTSETTYPE,  false },
            { NULL,                             "",                0,                          false }
            { m_pIsSQL92Check,                 "usesql92",        DSID_SQL92CHECK,            false },
            { m_pAppendTableAlias,             "append",          DSID_APPEND_TABLE_ALIAS,    false },
            { m_pAsBeforeCorrelationName,      "useas",           DSID_AS_BEFORE_CORRNAME,    false },
            { m_pEnableOuterJoin,              "useoj",           DSID_ENABLEOUTERJOIN,       false },
            { m_pIgnoreDriverPrivileges,       "ignoreprivs",     DSID_IGNOREDRIVER_PRIV,     false },
            { m_pParameterSubstitution,        "replaceparams",   DSID_PARAMETERNAMESUBST,    false },
            { m_pSuppressVersionColumn,        "displayver",      DSID_SUPPRESSVERSIONCL,     true },
            { m_pCatalog,                      "usecatalogname",  DSID_CATALOG,               false },
            { m_pSchema,                       "useschemaname",   DSID_SCHEMA,                false },
            { m_pIndexAppendix,                "createindex",     DSID_INDEXAPPENDIX,         false },
            { m_pDosLineEnds,                  "eol",             DSID_DOSLINEENDS,           false },
            { m_pCheckRequiredFields,          "ignorecurrency",  DSID_CHECK_REQUIRED_FIELDS, false },
            { m_pIgnoreCurrency,               "inputchecks",     DSID_IGNORECURRENCY,        false },
            { m_pEscapeDateTime,               "useodbcliterals", DSID_ESCAPE_DATETIME,       false },
            { m_pPrimaryKeySupport,            "primarykeys",     DSID_PRIMARY_KEY_SUPPORT,   false },
            { m_pRespectDriverResultSetType,   "resulttype",      DSID_RESPECTRESULTSETTYPE,  false },
            { NULL,                            "",                0,                          false }
        };

        for ( const BooleanSettingDesc* pCopy = aSettings; pCopy->nItemId != 0; ++pCopy )
        for ( const BooleanSettingDesc& pCopy : aSettings )
        {
            m_aBooleanSettings.push_back( *pCopy );
            m_aBooleanSettings.push_back( pCopy );
        }
    }

@@ -193,9 +213,9 @@ namespace dbaui
                ++setting
             )
        {
            if ( *setting->ppControl )
            if ( setting->ppControl )
            {
                _rControlList.push_back( new OSaveValueWrapper< CheckBox >( *setting->ppControl ) );
                _rControlList.push_back( new OSaveValueWrapper< CheckBox >( setting->ppControl ) );
            }
        }

@@ -223,7 +243,7 @@ namespace dbaui
                ++setting
             )
        {
            if ( !*setting->ppControl )
            if ( !setting->ppControl )
                continue;

            ::boost::optional< bool > aValue(false);
@@ -243,14 +263,14 @@ namespace dbaui

            if ( !aValue )
            {
                (*setting->ppControl)->SetState( TRISTATE_INDET );
                setting->ppControl->SetState( TRISTATE_INDET );
            }
            else
            {
                bool bValue = *aValue;
                if ( setting->bInvertedDisplay )
                    bValue = !bValue;
                (*setting->ppControl)->Check( bValue );
                setting->ppControl->Check( bValue );
            }
        }

@@ -280,9 +300,9 @@ namespace dbaui
                ++setting
             )
        {
            if ( !*setting->ppControl )
            if ( !setting->ppControl )
                continue;
            fillBool( *_rSet, *setting->ppControl, setting->nItemId, bChangedSomething, setting->bInvertedDisplay );
            fillBool( *_rSet, setting->ppControl, setting->nItemId, bChangedSomething, setting->bInvertedDisplay );
        }

        // the non-boolean items
@@ -329,6 +349,12 @@ namespace dbaui
    void GeneratedValuesPage::dispose()
    {
        m_aControlDependencies.clear();
        m_pAutoFrame.clear();
        m_pAutoRetrievingEnabled.clear();
        m_pAutoIncrementLabel.clear();
        m_pAutoIncrement.clear();
        m_pAutoRetrievingLabel.clear();
        m_pAutoRetrieving.clear();
        OGenericAdministrationPage::dispose();
    }

diff --git a/dbaccess/source/ui/dlg/advancedsettings.hxx b/dbaccess/source/ui/dlg/advancedsettings.hxx
index 40f1643..7c08e92 100644
--- a/dbaccess/source/ui/dlg/advancedsettings.hxx
+++ b/dbaccess/source/ui/dlg/advancedsettings.hxx
@@ -40,28 +40,28 @@ namespace dbaui
    class SpecialSettingsPage : public OGenericAdministrationPage
    {
    protected:
        CheckBox*           m_pIsSQL92Check;
        CheckBox*           m_pAppendTableAlias;
        CheckBox*           m_pAsBeforeCorrelationName;
        CheckBox*           m_pEnableOuterJoin;
        CheckBox*           m_pIgnoreDriverPrivileges;
        CheckBox*           m_pParameterSubstitution;
        CheckBox*           m_pSuppressVersionColumn;
        CheckBox*           m_pCatalog;
        CheckBox*           m_pSchema;
        CheckBox*           m_pIndexAppendix;
        CheckBox*           m_pDosLineEnds;
        CheckBox*           m_pCheckRequiredFields;
        CheckBox*           m_pIgnoreCurrency;
        CheckBox*           m_pEscapeDateTime;
        CheckBox*           m_pPrimaryKeySupport;
        CheckBox*           m_pRespectDriverResultSetType;
        VclPtr<CheckBox>           m_pIsSQL92Check;
        VclPtr<CheckBox>           m_pAppendTableAlias;
        VclPtr<CheckBox>           m_pAsBeforeCorrelationName;
        VclPtr<CheckBox>           m_pEnableOuterJoin;
        VclPtr<CheckBox>           m_pIgnoreDriverPrivileges;
        VclPtr<CheckBox>           m_pParameterSubstitution;
        VclPtr<CheckBox>           m_pSuppressVersionColumn;
        VclPtr<CheckBox>           m_pCatalog;
        VclPtr<CheckBox>           m_pSchema;
        VclPtr<CheckBox>           m_pIndexAppendix;
        VclPtr<CheckBox>           m_pDosLineEnds;
        VclPtr<CheckBox>           m_pCheckRequiredFields;
        VclPtr<CheckBox>           m_pIgnoreCurrency;
        VclPtr<CheckBox>           m_pEscapeDateTime;
        VclPtr<CheckBox>           m_pPrimaryKeySupport;
        VclPtr<CheckBox>           m_pRespectDriverResultSetType;

        FixedText*          m_pBooleanComparisonModeLabel;
        ListBox*            m_pBooleanComparisonMode;
        VclPtr<FixedText>          m_pBooleanComparisonModeLabel;
        VclPtr<ListBox>            m_pBooleanComparisonMode;

        FixedText*          m_pMaxRowScanLabel;
        NumericField*       m_pMaxRowScan;
        VclPtr<FixedText>          m_pMaxRowScanLabel;
        VclPtr<NumericField>       m_pMaxRowScan;

        ::svt::ControlDependencyManager
                            m_aControlDependencies;
@@ -98,12 +98,12 @@ namespace dbaui
    {
    protected:

        VclFrame*   m_pAutoFrame;
        CheckBox*   m_pAutoRetrievingEnabled;
        FixedText*  m_pAutoIncrementLabel;
        Edit*       m_pAutoIncrement;
        FixedText*  m_pAutoRetrievingLabel;
        Edit*       m_pAutoRetrieving;
        VclPtr<VclFrame>   m_pAutoFrame;
        VclPtr<CheckBox>   m_pAutoRetrievingEnabled;
        VclPtr<FixedText>  m_pAutoIncrementLabel;
        VclPtr<Edit>       m_pAutoIncrement;
        VclPtr<FixedText>  m_pAutoRetrievingLabel;
        VclPtr<Edit>       m_pAutoRetrieving;

        ::svt::ControlDependencyManager
                    m_aControlDependencies;
diff --git a/dbaccess/source/ui/dlg/dbfindex.cxx b/dbaccess/source/ui/dlg/dbfindex.cxx
index 1493734..223f5a1 100644
--- a/dbaccess/source/ui/dlg/dbfindex.cxx
+++ b/dbaccess/source/ui/dlg/dbfindex.cxx
@@ -76,6 +76,25 @@ ODbaseIndexDialog::ODbaseIndexDialog(vcl::Window * pParent, const OUString& aDat
    SetCtrls();
}

ODbaseIndexDialog::~ODbaseIndexDialog()
{
    dispose();
}

void ODbaseIndexDialog::dispose()
{
    m_pPB_OK.clear();
    m_pCB_Tables.clear();
    m_pIndexes.clear();
    m_pLB_TableIndexes.clear();
    m_pLB_FreeIndexes.clear();
    m_pAdd.clear();
    m_pRemove.clear();
    m_pAddAll.clear();
    m_pRemoveAll.clear();
    ModalDialog::dispose();
}

bool ODbaseIndexDialog::GetTable(const OUString& _rName, TableInfoList::iterator& _rPosition)
{
    for (   _rPosition = m_aTableInfoList.begin();
diff --git a/dbaccess/source/ui/dlg/dbfindex.hxx b/dbaccess/source/ui/dlg/dbfindex.hxx
index 58aae3b..46aac76 100644
--- a/dbaccess/source/ui/dlg/dbfindex.hxx
+++ b/dbaccess/source/ui/dlg/dbfindex.hxx
@@ -73,16 +73,16 @@ typedef ::std::list< OTableInfo >   TableInfoList;
class ODbaseIndexDialog : public ModalDialog
{
protected:
    OKButton*       m_pPB_OK;
    ComboBox*       m_pCB_Tables;
    VclContainer*   m_pIndexes;
    ListBox*        m_pLB_TableIndexes;
    ListBox*        m_pLB_FreeIndexes;
    VclPtr<OKButton>       m_pPB_OK;
    VclPtr<ComboBox>       m_pCB_Tables;
    VclPtr<VclContainer>   m_pIndexes;
    VclPtr<ListBox>        m_pLB_TableIndexes;
    VclPtr<ListBox>        m_pLB_FreeIndexes;

    PushButton*     m_pAdd;
    PushButton*     m_pRemove;
    PushButton*     m_pAddAll;
    PushButton*     m_pRemoveAll;
    VclPtr<PushButton>     m_pAdd;
    VclPtr<PushButton>     m_pRemove;
    VclPtr<PushButton>     m_pAddAll;
    VclPtr<PushButton>     m_pRemoveAll;

    DECL_LINK( TableSelectHdl, ComboBox* );
    DECL_LINK( AddClickHdl, PushButton* );
@@ -113,6 +113,8 @@ protected:

public:
    ODbaseIndexDialog( vcl::Window * pParent, const OUString& aDataSrcName );
    virtual ~ODbaseIndexDialog();
    virtual void dispose() SAL_OVERRIDE;
};

}   // namespace dbaui
diff --git a/dbaccess/source/ui/dlg/dbwizsetup.cxx b/dbaccess/source/ui/dlg/dbwizsetup.cxx
index 0852c755..b255353 100644
--- a/dbaccess/source/ui/dlg/dbwizsetup.cxx
+++ b/dbaccess/source/ui/dlg/dbwizsetup.cxx
@@ -270,6 +270,9 @@ ODbTypeWizDialogSetup::~ODbTypeWizDialogSetup()
void ODbTypeWizDialogSetup::dispose()
{
    delete m_pOutSet;
    m_pGeneralPage.clear();
    m_pMySQLIntroPage.clear();
    m_pFinalPage.clear();
    svt::RoadmapWizard::dispose();
}

@@ -426,7 +429,7 @@ Reference< XDriver > ODbTypeWizDialogSetup::getDriver()
    ::dbaccess::DATASOURCE_TYPE LocDatabaseType = _DatabaseType;
    if ((LocDatabaseType ==  ::dbaccess::DST_MYSQL_JDBC) || (LocDatabaseType ==  ::dbaccess::DST_MYSQL_ODBC) || (LocDatabaseType ==  ::dbaccess::DST_MYSQL_NATIVE))
    {
        if (m_pMySQLIntroPage != NULL)
        if (m_pMySQLIntroPage != nullptr)
        {
            switch( m_pMySQLIntroPage->getMySQLMode() )
            {
@@ -445,7 +448,7 @@ Reference< XDriver > ODbTypeWizDialogSetup::getDriver()
OUString ODbTypeWizDialogSetup::getDatasourceType(const SfxItemSet& _rSet) const
{
    OUString sRet = dbaui::ODbDataSourceAdministrationHelper::getDatasourceType(_rSet);
    if (m_pMySQLIntroPage != NULL && m_pMySQLIntroPage->IsVisible() )
    if (m_pMySQLIntroPage != nullptr && m_pMySQLIntroPage->IsVisible() )
    {
        switch( m_pMySQLIntroPage->getMySQLMode() )
        {
@@ -740,7 +743,7 @@ bool ODbTypeWizDialogSetup::SaveDatabaseDocument()
        if ( m_pGeneralPage->GetDatabaseCreationMode() == OGeneralPageWizard::eOpenExisting )
            return true;

        if ( m_pFinalPage != NULL )
        if ( m_pFinalPage != nullptr )
            return m_pFinalPage->IsDatabaseDocumentToBeOpened();

        return true;
@@ -751,7 +754,7 @@ bool ODbTypeWizDialogSetup::SaveDatabaseDocument()
        if ( m_pGeneralPage->GetDatabaseCreationMode() == OGeneralPageWizard::eOpenExisting )
            return false;

        if ( m_pFinalPage != NULL )
        if ( m_pFinalPage != nullptr )
            return m_pFinalPage->IsTableWizardToBeStarted();

        return false;
diff --git a/dbaccess/source/ui/dlg/detailpages.cxx b/dbaccess/source/ui/dlg/detailpages.cxx
index a4e5d5c..21d386d 100644
--- a/dbaccess/source/ui/dlg/detailpages.cxx
+++ b/dbaccess/source/ui/dlg/detailpages.cxx
@@ -102,21 +102,15 @@ namespace dbaui

    void OCommonBehaviourTabPage::dispose()
    {
        if(m_bDelete)
        {
            DELETEZ(m_pOptionsLabel);
            DELETEZ(m_pOptions);

            DELETEZ(m_pCharsetLabel);
            DELETEZ(m_pCharset);

            DELETEZ(m_pAutoIncrementLabel);
            DELETEZ(m_pAutoIncrement);

            DELETEZ(m_pAutoRetrievingEnabled);
            DELETEZ(m_pAutoRetrievingLabel);
            DELETEZ(m_pAutoRetrieving);
        }
        m_pOptionsLabel.clear();
        m_pOptions.clear();
        m_pCharsetLabel.clear();
        m_pCharset.clear();
        m_pAutoIncrementLabel.clear();
        m_pAutoIncrement.clear();
        m_pAutoRetrievingEnabled.clear();
        m_pAutoRetrievingLabel.clear();
        m_pAutoRetrieving.clear();
        OGenericAdministrationPage::dispose();
    }

@@ -199,6 +193,19 @@ namespace dbaui
        m_pShowDeleted->SetClickHdl(LINK(this, ODbaseDetailsPage, OnButtonClicked));
    }

    ODbaseDetailsPage::~ODbaseDetailsPage()
    {
        dispose();
    }

    void ODbaseDetailsPage::dispose()
    {
        m_pShowDeleted.clear();
        m_pFT_Message.clear();
        m_pIndexes.clear();
        OCommonBehaviourTabPage::dispose();
    }

    SfxTabPage* ODriversSettings::CreateDbase( vcl::Window* pParent, const SfxItemSet* _rAttrSet )
    {
        return ( new ODbaseDetailsPage( pParent, *_rAttrSet ) );
@@ -274,6 +281,17 @@ namespace dbaui
        m_pUseCatalog->SetToggleHdl(getControlModifiedLink());
    }

    OOdbcDetailsPage::~OOdbcDetailsPage()
    {
        dispose();
    }

    void OOdbcDetailsPage::dispose()
    {
        m_pUseCatalog.clear();
        OCommonBehaviourTabPage::dispose();
    }

    SfxTabPage* ODriversSettings::CreateODBC( vcl::Window* pParent, const SfxItemSet* _rAttrSet )
    {
        return ( new OOdbcDetailsPage( pParent, *_rAttrSet ) );
@@ -312,6 +330,22 @@ namespace dbaui
        m_pUseCatalog->SetToggleHdl(getControlModifiedLink());
    }

    OUserDriverDetailsPage::~OUserDriverDetailsPage()
    {
        dispose();
    }

    void OUserDriverDetailsPage::dispose()
    {
        m_pFTHostname.clear();
        m_pEDHostname.clear();
        m_pPortNumber.clear();
        m_pNFPortNumber.clear();
        m_pUseCatalog.clear();
        OCommonBehaviourTabPage::dispose();
    }


    SfxTabPage* ODriversSettings::CreateUser( vcl::Window* pParent, const SfxItemSet* _rAttrSet )
    {
        return ( new OUserDriverDetailsPage( pParent, *_rAttrSet ) );
@@ -418,6 +452,23 @@ namespace dbaui
        m_pEDSocket->SetModifyHdl(getControlModifiedLink());
    }

    OGeneralSpecialJDBCDetailsPage::~OGeneralSpecialJDBCDetailsPage()
    {
        dispose();
    }

    void OGeneralSpecialJDBCDetailsPage::dispose()
    {
        m_pEDHostname.clear();
        m_pNFPortNumber.clear();
        m_pFTSocket.clear();
        m_pEDSocket.clear();
        m_pFTDriverClass.clear();
        m_pEDDriverClass.clear();
        m_pTestJavaDriver.clear();
        OCommonBehaviourTabPage::dispose();
    }

    bool OGeneralSpecialJDBCDetailsPage::FillItemSet( SfxItemSet* _rSet )
    {
        bool bChangedSomething = OCommonBehaviourTabPage::FillItemSet(_rSet);
@@ -528,6 +579,11 @@ namespace dbaui
    void MySQLNativePage::dispose()
    {
        m_aMySQLSettings.disposeAndClear();
        m_pSeparator1.clear();
        m_pSeparator2.clear();
        m_pUserNameLabel.clear();
        m_pUserName.clear();
        m_pPasswordRequired.clear();
        OCommonBehaviourTabPage::dispose();
    }

@@ -621,6 +677,20 @@ namespace dbaui
        m_pCBUseSSL->SetClickHdl(LINK(this, OLDAPDetailsPage,OnCheckBoxClick));
    }

    OLDAPDetailsPage::~OLDAPDetailsPage()
    {
        dispose();
    }

    void OLDAPDetailsPage::dispose()
    {
        m_pETBaseDN.clear();
        m_pCBUseSSL.clear();
        m_pNFPortNumber.clear();
        m_pNFRowCount.clear();
        OCommonBehaviourTabPage::dispose();
    }

    SfxTabPage* ODriversSettings::CreateLDAP( vcl::Window* pParent, const SfxItemSet* _rAttrSet )
    {
        return ( new OLDAPDetailsPage( pParent, *_rAttrSet ) );
@@ -692,7 +762,7 @@ namespace dbaui

    void OTextDetailsPage::dispose()
    {
        DELETEZ(m_pTextConnectionHelper);
        m_pTextConnectionHelper.clear();
        OCommonBehaviourTabPage::dispose();
    }

diff --git a/dbaccess/source/ui/dlg/detailpages.hxx b/dbaccess/source/ui/dlg/detailpages.hxx
index de17ed7..eab9114 100644
--- a/dbaccess/source/ui/dlg/detailpages.hxx
+++ b/dbaccess/source/ui/dlg/detailpages.hxx
@@ -50,17 +50,17 @@ namespace dbaui
    {
    protected:

        FixedText*          m_pOptionsLabel;
        Edit*               m_pOptions;
        VclPtr<FixedText>          m_pOptionsLabel;
        VclPtr<Edit>               m_pOptions;

        FixedText*          m_pCharsetLabel;
        CharSetListBox*     m_pCharset;
        VclPtr<FixedText>          m_pCharsetLabel;
        VclPtr<CharSetListBox>     m_pCharset;

        CheckBox*           m_pAutoRetrievingEnabled;
        FixedText*          m_pAutoIncrementLabel;
        Edit*               m_pAutoIncrement;
        FixedText*          m_pAutoRetrievingLabel;
        Edit*               m_pAutoRetrieving;
        VclPtr<CheckBox>           m_pAutoRetrievingEnabled;
        VclPtr<FixedText>          m_pAutoIncrementLabel;
        VclPtr<Edit>               m_pAutoIncrement;
        VclPtr<FixedText>          m_pAutoRetrievingLabel;
        VclPtr<Edit>               m_pAutoRetrieving;

        sal_uInt32          m_nControlFlags;

@@ -93,10 +93,12 @@ namespace dbaui
        virtual bool        FillItemSet ( SfxItemSet* _rCoreAttrs ) SAL_OVERRIDE;

        ODbaseDetailsPage(vcl::Window* pParent, const SfxItemSet& _rCoreAttrs);
        virtual ~ODbaseDetailsPage();
        virtual void dispose() SAL_OVERRIDE;
    private:
        CheckBox*           m_pShowDeleted;
        FixedText*          m_pFT_Message;
        PushButton*         m_pIndexes;
        VclPtr<CheckBox>           m_pShowDeleted;
        VclPtr<FixedText>          m_pFT_Message;
        VclPtr<PushButton>         m_pIndexes;

        OUString            m_sDsn;

@@ -121,10 +123,12 @@ namespace dbaui
        virtual bool        FillItemSet ( SfxItemSet* _rCoreAttrs ) SAL_OVERRIDE;

        OOdbcDetailsPage( vcl::Window* pParent, const SfxItemSet& _rCoreAttrs );
        virtual ~OOdbcDetailsPage();
        virtual void dispose() SAL_OVERRIDE;
    protected:
        virtual void implInitControls(const SfxItemSet& _rSet, bool _bSaveValue) SAL_OVERRIDE;
    private:
        CheckBox*           m_pUseCatalog;
        VclPtr<CheckBox>           m_pUseCatalog;
    };

    // OUserDriverDetailsPage
@@ -134,16 +138,18 @@ namespace dbaui
        virtual bool        FillItemSet ( SfxItemSet* _rCoreAttrs ) SAL_OVERRIDE;

        OUserDriverDetailsPage( vcl::Window* pParent, const SfxItemSet& _rCoreAttrs );
        virtual ~OUserDriverDetailsPage();
        virtual void dispose() SAL_OVERRIDE;
    protected:
        virtual void implInitControls(const SfxItemSet& _rSet, bool _bSaveValue) SAL_OVERRIDE;
        virtual void fillControls(::std::vector< ISaveValueWrapper* >& _rControlList) SAL_OVERRIDE;
        virtual void fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList) SAL_OVERRIDE;
    private:
        FixedText*          m_pFTHostname;
        Edit*               m_pEDHostname;
        FixedText*          m_pPortNumber;
        NumericField*       m_pNFPortNumber;
        CheckBox*           m_pUseCatalog;
        VclPtr<FixedText>          m_pFTHostname;
        VclPtr<Edit>               m_pEDHostname;
        VclPtr<FixedText>          m_pPortNumber;
        VclPtr<NumericField>       m_pNFPortNumber;
        VclPtr<CheckBox>           m_pUseCatalog;
    };

    // OMySQLODBCDetailsPage
@@ -162,6 +168,8 @@ namespace dbaui
                                        , sal_uInt16 _nPortId
                                        , bool bShowSocket = true
                                        );
        virtual ~OGeneralSpecialJDBCDetailsPage();
        virtual void dispose() SAL_OVERRIDE;

    protected:

@@ -171,14 +179,14 @@ namespace dbaui
        DECL_LINK(OnTestJavaClickHdl,PushButton*);
        DECL_LINK(OnEditModified,Edit*);

        Edit*               m_pEDHostname;
        NumericField*       m_pNFPortNumber;
        FixedText*          m_pFTSocket;
        Edit*               m_pEDSocket;
        VclPtr<Edit>               m_pEDHostname;
        VclPtr<NumericField>       m_pNFPortNumber;
        VclPtr<FixedText>          m_pFTSocket;
        VclPtr<Edit>               m_pEDSocket;

        FixedText*          m_pFTDriverClass;
        Edit*               m_pEDDriverClass;
        PushButton*         m_pTestJavaDriver;
        VclPtr<FixedText>          m_pFTDriverClass;
        VclPtr<Edit>               m_pEDDriverClass;
        VclPtr<PushButton>         m_pTestJavaDriver;

        OUString              m_sDefaultJdbcDriverName;
        sal_uInt16              m_nPortId;
@@ -195,13 +203,13 @@ namespace dbaui
        virtual void dispose() SAL_OVERRIDE;

    private:
        FixedText           *m_pSeparator1;
        VclPtr<FixedText>           m_pSeparator1;
        VclPtr<MySQLNativeSettings> m_aMySQLSettings;

        FixedText           *m_pSeparator2;
        FixedText           *m_pUserNameLabel;
        Edit                *m_pUserName;
        CheckBox            *m_pPasswordRequired;
        VclPtr<FixedText>           m_pSeparator2;
        VclPtr<FixedText>           m_pUserNameLabel;
        VclPtr<Edit>                m_pUserName;
        VclPtr<CheckBox>            m_pPasswordRequired;

    protected:
        virtual bool FillItemSet( SfxItemSet* _rCoreAttrs ) SAL_OVERRIDE;
@@ -217,13 +225,15 @@ namespace dbaui
        virtual bool        FillItemSet ( SfxItemSet* _rCoreAttrs ) SAL_OVERRIDE;

        OLDAPDetailsPage( vcl::Window* pParent, const SfxItemSet& _rCoreAttrs );
        virtual ~OLDAPDetailsPage();
        virtual void dispose() SAL_OVERRIDE;
    protected:
        virtual void implInitControls(const SfxItemSet& _rSet, bool _bSaveValue) SAL_OVERRIDE;
    private:
        Edit*               m_pETBaseDN;
        CheckBox*           m_pCBUseSSL;
        NumericField*       m_pNFPortNumber;
        NumericField*       m_pNFRowCount;
        VclPtr<Edit>               m_pETBaseDN;
        VclPtr<CheckBox>           m_pCBUseSSL;
        VclPtr<NumericField>       m_pNFPortNumber;
        VclPtr<NumericField>       m_pNFRowCount;

        sal_Int32           m_iSSLPort;
        sal_Int32           m_iNormalPort;
@@ -244,7 +254,7 @@ namespace dbaui
        virtual bool        FillItemSet ( SfxItemSet* _rCoreAttrs ) SAL_OVERRIDE;

        OTextDetailsPage( vcl::Window* pParent, const SfxItemSet& _rCoreAttrs );
        OTextConnectionHelper*  m_pTextConnectionHelper;
        VclPtr<OTextConnectionHelper>  m_pTextConnectionHelper;

    protected:
        virtual ~OTextDetailsPage();
diff --git a/dbaccess/source/ui/dlg/directsql.cxx b/dbaccess/source/ui/dlg/directsql.cxx
index a4995a2..1f001bd 100644
--- a/dbaccess/source/ui/dlg/directsql.cxx
+++ b/dbaccess/source/ui/dlg/directsql.cxx
@@ -85,6 +85,13 @@ namespace dbaui
            ::osl::MutexGuard aGuard(m_aMutex);
            stopAllComponentListening();
        }
        m_pSQL.clear();
        m_pExecute.clear();
        m_pSQLHistory.clear();
        m_pStatus.clear();
        m_pShowOutput.clear();
        m_pOutput.clear();
        m_pClose.clear();
        ModalDialog::dispose();
    }

diff --git a/dbaccess/source/ui/dlg/dlgsave.cxx b/dbaccess/source/ui/dlg/dlgsave.cxx
index 7ca8feb..6daba84 100644
--- a/dbaccess/source/ui/dlg/dlgsave.cxx
+++ b/dbaccess/source/ui/dlg/dlgsave.cxx
@@ -48,14 +48,14 @@ namespace dbaui
class OSaveAsDlgImpl
{
public:
    FixedText*          m_pDescription;
    FixedText*          m_pCatalogLbl;
    OSQLNameComboBox*   m_pCatalog;
    FixedText*          m_pSchemaLbl;
    OSQLNameComboBox*   m_pSchema;
    FixedText*          m_pLabel;
    OSQLNameEdit*       m_pTitle;
    OKButton*           m_pPB_OK;
    VclPtr<FixedText>          m_pDescription;
    VclPtr<FixedText>          m_pCatalogLbl;
    VclPtr<OSQLNameComboBox>   m_pCatalog;
    VclPtr<FixedText>          m_pSchemaLbl;
    VclPtr<OSQLNameComboBox>   m_pSchema;
    VclPtr<FixedText>          m_pLabel;
    VclPtr<OSQLNameEdit>       m_pTitle;
    VclPtr<OKButton>           m_pPB_OK;
    OUString            m_aQryLabel;
    OUString            m_sTblLabel;
    OUString            m_aName;
diff --git a/dbaccess/source/ui/dlg/dlgsize.cxx b/dbaccess/source/ui/dlg/dlgsize.cxx
index 11750ab..b3e3375 100644
--- a/dbaccess/source/ui/dlg/dlgsize.cxx
+++ b/dbaccess/source/ui/dlg/dlgsize.cxx
@@ -51,6 +51,19 @@ DlgSize::DlgSize( vcl::Window* pParent, sal_Int32 nVal, bool bRow, sal_Int32 _nA
    LINK(this,DlgSize,CbClickHdl).Call(m_pCB_STANDARD);
}

DlgSize::~DlgSize()
{
    dispose();
}

void DlgSize::dispose()
{
    m_pMF_VALUE.clear();
    m_pCB_STANDARD.clear();
    ModalDialog::dispose();
}


void DlgSize::SetValue( sal_Int32 nVal )
{
    m_pMF_VALUE->SetValue(nVal, FUNIT_CM );
diff --git a/dbaccess/source/ui/dlg/dsselect.cxx b/dbaccess/source/ui/dlg/dsselect.cxx
index 5151b78..739504d 100644
--- a/dbaccess/source/ui/dlg/dsselect.cxx
+++ b/dbaccess/source/ui/dlg/dsselect.cxx
@@ -70,6 +70,20 @@ ODatasourceSelectDialog::ODatasourceSelectDialog(vcl::Window* _pParent, const St
    m_pDatasource->SetDoubleClickHdl(LINK(this,ODatasourceSelectDialog,ListDblClickHdl));
}

ODatasourceSelectDialog::~ODatasourceSelectDialog()
{
    dispose();
}

void ODatasourceSelectDialog::dispose()
{
    m_pDatasource.clear();
    m_pOk.clear();
    m_pCancel.clear();
    ModalDialog::dispose();
}


IMPL_LINK( ODatasourceSelectDialog, ListDblClickHdl, ListBox *, pListBox )
{
    if (pListBox->GetSelectEntryCount())
diff --git a/dbaccess/source/ui/dlg/dsselect.hxx b/dbaccess/source/ui/dlg/dsselect.hxx
index 16f06de..2cb4cb6 100644
--- a/dbaccess/source/ui/dlg/dsselect.hxx
+++ b/dbaccess/source/ui/dlg/dsselect.hxx
@@ -41,19 +41,20 @@ namespace dbaui
class ODatasourceSelectDialog : public ModalDialog
{
protected:
    ListBox*        m_pDatasource;
    OKButton*       m_pOk;
    CancelButton*   m_pCancel;
    VclPtr<ListBox>        m_pDatasource;
    VclPtr<OKButton>       m_pOk;
    VclPtr<CancelButton>   m_pCancel;
    SfxItemSet*     m_pOutputSet;
#ifdef HAVE_ODBC_ADMINISTRATION
    PushButton*     m_pManageDatasources;
    VclPtr<PushButton>     m_pManageDatasources;
    ::std::unique_ptr< OOdbcManagement >
                    m_pODBCManagement;
#endif

public:
    ODatasourceSelectDialog( vcl::Window* _pParent, const StringBag& _rDatasources, SfxItemSet* _pOutputSet = NULL );

    virtual ~ODatasourceSelectDialog();
    virtual void dispose() SAL_OVERRIDE;
    OUString GetSelected() const { return m_pDatasource->GetSelectEntry();}
    void     Select( const OUString& _rEntry ) { m_pDatasource->SelectEntry(_rEntry); }

diff --git a/dbaccess/source/ui/dlg/generalpage.cxx b/dbaccess/source/ui/dlg/generalpage.cxx
index a11b42f..323b302 100644
--- a/dbaccess/source/ui/dlg/generalpage.cxx
+++ b/dbaccess/source/ui/dlg/generalpage.cxx
@@ -74,6 +74,18 @@ namespace dbaui
        m_pDatasourceType->SetSelectHdl(LINK(this, OGeneralPage, OnDatasourceTypeSelected));
    }

    OGeneralPage::~OGeneralPage()
    {
        dispose();
    }

    void OGeneralPage::dispose()
    {
        m_pSpecialMessage.clear();
        m_pDatasourceType.clear();
        OGenericAdministrationPage::dispose();
    }

    namespace
    {
        struct DisplayedType
@@ -533,6 +545,24 @@ namespace dbaui
        m_pPB_OpenDatabase->SetClickHdl( LINK( this, OGeneralPageWizard, OnOpenDocument ) );
    }

    OGeneralPageWizard::~OGeneralPageWizard()
    {
        dispose();
    }

    void OGeneralPageWizard::dispose()
    {
        m_pRB_CreateDatabase.clear();
        m_pRB_OpenExistingDatabase.clear();
        m_pRB_ConnectDatabase.clear();
        m_pFT_EmbeddedDBLabel.clear();
        m_pEmbeddedDBType.clear();
        m_pFT_DocListLabel.clear();
        m_pLB_DocumentList.clear();
        m_pPB_OpenDatabase.clear();
        OGeneralPage::dispose();
    }

    OGeneralPageWizard::CreationMode OGeneralPageWizard::GetDatabaseCreationMode() const
    {
        if ( m_pRB_CreateDatabase->IsChecked() )
diff --git a/dbaccess/source/ui/dlg/generalpage.hxx b/dbaccess/source/ui/dlg/generalpage.hxx
index 083d3f0..6c5d329 100644
--- a/dbaccess/source/ui/dlg/generalpage.hxx
+++ b/dbaccess/source/ui/dlg/generalpage.hxx
@@ -40,7 +40,7 @@ namespace dbaui
                            m_eNotSupportedKnownType;   /// if a data source of an unsupported, but known type is encountered ....

    private:
        FixedText*          m_pSpecialMessage;
        VclPtr<FixedText>          m_pSpecialMessage;

        enum SPECIAL_MESSAGE
        {
@@ -56,7 +56,7 @@ namespace dbaui
        void                insertDatasourceTypeEntryData( const OUString& _sType, const OUString& sDisplayName );

    protected:
        ListBox*            m_pDatasourceType;
        VclPtr<ListBox>            m_pDatasourceType;

        ::dbaccess::ODsnTypeCollection*
                            m_pCollection;  /// the DSN type collection instance
@@ -65,6 +65,9 @@ namespace dbaui
                            m_aURLPrefixes;

    public:
        virtual ~OGeneralPage();
        virtual void dispose() SAL_OVERRIDE;

        /// set a handler which gets called every time the user selects a new type
        void            SetTypeSelectHandler( const Link& _rHandler ) { m_aTypeSelectHandler = _rHandler; }

@@ -115,7 +118,8 @@ namespace dbaui
    {
    public:
        OGeneralPageWizard( vcl::Window* pParent, const SfxItemSet& _rItems );

        virtual ~OGeneralPageWizard();
        virtual void dispose() SAL_OVERRIDE;
    public:
        enum CreationMode
        {
@@ -132,16 +136,16 @@ namespace dbaui

    private:
        // dialog controls
        RadioButton*            m_pRB_CreateDatabase;
        RadioButton*            m_pRB_OpenExistingDatabase;
        RadioButton*            m_pRB_ConnectDatabase;
        VclPtr<RadioButton>            m_pRB_CreateDatabase;
        VclPtr<RadioButton>            m_pRB_OpenExistingDatabase;
        VclPtr<RadioButton>            m_pRB_ConnectDatabase;

        FixedText*              m_pFT_EmbeddedDBLabel;
        ListBox*                m_pEmbeddedDBType;
        VclPtr<FixedText>              m_pFT_EmbeddedDBLabel;
        VclPtr<ListBox>                m_pEmbeddedDBType;

        FixedText*              m_pFT_DocListLabel;
        OpenDocumentListBox*    m_pLB_DocumentList;
        OpenDocumentButton*     m_pPB_OpenDatabase;
        VclPtr<FixedText>              m_pFT_DocListLabel;
        VclPtr<OpenDocumentListBox>    m_pLB_DocumentList;
        VclPtr<OpenDocumentButton>     m_pPB_OpenDatabase;

        // state
        DocumentDescriptor      m_aBrowsedDocument;
diff --git a/dbaccess/source/ui/dlg/indexdialog.cxx b/dbaccess/source/ui/dlg/indexdialog.cxx
index 7377ac6..c534142 100644
--- a/dbaccess/source/ui/dlg/indexdialog.cxx
+++ b/dbaccess/source/ui/dlg/indexdialog.cxx
@@ -318,6 +318,15 @@ namespace dbaui
    {
        setToolBox(NULL);
        delete m_pIndexes;
        m_pActions.clear();
        m_pIndexList.clear();
        m_pIndexDetails.clear();
        m_pDescriptionLabel.clear();
        m_pDescription.clear();
        m_pUnique.clear();
        m_pFieldsLabel.clear();
        m_pFields.clear();
        m_pClose.clear();
        ModalDialog::dispose();
    }

diff --git a/dbaccess/source/ui/dlg/indexfieldscontrol.cxx b/dbaccess/source/ui/dlg/indexfieldscontrol.cxx
index 49a326f..a6aa0ab 100644
--- a/dbaccess/source/ui/dlg/indexfieldscontrol.cxx
+++ b/dbaccess/source/ui/dlg/indexfieldscontrol.cxx
@@ -115,8 +115,8 @@ namespace dbaui

    void IndexFieldsControl::dispose()
    {
        delete m_pSortingCell;
        delete m_pFieldNameCell;
        m_pSortingCell.clear();
        m_pFieldNameCell.clear();
        ::svt::EditBrowseBox::dispose();
    }

diff --git a/dbaccess/source/ui/dlg/paramdialog.cxx b/dbaccess/source/ui/dlg/paramdialog.cxx
index 809c11f..6e5c5aa 100644
--- a/dbaccess/source/ui/dlg/paramdialog.cxx
+++ b/dbaccess/source/ui/dlg/paramdialog.cxx
@@ -120,6 +120,11 @@ namespace dbaui
    {
        if (m_aResetVisitFlag.IsActive())
            m_aResetVisitFlag.Stop();
        m_pAllParams.clear();
        m_pParam.clear();
        m_pTravelNext.clear();
        m_pOKBtn.clear();
        m_pCancelBtn.clear();
        ModalDialog::dispose();
    }

diff --git a/dbaccess/source/ui/dlg/queryfilter.cxx b/dbaccess/source/ui/dlg/queryfilter.cxx
index 5648b84..9f5ef85 100644
--- a/dbaccess/source/ui/dlg/queryfilter.cxx
+++ b/dbaccess/source/ui/dlg/queryfilter.cxx
@@ -190,6 +190,27 @@ DlgFilterCrit::DlgFilterCrit(vcl::Window * pParent,
        m_pET_WHEREVALUE1->GrabFocus();
}

DlgFilterCrit::~DlgFilterCrit()
{
    dispose();
}

void DlgFilterCrit::dispose()
{
    m_pLB_WHEREFIELD1.clear();
    m_pLB_WHERECOMP1.clear();
    m_pET_WHEREVALUE1.clear();
    m_pLB_WHERECOND2.clear();
    m_pLB_WHEREFIELD2.clear();
    m_pLB_WHERECOMP2.clear();
    m_pET_WHEREVALUE2.clear();
    m_pLB_WHERECOND3.clear();
    m_pLB_WHEREFIELD3.clear();
    m_pLB_WHERECOMP3.clear();
    m_pET_WHEREVALUE3.clear();
    ModalDialog::dispose();
}

#define LbText(x)       ((x).GetSelectEntry())
#define LbPos(x)        ((x).GetSelectEntryPos())

diff --git a/dbaccess/source/ui/dlg/queryorder.cxx b/dbaccess/source/ui/dlg/queryorder.cxx
index 9a77bf8..5d7314f 100644
--- a/dbaccess/source/ui/dlg/queryorder.cxx
+++ b/dbaccess/source/ui/dlg/queryorder.cxx
@@ -125,6 +125,24 @@ DlgOrderCrit::DlgOrderCrit(vcl::Window * pParent,
    m_pLB_ORDERFIELD2->SetSelectHdl(LINK(this,DlgOrderCrit,FieldListSelectHdl));
}

DlgOrderCrit::~DlgOrderCrit()
{
    dispose();
}

void DlgOrderCrit::dispose()
{
    m_pLB_ORDERFIELD1.clear();
    m_pLB_ORDERVALUE1.clear();
    m_pLB_ORDERFIELD2.clear();
    m_pLB_ORDERVALUE2.clear();
    m_pLB_ORDERFIELD3.clear();
    m_pLB_ORDERVALUE3.clear();
    for (auto a : m_aColumnList) a.clear();
    for (auto a : m_aValueList) a.clear();
    ModalDialog::dispose();
}

IMPL_LINK_INLINE_START( DlgOrderCrit, FieldListSelectHdl, ListBox *, /*pListBox*/ )
{
    EnableLines();
diff --git a/dbaccess/source/ui/dlg/sqlmessage.cxx b/dbaccess/source/ui/dlg/sqlmessage.cxx
index 5bbd80b..f4cbea7 100644
--- a/dbaccess/source/ui/dlg/sqlmessage.cxx
+++ b/dbaccess/source/ui/dlg/sqlmessage.cxx
@@ -292,8 +292,8 @@ namespace

class OExceptionChainDialog : public ModalDialog
{
    SvTreeListBox*    m_pExceptionList;
    VclMultiLineEdit* m_pExceptionText;
    VclPtr<SvTreeListBox>    m_pExceptionList;
    VclPtr<VclMultiLineEdit> m_pExceptionText;

    OUString        m_sStatusLabel;
    OUString        m_sErrorCodeLabel;
@@ -302,6 +302,13 @@ class OExceptionChainDialog : public ModalDialog

public:
    OExceptionChainDialog( vcl::Window* pParent, const ExceptionDisplayChain& _rExceptions );
    virtual ~OExceptionChainDialog() { dispose(); }
    virtual void dispose() SAL_OVERRIDE
    {
        m_pExceptionList.clear();
        m_pExceptionText.clear();
        ModalDialog::dispose();
    }

protected:
    DECL_LINK(OnExceptionSelected, void*);
diff --git a/dbaccess/source/ui/dlg/tablespage.cxx b/dbaccess/source/ui/dlg/tablespage.cxx
index 9b27593..7e452f1 100644
--- a/dbaccess/source/ui/dlg/tablespage.cxx
+++ b/dbaccess/source/ui/dlg/tablespage.cxx
@@ -110,6 +110,9 @@ namespace dbaui
            ::comphelper::disposeComponent(m_xCurrentConnection);
        }
        catch (RuntimeException&) { }
        m_pTables.clear();
        m_pTablesList.clear();
        m_pTablesDlg.clear();
        OGenericAdministrationPage::dispose();
    }

diff --git a/dbaccess/source/ui/dlg/tablespage.hxx b/dbaccess/source/ui/dlg/tablespage.hxx
index c8b50dd..8a92d17 100644
--- a/dbaccess/source/ui/dlg/tablespage.hxx
+++ b/dbaccess/source/ui/dlg/tablespage.hxx
@@ -36,8 +36,8 @@ namespace dbaui
            :public OGenericAdministrationPage
    {
    private:
        VclContainer*           m_pTables;
        OTableTreeListBox*      m_pTablesList;
        VclPtr<VclContainer>           m_pTables;
        VclPtr<OTableTreeListBox>      m_pTablesList;

        OUString         m_sCatalogSeparator;
        bool                m_bCatalogAtStart : 1;
@@ -46,7 +46,7 @@ namespace dbaui
                                m_xCurrentConnection;   /// valid as long as the page is active
        ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XCollator >
                                m_xCollator;
        OTableSubscriptionDialog* m_pTablesDlg;
        VclPtr<OTableSubscriptionDialog> m_pTablesDlg;

    public:
        virtual bool            FillItemSet(SfxItemSet* _rCoreAttrs) SAL_OVERRIDE;
diff --git a/dbaccess/source/ui/dlg/textconnectionsettings.cxx b/dbaccess/source/ui/dlg/textconnectionsettings.cxx
index a0eb333..3a5583a 100644
--- a/dbaccess/source/ui/dlg/textconnectionsettings.cxx
+++ b/dbaccess/source/ui/dlg/textconnectionsettings.cxx
@@ -39,6 +39,17 @@ namespace dbaui
        m_pOK->SetClickHdl( LINK( this, TextConnectionSettingsDialog, OnOK ) );
    }

    TextConnectionSettingsDialog::~TextConnectionSettingsDialog()
    {
        dispose();
    }

    void TextConnectionSettingsDialog::dispose()
    {
        m_pOK.clear();
        ModalDialog::dispose();
    }

    void TextConnectionSettingsDialog::bindItemStorages( SfxItemSet& _rSet, PropertyValues& _rValues )
    {
        _rValues[ PROPERTY_ID_HEADER_LINE ].reset( new SetItemPropertyStorage( _rSet, DSID_TEXTFILEHEADER ) );
diff --git a/dbaccess/source/ui/inc/CollectionView.hxx b/dbaccess/source/ui/inc/CollectionView.hxx
index 27abf74..f407b70 100644
--- a/dbaccess/source/ui/inc/CollectionView.hxx
+++ b/dbaccess/source/ui/inc/CollectionView.hxx
@@ -34,12 +34,12 @@ namespace dbaui
    */
    class OCollectionView : public ModalDialog
    {
        FixedText*      m_pFTCurrentPath;
        PushButton*    m_pNewFolder;
        PushButton*    m_pUp;
        SvtFileView*    m_pView;
        Edit*           m_pName;
        PushButton*     m_pPB_OK;
        VclPtr<FixedText>      m_pFTCurrentPath;
        VclPtr<PushButton>     m_pNewFolder;
        VclPtr<PushButton>     m_pUp;
        VclPtr<SvtFileView>    m_pView;
        VclPtr<Edit>           m_pName;
        VclPtr<PushButton>     m_pPB_OK;
        ::com::sun::star::uno::Reference< ::com::sun::star::ucb::XContent>                  m_xContent;
        ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >        m_xContext;
        bool        m_bCreateForm;
@@ -56,7 +56,8 @@ namespace dbaui
                        ,const ::com::sun::star::uno::Reference< ::com::sun::star::ucb::XContent>& _xContent
                        ,const OUString& _sDefaultName
                        ,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxContext);

        virtual ~OCollectionView();
        virtual void dispose() SAL_OVERRIDE;
        ::com::sun::star::uno::Reference< ::com::sun::star::ucb::XContent> getSelectedFolder() const { return m_xContent;}
        OUString getName() const;
    };
diff --git a/dbaccess/source/ui/inc/ConnectionLine.hxx b/dbaccess/source/ui/inc/ConnectionLine.hxx
index 6ae780d..dfa2695 100644
--- a/dbaccess/source/ui/inc/ConnectionLine.hxx
+++ b/dbaccess/source/ui/inc/ConnectionLine.hxx
@@ -22,6 +22,7 @@
#include <tools/gen.hxx>
#include "ConnectionLineData.hxx"
#include <functional>
#include <vcl/vclptr.hxx>

class OutputDevice;
namespace dbaui
@@ -38,7 +39,7 @@ namespace dbaui
    class OTableConnection;
    class OConnectionLine
    {
        OTableConnection*       m_pTabConn;
        VclPtr<OTableConnection>       m_pTabConn;
        OConnectionLineDataRef  m_pData;

        Point                   m_aSourceConnPos,
diff --git a/dbaccess/source/ui/inc/ConnectionLineAccess.hxx b/dbaccess/source/ui/inc/ConnectionLineAccess.hxx
index ce345109..4cbb22c 100644
--- a/dbaccess/source/ui/inc/ConnectionLineAccess.hxx
+++ b/dbaccess/source/ui/inc/ConnectionLineAccess.hxx
@@ -22,6 +22,7 @@
#include <com/sun/star/accessibility/XAccessibleRelationSet.hpp>
#include <cppuhelper/implbase2.hxx>
#include <toolkit/awt/vclxaccessiblecomponent.hxx>
#include <vcl/vclptr.hxx>

namespace dbaui
{
@@ -35,7 +36,7 @@ namespace dbaui
    class OConnectionLineAccess     :   public VCLXAccessibleComponent
                                    ,   public OConnectionLineAccess_BASE
    {
        const OTableConnection*             m_pLine; // the window which I should give accessibility to
        VclPtr<const OTableConnection>             m_pLine; // the window which I should give accessibility to
    protected:
        /** this function is called upon disposing the component
        */
diff --git a/dbaccess/source/ui/inc/FieldDescControl.hxx b/dbaccess/source/ui/inc/FieldDescControl.hxx
index 9eb035fc..6de1b7f 100644
--- a/dbaccess/source/ui/inc/FieldDescControl.hxx
+++ b/dbaccess/source/ui/inc/FieldDescControl.hxx
@@ -65,40 +65,40 @@ namespace dbaui
    class OFieldDescControl : public TabPage
    {
    private:
        OTableDesignHelpBar*    pHelp;
        vcl::Window*                 pLastFocusWindow;
        vcl::Window*                 m_pActFocusWindow;
        VclPtr<OTableDesignHelpBar>    pHelp;
        VclPtr<vcl::Window>            pLastFocusWindow;
        VclPtr<vcl::Window>            m_pActFocusWindow;

        FixedText*              pDefaultText;
        FixedText*              pRequiredText;
        FixedText*              pAutoIncrementText;
        FixedText*              pTextLenText;
        FixedText*              pNumTypeText;
        FixedText*              pLengthText;
        FixedText*              pScaleText;
        FixedText*              pFormatText;
        FixedText*              pBoolDefaultText;
        FixedText*              m_pColumnNameText;
        FixedText*              m_pTypeText;
        FixedText*              m_pAutoIncrementValueText;
        VclPtr<FixedText>              pDefaultText;
        VclPtr<FixedText>              pRequiredText;
        VclPtr<FixedText>              pAutoIncrementText;
        VclPtr<FixedText>              pTextLenText;
        VclPtr<FixedText>              pNumTypeText;
        VclPtr<FixedText>              pLengthText;
        VclPtr<FixedText>              pScaleText;
        VclPtr<FixedText>              pFormatText;
        VclPtr<FixedText>              pBoolDefaultText;
        VclPtr<FixedText>              m_pColumnNameText;
        VclPtr<FixedText>              m_pTypeText;
        VclPtr<FixedText>              m_pAutoIncrementValueText;

        OPropListBoxCtrl*       pRequired;
        OPropListBoxCtrl*       pNumType;
        OPropListBoxCtrl*       pAutoIncrement;
        OPropEditCtrl*          pDefault;
        OPropNumericEditCtrl*   pTextLen;
        OPropNumericEditCtrl*   pLength;
        OPropNumericEditCtrl*   pScale;
        OPropEditCtrl*          pFormatSample;
        OPropListBoxCtrl*       pBoolDefault;
        OPropColumnEditCtrl*    m_pColumnName;
        OPropListBoxCtrl*       m_pType;
        OPropEditCtrl*          m_pAutoIncrementValue;
        VclPtr<OPropListBoxCtrl>       pRequired;
        VclPtr<OPropListBoxCtrl>       pNumType;
        VclPtr<OPropListBoxCtrl>       pAutoIncrement;
        VclPtr<OPropEditCtrl>          pDefault;
        VclPtr<OPropNumericEditCtrl>   pTextLen;
        VclPtr<OPropNumericEditCtrl>   pLength;
        VclPtr<OPropNumericEditCtrl>   pScale;
        VclPtr<OPropEditCtrl>          pFormatSample;
        VclPtr<OPropListBoxCtrl>       pBoolDefault;
        VclPtr<OPropColumnEditCtrl>    m_pColumnName;
        VclPtr<OPropListBoxCtrl>       m_pType;
        VclPtr<OPropEditCtrl>          m_pAutoIncrementValue;

        PushButton*             pFormat;
        VclPtr<PushButton>             pFormat;

        ScrollBar*              m_pVertScroll;
        ScrollBar*              m_pHorzScroll;
        VclPtr<ScrollBar>              m_pVertScroll;
        VclPtr<ScrollBar>              m_pHorzScroll;

        TOTypeInfoSP            m_pPreviousType;
        short                   m_nPos;
@@ -126,7 +126,7 @@ namespace dbaui
        void                UpdateFormatSample(OFieldDescription* pFieldDescr);
        void                ArrangeAggregates();

        void                SetPosSize( Control** ppControl, long nRow, sal_uInt16 nCol );
        void                SetPosSize( VclPtr<Control>& rControl, long nRow, sal_uInt16 nCol );

        void                ScrollAggregate(Control* pText, Control* pInput, Control* pButton, long nDeltaX, long nDeltaY);
        void                ScrollAllAggregates();
diff --git a/dbaccess/source/ui/inc/JAccess.hxx b/dbaccess/source/ui/inc/JAccess.hxx
index d964290..59c1c1f 100644
--- a/dbaccess/source/ui/inc/JAccess.hxx
+++ b/dbaccess/source/ui/inc/JAccess.hxx
@@ -21,6 +21,7 @@

#include <toolkit/awt/vclxaccessiblecomponent.hxx>
#include <cppuhelper/implbase1.hxx>
#include <vcl/vclptr.hxx>

namespace dbaui
{
@@ -32,7 +33,7 @@ namespace dbaui
    */
    class OJoinDesignViewAccess     :   public VCLXAccessibleComponent, public OJoinDesignViewAccess_BASE
    {
        OJoinTableView* m_pTableView; // the window which I should give accessibility to
        VclPtr<OJoinTableView> m_pTableView; // the window which I should give accessibility to

    protected:
        /** isEditable returns the current editable state
diff --git a/dbaccess/source/ui/inc/JoinController.hxx b/dbaccess/source/ui/inc/JoinController.hxx
index bfbfc560..4fd57a9 100644
--- a/dbaccess/source/ui/inc/JoinController.hxx
+++ b/dbaccess/source/ui/inc/JoinController.hxx
@@ -51,7 +51,7 @@ namespace dbaui
        Fraction                                m_aZoom;
        ::dbtools::SQLExceptionInfo             m_aExceptionInfo;

        OAddTableDlg*                               m_pAddTableDialog;
        VclPtr<OAddTableDlg>                          m_pAddTableDialog;
        ::std::unique_ptr< AddTableDialogContext >    m_pDialogContext;
        Point                                   m_aMinimumTableViewSize;

diff --git a/dbaccess/source/ui/inc/JoinDesignView.hxx b/dbaccess/source/ui/inc/JoinDesignView.hxx
index 13de042..da50da1 100644
--- a/dbaccess/source/ui/inc/JoinDesignView.hxx
+++ b/dbaccess/source/ui/inc/JoinDesignView.hxx
@@ -33,8 +33,8 @@ namespace dbaui
    class OJoinDesignView : public ODataView
    {
    protected:
        OScrollWindowHelper*    m_pScrollWindow;    // contains only the scrollbars
        OJoinTableView*         m_pTableView;       // presents the upper window
        VclPtr<OScrollWindowHelper>    m_pScrollWindow;    // contains only the scrollbars
        VclPtr<OJoinTableView>         m_pTableView;       // presents the upper window
        OJoinController&        m_rController;

    public:
diff --git a/dbaccess/source/ui/inc/JoinTableView.hxx b/dbaccess/source/ui/inc/JoinTableView.hxx
index bec75b6..466d77c 100644
--- a/dbaccess/source/ui/inc/JoinTableView.hxx
+++ b/dbaccess/source/ui/inc/JoinTableView.hxx
@@ -52,10 +52,10 @@ namespace dbaui
    class OJoinTableView;
    class OScrollWindowHelper : public vcl::Window
    {
        VclPtr<ScrollBar>   m_aHScrollBar;
        VclPtr<ScrollBar>   m_aVScrollBar;
        vcl::Window*        m_pCornerWindow;
        OJoinTableView*     m_pTableView;
        VclPtr<ScrollBar>          m_aHScrollBar;
        VclPtr<ScrollBar>          m_aVScrollBar;
        VclPtr<vcl::Window>        m_pCornerWindow;
        VclPtr<OJoinTableView>     m_pTableView;

    protected:
        virtual void Resize() SAL_OVERRIDE;
@@ -82,11 +82,11 @@ namespace dbaui
        friend class OJoinMoveTabWinUndoAct;

    public:
        typedef std::map<OUString, OTableWindow*> OTableWindowMap;
        typedef std::map<OUString, VclPtr<OTableWindow> > OTableWindowMap;

    private:
        OTableWindowMap     m_aTableMap;
        ::std::vector<OTableConnection*>    m_vTableConnection;
        ::std::vector<VclPtr<OTableConnection> >    m_vTableConnection;

        Idle                m_aDragScrollIdle;
        Rectangle           m_aDragRect;
@@ -97,9 +97,9 @@ namespace dbaui
        Size                m_aOutputSize;


        OTableWindow*           m_pDragWin;
        OTableWindow*           m_pSizingWin;
        OTableConnection*       m_pSelectedConn;
        VclPtr<OTableWindow>           m_pDragWin;
        VclPtr<OTableWindow>           m_pSizingWin;
        VclPtr<OTableConnection>       m_pSelectedConn;


        bool                    m_bTrackingInitiallyMoved;
@@ -107,8 +107,8 @@ namespace dbaui
        DECL_LINK(OnDragScrollTimer, void*);

    protected:
        OTableWindow*               m_pLastFocusTabWin;
        OJoinDesignView*            m_pView;
        VclPtr<OTableWindow>               m_pLastFocusTabWin;
        VclPtr<OJoinDesignView>            m_pView;
        OJoinDesignViewAccess*      m_pAccessible;

    public:
@@ -183,7 +183,7 @@ namespace dbaui

        /** gives a read only access to the connection vector
        */
        const ::std::vector<OTableConnection*>& getTableConnections() const { return m_vTableConnection; }
        const ::std::vector<VclPtr<OTableConnection> >& getTableConnections() const { return m_vTableConnection; }

        bool ExistsAConn(const OTableWindow* pFromWin) const;

@@ -192,7 +192,7 @@ namespace dbaui
            @param  _pFromWin   the table for which connections should be found
            @return an iterator which can be used to travel all connections of the table
        */
        ::std::vector<OTableConnection*>::const_iterator getTableConnections(const OTableWindow* _pFromWin) const;
        ::std::vector<VclPtr<OTableConnection> >::const_iterator getTableConnections(const OTableWindow* _pFromWin) const;

        /** how many connection belongs to single table

diff --git a/dbaccess/source/ui/inc/QueryDesignView.hxx b/dbaccess/source/ui/inc/QueryDesignView.hxx
index 3479893..04d2724 100644
--- a/dbaccess/source/ui/inc/QueryDesignView.hxx
+++ b/dbaccess/source/ui/inc/QueryDesignView.hxx
@@ -69,7 +69,7 @@ namespace dbaui
        ::com::sun::star::lang::Locale      m_aLocale;
        OUString                            m_sDecimalSep;

        OSelectionBrowseBox*                m_pSelectionBox;    // presents the lower window
        VclPtr<OSelectionBrowseBox>         m_pSelectionBox;    // presents the lower window
        ChildFocusState                     m_eChildFocus;
        bool                                m_bInSplitHandler;

diff --git a/dbaccess/source/ui/inc/QueryPropertiesDialog.hxx b/dbaccess/source/ui/inc/QueryPropertiesDialog.hxx
index bb7b9bc..a083b4c 100644
--- a/dbaccess/source/ui/inc/QueryPropertiesDialog.hxx
+++ b/dbaccess/source/ui/inc/QueryPropertiesDialog.hxx
@@ -29,16 +29,17 @@ public:

    QueryPropertiesDialog(
        vcl::Window* pParent, const bool bDistinct, const sal_Int64 nLimit );

    virtual ~QueryPropertiesDialog();
    virtual void dispose() SAL_OVERRIDE;
    bool getDistinct() const;
    sal_Int64 getLimit() const;

private:

    RadioButton* m_pRB_Distinct;
    RadioButton* m_pRB_NonDistinct;
    VclPtr<RadioButton> m_pRB_Distinct;
    VclPtr<RadioButton> m_pRB_NonDistinct;

    LimitBox* m_pLB_Limit;
    VclPtr<LimitBox> m_pLB_Limit;

};

diff --git a/dbaccess/source/ui/inc/QueryTextView.hxx b/dbaccess/source/ui/inc/QueryTextView.hxx
index 78fbc7d..c467993 100644
--- a/dbaccess/source/ui/inc/QueryTextView.hxx
+++ b/dbaccess/source/ui/inc/QueryTextView.hxx
@@ -28,7 +28,7 @@ namespace dbaui
    class OQueryTextView : public vcl::Window
    {
        friend class OQueryViewSwitch;
        OSqlEdit*   m_pEdit;
        VclPtr<OSqlEdit>   m_pEdit;
    public:
        OQueryTextView( OQueryContainerWindow* pParent );
        virtual ~OQueryTextView();
diff --git a/dbaccess/source/ui/inc/QueryViewSwitch.hxx b/dbaccess/source/ui/inc/QueryViewSwitch.hxx
index e6f936a..ccf4580 100644
--- a/dbaccess/source/ui/inc/QueryViewSwitch.hxx
+++ b/dbaccess/source/ui/inc/QueryViewSwitch.hxx
@@ -34,8 +34,8 @@ namespace dbaui
    class OQueryContainerWindow;
    class OQueryViewSwitch
    {
        OQueryDesignView*   m_pDesignView;
        OQueryTextView*     m_pTextView;
        VclPtr<OQueryDesignView>   m_pDesignView;
        VclPtr<OQueryTextView>     m_pTextView;
        bool            m_bAddTableDialogWasVisible; // true if so
    public:
        OQueryViewSwitch(OQueryContainerWindow* pParent, OQueryController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& );
diff --git a/dbaccess/source/ui/inc/RelationControl.hxx b/dbaccess/source/ui/inc/RelationControl.hxx
index a04c08d..12973d5 100644
--- a/dbaccess/source/ui/inc/RelationControl.hxx
+++ b/dbaccess/source/ui/inc/RelationControl.hxx
@@ -32,10 +32,10 @@ namespace dbaui

    class OTableListBoxControl
    {
        ListBox*                                m_pLeftTable;
        ListBox*                                m_pRightTable;
        VclPtr<ListBox>                                m_pLeftTable;
        VclPtr<ListBox>                                m_pRightTable;

        ORelationControl*                       m_pRC_Tables;
        VclPtr<ORelationControl>                       m_pRC_Tables;
        const OJoinTableView::OTableWindowMap*  m_pTableMap;
        IRelationControlInterface*              m_pParentDialog;
        OUString                                m_strCurrentLeft;
diff --git a/dbaccess/source/ui/inc/RelationDlg.hxx b/dbaccess/source/ui/inc/RelationDlg.hxx
index fc4f17a..3435632 100644
--- a/dbaccess/source/ui/inc/RelationDlg.hxx
+++ b/dbaccess/source/ui/inc/RelationDlg.hxx
@@ -39,16 +39,16 @@ namespace dbaui
        boost::scoped_ptr<OTableListBoxControl> m_xTableControl;
        OJoinTableView::OTableWindowMap*        m_pTableMap;

        RadioButton* m_pRB_NoCascUpd;
        RadioButton* m_pRB_CascUpd;
        RadioButton* m_pRB_CascUpdNull;
        RadioButton* m_pRB_CascUpdDefault;
        RadioButton* m_pRB_NoCascDel;
        RadioButton* m_pRB_CascDel;
        RadioButton* m_pRB_CascDelNull;
        RadioButton* m_pRB_CascDelDefault;
        VclPtr<RadioButton> m_pRB_NoCascUpd;
        VclPtr<RadioButton> m_pRB_CascUpd;
        VclPtr<RadioButton> m_pRB_CascUpdNull;
        VclPtr<RadioButton> m_pRB_CascUpdDefault;
        VclPtr<RadioButton> m_pRB_NoCascDel;
        VclPtr<RadioButton> m_pRB_CascDel;
        VclPtr<RadioButton> m_pRB_CascDelNull;
        VclPtr<RadioButton> m_pRB_CascDelDefault;

        OKButton*   m_pPB_OK;
        VclPtr<OKButton>   m_pPB_OK;

        TTableConnectionData::value_type                                        m_pConnData;
        TTableConnectionData::value_type                                        m_pOrigConnData;
@@ -60,6 +60,8 @@ namespace dbaui
        ORelationDialog(OJoinTableView* pParent,
                        const TTableConnectionData::value_type& pConnectionData,
                        bool bAllowTableSelect = false );
        virtual ~ORelationDialog();
        virtual void dispose() SAL_OVERRIDE;

        virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > getConnection() SAL_OVERRIDE { return m_xConnection; }

diff --git a/dbaccess/source/ui/inc/RelationTableView.hxx b/dbaccess/source/ui/inc/RelationTableView.hxx
index eb25186..1ae9625 100644
--- a/dbaccess/source/ui/inc/RelationTableView.hxx
+++ b/dbaccess/source/ui/inc/RelationTableView.hxx
@@ -32,7 +32,7 @@ namespace dbaui
                               public OJoinTableView,
                               public ::comphelper::OContainerListener
    {
        OTableConnection* m_pExistingConnection; ///< is set when a connection was draged on an existing connection
        VclPtr<OTableConnection> m_pExistingConnection; ///< is set when a connection was draged on an existing connection
        TTableConnectionData::value_type m_pCurrentlyTabConnData; ///< set when we creating a connection with more than one keycolumn
        ::rtl::Reference< comphelper::OContainerListenerAdapter> m_pContainerListener;
        bool m_bInRemove;
diff --git a/dbaccess/source/ui/inc/TableConnection.hxx b/dbaccess/source/ui/inc/TableConnection.hxx
index ae4ff74..a027fa0 100644
--- a/dbaccess/source/ui/inc/TableConnection.hxx
+++ b/dbaccess/source/ui/inc/TableConnection.hxx
@@ -41,7 +41,7 @@ namespace dbaui
        ::std::vector<OConnectionLine*> m_vConnLine;
        TTableConnectionData::value_type
                                        m_pData;
        OJoinTableView*                 m_pParent;
        VclPtr<OJoinTableView>          m_pParent;

        bool                            m_bSelected;

diff --git a/dbaccess/source/ui/inc/TableDesignHelpBar.hxx b/dbaccess/source/ui/inc/TableDesignHelpBar.hxx
index f4ef497..bcc7909 100644
--- a/dbaccess/source/ui/inc/TableDesignHelpBar.hxx
+++ b/dbaccess/source/ui/inc/TableDesignHelpBar.hxx
@@ -33,7 +33,7 @@ namespace dbaui
    {
    private:
        OUString        m_sHelpText;
        MultiLineEdit*  m_pTextWin;
        VclPtr<MultiLineEdit>  m_pTextWin;

    protected:
        virtual void Resize() SAL_OVERRIDE;
diff --git a/dbaccess/source/ui/inc/TableDesignView.hxx b/dbaccess/source/ui/inc/TableDesignView.hxx
index cc3349a..7a1016f 100644
--- a/dbaccess/source/ui/inc/TableDesignView.hxx
+++ b/dbaccess/source/ui/inc/TableDesignView.hxx
@@ -33,8 +33,8 @@ namespace dbaui
    class OTableBorderWindow : public vcl::Window
    {
        VclPtr<Splitter>                    m_aHorzSplitter;
        OTableFieldDescWin*                 m_pFieldDescWin;
        OTableEditorCtrl*                   m_pEditorCtrl;
        VclPtr<OTableFieldDescWin>          m_pFieldDescWin;
        VclPtr<OTableEditorCtrl>            m_pEditorCtrl;

        void ImplInitSettings( bool bFont, bool bForeground, bool bBackground );
        void ArrangeChildren( long nSplitPos ,Rectangle& rRect);
@@ -63,7 +63,7 @@ namespace dbaui
        };
    private:
        ::com::sun::star::lang::Locale      m_aLocale;
        OTableBorderWindow*                 m_pWin;
        VclPtr<OTableBorderWindow>          m_pWin;
        OTableController&                   m_rController;
        ChildFocusState                     m_eChildFocus;

diff --git a/dbaccess/source/ui/inc/TableFieldDescription.hxx b/dbaccess/source/ui/inc/TableFieldDescription.hxx
index 9a6992b..d8e5f3d 100644
--- a/dbaccess/source/ui/inc/TableFieldDescription.hxx
+++ b/dbaccess/source/ui/inc/TableFieldDescription.hxx
@@ -25,6 +25,7 @@
#include <rtl/ustring.hxx>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <rtl/ref.hxx>
#include <vcl/vclptr.hxx>

#include <salhelper/simplereferenceobject.hxx>

@@ -49,7 +50,7 @@ namespace dbaui
        OUString             m_aFieldAlias;  ///< column alias
        OUString             m_aFunctionName;///< contains the function name (only if m_eFunctionType != FKT_NONE)

        vcl::Window*                     m_pTabWindow;
        VclPtr<vcl::Window>         m_pTabWindow;

        sal_Int32                   m_eDataType;
        sal_Int32                   m_eFunctionType;
diff --git a/dbaccess/source/ui/inc/TableGrantCtrl.hxx b/dbaccess/source/ui/inc/TableGrantCtrl.hxx
index a0e2e95..5f80e75 100644
--- a/dbaccess/source/ui/inc/TableGrantCtrl.hxx
+++ b/dbaccess/source/ui/inc/TableGrantCtrl.hxx
@@ -53,8 +53,8 @@ class OTableGrantControl : public ::svt::EditBrowseBox

    mutable TTablePrivilegeMap  m_aPrivMap;
    OUString             m_sUserName;
    ::svt::CheckBoxControl*     m_pCheckCell;
    Edit*                       m_pEdit;
    VclPtr<::svt::CheckBoxControl>     m_pCheckCell;
    VclPtr<Edit>                       m_pEdit;
    long                        m_nDataPos;
    ImplSVEvent *               m_nDeactivateEvent;

diff --git a/dbaccess/source/ui/inc/TableWindow.hxx b/dbaccess/source/ui/inc/TableWindow.hxx
index 67cb66b..459184f 100644
--- a/dbaccess/source/ui/inc/TableWindow.hxx
+++ b/dbaccess/source/ui/inc/TableWindow.hxx
@@ -56,7 +56,7 @@ namespace dbaui
        // and the table itself (needed for me as I want to lock it as long as the window is alive)
        VclPtr<FixedImage>          m_aTypeImage;
        VclPtr<OTableWindowTitle>   m_aTitle;
        OTableWindowListBox*    m_pListBox;
        VclPtr<OTableWindowListBox>    m_pListBox;
        OTableWindowAccess*     m_pAccessible;

    private:
diff --git a/dbaccess/source/ui/inc/TableWindowAccess.hxx b/dbaccess/source/ui/inc/TableWindowAccess.hxx
index c37f481..161193c 100644
--- a/dbaccess/source/ui/inc/TableWindowAccess.hxx
+++ b/dbaccess/source/ui/inc/TableWindowAccess.hxx
@@ -22,6 +22,7 @@
#include <com/sun/star/accessibility/XAccessibleRelationSet.hpp>
#include <cppuhelper/implbase2.hxx>
#include <toolkit/awt/vclxaccessiblecomponent.hxx>
#include <vcl/vclptr.hxx>

namespace dbaui
{
@@ -35,7 +36,7 @@ namespace dbaui
    class OTableWindowAccess    :   public VCLXAccessibleComponent
                                ,   public OTableWindowAccess_BASE
    {
        OTableWindow*   m_pTable; // the window which I should give accessibility to
        VclPtr<OTableWindow>   m_pTable; // the window which I should give accessibility to

        ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > getParentChild(sal_Int32 _nIndex);
    protected:
diff --git a/dbaccess/source/ui/inc/TableWindowListBox.hxx b/dbaccess/source/ui/inc/TableWindowListBox.hxx
index 8e57698..dfd8f4b 100644
--- a/dbaccess/source/ui/inc/TableWindowListBox.hxx
+++ b/dbaccess/source/ui/inc/TableWindowListBox.hxx
@@ -30,7 +30,7 @@ namespace dbaui
    struct OJoinExchangeData
    {
    public:
        OTableWindowListBox*    pListBox;       // the ListBox inside the same (you can get the TabWin and the WinName out of it)
        VclPtr<OTableWindowListBox>    pListBox;       // the ListBox inside the same (you can get the TabWin and the WinName out of it)
        SvTreeListEntry*            pEntry;         // the entry, which was dragged or to which was dropped on

        OJoinExchangeData(OTableWindowListBox* pBox);
@@ -56,7 +56,7 @@ namespace dbaui
        Timer                       m_aScrollTimer;
        Point                       m_aMousePos;

        OTableWindow*               m_pTabWin;
        VclPtr<OTableWindow>        m_pTabWin;
        ImplSVEvent *               m_nDropEvent;
        ImplSVEvent *               m_nUiEvent;
        OJoinDropData               m_aDropInfo;
diff --git a/dbaccess/source/ui/inc/TableWindowTitle.hxx b/dbaccess/source/ui/inc/TableWindowTitle.hxx
index 5a08b39..3d009e3 100644
--- a/dbaccess/source/ui/inc/TableWindowTitle.hxx
+++ b/dbaccess/source/ui/inc/TableWindowTitle.hxx
@@ -26,7 +26,7 @@ namespace dbaui
    class OTableWindow;
    class OTableWindowTitle : public FixedText
    {
        OTableWindow* m_pTabWin;
        VclPtr<OTableWindow> m_pTabWin;

    protected:
        virtual void Command(const CommandEvent& rEvt) SAL_OVERRIDE;
diff --git a/dbaccess/source/ui/inc/TokenWriter.hxx b/dbaccess/source/ui/inc/TokenWriter.hxx
index 6e0cc17..35b81ad 100644
--- a/dbaccess/source/ui/inc/TokenWriter.hxx
+++ b/dbaccess/source/ui/inc/TokenWriter.hxx
@@ -196,7 +196,7 @@ namespace dbaui
        ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSetUpdate >    m_xTargetResultSetUpdate;
        ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowUpdate >          m_xTargetRowUpdate;
        ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSetMetaData >  m_xTargetResultSetMetaData;
        vcl::Window*                     m_pParent;
        VclPtr<vcl::Window>         m_pParent;
        bool                        m_bAlreadyAsked;

        bool insertNewRow();
diff --git a/dbaccess/source/ui/inc/VertSplitView.hxx b/dbaccess/source/ui/inc/VertSplitView.hxx
index 22393b9..ac7bde5 100644
--- a/dbaccess/source/ui/inc/VertSplitView.hxx
+++ b/dbaccess/source/ui/inc/VertSplitView.hxx
@@ -27,9 +27,9 @@ namespace dbaui
{
    class OSplitterView : public vcl::Window
    {
        Splitter*                           m_pSplitter;
        vcl::Window*                             m_pLeft;
        vcl::Window*                             m_pRight;
        VclPtr<Splitter>                m_pSplitter;
        VclPtr<vcl::Window>             m_pLeft;
        VclPtr<vcl::Window>             m_pRight;
        bool                            m_bVertical;

        void ImplInitSettings( bool bFont, bool bForeground, bool bBackground );
diff --git a/dbaccess/source/ui/inc/WCPage.hxx b/dbaccess/source/ui/inc/WCPage.hxx
index 7fe938c..008a937 100644
--- a/dbaccess/source/ui/inc/WCPage.hxx
+++ b/dbaccess/source/ui/inc/WCPage.hxx
@@ -34,19 +34,19 @@ namespace dbaui
    class OCopyTable : public OWizardPage
    {
    protected:
        Edit*              m_pEdTableName;
        RadioButton*       m_pRB_DefData;
        RadioButton*       m_pRB_Def;
        RadioButton*       m_pRB_View;
        RadioButton*       m_pRB_AppendData;
        CheckBox*          m_pCB_UseHeaderLine;
        CheckBox*          m_pCB_PrimaryColumn;
        FixedText*         m_pFT_KeyName;
        Edit*              m_pEdKeyName;
        VclPtr<Edit>              m_pEdTableName;
        VclPtr<RadioButton>       m_pRB_DefData;
        VclPtr<RadioButton>       m_pRB_Def;
        VclPtr<RadioButton>       m_pRB_View;
        VclPtr<RadioButton>       m_pRB_AppendData;
        VclPtr<CheckBox>          m_pCB_UseHeaderLine;
        VclPtr<CheckBox>          m_pCB_PrimaryColumn;
        VclPtr<FixedText>         m_pFT_KeyName;
        VclPtr<Edit>              m_pEdKeyName;
        sal_Int16          m_nOldOperation;

        OWizColumnSelect*  m_pPage2;
        OWizNormalExtend*  m_pPage3;
        VclPtr<OWizColumnSelect>  m_pPage2;
        VclPtr<OWizNormalExtend>  m_pPage3;

        bool               m_bPKeyAllowed;
        bool               m_bUseHeaderAllowed;
@@ -65,6 +65,8 @@ namespace dbaui
        virtual OUString        GetTitle() const SAL_OVERRIDE ;

        OCopyTable( vcl::Window * pParent );
        virtual ~OCopyTable();
        virtual void dispose() SAL_OVERRIDE;

        bool IsOptionDefData() const { return m_pRB_DefData->IsChecked(); }
        bool IsOptionDef() const { return m_pRB_Def->IsChecked(); }
diff --git a/dbaccess/source/ui/inc/WColumnSelect.hxx b/dbaccess/source/ui/inc/WColumnSelect.hxx
index a271aaa..9b08f6b 100644
--- a/dbaccess/source/ui/inc/WColumnSelect.hxx
+++ b/dbaccess/source/ui/inc/WColumnSelect.hxx
@@ -35,12 +35,12 @@ namespace dbaui

    class OWizColumnSelect : public OWizardPage
    {
        ListBox*      m_pOrgColumnNames; // left side
        PushButton*   m_pColumn_RH;
        PushButton*   m_pColumns_RH;
        PushButton*   m_pColumn_LH;
        PushButton*   m_pColumns_LH;
        ListBox*      m_pNewColumnNames; // right side
        VclPtr<ListBox>      m_pOrgColumnNames; // left side
        VclPtr<PushButton>   m_pColumn_RH;
        VclPtr<PushButton>   m_pColumns_RH;
        VclPtr<PushButton>   m_pColumn_LH;
        VclPtr<PushButton>   m_pColumns_LH;
        VclPtr<ListBox>      m_pNewColumnNames; // right side

        DECL_LINK( ButtonClickHdl, Button * );
        DECL_LINK( ListDoubleClickHdl, ListBox * );
diff --git a/dbaccess/source/ui/inc/WCopyTable.hxx b/dbaccess/source/ui/inc/WCopyTable.hxx
index f60093d..479947d 100644
--- a/dbaccess/source/ui/inc/WCopyTable.hxx
+++ b/dbaccess/source/ui/inc/WCopyTable.hxx
@@ -238,11 +238,11 @@ namespace dbaui
        ODatabaseExport::TColumns       m_vSourceColumns;
        ODatabaseExport::TColumnVector  m_vSourceVec;

        HelpButton*             m_pbHelp;
        CancelButton*           m_pbCancel;
        PushButton*             m_pbPrev;
        PushButton*             m_pbNext;
        PushButton*             m_pbFinish;
        VclPtr<HelpButton>             m_pbHelp;
        VclPtr<CancelButton>           m_pbCancel;
        VclPtr<PushButton>             m_pbPrev;
        VclPtr<PushButton>             m_pbNext;
        VclPtr<PushButton>             m_pbFinish;

        OTypeInfoMap                            m_aTypeInfo;
        ::std::vector<OTypeInfoMap::iterator>   m_aTypeInfoIndex;
diff --git a/dbaccess/source/ui/inc/WNameMatch.hxx b/dbaccess/source/ui/inc/WNameMatch.hxx
index e4a05ee..61f71b5 100644
--- a/dbaccess/source/ui/inc/WNameMatch.hxx
+++ b/dbaccess/source/ui/inc/WNameMatch.hxx
@@ -50,16 +50,16 @@ namespace dbaui
    // Name matching for data appending
    class OWizNameMatching : public OWizardPage
    {
        FixedText           *m_pTABLE_LEFT;
        FixedText           *m_pTABLE_RIGHT;
        OColumnTreeBox      *m_pCTRL_LEFT;    // left side
        OColumnTreeBox      *m_pCTRL_RIGHT;   // right side
        PushButton          *m_pColumn_up;
        PushButton          *m_pColumn_down;
        PushButton          *m_pColumn_up_right;
        PushButton          *m_pColumn_down_right;
        PushButton          *m_pAll;
        PushButton          *m_pNone;
        VclPtr<FixedText>           m_pTABLE_LEFT;
        VclPtr<FixedText>           m_pTABLE_RIGHT;
        VclPtr<OColumnTreeBox>      m_pCTRL_LEFT;    // left side
        VclPtr<OColumnTreeBox>      m_pCTRL_RIGHT;   // right side
        VclPtr<PushButton>          m_pColumn_up;
        VclPtr<PushButton>          m_pColumn_down;
        VclPtr<PushButton>          m_pColumn_up_right;
        VclPtr<PushButton>          m_pColumn_down_right;
        VclPtr<PushButton>          m_pAll;
        VclPtr<PushButton>          m_pNone;
        OUString            m_sSourceText;
        OUString            m_sDestText;
        Image               m_aImgUp;
@@ -78,7 +78,8 @@ namespace dbaui
        virtual OUString        GetTitle() const SAL_OVERRIDE ;

        OWizNameMatching(vcl::Window* pParent);

        virtual ~OWizNameMatching();
        virtual void dispose() SAL_OVERRIDE;
    };
}
#endif // INCLUDED_DBACCESS_SOURCE_UI_INC_WNAMEMATCH_HXX
diff --git a/dbaccess/source/ui/inc/WTabPage.hxx b/dbaccess/source/ui/inc/WTabPage.hxx
index 9a30d7c..6a5d3ab 100644
--- a/dbaccess/source/ui/inc/WTabPage.hxx
+++ b/dbaccess/source/ui/inc/WTabPage.hxx
@@ -29,12 +29,14 @@ namespace dbaui
    class OWizardPage       : public TabPage
    {
    protected:
        OCopyTableWizard*           m_pParent;
        VclPtr<OCopyTableWizard>           m_pParent;
        bool                    m_bFirstTime;   // Page wird das erste mal gerufen ; should be set in the reset methode

        OWizardPage( vcl::Window *pParent, const OString& rID, const OUString& rUIXMLDescription );

    public:
        virtual ~OWizardPage();
        virtual void dispose() SAL_OVERRIDE;
        virtual void        Reset ( )           = 0;
        virtual bool    LeavePage()         = 0;
        virtual OUString    GetTitle() const    = 0;
diff --git a/dbaccess/source/ui/inc/WTypeSelect.hxx b/dbaccess/source/ui/inc/WTypeSelect.hxx
index 046a484..c2f7d8e 100644
--- a/dbaccess/source/ui/inc/WTypeSelect.hxx
+++ b/dbaccess/source/ui/inc/WTypeSelect.hxx
@@ -37,7 +37,7 @@ namespace dbaui
    class OWizTypeSelectControl : public OFieldDescControl
    {
    protected:
        vcl::Window*             m_pParentTabPage;
        VclPtr<vcl::Window> m_pParentTabPage;
        virtual void        ActivateAggregate( EControlType eType ) SAL_OVERRIDE;
        virtual void        DeactivateAggregate( EControlType eType ) SAL_OVERRIDE;

@@ -52,6 +52,8 @@ namespace dbaui

    public:
        OWizTypeSelectControl(vcl::Window* pParent, vcl::Window* pParentTabPage, OTableDesignHelpBar* pHelpBar=NULL);
        virtual ~OWizTypeSelectControl();
        virtual void dispose() SAL_OVERRIDE;

        virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData> getMetaData() SAL_OVERRIDE;
        virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> getConnection() SAL_OVERRIDE;
@@ -68,13 +70,15 @@ namespace dbaui
                                                bool _bSet = false);
    protected:
        virtual bool            PreNotify( NotifyEvent& rNEvt ) SAL_OVERRIDE;
        vcl::Window*                 m_pParentTabPage;
        VclPtr<vcl::Window>     m_pParentTabPage;
    public:
        OWizTypeSelectList( vcl::Window* pParent, WinBits nStyle = WB_BORDER )
            : MultiListBox(pParent,nStyle)
            , m_bPKey(false)
            , m_pParentTabPage(NULL)
            {}
        virtual ~OWizTypeSelectList();
        virtual void dispose() SAL_OVERRIDE;
        void                    SetPKey(bool bPKey) { m_bPKey = bPKey; }
        void                    SetParentTabPage(vcl::Window* pParentTabPage) { m_pParentTabPage = pParentTabPage; }
    };
@@ -90,13 +94,13 @@ namespace dbaui
        DECL_LINK( ColumnSelectHdl, MultiListBox* );
        DECL_LINK( ButtonClickHdl, Button * );
    protected:
        OWizTypeSelectList      *m_pColumnNames;
        FixedText               *m_pColumns;
        OWizTypeSelectControl   *m_pTypeControl;
        FixedText               *m_pAutoType;
        FixedText               *m_pAutoFt;
        NumericField            *m_pAutoEt;
        PushButton              *m_pAutoPb;
        VclPtr<OWizTypeSelectList>      m_pColumnNames;
        VclPtr<FixedText>               m_pColumns;
        VclPtr<OWizTypeSelectControl>   m_pTypeControl;
        VclPtr<FixedText>               m_pAutoType;
        VclPtr<FixedText>               m_pAutoFt;
        VclPtr<NumericField>            m_pAutoEt;
        VclPtr<PushButton>              m_pAutoPb;

        Image                   m_imgPKey;
        SvStream*               m_pParserStream; // stream to read the tokens from or NULL
diff --git a/dbaccess/source/ui/inc/adtabdlg.hxx b/dbaccess/source/ui/inc/adtabdlg.hxx
index 77b2400..815f8c4 100644
--- a/dbaccess/source/ui/inc/adtabdlg.hxx
+++ b/dbaccess/source/ui/inc/adtabdlg.hxx
@@ -58,15 +58,15 @@ namespace dbaui

    class OAddTableDlg : public ModelessDialog
    {
        RadioButton*        m_pCaseTables;
        RadioButton*        m_pCaseQueries;
        VclPtr<RadioButton>        m_pCaseTables;
        VclPtr<RadioButton>        m_pCaseQueries;

        OTableTreeListBox*  m_pTableList;
        SvTreeListBox*      m_pQueryList;
        VclPtr<OTableTreeListBox>  m_pTableList;
        VclPtr<SvTreeListBox>      m_pQueryList;
        boost::scoped_ptr< TableObjectListFacade > m_xCurrentList;

        PushButton*         m_pAddButton;
        PushButton*         m_pCloseButton;
        VclPtr<PushButton>         m_pAddButton;
        VclPtr<PushButton>         m_pCloseButton;

        IAddTableDialogContext& m_rContext;

diff --git a/dbaccess/source/ui/inc/brwview.hxx b/dbaccess/source/ui/inc/brwview.hxx
index 7768ae3..e68ff09 100644
--- a/dbaccess/source/ui/inc/brwview.hxx
+++ b/dbaccess/source/ui/inc/brwview.hxx
@@ -46,10 +46,10 @@ namespace dbaui
    protected:
        ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl >                 m_xGrid;            // our grid's UNO representation
        ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer >        m_xMe;              // our own UNO representation
        DBTreeView*             m_pTreeView;
        Splitter*               m_pSplitter;
        mutable SbaGridControl* m_pVclControl;  // our grid's VCL representation
        vcl::Window*                 m_pStatus;
        VclPtr<DBTreeView>      m_pTreeView;
        VclPtr<Splitter>        m_pSplitter;
        mutable VclPtr<SbaGridControl> m_pVclControl;  // our grid's VCL representation
        VclPtr<vcl::Window>     m_pStatus;

        DECL_LINK( SplitHdl, void* );
    // attribute access
@@ -94,7 +94,7 @@ namespace dbaui
    class BrowserViewStatusDisplay
    {
    protected:
        UnoDataBrowserView*     m_pView;
        VclPtr<UnoDataBrowserView>     m_pView;

    public:
        BrowserViewStatusDisplay( UnoDataBrowserView* _pView, const OUString& _rStatus );
diff --git a/dbaccess/source/ui/inc/curledit.hxx b/dbaccess/source/ui/inc/curledit.hxx
index 0ec359e..4dff5e1 100644
--- a/dbaccess/source/ui/inc/curledit.hxx
+++ b/dbaccess/source/ui/inc/curledit.hxx
@@ -36,7 +36,7 @@ class OConnectionURLEdit : public Edit
{
    ::dbaccess::ODsnTypeCollection*
                        m_pTypeCollection;
    FixedText*          m_pForcedPrefix;
    VclPtr<FixedText>          m_pForcedPrefix;
    OUString            m_sSaveValueNoPrefix;
    bool            m_bShowPrefix; // when <TRUE> the prefix will be visible, otherwise not

diff --git a/dbaccess/source/ui/inc/datasourceconnector.hxx b/dbaccess/source/ui/inc/datasourceconnector.hxx
index f5d64a0..c5459ec 100644
--- a/dbaccess/source/ui/inc/datasourceconnector.hxx
+++ b/dbaccess/source/ui/inc/datasourceconnector.hxx
@@ -24,6 +24,7 @@
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/sdbc/XConnection.hpp>
#include <com/sun/star/sdbc/XDataSource.hpp>
#include <vcl/vclptr.hxx>

namespace dbtools
{
@@ -38,10 +39,10 @@ namespace dbaui
    class ODatasourceConnector
    {
    protected:
        vcl::Window*         m_pErrorMessageParent;
        VclPtr<vcl::Window>  m_pErrorMessageParent;
        ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
                        m_xContext;
        OUString m_sContextInformation;
                             m_xContext;
        OUString             m_sContextInformation;

    public:
        ODatasourceConnector(
diff --git a/dbaccess/source/ui/inc/dbwizsetup.hxx b/dbaccess/source/ui/inc/dbwizsetup.hxx
index 3529dae3..ce39f6f 100644
--- a/dbaccess/source/ui/inc/dbwizsetup.hxx
+++ b/dbaccess/source/ui/inc/dbwizsetup.hxx
@@ -85,9 +85,9 @@ private:
    OUString                m_sRM_FinalText;
    INetURLObject           m_aDocURL;
    OUString                m_sWorkPath;
    OGeneralPageWizard*     m_pGeneralPage;
    OMySQLIntroPageSetup*   m_pMySQLIntroPage;
    OFinalDBPageSetup*      m_pFinalPage;
    VclPtr<OGeneralPageWizard>     m_pGeneralPage;
    VclPtr<OMySQLIntroPageSetup>   m_pMySQLIntroPage;
    VclPtr<OFinalDBPageSetup>      m_pFinalPage;

    ::dbaccess::ODsnTypeCollection*
                            m_pCollection;  /// the DSN type collection instance
diff --git a/dbaccess/source/ui/inc/directsql.hxx b/dbaccess/source/ui/inc/directsql.hxx
index c0858a7..49a060f 100644
--- a/dbaccess/source/ui/inc/directsql.hxx
+++ b/dbaccess/source/ui/inc/directsql.hxx
@@ -46,13 +46,13 @@ namespace dbaui
        OModuleClient m_aModuleClient;
        ::osl::Mutex    m_aMutex;

        MultiLineEditSyntaxHighlight*    m_pSQL;
        PushButton*       m_pExecute;
        ListBox*          m_pSQLHistory;
        VclMultiLineEdit* m_pStatus;
        CheckBox*         m_pShowOutput;
        VclMultiLineEdit* m_pOutput;
        PushButton*       m_pClose;
        VclPtr<MultiLineEditSyntaxHighlight>    m_pSQL;
        VclPtr<PushButton>       m_pExecute;
        VclPtr<ListBox>          m_pSQLHistory;
        VclPtr<VclMultiLineEdit> m_pStatus;
        VclPtr<CheckBox>         m_pShowOutput;
        VclPtr<VclMultiLineEdit> m_pOutput;
        VclPtr<PushButton>       m_pClose;

        typedef ::std::deque< OUString >  StringQueue;
        StringQueue     m_aStatementHistory;    // previous statements
diff --git a/dbaccess/source/ui/inc/dlgsize.hxx b/dbaccess/source/ui/inc/dlgsize.hxx
index e145cf7..1d51ed11 100644
--- a/dbaccess/source/ui/inc/dlgsize.hxx
+++ b/dbaccess/source/ui/inc/dlgsize.hxx
@@ -39,11 +39,13 @@ namespace dbaui
    protected:
        DECL_LINK( CbClickHdl, Button * );

        MetricField*    m_pMF_VALUE;
        CheckBox*       m_pCB_STANDARD;
        VclPtr<MetricField>    m_pMF_VALUE;
        VclPtr<CheckBox>       m_pCB_STANDARD;

    public:
        DlgSize( vcl::Window * pParent, sal_Int32 nVal, bool bRow, sal_Int32 _nAlternativeStandard = -1 );
        virtual ~DlgSize();
        virtual void dispose() SAL_OVERRIDE;
        sal_Int32 GetValue();
    };
}   // namespace dbaui
diff --git a/dbaccess/source/ui/inc/indexdialog.hxx b/dbaccess/source/ui/inc/indexdialog.hxx
index 75f8661..bd595e0 100644
--- a/dbaccess/source/ui/inc/indexdialog.hxx
+++ b/dbaccess/source/ui/inc/indexdialog.hxx
@@ -85,15 +85,15 @@ namespace dbaui
        ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > m_xConnection;
        SvtViewOptions          m_aGeometrySettings;

        ToolBox                 *m_pActions;
        DbaIndexList            *m_pIndexList;
        FixedText               *m_pIndexDetails;
        FixedText               *m_pDescriptionLabel;
        FixedText               *m_pDescription;
        CheckBox                *m_pUnique;
        FixedText               *m_pFieldsLabel;
        IndexFieldsControl      *m_pFields;
        PushButton              *m_pClose;
        VclPtr<ToolBox>                 m_pActions;
        VclPtr<DbaIndexList>            m_pIndexList;
        VclPtr<FixedText>               m_pIndexDetails;
        VclPtr<FixedText>               m_pDescriptionLabel;
        VclPtr<FixedText>               m_pDescription;
        VclPtr<CheckBox>                m_pUnique;
        VclPtr<FixedText>               m_pFieldsLabel;
        VclPtr<IndexFieldsControl>      m_pFields;
        VclPtr<PushButton>              m_pClose;

        OIndexCollection*       m_pIndexes;
        SvTreeListEntry*            m_pPreviousSelection;
diff --git a/dbaccess/source/ui/inc/indexfieldscontrol.hxx b/dbaccess/source/ui/inc/indexfieldscontrol.hxx
index df9a8f5..3f26215 100644
--- a/dbaccess/source/ui/inc/indexfieldscontrol.hxx
+++ b/dbaccess/source/ui/inc/indexfieldscontrol.hxx
@@ -40,8 +40,8 @@ namespace dbaui

        Link                        m_aModifyHdl;

        ::svt::ListBoxControl*      m_pSortingCell;
        ::svt::ListBoxControl*      m_pFieldNameCell;
        VclPtr<::svt::ListBoxControl>      m_pSortingCell;
        VclPtr<::svt::ListBoxControl>      m_pFieldNameCell;

        OUString                    m_sAscendingText;
        OUString                    m_sDescendingText;
diff --git a/dbaccess/source/ui/inc/linkeddocuments.hxx b/dbaccess/source/ui/inc/linkeddocuments.hxx
index 7c597b2..a13383b 100644
--- a/dbaccess/source/ui/inc/linkeddocuments.hxx
+++ b/dbaccess/source/ui/inc/linkeddocuments.hxx
@@ -32,6 +32,7 @@
#include <com/sun/star/ucb/XContent.hpp>
#include <com/sun/star/sdb/application/XDatabaseDocumentUI.hpp>
#include <comphelper/namedvaluecollection.hxx>
#include <vcl/vclptr.hxx>

namespace vcl { class Window; }
namespace dbaui
@@ -49,7 +50,7 @@ namespace dbaui
                    m_xConnection;
        ::com::sun::star::uno::Reference< ::com::sun::star::sdb::application::XDatabaseDocumentUI >
                    m_xDocumentUI;
        vcl::Window*     m_pDialogParent;
        VclPtr<vcl::Window>    m_pDialogParent;
        OUString    m_sCurrentlyEditing;
        OUString    m_sDataSourceName;

diff --git a/dbaccess/source/ui/inc/paramdialog.hxx b/dbaccess/source/ui/inc/paramdialog.hxx
index 7e27a3d..11db980 100644
--- a/dbaccess/source/ui/inc/paramdialog.hxx
+++ b/dbaccess/source/ui/inc/paramdialog.hxx
@@ -52,11 +52,11 @@ namespace dbaui
    {
    protected:
        // the controls
        ListBox*        m_pAllParams;
        Edit*           m_pParam;
        PushButton*     m_pTravelNext;
        OKButton*       m_pOKBtn;
        CancelButton*   m_pCancelBtn;
        VclPtr<ListBox>        m_pAllParams;
        VclPtr<Edit>           m_pParam;
        VclPtr<PushButton>     m_pTravelNext;
        VclPtr<OKButton>       m_pOKBtn;
        VclPtr<CancelButton>   m_pCancelBtn;

        sal_Int32       m_nCurrentlySelected;

diff --git a/dbaccess/source/ui/inc/querycontainerwindow.hxx b/dbaccess/source/ui/inc/querycontainerwindow.hxx
index ba2447c..5c1e151 100644
--- a/dbaccess/source/ui/inc/querycontainerwindow.hxx
+++ b/dbaccess/source/ui/inc/querycontainerwindow.hxx
@@ -42,8 +42,8 @@ namespace dbaui
    class OQueryContainerWindow : public ODataView
    {
        OQueryViewSwitch*   m_pViewSwitch;
        OBeamer*            m_pBeamer;
        Splitter*           m_pSplitter;
        VclPtr<OBeamer>     m_pBeamer;
        VclPtr<Splitter>    m_pSplitter;
        ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame2 > m_xBeamer;

        DECL_LINK( SplitHdl, void* );
diff --git a/dbaccess/source/ui/inc/queryfilter.hxx b/dbaccess/source/ui/inc/queryfilter.hxx
index e5286f4..06cc951 100644
--- a/dbaccess/source/ui/inc/queryfilter.hxx
+++ b/dbaccess/source/ui/inc/queryfilter.hxx
@@ -67,19 +67,19 @@ namespace dbaui
                        ,public ::svxform::OParseContextClient
    {
    private:
        ListBox*        m_pLB_WHEREFIELD1;
        ListBox*        m_pLB_WHERECOMP1;
        Edit*           m_pET_WHEREVALUE1;
        VclPtr<ListBox>        m_pLB_WHEREFIELD1;
        VclPtr<ListBox>        m_pLB_WHERECOMP1;
        VclPtr<Edit>           m_pET_WHEREVALUE1;

        ListBox*        m_pLB_WHERECOND2;
        ListBox*        m_pLB_WHEREFIELD2;
        ListBox*        m_pLB_WHERECOMP2;
        Edit*           m_pET_WHEREVALUE2;
        VclPtr<ListBox>        m_pLB_WHERECOND2;
        VclPtr<ListBox>        m_pLB_WHEREFIELD2;
        VclPtr<ListBox>        m_pLB_WHERECOMP2;
        VclPtr<Edit>           m_pET_WHEREVALUE2;

        ListBox*        m_pLB_WHERECOND3;
        ListBox*        m_pLB_WHEREFIELD3;
        ListBox*        m_pLB_WHERECOMP3;
        Edit*           m_pET_WHEREVALUE3;
        VclPtr<ListBox>        m_pLB_WHERECOND3;
        VclPtr<ListBox>        m_pLB_WHEREFIELD3;
        VclPtr<ListBox>        m_pLB_WHERECOMP3;
        VclPtr<Edit>           m_pET_WHEREVALUE3;

        OUString        m_aSTR_COMPARE_OPERATORS;

@@ -112,6 +112,8 @@ namespace dbaui
                        const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSingleSelectQueryComposer>& _rxComposer,
                        const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess>& _rxCols
                    );
        virtual ~DlgFilterCrit();
        virtual void dispose() SAL_OVERRIDE;

        void            BuildWherePart();

diff --git a/dbaccess/source/ui/inc/queryorder.hxx b/dbaccess/source/ui/inc/queryorder.hxx
index 706e701..46da944 100644
--- a/dbaccess/source/ui/inc/queryorder.hxx
+++ b/dbaccess/source/ui/inc/queryorder.hxx
@@ -59,12 +59,12 @@ namespace dbaui
    class DlgOrderCrit : public ModalDialog
    {
    protected:
        ListBox*        m_pLB_ORDERFIELD1;
        ListBox*        m_pLB_ORDERVALUE1;
        ListBox*        m_pLB_ORDERFIELD2;
        ListBox*        m_pLB_ORDERVALUE2;
        ListBox*        m_pLB_ORDERFIELD3;
        ListBox*        m_pLB_ORDERVALUE3;
        VclPtr<ListBox>        m_pLB_ORDERFIELD1;
        VclPtr<ListBox>        m_pLB_ORDERVALUE1;
        VclPtr<ListBox>        m_pLB_ORDERFIELD2;
        VclPtr<ListBox>        m_pLB_ORDERVALUE2;
        VclPtr<ListBox>        m_pLB_ORDERFIELD3;
        VclPtr<ListBox>        m_pLB_ORDERVALUE3;
        OUString        aSTR_NOENTRY;
        OUString        m_sOrgOrder;

@@ -72,8 +72,8 @@ namespace dbaui
        ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess> m_xColumns;
        ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection>      m_xConnection;

        ListBox*        m_aColumnList[DOG_ROWS];
        ListBox*        m_aValueList[DOG_ROWS];
        VclPtr<ListBox>        m_aColumnList[DOG_ROWS];
        VclPtr<ListBox>        m_aValueList[DOG_ROWS];

        DECL_LINK( FieldListSelectHdl, ListBox * );
        void            EnableLines();
@@ -83,6 +83,8 @@ namespace dbaui
                        const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection>& _rxConnection,
                        const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSingleSelectQueryComposer>& _rxComposer,
                        const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess>& _rxCols);
        virtual ~DlgOrderCrit();
        virtual void dispose() SAL_OVERRIDE;

        void            BuildOrderPart();

diff --git a/dbaccess/source/ui/inc/sqledit.hxx b/dbaccess/source/ui/inc/sqledit.hxx
index 87b936b..2e5ac22 100644
--- a/dbaccess/source/ui/inc/sqledit.hxx
+++ b/dbaccess/source/ui/inc/sqledit.hxx
@@ -43,7 +43,7 @@ namespace dbaui
        Timer                   m_timerUndoActionCreation;
        Link                    m_lnkTextModifyHdl;
        OUString                m_strOrigText;      // is restored on undo
        OQueryTextView*         m_pView;
        VclPtr<OQueryTextView>         m_pView;
        bool                m_bAccelAction;     // is set on cut, copy, paste
        bool                m_bStopTimer;
        svtools::ColorConfig    m_ColorConfig;
diff --git a/dbaccess/source/ui/inc/textconnectionsettings.hxx b/dbaccess/source/ui/inc/textconnectionsettings.hxx
index 528382d..fdd5a94 100644
--- a/dbaccess/source/ui/inc/textconnectionsettings.hxx
+++ b/dbaccess/source/ui/inc/textconnectionsettings.hxx
@@ -38,6 +38,8 @@ namespace dbaui
    {
    public:
        TextConnectionSettingsDialog( vcl::Window* _pParent, SfxItemSet& _rItems );
        virtual ~TextConnectionSettingsDialog();
        virtual void dispose() SAL_OVERRIDE;

        /** initializes a set of PropertyStorage instaces, which are bound to
            the text-connection relevant items in our item sets
@@ -48,7 +50,7 @@ namespace dbaui

    private:
        ::std::unique_ptr< OTextConnectionHelper >    m_pTextConnectionHelper;
        OKButton                                    *m_pOK;
        VclPtr<OKButton>                              m_pOK;
        SfxItemSet&                                 m_rItems;

    private:
diff --git a/dbaccess/source/ui/inc/undosqledit.hxx b/dbaccess/source/ui/inc/undosqledit.hxx
index e9307c6..66a2f48 100644
--- a/dbaccess/source/ui/inc/undosqledit.hxx
+++ b/dbaccess/source/ui/inc/undosqledit.hxx
@@ -21,6 +21,7 @@

#include "GeneralUndo.hxx"
#include "dbu_control.hrc"
#include <vcl/vclptr.hxx>

namespace dbaui
{
@@ -29,7 +30,7 @@ namespace dbaui
    class OSqlEditUndoAct : public OCommentUndoAction
    {
    protected:
        OSqlEdit*   m_pOwner;
        VclPtr<OSqlEdit>   m_pOwner;
        OUString    m_strNextText;

        virtual void    Undo() SAL_OVERRIDE { ToggleText(); }
diff --git a/dbaccess/source/ui/inc/unodatbr.hxx b/dbaccess/source/ui/inc/unodatbr.hxx
index cd15a2f..637d1aa 100644
--- a/dbaccess/source/ui/inc/unodatbr.hxx
+++ b/dbaccess/source/ui/inc/unodatbr.hxx
@@ -100,11 +100,11 @@ namespace dbaui
        OUString         m_sQueryCommand;    // the command of the query currently loaded (if any)
        //OUString         m_sToBeLoaded;      // contains the element name which should be loaded if any

        DBTreeView*             m_pTreeView;
        Splitter*               m_pSplitter;
        SvTreeList*         m_pTreeModel;           // contains the datasources of the registry
        SvTreeListEntry*            m_pCurrentlyDisplayed;
        ImplSVEvent *               m_nAsyncDrop;
        VclPtr<DBTreeView>      m_pTreeView;
        VclPtr<Splitter>        m_pSplitter;
        SvTreeList*             m_pTreeModel;           // contains the datasources of the registry
        SvTreeListEntry*        m_pCurrentlyDisplayed;
        ImplSVEvent *           m_nAsyncDrop;

        sal_Int16               m_nBorder;              // sal_True when border should be shown

diff --git a/dbaccess/source/ui/misc/ToolBoxHelper.cxx b/dbaccess/source/ui/misc/ToolBoxHelper.cxx
index ac5e461b..52f658e 100644
--- a/dbaccess/source/ui/misc/ToolBoxHelper.cxx
+++ b/dbaccess/source/ui/misc/ToolBoxHelper.cxx
@@ -92,7 +92,7 @@ namespace dbaui
    }
    void OToolBoxHelper::setToolBox(ToolBox* _pTB)
    {
        bool bFirstTime = (m_pToolBox == NULL);
        bool bFirstTime = (m_pToolBox == nullptr);
        m_pToolBox = _pTB;
        if ( m_pToolBox )
        {
diff --git a/dbaccess/source/ui/misc/WCPage.cxx b/dbaccess/source/ui/misc/WCPage.cxx
index db87ee7..4b5aac2 100644
--- a/dbaccess/source/ui/misc/WCPage.cxx
+++ b/dbaccess/source/ui/misc/WCPage.cxx
@@ -19,6 +19,8 @@

#include "WCPage.hxx"
#include "WCopyTable.hxx"
#include "WColumnSelect.hxx"
#include "WExtendPages.hxx"

#include "defaultobjectnamecheck.hxx"
#include <tools/debug.hxx>
@@ -101,6 +103,27 @@ OCopyTable::OCopyTable(vcl::Window * pParent)
    SetText(ModuleRes(STR_COPYTABLE_TITLE_COPY));
}

OCopyTable::~OCopyTable()
{
    dispose();
}

void OCopyTable::dispose()
{
    m_pEdTableName.clear();
    m_pRB_DefData.clear();
    m_pRB_Def.clear();
    m_pRB_View.clear();
    m_pRB_AppendData.clear();
    m_pCB_UseHeaderLine.clear();
    m_pCB_PrimaryColumn.clear();
    m_pFT_KeyName.clear();
    m_pEdKeyName.clear();
    m_pPage2.clear();
    m_pPage3.clear();
    OWizardPage::dispose();
}

IMPL_LINK( OCopyTable, AppendDataClickHdl, Button*, /*pButton*/ )
{

diff --git a/dbaccess/source/ui/misc/WColumnSelect.cxx b/dbaccess/source/ui/misc/WColumnSelect.cxx
index dbb53a83..f3d4a2d 100644
--- a/dbaccess/source/ui/misc/WColumnSelect.cxx
+++ b/dbaccess/source/ui/misc/WColumnSelect.cxx
@@ -50,6 +50,17 @@ OWizardPage::OWizardPage(vcl::Window* pParent, const OString& rID, const OUStrin
{
}

OWizardPage::~OWizardPage()
{
    dispose();
}

void OWizardPage::dispose()
{
    m_pParent.clear();
    TabPage::dispose();
}

// OWizColumnSelect
OWizColumnSelect::OWizColumnSelect( vcl::Window* pParent)
    :OWizardPage( pParent, "ApplyColPage", "dbaccess/ui/applycolpage.ui")
@@ -95,6 +106,12 @@ void OWizColumnSelect::dispose()
        m_pNewColumnNames->RemoveEntry(0);
    }
    m_pNewColumnNames->Clear();
    m_pOrgColumnNames.clear();
    m_pColumn_RH.clear();
    m_pColumns_RH.clear();
    m_pColumn_LH.clear();
    m_pColumns_LH.clear();
    m_pNewColumnNames.clear();
    OWizardPage::dispose();
}

diff --git a/dbaccess/source/ui/misc/WCopyTable.cxx b/dbaccess/source/ui/misc/WCopyTable.cxx
index f439492..887a1d0 100644
--- a/dbaccess/source/ui/misc/WCopyTable.cxx
+++ b/dbaccess/source/ui/misc/WCopyTable.cxx
@@ -710,11 +710,11 @@ void OCopyTableWizard::dispose()
    m_aTypeInfo.clear();
    m_aDestTypeInfoIndex.clear();

    delete m_pbHelp;
    delete m_pbCancel;
    delete m_pbPrev;
    delete m_pbNext;
    delete m_pbFinish;
    m_pbHelp.clear();
    m_pbCancel.clear();
    m_pbPrev.clear();
    m_pbNext.clear();
    m_pbFinish.clear();
    WizardDialog::dispose();
}

diff --git a/dbaccess/source/ui/misc/WNameMatch.cxx b/dbaccess/source/ui/misc/WNameMatch.cxx
index a837ff2..2707ed7 100644
--- a/dbaccess/source/ui/misc/WNameMatch.cxx
+++ b/dbaccess/source/ui/misc/WNameMatch.cxx
@@ -72,6 +72,26 @@ OWizNameMatching::OWizNameMatching( vcl::Window* pParent)
    m_sDestText   += "\n";
}

OWizNameMatching::~OWizNameMatching()
{
    dispose();
}

void OWizNameMatching::dispose()
{
    m_pTABLE_LEFT.clear();
    m_pTABLE_RIGHT.clear();
    m_pCTRL_LEFT.clear();
    m_pCTRL_RIGHT.clear();
    m_pColumn_up.clear();
    m_pColumn_down.clear();
    m_pColumn_up_right.clear();
    m_pColumn_down_right.clear();
    m_pAll.clear();
    m_pNone.clear();
    OWizardPage::dispose();
}

void OWizNameMatching::Reset()
{
    // urspr"unglichen zustand wiederherstellen
diff --git a/dbaccess/source/ui/misc/WTypeSelect.cxx b/dbaccess/source/ui/misc/WTypeSelect.cxx
index 44c2b6b..0eb7d8f2 100644
--- a/dbaccess/source/ui/misc/WTypeSelect.cxx
+++ b/dbaccess/source/ui/misc/WTypeSelect.cxx
@@ -49,6 +49,17 @@ OWizTypeSelectControl::OWizTypeSelectControl(vcl::Window* pParent, vcl::Window* 
    m_pParentTabPage = pParentTabPage;
}

OWizTypeSelectControl::~OWizTypeSelectControl()
{
    dispose();
}

void OWizTypeSelectControl::dispose()
{
    m_pParentTabPage.clear();
    OFieldDescControl::dispose();
}

void OWizTypeSelectControl::ActivateAggregate( EControlType eType )
{
    switch(eType )
@@ -82,7 +93,7 @@ void OWizTypeSelectControl::CellModified(long nRow, sal_uInt16 nColId )
    OSL_ENSURE(nRow == -1,"nRow muss -1 sein!");
    (void)nRow;

    MultiListBox *pListBox = static_cast<OWizTypeSelect*>(m_pParentTabPage)->m_pColumnNames;
    MultiListBox *pListBox = static_cast<OWizTypeSelect*>(m_pParentTabPage.get())->m_pColumnNames;

    OFieldDescription* pCurFieldDescr = getCurrentFieldDescData();

@@ -132,13 +143,13 @@ void OWizTypeSelectControl::CellModified(long nRow, sal_uInt16 nColId )
                    pWiz->showError(strMessage);
                    pCurFieldDescr->SetName(sName);
                    DisplayData(pCurFieldDescr);
                    static_cast<OWizTypeSelect*>(m_pParentTabPage)->setDuplicateName(true);
                    static_cast<OWizTypeSelect*>(m_pParentTabPage.get())->setDuplicateName(true);
                    return;
                }

                OUString sOldName = pCurFieldDescr->GetName();
                pCurFieldDescr->SetName(sNewName);
                static_cast<OWizTypeSelect*>(m_pParentTabPage)->setDuplicateName(false);
                static_cast<OWizTypeSelect*>(m_pParentTabPage.get())->setDuplicateName(false);

                // now we change the name
                OCopyTableWizard::TNameMapping::iterator aIter = pWiz->m_mNameMapping.begin();
@@ -167,42 +178,42 @@ void OWizTypeSelectControl::CellModified(long nRow, sal_uInt16 nColId )

::com::sun::star::lang::Locale  OWizTypeSelectControl::GetLocale() const
{
    return static_cast<OWizTypeSelect*>(m_pParentTabPage)->m_pParent->GetLocale();
    return static_cast<OWizTypeSelect*>(m_pParentTabPage.get())->m_pParent->GetLocale();
}

Reference< XNumberFormatter > OWizTypeSelectControl::GetFormatter() const
{
    return static_cast<OWizTypeSelect*>(m_pParentTabPage)->m_pParent->GetFormatter();
    return static_cast<OWizTypeSelect*>(m_pParentTabPage.get())->m_pParent->GetFormatter();
}

TOTypeInfoSP    OWizTypeSelectControl::getTypeInfo(sal_Int32 _nPos)
{
    return static_cast<OWizTypeSelect*>(m_pParentTabPage)->m_pParent->getDestTypeInfo(_nPos);
    return static_cast<OWizTypeSelect*>(m_pParentTabPage.get())->m_pParent->getDestTypeInfo(_nPos);
}

const OTypeInfoMap* OWizTypeSelectControl::getTypeInfo() const
{
    return &static_cast<OWizTypeSelect*>(m_pParentTabPage)->m_pParent->getDestTypeInfo();
    return &static_cast<OWizTypeSelect*>(m_pParentTabPage.get())->m_pParent->getDestTypeInfo();
}

::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData> OWizTypeSelectControl::getMetaData()
{
    return static_cast<OWizTypeSelect*>(m_pParentTabPage)->m_pParent->m_xDestConnection->getMetaData();
    return static_cast<OWizTypeSelect*>(m_pParentTabPage.get())->m_pParent->m_xDestConnection->getMetaData();
}

::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> OWizTypeSelectControl::getConnection()
{
    return static_cast<OWizTypeSelect*>(m_pParentTabPage)->m_pParent->m_xDestConnection;
    return static_cast<OWizTypeSelect*>(m_pParentTabPage.get())->m_pParent->m_xDestConnection;
}

bool OWizTypeSelectControl::isAutoIncrementValueEnabled() const
{
    return static_cast<OWizTypeSelect*>(m_pParentTabPage)->m_bAutoIncrementEnabled;
    return static_cast<OWizTypeSelect*>(m_pParentTabPage.get())->m_bAutoIncrementEnabled;
}

OUString OWizTypeSelectControl::getAutoIncrementValue() const
{
    return static_cast<OWizTypeSelect*>(m_pParentTabPage)->m_sAutoIncrementValue;
    return static_cast<OWizTypeSelect*>(m_pParentTabPage.get())->m_sAutoIncrementValue;
}

#define IMG_PRIMARY_KEY 1
@@ -255,7 +266,13 @@ OWizTypeSelect::~OWizTypeSelect()

void OWizTypeSelect::dispose()
{
    delete m_pTypeControl;
    m_pTypeControl.clear();
    m_pColumnNames.clear();
    m_pColumns.clear();
    m_pAutoType.clear();
    m_pAutoFt.clear();
    m_pAutoEt.clear();
    m_pAutoPb.clear();
    OWizardPage::dispose();
}

@@ -345,6 +362,17 @@ IMPL_LINK( OWizTypeSelect, ButtonClickHdl, Button *, /*pButton*/ )
    return 0;
}

OWizTypeSelectList::~OWizTypeSelectList()
{
    dispose();
}

void OWizTypeSelectList::dispose()
{
    m_pParentTabPage.clear();
    MultiListBox::dispose();
}

bool OWizTypeSelectList::IsPrimaryKeyAllowed() const
{
    sal_uInt16 nCount = GetSelectEntryCount();
@@ -365,7 +393,7 @@ void OWizTypeSelectList::setPrimaryKey(OFieldDescription* _pFieldDescr, sal_uInt
    RemoveEntry(_nPos);
    _pFieldDescr->SetPrimaryKey(_bSet);
    if( _bSet )
        InsertEntry(sColumnName, static_cast<OWizTypeSelect*>(m_pParentTabPage)->m_imgPKey,_nPos);
        InsertEntry(sColumnName, static_cast<OWizTypeSelect*>(m_pParentTabPage.get())->m_imgPKey,_nPos);
    else if( _pFieldDescr->getTypeInfo()->bNullable )
    {
        _pFieldDescr->SetControlDefault(Any());
diff --git a/dbaccess/source/ui/misc/singledoccontroller.cxx b/dbaccess/source/ui/misc/singledoccontroller.cxx
index 3f55ef2..77408cd 100644
--- a/dbaccess/source/ui/misc/singledoccontroller.cxx
+++ b/dbaccess/source/ui/misc/singledoccontroller.cxx
@@ -18,6 +18,7 @@
 */

#include <dbaccess/dbaundomanager.hxx>
#include <dbaccess/dataview.hxx>
#include "singledoccontroller.hxx"
#include "browserids.hxx"
#include "dbu_misc.hrc"
diff --git a/dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx b/dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx
index 2b6b3a4..af7ef4e 100644
--- a/dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx
+++ b/dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx
@@ -82,10 +82,10 @@ namespace dbaui
        {
            // search the position of our table window in the table window map
            nIndex = m_pLine->GetParent()->GetTabWinMap().size();
            const ::std::vector<OTableConnection*>& rVec = m_pLine->GetParent()->getTableConnections();
            ::std::vector<OTableConnection*>::const_iterator aIter = rVec.begin();
            ::std::vector<OTableConnection*>::const_iterator aEnd = rVec.end();
            for (; aIter != aEnd && (*aIter) != m_pLine; ++nIndex,++aIter)
            const auto& rVec = m_pLine->GetParent()->getTableConnections();
            auto aIter = rVec.begin();
            auto aEnd = rVec.end();
            for (; aIter != aEnd && (*aIter).get() != m_pLine; ++nIndex,++aIter)
                ;
            nIndex = ( aIter != aEnd ) ? nIndex : -1;
        }
@@ -186,6 +186,7 @@ namespace dbaui
    {
        // clear vector
        clearLineData();
        m_pParent.clear();
        vcl::Window::dispose();
    }
    bool OConnectionLineAccess::isEditable() const
diff --git a/dbaccess/source/ui/querydesign/JoinController.cxx b/dbaccess/source/ui/querydesign/JoinController.cxx
index 9e192e6..9aab0ce 100644
--- a/dbaccess/source/ui/querydesign/JoinController.cxx
+++ b/dbaccess/source/ui/querydesign/JoinController.cxx
@@ -225,7 +225,7 @@ FeatureState OJoinController::GetState(sal_uInt16 _nId) const
        case ID_BROWSER_ADDTABLE:
            aReturn.bEnabled = ( getView() != NULL )
                            && const_cast< OJoinController* >( this )->getJoinView()->getTableView()->IsAddAllowed();
            aReturn.bChecked = aReturn.bEnabled && m_pAddTableDialog != NULL && m_pAddTableDialog->IsVisible() ;
            aReturn.bChecked = aReturn.bEnabled && m_pAddTableDialog != nullptr && m_pAddTableDialog->IsVisible() ;
            if ( aReturn.bEnabled )
                aReturn.sTitle = OAddTableDlg::getDialogTitleForContext( impl_getDialogContext() );
            break;
diff --git a/dbaccess/source/ui/querydesign/JoinDesignView.cxx b/dbaccess/source/ui/querydesign/JoinDesignView.cxx
index 58399a0..de5b304 100644
--- a/dbaccess/source/ui/querydesign/JoinDesignView.cxx
+++ b/dbaccess/source/ui/querydesign/JoinDesignView.cxx
@@ -66,10 +66,8 @@ OJoinDesignView::~OJoinDesignView()

void OJoinDesignView::dispose()
{
    boost::scoped_ptr<vcl::Window> aT3(m_pScrollWindow);
    m_pScrollWindow = NULL;
    boost::scoped_ptr<vcl::Window> aT2(m_pTableView);
    m_pTableView = NULL;
    m_pScrollWindow.clear();
    m_pTableView.clear();
    ODataView::dispose();
}

diff --git a/dbaccess/source/ui/querydesign/JoinTableView.cxx b/dbaccess/source/ui/querydesign/JoinTableView.cxx
index be2b0e0..ad15132 100644
--- a/dbaccess/source/ui/querydesign/JoinTableView.cxx
+++ b/dbaccess/source/ui/querydesign/JoinTableView.cxx
@@ -94,11 +94,10 @@ OScrollWindowHelper::~OScrollWindowHelper()

void OScrollWindowHelper::dispose()
{
    boost::scoped_ptr<vcl::Window> aTemp(m_pCornerWindow);
    m_pCornerWindow = NULL;
    m_pTableView = NULL;
    m_aHScrollBar.disposeAndClear();
    m_aVScrollBar.disposeAndClear();
    m_pCornerWindow.clear();
    m_pTableView.clear();
    vcl::Window::dispose();
}

@@ -194,6 +193,11 @@ void OJoinTableView::dispose()
    }
    // delete lists
    clearLayoutInformation();
    m_pDragWin.clear();
    m_pSizingWin.clear();
    m_pSelectedConn.clear();
    m_pLastFocusTabWin.clear();
    m_pView.clear();
    vcl::Window::dispose();
}

@@ -271,7 +275,7 @@ OTableWindow* OJoinTableView::GetTabWindow( const OUString& rName )
{
    OTableWindowMap::iterator aIter = m_aTableMap.find(rName);

    return aIter == m_aTableMap.end() ? NULL : aIter->second;
    return aIter == m_aTableMap.end() ? nullptr : aIter->second;
}

TTableWindowData::value_type OJoinTableView::createTableWindowData(const OUString& _rComposedName
@@ -354,7 +358,7 @@ void OJoinTableView::RemoveTabWin( OTableWindow* pTabWin )
    bool bRemove = true;
    TTableWindowData::value_type pData = pTabWin->GetData();
    sal_Int32 nCount = m_vTableConnection.size();
    ::std::vector<OTableConnection*>::reverse_iterator aIter = m_vTableConnection.rbegin();
    auto aIter = m_vTableConnection.rbegin();
    while(aIter != m_vTableConnection.rend() && bRemove)
    {
        OTableConnection* pTabConn = (*aIter);
@@ -828,8 +832,8 @@ void OJoinTableView::MouseButtonUp( const MouseEvent& rEvt )
    {
        DeselectConn(GetSelectedConn());

        ::std::vector<OTableConnection*>::iterator aIter = m_vTableConnection.begin();
        ::std::vector<OTableConnection*>::iterator aEnd = m_vTableConnection.end();
        auto aIter = m_vTableConnection.begin();
        auto aEnd = m_vTableConnection.end();
        for(;aIter != aEnd;++aIter)
        {
            if( (*aIter)->CheckHit(rEvt.GetPosPixel()) )
@@ -941,20 +945,21 @@ void OJoinTableView::Paint( const Rectangle& rRect )
void OJoinTableView::InvalidateConnections()
{
    // draw Joins
    ::std::for_each(m_vTableConnection.begin(),m_vTableConnection.end(),
        ::std::mem_fun(& OTableConnection::InvalidateConnection));
    for(auto & conn : m_vTableConnection)
        conn->InvalidateConnection();
}

void OJoinTableView::DrawConnections( const Rectangle& rRect )
{
    // draw Joins
    ::std::for_each(m_vTableConnection.begin(),m_vTableConnection.end(),boost::bind( &OTableConnection::Draw, _1, boost::cref( rRect )));
    for(auto conn : m_vTableConnection)
        conn->Draw(rRect);
    // finally redraw the selected one above all others
    if (GetSelectedConn())
        GetSelectedConn()->Draw( rRect );
}

::std::vector<OTableConnection*>::const_iterator OJoinTableView::getTableConnections(const OTableWindow* _pFromWin) const
::std::vector<VclPtr<OTableConnection> >::const_iterator OJoinTableView::getTableConnections(const OTableWindow* _pFromWin) const
{
    return ::std::find_if(  m_vTableConnection.begin(),
                            m_vTableConnection.end(),
@@ -980,8 +985,8 @@ void OJoinTableView::ClearAll()
    HideTabWins();

    // and the same with the Connections
    ::std::vector<OTableConnection*>::iterator aIter = m_vTableConnection.begin();
    ::std::vector<OTableConnection*>::iterator aEnd = m_vTableConnection.end();
    auto aIter = m_vTableConnection.begin();
    auto aEnd = m_vTableConnection.end();
    for(;aIter != aEnd;++aIter)
        RemoveConnection( *aIter ,true);
    m_vTableConnection.clear();
@@ -997,7 +1002,7 @@ void OJoinTableView::ClearAll()

bool OJoinTableView::ScrollWhileDragging()
{
    OSL_ENSURE(m_pDragWin != NULL, "OJoinTableView::ScrollWhileDragging must not be called when a window is being dragged !");
    OSL_ENSURE(m_pDragWin != nullptr, "OJoinTableView::ScrollWhileDragging must not be called when a window is being dragged !");

    // kill the timer
    if (m_aDragScrollIdle.IsActive())
@@ -1169,8 +1174,8 @@ void OJoinTableView::Command(const CommandEvent& rEvt)
                DeselectConn(pSelConnection);

                const Point& aMousePos = rEvt.GetMousePosPixel();
                ::std::vector<OTableConnection*>::iterator aIter = m_vTableConnection.begin();
                ::std::vector<OTableConnection*>::iterator aEnd = m_vTableConnection.end();
                auto aIter = m_vTableConnection.begin();
                auto aEnd = m_vTableConnection.end();
                for(;aIter != aEnd;++aIter)
                {
                    if( (*aIter)->CheckHit(aMousePos) )
@@ -1199,8 +1204,8 @@ OTableConnection* OJoinTableView::GetTabConn(const OTableWindow* pLhs,const OTab
    {
        bool bFoundStart = _rpFirstAfter ? sal_False : sal_True;

        ::std::vector<OTableConnection*>::const_iterator aIter = m_vTableConnection.begin();
        ::std::vector<OTableConnection*>::const_iterator aEnd = m_vTableConnection.end();
        auto aIter = m_vTableConnection.begin();
        auto aEnd = m_vTableConnection.end();
        for(;aIter != aEnd;++aIter)
        {
            OTableConnection* pData = *aIter;
@@ -1332,12 +1337,12 @@ bool OJoinTableView::PreNotify(NotifyEvent& rNEvt)
                        {   // no active tab win -> travel the connections
                            // find the currently selected conn within the conn list
                            sal_Int32 i(0);
                            for (   ::std::vector<OTableConnection*>::iterator connectionIter = m_vTableConnection.begin();
                            for (   auto connectionIter = m_vTableConnection.begin();
                                    connectionIter != m_vTableConnection.end();
                                    ++connectionIter, ++i
                                )
                            {
                                if ( (*connectionIter) == GetSelectedConn() )
                                if ( (*connectionIter).get() == GetSelectedConn() )
                                    break;
                            }
                            if (i == sal_Int32(m_vTableConnection.size() - 1) && bForward)
@@ -1531,11 +1536,6 @@ void OJoinTableView::clearLayoutInformation()

    m_aTableMap.clear();

    ::std::vector<OTableConnection*>::const_iterator aIter2 = m_vTableConnection.begin();
    ::std::vector<OTableConnection*>::const_iterator aEnd2 = m_vTableConnection.end();
    for(;aIter2 != aEnd2;++aIter2)
        delete *aIter2;

    m_vTableConnection.clear();
}

diff --git a/dbaccess/source/ui/querydesign/QTableWindow.cxx b/dbaccess/source/ui/querydesign/QTableWindow.cxx
index e12ad29..607552f 100644
--- a/dbaccess/source/ui/querydesign/QTableWindow.cxx
+++ b/dbaccess/source/ui/querydesign/QTableWindow.cxx
@@ -144,7 +144,7 @@ void OQueryTableWindow::OnEntryDoubleClicked(SvTreeListEntry* pEntry)

bool OQueryTableWindow::ExistsField(const OUString& strFieldName, OTableFieldDescRef& rInfo)
{
    OSL_ENSURE(m_pListBox != NULL, "OQueryTableWindow::ExistsField : doesn't have ::com::sun::star::form::ListBox !");
    OSL_ENSURE(m_pListBox != nullptr, "OQueryTableWindow::ExistsField : doesn't have ::com::sun::star::form::ListBox !");
    OSL_ENSURE(rInfo.is(),"OQueryTableWindow::ExistsField: invalid argument for OTableFieldDescRef!");
    Reference< XConnection> xConnection = getTableView()->getDesignView()->getController().getConnection();
    bool bExists = false;
diff --git a/dbaccess/source/ui/querydesign/QueryDesignFieldUndoAct.hxx b/dbaccess/source/ui/querydesign/QueryDesignFieldUndoAct.hxx
index 61c7507..a009832 100644
--- a/dbaccess/source/ui/querydesign/QueryDesignFieldUndoAct.hxx
+++ b/dbaccess/source/ui/querydesign/QueryDesignFieldUndoAct.hxx
@@ -30,7 +30,7 @@ namespace dbaui
    class OQueryDesignFieldUndoAct : public OCommentUndoAction
    {
    protected:
        OSelectionBrowseBox*    pOwner;
        VclPtr<OSelectionBrowseBox>    pOwner;
        sal_uInt16                  m_nColumnPostion;

        virtual void    Undo() SAL_OVERRIDE = 0;
diff --git a/dbaccess/source/ui/querydesign/QueryDesignUndoAction.hxx b/dbaccess/source/ui/querydesign/QueryDesignUndoAction.hxx
index d74ce27..9166a2e 100644
--- a/dbaccess/source/ui/querydesign/QueryDesignUndoAction.hxx
+++ b/dbaccess/source/ui/querydesign/QueryDesignUndoAction.hxx
@@ -20,6 +20,7 @@
#define INCLUDED_DBACCESS_SOURCE_UI_QUERYDESIGN_QUERYDESIGNUNDOACTION_HXX

#include "GeneralUndo.hxx"
#include <vcl/vclptr.hxx>

namespace dbaui
{
@@ -28,7 +29,7 @@ namespace dbaui
    class OQueryDesignUndoAction : public OCommentUndoAction
    {
    protected:
        OJoinTableView* m_pOwner;       // in this container it all happens
        VclPtr<OJoinTableView> m_pOwner;       // in this container it all happens

    public:
        OQueryDesignUndoAction(OJoinTableView* pOwner, sal_uInt16 nCommentID) : OCommentUndoAction(nCommentID), m_pOwner(pOwner) { }
diff --git a/dbaccess/source/ui/querydesign/QueryDesignView.cxx b/dbaccess/source/ui/querydesign/QueryDesignView.cxx
index e3c3ea2..378afe6 100644
--- a/dbaccess/source/ui/querydesign/QueryDesignView.cxx
+++ b/dbaccess/source/ui/querydesign/QueryDesignView.cxx
@@ -508,12 +508,12 @@ namespace
        pEntryConn->SetVisited(true);

        // first search for the "to" window
        const ::std::vector<OTableConnection*>& rConnections = pEntryConn->GetParent()->getTableConnections();
        ::std::vector<OTableConnection*>::const_iterator aIter = rConnections.begin();
        ::std::vector<OTableConnection*>::const_iterator aEnd = rConnections.end();
        const auto& rConnections = pEntryConn->GetParent()->getTableConnections();
        auto aIter = rConnections.begin();
        auto aEnd = rConnections.end();
        for(;aIter != aEnd;++aIter)
        {
            OQueryTableConnection* pNext = static_cast<OQueryTableConnection*>(*aIter);
            OQueryTableConnection* pNext = static_cast<OQueryTableConnection*>((*aIter).get());
            if(!pNext->IsVisited() && (pNext->GetSourceWin() == pEntryTabTo || pNext->GetDestWin() == pEntryTabTo))
            {
                OQueryTableWindow* pEntryTab = pNext->GetSourceWin() == pEntryTabTo ? static_cast<OQueryTableWindow*>(pNext->GetDestWin()) : static_cast<OQueryTableWindow*>(pNext->GetSourceWin());
@@ -531,7 +531,7 @@ namespace
            aIter = rConnections.begin();
            for(;aIter != aEnd;++aIter)
            {
                OQueryTableConnection* pNext = static_cast<OQueryTableConnection*>(*aIter);
                OQueryTableConnection* pNext = static_cast<OQueryTableConnection*>((*aIter).get());
                if(!pNext->IsVisited() && (pNext->GetSourceWin() == pEntryTabFrom || pNext->GetDestWin() == pEntryTabFrom))
                {
                    OQueryTableWindow* pEntryTab = pNext->GetSourceWin() == pEntryTabFrom ? static_cast<OQueryTableWindow*>(pNext->GetDestWin()) : static_cast<OQueryTableWindow*>(pNext->GetSourceWin());
@@ -665,7 +665,7 @@ namespace
                        bool bFound = false;
                        for(;!bFound && tableIter != tableEnd ;++tableIter)
                        {
                            OQueryTableWindow* pTabWin = static_cast<OQueryTableWindow*>(tableIter->second);
                            OQueryTableWindow* pTabWin = static_cast<OQueryTableWindow*>(tableIter->second.get());

                            bFound = pTabWin->ExistsField( rFieldName, aInfo );
                            if ( bFound )
@@ -984,13 +984,13 @@ namespace

    void GenerateInnerJoinCriterias(const Reference< XConnection>& _xConnection,
                                    OUString& _rJoinCrit,
                                    const ::std::vector<OTableConnection*>* _pConnList)
                                    const ::std::vector<VclPtr<OTableConnection> >& _rConnList)
    {
        ::std::vector<OTableConnection*>::const_iterator aIter = _pConnList->begin();
        ::std::vector<OTableConnection*>::const_iterator aEnd = _pConnList->end();
        auto aIter = _rConnList.begin();
        auto aEnd = _rConnList.end();
        for(;aIter != aEnd;++aIter)
        {
            const OQueryTableConnection* pEntryConn = static_cast<const OQueryTableConnection*>(*aIter);
            const OQueryTableConnection* pEntryConn = static_cast<const OQueryTableConnection*>((*aIter).get());
            OQueryTableConnectionData* pEntryConnData = static_cast<OQueryTableConnectionData*>(pEntryConn->GetData().get());
            if ( pEntryConnData->GetJoinType() == INNER_JOIN && !pEntryConnData->isNatural() )
            {
@@ -1017,7 +1017,7 @@ namespace
    }
    OUString GenerateFromClause( const Reference< XConnection>& _xConnection,
                                        const OQueryTableView::OTableWindowMap* pTabList,
                                        const ::std::vector<OTableConnection*>* pConnList
                                        const ::std::vector<VclPtr<OTableConnection> >& rConnList
                                        )
    {

@@ -1026,14 +1026,14 @@ namespace
        tableNames_t aTableNames;

        // generate outer join clause in from
        if(!pConnList->empty())
        if(!rConnList.empty())
        {
            ::std::vector<OTableConnection*>::const_iterator aIter = pConnList->begin();
            ::std::vector<OTableConnection*>::const_iterator aEnd = pConnList->end();
            auto aIter = rConnList.begin();
            auto aEnd = rConnList.end();
            ::std::map<OTableWindow*,sal_Int32> aConnectionCount;
            for(;aIter != aEnd;++aIter)
            {
                static_cast<OQueryTableConnection*>(*aIter)->SetVisited(false);
                static_cast<OQueryTableConnection*>((*aIter).get())->SetVisited(false);
                ++aConnectionCount[(*aIter)->GetSourceWin()];
                ++aConnectionCount[(*aIter)->GetDestWin()];
            }
@@ -1050,10 +1050,10 @@ namespace
            ::std::multimap<sal_Int32 , OTableWindow*>::reverse_iterator aREnd = aMulti.rend();
            for(;aRIter != aREnd;++aRIter)
            {
                ::std::vector<OTableConnection*>::const_iterator aConIter = aRIter->second->getTableView()->getTableConnections(aRIter->second);
                auto aConIter = aRIter->second->getTableView()->getTableConnections(aRIter->second);
                for(;aConIter != aEnd;++aConIter)
                {
                    OQueryTableConnection* pEntryConn = static_cast<OQueryTableConnection*>(*aConIter);
                    OQueryTableConnection* pEntryConn = static_cast<OQueryTableConnection*>((*aConIter).get());
                    if(!pEntryConn->IsVisited() && pEntryConn->GetSourceWin() == aRIter->second )
                    {
                        OUString aJoin;
@@ -1096,10 +1096,10 @@ namespace
            // "FROM tbl1, tbl2 WHERE tbl1.col1=tlb2.col2"
            // rather than
            // "FROM tbl1 INNER JOIN tbl2 ON tbl1.col1=tlb2.col2"
            aIter = pConnList->begin();
            aIter = rConnList.begin();
            for(;aIter != aEnd;++aIter)
            {
                OQueryTableConnection* pEntryConn = static_cast<OQueryTableConnection*>(*aIter);
                OQueryTableConnection* pEntryConn = static_cast<OQueryTableConnection*>((*aIter).get());
                if(!pEntryConn->IsVisited())
                {
                    searchAndAppendName(_xConnection,
@@ -1119,7 +1119,7 @@ namespace
        OQueryTableView::OTableWindowMap::const_iterator aTabEnd = pTabList->end();
        for(;aTabIter != aTabEnd;++aTabIter)
        {
            const OQueryTableWindow* pEntryTab = static_cast<const OQueryTableWindow*>(aTabIter->second);
            const OQueryTableWindow* pEntryTab = static_cast<const OQueryTableWindow*>(aTabIter->second.get());
            if(!pEntryTab->ExistsAConn())
            {
                aTableListStr += BuildTable(_xConnection,pEntryTab);
@@ -1540,7 +1540,7 @@ namespace
                    OJoinTableView::OTableWindowMap::iterator aTabEnd = rTabList.end();
                    for(;aIter != aTabEnd;++aIter)
                    {
                        OQueryTableWindow* pTabWin = static_cast<OQueryTableWindow*>(aIter->second);
                        OQueryTableWindow* pTabWin = static_cast<OQueryTableWindow*>(aIter->second.get());
                        if (pTabWin->ExistsField( OUString("*"), aDragLeft ))
                        {
                            aDragLeft->SetAlias(OUString());
@@ -1748,7 +1748,7 @@ namespace
            OJoinTableView::OTableWindowMap::const_iterator aEnd = _rTabList.end();
            for ( ; aIter != aEnd; ++aIter )
            {
                OQueryTableWindow* pTabWin = static_cast< OQueryTableWindow* >( aIter->second );
                OQueryTableWindow* pTabWin = static_cast< OQueryTableWindow* >( aIter->second.get() );
                if ( pTabWin && pTabWin->ExistsField( _rColumName, _rInfo ) )
                    return pTabWin;
            }
@@ -2104,7 +2104,7 @@ namespace
        OJoinTableView::OTableWindowMap::iterator aEnd = _pTabList->end();
        for(;aIter != aEnd && eOk == eErrorCode ;++aIter)
        {
            OQueryTableWindow* pTabWin = static_cast<OQueryTableWindow*>(aIter->second);
            OQueryTableWindow* pTabWin = static_cast<OQueryTableWindow*>(aIter->second.get());
            OTableFieldDescRef  aInfo = new OTableFieldDesc();
            if (pTabWin->ExistsField( sAsterisk, aInfo ))
            {
@@ -2201,7 +2201,7 @@ namespace
                                const OJoinTableView::OTableWindowMap::const_iterator aEnd  = pTabList->end();
                                for(;aIter != aEnd;++aIter)
                                {
                                    OQueryTableWindow* pTabWin = static_cast<OQueryTableWindow*>(aIter->second);
                                    OQueryTableWindow* pTabWin = static_cast<OQueryTableWindow*>(aIter->second.get());
                                    if (pTabWin->ExistsField( OUString("*"), aInfo ))
                                    {
                                        aInfo->SetAlias(OUString());
@@ -2524,8 +2524,7 @@ void OQueryDesignView::dispose()
{
    if ( m_pTableView )
        ::dbaui::notifySystemWindow(this,m_pTableView,::comphelper::mem_fun(&TaskPaneList::RemoveWindow));
    boost::scoped_ptr<vcl::Window> aTemp(m_pSelectionBox);
    m_pSelectionBox = NULL;
    m_pSelectionBox.clear();
    m_aSplitter.disposeAndClear();
    OQueryView::dispose();
}
@@ -2751,7 +2750,7 @@ void OQueryDesignView::fillValidFields(const OUString& sAliasName, ComboBox* pFi
    OJoinTableView::OTableWindowMap::iterator aEnd  = rTabWins.end();
    for(;aIter != aEnd;++aIter)
    {
        OQueryTableWindow* pCurrentWin = static_cast<OQueryTableWindow*>(aIter->second);
        OQueryTableWindow* pCurrentWin = static_cast<OQueryTableWindow*>(aIter->second.get());
        if (bAllTables || (pCurrentWin->GetAliasName() == sAliasName))
        {
            strCurrentPrefix = pCurrentWin->GetAliasName();
@@ -2851,9 +2850,9 @@ OUString OQueryDesignView::getStatement()
    // and trigger a error message
    // ----------------- Build table list ----------------------

    const ::std::vector<OTableConnection*>& rConnList = m_pTableView->getTableConnections();
    const auto& rConnList = m_pTableView->getTableConnections();
    Reference< XConnection> xConnection = rController.getConnection();
    OUString aTableListStr(GenerateFromClause(xConnection,&rTabList,&rConnList));
    OUString aTableListStr(GenerateFromClause(xConnection,&rTabList,rConnList));
    OSL_ENSURE(!aTableListStr.isEmpty(), "OQueryDesignView::getStatement() : unexpected : have Fields, but no Tables !");
    // if fields exist now, these only can be created by inserting from an already existing table; if on the other hand
    // a table is deleted, also the belonging fields will be deleted -> therefore it CANNOT occur that fields
@@ -2865,7 +2864,7 @@ OUString OQueryDesignView::getStatement()
        return OUString();

    OUString aJoinCrit;
    GenerateInnerJoinCriterias(xConnection,aJoinCrit,&rConnList);
    GenerateInnerJoinCriterias(xConnection,aJoinCrit,rConnList);
    if(!aJoinCrit.isEmpty())
    {
        OUString aTmp = "( " + aJoinCrit + " )";
diff --git a/dbaccess/source/ui/querydesign/QueryMoveTabWinUndoAct.hxx b/dbaccess/source/ui/querydesign/QueryMoveTabWinUndoAct.hxx
index 49060c1..b8c9f52 100644
--- a/dbaccess/source/ui/querydesign/QueryMoveTabWinUndoAct.hxx
+++ b/dbaccess/source/ui/querydesign/QueryMoveTabWinUndoAct.hxx
@@ -31,7 +31,7 @@ namespace dbaui
    class OJoinMoveTabWinUndoAct : public OQueryDesignUndoAction
    {
        Point           m_ptNextPosition;
        OTableWindow*   m_pTabWin;
        VclPtr<OTableWindow>   m_pTabWin;

    protected:
        void TogglePosition();
diff --git a/dbaccess/source/ui/querydesign/QuerySizeTabWinUndoAct.hxx b/dbaccess/source/ui/querydesign/QuerySizeTabWinUndoAct.hxx
index 4de742d..bd93814 100644
--- a/dbaccess/source/ui/querydesign/QuerySizeTabWinUndoAct.hxx
+++ b/dbaccess/source/ui/querydesign/QuerySizeTabWinUndoAct.hxx
@@ -31,7 +31,7 @@ namespace dbaui
    {
        Point           m_ptNextPosition;
        Size            m_szNextSize;
        OTableWindow*   m_pTabWin;
        VclPtr<OTableWindow>   m_pTabWin;

    protected:
        inline void ToggleSizePosition();
diff --git a/dbaccess/source/ui/querydesign/QueryTabConnUndoAction.cxx b/dbaccess/source/ui/querydesign/QueryTabConnUndoAction.cxx
index 16f8e0e..85f3ff2 100644
--- a/dbaccess/source/ui/querydesign/QueryTabConnUndoAction.cxx
+++ b/dbaccess/source/ui/querydesign/QueryTabConnUndoAction.cxx
@@ -19,6 +19,7 @@

#include "QueryTabConnUndoAction.hxx"
#include "QTableConnection.hxx"
#include "QTableWindow.hxx"
#include <tools/debug.hxx>
#include "QueryTableView.hxx"
#include "QueryAddTabConnUndoAction.hxx"
@@ -32,7 +33,6 @@ OQueryTabConnUndoAction::~OQueryTabConnUndoAction()
    if (m_bOwnerOfConn)
    {   // I have the connection -> delete
        m_pOwner->DeselectConn(m_pConnection);
        delete m_pConnection;
    }
}

@@ -50,13 +50,13 @@ OQueryAddTabConnUndoAction::OQueryAddTabConnUndoAction(OQueryTableView* pOwner)

void OQueryAddTabConnUndoAction::Undo()
{
    static_cast<OQueryTableView*>(m_pOwner)->DropConnection(m_pConnection);
    static_cast<OQueryTableView*>(m_pOwner.get())->DropConnection(m_pConnection);
    SetOwnership(true);
}

void OQueryAddTabConnUndoAction::Redo()
{
    static_cast<OQueryTableView*>(m_pOwner)->GetConnection(m_pConnection);
    static_cast<OQueryTableView*>(m_pOwner.get())->GetConnection(m_pConnection);
    SetOwnership(false);
}

@@ -67,13 +67,13 @@ OQueryDelTabConnUndoAction::OQueryDelTabConnUndoAction(OQueryTableView* pOwner)

void OQueryDelTabConnUndoAction::Undo()
{
    static_cast<OQueryTableView*>(m_pOwner)->GetConnection(m_pConnection);
    static_cast<OQueryTableView*>(m_pOwner.get())->GetConnection(m_pConnection);
    SetOwnership(false);
}

void OQueryDelTabConnUndoAction::Redo()
{
    static_cast<OQueryTableView*>(m_pOwner)->DropConnection(m_pConnection);
    static_cast<OQueryTableView*>(m_pOwner.get())->DropConnection(m_pConnection);
    SetOwnership(true);
}

@@ -88,13 +88,13 @@ OQueryTabWinShowUndoAct::~OQueryTabWinShowUndoAct()

void OQueryTabWinShowUndoAct::Undo()
{
    static_cast<OQueryTableView*>(m_pOwner)->HideTabWin(m_pTabWin, this);
    static_cast<OQueryTableView*>(m_pOwner.get())->HideTabWin(m_pTabWin, this);
    SetOwnership(true);
}

void OQueryTabWinShowUndoAct::Redo()
{
    static_cast<OQueryTableView*>(m_pOwner)->ShowTabWin(m_pTabWin, this,true);
    static_cast<OQueryTableView*>(m_pOwner.get())->ShowTabWin(m_pTabWin, this,true);
    SetOwnership(false);
}

@@ -109,13 +109,13 @@ OQueryTabWinDelUndoAct::~OQueryTabWinDelUndoAct()

void OQueryTabWinDelUndoAct::Undo()
{
    static_cast<OQueryTableView*>(m_pOwner)->ShowTabWin( m_pTabWin, this,true );
    static_cast<OQueryTableView*>(m_pOwner.get())->ShowTabWin( m_pTabWin, this,true );
    SetOwnership(false);
}

void OQueryTabWinDelUndoAct::Redo()
{
    static_cast<OQueryTableView*>(m_pOwner)->HideTabWin( m_pTabWin, this );
    static_cast<OQueryTableView*>(m_pOwner.get())->HideTabWin( m_pTabWin, this );
    SetOwnership(true);
}

diff --git a/dbaccess/source/ui/querydesign/QueryTabConnUndoAction.hxx b/dbaccess/source/ui/querydesign/QueryTabConnUndoAction.hxx
index 72b3153..6541a4e 100644
--- a/dbaccess/source/ui/querydesign/QueryTabConnUndoAction.hxx
+++ b/dbaccess/source/ui/querydesign/QueryTabConnUndoAction.hxx
@@ -28,7 +28,7 @@ namespace dbaui
    class OQueryTabConnUndoAction : public OQueryDesignUndoAction
    {
    protected:
        OQueryTableConnection*  m_pConnection;
        VclPtr<OQueryTableConnection>  m_pConnection;
        bool                    m_bOwnerOfConn;
        // am I the only owner of the connection? (changes with every redo and undo)

diff --git a/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx b/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx
index f7bee57..1745890 100644
--- a/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx
+++ b/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx
@@ -51,20 +51,18 @@ OQueryTabWinUndoAct::~OQueryTabWinUndoAct()
    if (m_bOwnerOfObjects)
    {
        // I should take care to delete the window if I am the only owner
        OSL_ENSURE(m_pTabWin != NULL, "OQueryTabWinUndoAct::~OQueryTabWinUndoAct() : m_pTabWin sollte nicht NULL sein");
        OSL_ENSURE(m_pTabWin != nullptr, "OQueryTabWinUndoAct::~OQueryTabWinUndoAct() : m_pTabWin sollte nicht NULL sein");
        OSL_ENSURE(!m_pTabWin->IsVisible(), "OQueryTabWinUndoAct::~OQueryTabWinUndoAct() : *m_pTabWin sollte nicht sichtbar sein");

        if ( m_pTabWin )
            m_pTabWin->clearListBox();
        delete m_pTabWin;

        // and of course the corresponding connections
        ::std::vector<OTableConnection*>::iterator aIter = m_vTableConnection.begin();
        ::std::vector<OTableConnection*>::iterator aEnd = m_vTableConnection.end();
        auto aIter = m_vTableConnection.begin();
        auto aEnd = m_vTableConnection.end();
        for(;aIter != aEnd;++aIter)
        {
            m_pOwner->DeselectConn(*aIter);
            delete (*aIter);
        }
        m_vTableConnection.clear();
    }
diff --git a/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.hxx b/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.hxx
index 22c9921..af22a64 100644
--- a/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.hxx
+++ b/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.hxx
@@ -33,8 +33,8 @@ namespace dbaui
    class OQueryTabWinUndoAct : public OQueryDesignUndoAction
    {
    protected:
        ::std::vector<OTableConnection*> m_vTableConnection;
        OQueryTableWindow*               m_pTabWin;
        ::std::vector<VclPtr<OTableConnection> > m_vTableConnection;
        VclPtr<OQueryTableWindow>                m_pTabWin;
        bool                         m_bOwnerOfObjects;
        // am I the only owner of the managed objects? (changes with every redo or undo)

@@ -54,7 +54,7 @@ namespace dbaui
        // access to the managed connections
        sal_uInt16  ConnCount() { return (sal_uInt16)m_vTableConnection.size(); }

        ::std::vector<OTableConnection*>&       GetTabConnList() { return m_vTableConnection; }
        ::std::vector<VclPtr<OTableConnection> >&       GetTabConnList() { return m_vTableConnection; }

        void InsertConnection( OTableConnection* pConnection ) { m_vTableConnection.push_back(pConnection); }
        void RemoveConnection( OTableConnection* pConnection )
diff --git a/dbaccess/source/ui/querydesign/QueryTableView.cxx b/dbaccess/source/ui/querydesign/QueryTableView.cxx
index 573eba4..18d0fd5 100644
--- a/dbaccess/source/ui/querydesign/QueryTableView.cxx
+++ b/dbaccess/source/ui/querydesign/QueryTableView.cxx
@@ -327,26 +327,26 @@ void OQueryTableView::NotifyTabConnection(const OQueryTableConnection& rNewConn,
{
    // let's first check if I have the connection already
    OQueryTableConnection* pTabConn = NULL;
    const ::std::vector<OTableConnection*>& rConnections = getTableConnections();
    ::std::vector<OTableConnection*>::const_iterator aEnd = rConnections.end();
    ::std::vector<OTableConnection*>::const_iterator aIter = ::std::find(   rConnections.begin(),
                                                    aEnd,
                                                    static_cast<const OTableConnection*>(&rNewConn)
                                                    );
    const auto& rConnections = getTableConnections();
    auto aEnd = rConnections.end();
    auto aIter = ::std::find(   rConnections.begin(),
                                aEnd,
                                VclPtr<OTableConnection>(const_cast<OTableConnection*>(static_cast<const OTableConnection*>(&rNewConn)))
                            );
    if(aIter == aEnd )
    {
        aIter = rConnections.begin();
        for(;aIter != aEnd;++aIter)
        {
            if(*static_cast<OQueryTableConnection*>(*aIter) == rNewConn)
            if(*static_cast<OQueryTableConnection*>((*aIter).get()) == rNewConn)
            {
                pTabConn = static_cast<OQueryTableConnection*>(*aIter);
                pTabConn = static_cast<OQueryTableConnection*>((*aIter).get());
                break;
            }
        }
    }
    else
        pTabConn = static_cast<OQueryTableConnection*>(*aIter);
        pTabConn = static_cast<OQueryTableConnection*>((*aIter).get());

    // no -> insert
    if (pTabConn == NULL)
@@ -525,14 +525,14 @@ void OQueryTableView::AddTabWin(const OUString& _rComposedName, const OUString& 
                    {
                        for(aIter = rTabWins.begin();aIter != aEnd;++aIter)
                        {
                            OQueryTableWindow* pTabWinTmp = static_cast<OQueryTableWindow*>(aIter->second);
                            OQueryTableWindow* pTabWinTmp = static_cast<OQueryTableWindow*>(aIter->second.get());
                            OSL_ENSURE( pTabWinTmp,"TableWindow is null!" );
                            if ( pTabWinTmp != pNewTabWin && pTabWinTmp->GetComposedName() == aReferencedTable )
                                break;
                        }
                    }
                    if ( aIter != aEnd && pNewTabWin != aIter->second )
                        addConnections( this, *pNewTabWin, *static_cast<OQueryTableWindow*>(aIter->second), xFKeyColumns );
                        addConnections( this, *pNewTabWin, *static_cast<OQueryTableWindow*>(aIter->second.get()), xFKeyColumns );
                }
                break;

@@ -543,7 +543,7 @@ void OQueryTableView::AddTabWin(const OUString& _rComposedName, const OUString& 
                    OTableWindowMap::const_iterator aEnd  = rTabWins.end();
                    for(;aIter != aEnd;++aIter)
                    {
                        OQueryTableWindow* pTabWinTmp = static_cast<OQueryTableWindow*>(aIter->second);
                        OQueryTableWindow* pTabWinTmp = static_cast<OQueryTableWindow*>(aIter->second.get());
                        if ( pTabWinTmp == pNewTabWin )
                            continue;

@@ -656,8 +656,8 @@ void OQueryTableView::createNewConnection()
    if( openJoinDialog(this,pData,true) )
    {
        OTableWindowMap& rMap = GetTabWinMap();
        OQueryTableWindow* pSourceWin   = static_cast< OQueryTableWindow*>(rMap[pData->getReferencingTable()->GetWinName()]);
        OQueryTableWindow* pDestWin     = static_cast< OQueryTableWindow*>(rMap[pData->getReferencedTable()->GetWinName()]);
        OQueryTableWindow* pSourceWin   = static_cast< OQueryTableWindow*>(rMap[pData->getReferencingTable()->GetWinName()].get());
        OQueryTableWindow* pDestWin     = static_cast< OQueryTableWindow*>(rMap[pData->getReferencedTable()->GetWinName()].get());
        // first we have to look if the this connection already exists
        OTableConnection* pConn = GetTabConn(pSourceWin,pDestWin,true);
        bool bNew = true;
@@ -704,7 +704,7 @@ OQueryTableWindow* OQueryTableView::FindTable(const OUString& rAliasName)
        // (it is harmless but does not make sense and indicates that there is probably an error in the caller)
    OTableWindowMap::const_iterator aIter = GetTabWinMap().find(rAliasName);
    if(aIter != GetTabWinMap().end())
        return static_cast<OQueryTableWindow*>(aIter->second);
        return static_cast<OQueryTableWindow*>(aIter->second.get());
    return NULL;
}

@@ -715,7 +715,7 @@ bool OQueryTableView::FindTableFromField(const OUString& rFieldName, OTableField
    OTableWindowMap::const_iterator aEnd  = GetTabWinMap().end();
    for(;aIter != aEnd;++aIter)
    {
        if(static_cast<OQueryTableWindow*>(aIter->second)->ExistsField(rFieldName, rInfo))
        if(static_cast<OQueryTableWindow*>(aIter->second.get())->ExistsField(rFieldName, rInfo))
            ++rCnt;
    }

@@ -834,11 +834,11 @@ void OQueryTableView::HideTabWin( OQueryTableWindow* pTabWin, OQueryTabWinUndoAc

    // collect connections belonging to the window and pass to UndoAction
    sal_Int16 nCnt = 0;
    const ::std::vector<OTableConnection*>& rTabConList = getTableConnections();
    ::std::vector<OTableConnection*>::const_iterator aIter2 = rTabConList.begin();
    const auto& rTabConList = getTableConnections();
    auto aIter2 = rTabConList.begin();
    for(;aIter2 != rTabConList.end();)// the end may change
    {
        OQueryTableConnection* pTmpEntry = static_cast<OQueryTableConnection*>(*aIter2);
        OQueryTableConnection* pTmpEntry = static_cast<OQueryTableConnection*>((*aIter2).get());
        OSL_ENSURE(pTmpEntry,"OQueryTableConnection is null!");
        if( pTmpEntry->GetAliasName(JTCS_FROM) == pTabWin->GetAliasName() ||
            pTmpEntry->GetAliasName(JTCS_TO) == pTabWin->GetAliasName() )
@@ -904,12 +904,9 @@ bool OQueryTableView::ShowTabWin( OQueryTableWindow* pTabWin, OQueryTabWinUndoAc
            // GetEntryPos, and then in turn by the Connection, when its starting point to the window must be determined.

            // the Connections
            ::std::vector<OTableConnection*>& rTableCon = pUndoAction->GetTabConnList();
            ::std::vector<OTableConnection*>::iterator aIter = rTableCon.begin();
            ::std::vector<OTableConnection*>::iterator aEnd = rTableCon.end();

            for(;aIter != aEnd;++aIter)
                addConnection(*aIter); // add all connections from the undo action
            auto rTableCon = pUndoAction->GetTabConnList();
            for(auto conn : rTableCon)
                addConnection(conn); // add all connections from the undo action

            rTableCon.clear();

@@ -950,12 +947,9 @@ void OQueryTableView::InsertField(const OTableFieldDescRef& rInfo)

bool OQueryTableView::ExistsAVisitedConn(const OQueryTableWindow* pFrom) const
{
    const ::std::vector<OTableConnection*>& rList = getTableConnections();
    ::std::vector<OTableConnection*>::const_iterator aIter = rList.begin();
    ::std::vector<OTableConnection*>::const_iterator aEnd = rList.end();
    for(;aIter != aEnd;++aIter)
    for(auto conn : getTableConnections())
    {
        OQueryTableConnection* pTemp = static_cast<OQueryTableConnection*>(*aIter);
        OQueryTableConnection* pTemp = static_cast<OQueryTableConnection*>(conn.get());
        if (pTemp->IsVisited() &&
            (pFrom == static_cast< OQueryTableWindow*>(pTemp->GetSourceWin()) || pFrom == static_cast< OQueryTableWindow*>(pTemp->GetDestWin())))
            return true;
diff --git a/dbaccess/source/ui/querydesign/QueryTextView.cxx b/dbaccess/source/ui/querydesign/QueryTextView.cxx
index 62e282b..06f619e 100644
--- a/dbaccess/source/ui/querydesign/QueryTextView.cxx
+++ b/dbaccess/source/ui/querydesign/QueryTextView.cxx
@@ -57,8 +57,7 @@ OQueryTextView::~OQueryTextView()

void OQueryTextView::dispose()
{
    boost::scoped_ptr<vcl::Window> aTemp(m_pEdit);
    m_pEdit = NULL;
    m_pEdit.clear();
    vcl::Window::dispose();
}

diff --git a/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx b/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
index 07c0c2d..87ea89b 100644
--- a/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
+++ b/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
@@ -158,12 +158,12 @@ OSelectionBrowseBox::~OSelectionBrowseBox()

void OSelectionBrowseBox::dispose()
{
    delete m_pTextCell;
    delete m_pVisibleCell;
    delete m_pFieldCell;
    delete m_pTableCell;
    delete m_pOrderCell;
    delete m_pFunctionCell;
    m_pTextCell.clear();
    m_pVisibleCell.clear();
    m_pFieldCell.clear();
    m_pTableCell.clear();
    m_pOrderCell.clear();
    m_pFunctionCell.clear();
    ::svt::EditBrowseBox::dispose();
}

@@ -245,11 +245,13 @@ namespace
{
    class OSelectionBrwBoxHeader : public ::svt::EditBrowserHeader
    {
        OSelectionBrowseBox* m_pBrowseBox;
        VclPtr<OSelectionBrowseBox> m_pBrowseBox;
    protected:
        virtual void Select() SAL_OVERRIDE;
    public:
        OSelectionBrwBoxHeader(OSelectionBrowseBox* pParent);
        virtual ~OSelectionBrwBoxHeader() { dispose(); }
        virtual void dispose() SAL_OVERRIDE { m_pBrowseBox.clear(); ::svt::EditBrowserHeader::dispose(); }
    };
    OSelectionBrwBoxHeader::OSelectionBrwBoxHeader(OSelectionBrowseBox* pParent)
        : ::svt::EditBrowserHeader(pParent,WB_BUTTONSTYLE|WB_DRAG)
@@ -495,7 +497,7 @@ void OSelectionBrowseBox::InitController(CellControllerRef& /*rController*/, lon
                OJoinTableView::OTableWindowMap::iterator aEnd = rTabWinList.end();

                for(;aIter != aEnd;++aIter)
                    m_pTableCell->InsertEntry(static_cast<OQueryTableWindow*>(aIter->second)->GetAliasName());
                    m_pTableCell->InsertEntry(static_cast<OQueryTableWindow*>(aIter->second.get())->GetAliasName());

                m_pTableCell->InsertEntry(OUString(ModuleRes(STR_QUERY_NOTABLE)), 0);
                if (!pEntry->GetAlias().isEmpty())
@@ -990,7 +992,7 @@ bool OSelectionBrowseBox::SaveModified()
                    OJoinTableView::OTableWindowMap::iterator aIter = rTabWinList.find(aAliasName);
                    if(aIter != rTabWinList.end())
                    {
                        OQueryTableWindow* pEntryTab = static_cast<OQueryTableWindow*>(aIter->second);
                        OQueryTableWindow* pEntryTab = static_cast<OQueryTableWindow*>(aIter->second.get());
                        if (pEntryTab)
                        {
                            pEntry->SetTable(pEntryTab->GetTableName());
@@ -2607,7 +2609,7 @@ bool OSelectionBrowseBox::fillEntryTable(OTableFieldDescRef& _pEntry,const OUStr
    OJoinTableView::OTableWindowMap::iterator aIter = rTabWinList.find(_sTableName);
    if(aIter != rTabWinList.end())
    {
        OQueryTableWindow* pEntryTab = static_cast<OQueryTableWindow*>(aIter->second);
        OQueryTableWindow* pEntryTab = static_cast<OQueryTableWindow*>(aIter->second.get());
        if (pEntryTab)
        {
            _pEntry->SetTable(pEntryTab->GetTableName());
diff --git a/dbaccess/source/ui/querydesign/SelectionBrowseBox.hxx b/dbaccess/source/ui/querydesign/SelectionBrowseBox.hxx
index 233ddeb..8e9033d 100644
--- a/dbaccess/source/ui/querydesign/SelectionBrowseBox.hxx
+++ b/dbaccess/source/ui/querydesign/SelectionBrowseBox.hxx
@@ -56,12 +56,12 @@ namespace dbaui

        long                                m_nSeekRow;
        BrowserMode                         m_nMode;                    // remember the BrowseModes
        Edit*                               m_pTextCell;
        ::svt::CheckBoxControl*             m_pVisibleCell;
        ::svt::ComboBoxControl*             m_pFieldCell;
        ::svt::ListBoxControl*              m_pFunctionCell;
        ::svt::ListBoxControl*              m_pTableCell;
        ::svt::ListBoxControl*              m_pOrderCell;
        VclPtr<Edit>                               m_pTextCell;
        VclPtr<::svt::CheckBoxControl>             m_pVisibleCell;
        VclPtr<::svt::ComboBoxControl>             m_pFieldCell;
        VclPtr<::svt::ListBoxControl>              m_pFunctionCell;
        VclPtr<::svt::ListBoxControl>              m_pTableCell;
        VclPtr<::svt::ListBoxControl>              m_pOrderCell;

        OTableFieldDescRef                  m_pEmptyEntry;              // default entry in the list may reference more than once

diff --git a/dbaccess/source/ui/querydesign/TableConnection.cxx b/dbaccess/source/ui/querydesign/TableConnection.cxx
index 6d7864e..457a584 100644
--- a/dbaccess/source/ui/querydesign/TableConnection.cxx
+++ b/dbaccess/source/ui/querydesign/TableConnection.cxx
@@ -43,7 +43,7 @@ namespace dbaui
        Show();
    }

    OTableConnection::OTableConnection( const OTableConnection& _rConn ) : Window(_rConn.m_pParent)
    OTableConnection::OTableConnection( const OTableConnection& _rConn ) : Window(_rConn.m_pParent.get())
        ,m_pData(_rConn.GetData()->NewInstance())
        ,m_pParent(NULL)
    {
diff --git a/dbaccess/source/ui/querydesign/TableFieldDescription.cxx b/dbaccess/source/ui/querydesign/TableFieldDescription.cxx
index d27e3da..db44c06 100644
--- a/dbaccess/source/ui/querydesign/TableFieldDescription.cxx
+++ b/dbaccess/source/ui/querydesign/TableFieldDescription.cxx
@@ -23,6 +23,7 @@
#include <tools/debug.hxx>
#include <com/sun/star/sdbc/DataType.hpp>
#include <comphelper/namedvaluecollection.hxx>
#include <vcl/window.hxx>

#include <functional>

diff --git a/dbaccess/source/ui/querydesign/TableWindow.cxx b/dbaccess/source/ui/querydesign/TableWindow.cxx
index dbc0264..e194989 100644
--- a/dbaccess/source/ui/querydesign/TableWindow.cxx
+++ b/dbaccess/source/ui/querydesign/TableWindow.cxx
@@ -107,9 +107,8 @@ void OTableWindow::dispose()
    if (m_pListBox)
    {
        OSL_ENSURE(m_pListBox->GetEntryCount()==0,"Forgot to call EmptyListbox()!");
        boost::scoped_ptr<vcl::Window> aTemp(m_pListBox);
        m_pListBox = NULL;
    }
    m_pListBox.clear();
    if ( m_pContainerListener.is() )
        m_pContainerListener->dispose();

@@ -280,7 +279,7 @@ bool OTableWindow::Init()
    if ( !m_pListBox )
    {
        m_pListBox = CreateListBox();
        OSL_ENSURE( m_pListBox != NULL, "OTableWindow::Init() : CreateListBox returned NULL !" );
        OSL_ENSURE( m_pListBox != nullptr, "OTableWindow::Init() : CreateListBox returned NULL !" );
        m_pListBox->SetSelectionMode( MULTIPLE_SELECTION );
    }

diff --git a/dbaccess/source/ui/querydesign/TableWindowAccess.cxx b/dbaccess/source/ui/querydesign/TableWindowAccess.cxx
index 433e008..fb91731 100644
--- a/dbaccess/source/ui/querydesign/TableWindowAccess.cxx
+++ b/dbaccess/source/ui/querydesign/TableWindowAccess.cxx
@@ -192,7 +192,7 @@ namespace dbaui
        if( m_pTable )
        {
            OJoinTableView* pView = m_pTable->getTableView();
            ::std::vector<OTableConnection*>::const_iterator aIter = pView->getTableConnections(m_pTable) + nIndex;
            auto aIter = pView->getTableConnections(m_pTable) + nIndex;
            aRet.TargetSet.realloc(1);
            aRet.TargetSet[0] = getParentChild(aIter - pView->getTableConnections().begin());
            aRet.RelationType = AccessibleRelationType::CONTROLLER_FOR;
@@ -211,10 +211,10 @@ namespace dbaui
        if( AccessibleRelationType::CONTROLLER_FOR == aRelationType && m_pTable)
        {
            OJoinTableView* pView = m_pTable->getTableView();
            const ::std::vector<OTableConnection*>& rConnectionList = pView->getTableConnections();
            const auto& rConnectionList = pView->getTableConnections();

            ::std::vector<OTableConnection*>::const_iterator aIter = pView->getTableConnections(m_pTable);
            ::std::vector<OTableConnection*>::const_iterator aEnd = rConnectionList.end();
            auto aIter = pView->getTableConnections(m_pTable);
            auto aEnd = rConnectionList.end();
            ::std::vector< Reference<XInterface> > aRelations;
            aRelations.reserve(5); // just guessing
            for (; aIter != aEnd ; ++aIter )
diff --git a/dbaccess/source/ui/querydesign/TableWindowListBox.cxx b/dbaccess/source/ui/querydesign/TableWindowListBox.cxx
index 77a354c..9e71cdc 100644
--- a/dbaccess/source/ui/querydesign/TableWindowListBox.cxx
+++ b/dbaccess/source/ui/querydesign/TableWindowListBox.cxx
@@ -79,7 +79,7 @@ void OTableWindowListBox::dispose()
        Application::RemoveUserEvent(m_nUiEvent);
    if( m_aScrollTimer.IsActive() )
        m_aScrollTimer.Stop();
    m_pTabWin = NULL;
    m_pTabWin.clear();
    SvTreeListBox::dispose();
}

diff --git a/dbaccess/source/ui/querydesign/TableWindowTitle.cxx b/dbaccess/source/ui/querydesign/TableWindowTitle.cxx
index 69adb56..8f7b9b8 100644
--- a/dbaccess/source/ui/querydesign/TableWindowTitle.cxx
+++ b/dbaccess/source/ui/querydesign/TableWindowTitle.cxx
@@ -60,7 +60,7 @@ OTableWindowTitle::~OTableWindowTitle()

void OTableWindowTitle::dispose()
{
    m_pTabWin = NULL;
    m_pTabWin.clear();
    FixedText::dispose();
}

@@ -136,10 +136,8 @@ void OTableWindowTitle::MouseButtonDown( const MouseEvent& rEvt )

                OJoinTableView* pView = static_cast<OJoinTableView*>(m_pTabWin->getTableView());
                OSL_ENSURE(pView,"No OJoinTableView!");
                const ::std::vector<OTableConnection*>& rConns = pView->getTableConnections();
                ::std::for_each(rConns.begin(),
                                rConns.end(),
                                ::std::mem_fun(&OTableConnection::RecalcLines));
                for (auto conn : pView->getTableConnections())
                    conn->RecalcLines();

                pView->InvalidateConnections();
                pView->getDesignView()->getController().setModified(sal_True);
diff --git a/dbaccess/source/ui/querydesign/limitboxcontroller.cxx b/dbaccess/source/ui/querydesign/limitboxcontroller.cxx
index 29bc0e7..71c037c 100644
--- a/dbaccess/source/ui/querydesign/limitboxcontroller.cxx
+++ b/dbaccess/source/ui/querydesign/limitboxcontroller.cxx
@@ -139,8 +139,7 @@ throw (uno::RuntimeException, std::exception)
    svt::ToolboxController::dispose();

    SolarMutexGuard aSolarMutexGuard;
    delete m_pLimitBox;
    m_pLimitBox = 0;
    m_pLimitBox.clear();
}

/// XStatusListener
diff --git a/dbaccess/source/ui/querydesign/limitboxcontroller.hxx b/dbaccess/source/ui/querydesign/limitboxcontroller.hxx
index 1db59a8..9340116 100644
--- a/dbaccess/source/ui/querydesign/limitboxcontroller.hxx
+++ b/dbaccess/source/ui/querydesign/limitboxcontroller.hxx
@@ -13,6 +13,7 @@
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <svtools/toolboxcontroller.hxx>
#include <rtl/ustring.hxx>
#include <vcl/vclptr.hxx>

#include "apitools.hxx"

@@ -59,7 +60,7 @@ class LimitBoxController: public svt::ToolboxController,
        using svt::ToolboxController::dispatchCommand;

    private:
        LimitBoxImpl* m_pLimitBox;
        VclPtr<LimitBoxImpl> m_pLimitBox;
};

} ///dbaui namespace
diff --git a/dbaccess/source/ui/querydesign/querycontainerwindow.cxx b/dbaccess/source/ui/querydesign/querycontainerwindow.cxx
index 26f91d0..06255d0 100644
--- a/dbaccess/source/ui/querydesign/querycontainerwindow.cxx
+++ b/dbaccess/source/ui/querydesign/querycontainerwindow.cxx
@@ -66,7 +66,7 @@ namespace dbaui
        }
        if ( m_pBeamer )
            ::dbaui::notifySystemWindow(this,m_pBeamer,::comphelper::mem_fun(&TaskPaneList::RemoveWindow));
        m_pBeamer = NULL;
        m_pBeamer.clear();
        if ( m_xBeamer.is() )
        {
            Reference< ::com::sun::star::util::XCloseable > xCloseable(m_xBeamer,UNO_QUERY);
@@ -75,8 +75,7 @@ namespace dbaui
                xCloseable->close(sal_False); // false - holds the ownership of this frame
        }

        boost::scoped_ptr<vcl::Window> aTemp(m_pSplitter);
        m_pSplitter = NULL;
        m_pSplitter.clear();
        ODataView::dispose();
    }
    bool OQueryContainerWindow::switchView( ::dbtools::SQLExceptionInfo* _pErrorInfo )
diff --git a/dbaccess/source/ui/querydesign/querydlg.cxx b/dbaccess/source/ui/querydesign/querydlg.cxx
index aa1ea5d..b6c6bd65 100644
--- a/dbaccess/source/ui/querydesign/querydlg.cxx
+++ b/dbaccess/source/ui/querydesign/querydlg.cxx
@@ -145,6 +145,11 @@ DlgQryJoin::~DlgQryJoin()
void DlgQryJoin::dispose()
{
    delete m_pTableControl;
    m_pML_HelpText.clear();
    m_pPB_OK.clear();
    m_pLB_JoinType.clear();
    m_pCBNatural.clear();
    m_pTableView.clear();
    ModalDialog::dispose();
}

diff --git a/dbaccess/source/ui/querydesign/querydlg.hxx b/dbaccess/source/ui/querydesign/querydlg.hxx
index 18c2c1b..ec31515 100644
--- a/dbaccess/source/ui/querydesign/querydlg.hxx
+++ b/dbaccess/source/ui/querydesign/querydlg.hxx
@@ -39,14 +39,14 @@ namespace dbaui
                        ,public IRelationControlInterface
    {
    protected:
        FixedText*              m_pML_HelpText;
        OKButton*               m_pPB_OK;
        ListBox*                m_pLB_JoinType;
        CheckBox*               m_pCBNatural;
        VclPtr<FixedText>              m_pML_HelpText;
        VclPtr<OKButton>               m_pPB_OK;
        VclPtr<ListBox>                m_pLB_JoinType;
        VclPtr<CheckBox>               m_pCBNatural;

        OTableListBoxControl*               m_pTableControl;
        OJoinTableView::OTableWindowMap*    m_pTableMap;
        OQueryTableView*                    m_pTableView;
        VclPtr<OQueryTableView>             m_pTableView;

        EJoinType                           eJoinType;
        TTableConnectionData::value_type    m_pConnData; // contains left and right table
diff --git a/dbaccess/source/ui/relationdesign/RelationTableView.cxx b/dbaccess/source/ui/relationdesign/RelationTableView.cxx
index 8f1ed9f..d7820ad 100644
--- a/dbaccess/source/ui/relationdesign/RelationTableView.cxx
+++ b/dbaccess/source/ui/relationdesign/RelationTableView.cxx
@@ -80,6 +80,7 @@ void ORelationTableView::dispose()
{
    if ( m_pContainerListener.is() )
        m_pContainerListener->dispose();
    m_pExistingConnection.clear();
    OJoinTableView::dispose();
}

@@ -170,8 +171,8 @@ void ORelationTableView::AddConnection(const OJoinExchangeData& jxdSource, const
    OTableWindow* pSourceWin = jxdSource.pListBox->GetTabWin();
    OTableWindow* pDestWin = jxdDest.pListBox->GetTabWin();

    ::std::vector<OTableConnection*>::const_iterator aIter = getTableConnections().begin();
    ::std::vector<OTableConnection*>::const_iterator aEnd = getTableConnections().end();
    auto aIter = getTableConnections().begin();
    auto aEnd = getTableConnections().end();
    for(;aIter != aEnd;++aIter)
    {
        OTableConnection* pFirst = *aIter;
diff --git a/dbaccess/source/ui/tabledesign/FieldDescGenWin.cxx b/dbaccess/source/ui/tabledesign/FieldDescGenWin.cxx
index 2123aa5..b4899e7 100644
--- a/dbaccess/source/ui/tabledesign/FieldDescGenWin.cxx
+++ b/dbaccess/source/ui/tabledesign/FieldDescGenWin.cxx
@@ -43,8 +43,7 @@ OFieldDescGenWin::~OFieldDescGenWin()

void OFieldDescGenWin::dispose()
{
    boost::scoped_ptr<vcl::Window> aTemp(m_pFieldControl);
    m_pFieldControl = NULL;
    m_pFieldControl.clear();
    TabPage::dispose();
}

diff --git a/dbaccess/source/ui/tabledesign/FieldDescGenWin.hxx b/dbaccess/source/ui/tabledesign/FieldDescGenWin.hxx
index ab4e453..04011c6 100644
--- a/dbaccess/source/ui/tabledesign/FieldDescGenWin.hxx
+++ b/dbaccess/source/ui/tabledesign/FieldDescGenWin.hxx
@@ -32,7 +32,7 @@ namespace dbaui
                            ,public IClipboardTest
    {

        OTableFieldControl  *m_pFieldControl;
        VclPtr<OTableFieldControl>  m_pFieldControl;
    protected:
        virtual void Resize() SAL_OVERRIDE;

diff --git a/dbaccess/source/ui/tabledesign/TEditControl.cxx b/dbaccess/source/ui/tabledesign/TEditControl.cxx
index 1b0f9db..3face44 100644
--- a/dbaccess/source/ui/tabledesign/TEditControl.cxx
+++ b/dbaccess/source/ui/tabledesign/TEditControl.cxx
@@ -274,10 +274,11 @@ void OTableEditorCtrl::dispose()
        Application::RemoveUserEvent( nInvalidateTypeEvent );

    // Delete the control types
    delete pNameCell;
    delete pTypeCell;
    delete pDescrCell;
    delete pHelpTextCell;
    pNameCell.clear();
    pTypeCell.clear();
    pDescrCell.clear();
    pHelpTextCell.clear();
    pDescrWin.clear();
    OTableRowView::dispose();
}

diff --git a/dbaccess/source/ui/tabledesign/TEditControl.hxx b/dbaccess/source/ui/tabledesign/TEditControl.hxx
index 07bcfc59..03f9b45 100644
--- a/dbaccess/source/ui/tabledesign/TEditControl.hxx
+++ b/dbaccess/source/ui/tabledesign/TEditControl.hxx
@@ -46,11 +46,11 @@ namespace dbaui
        ::std::vector< ::boost::shared_ptr<OTableRow> > m_aUndoList;
        ::std::vector< ::boost::shared_ptr<OTableRow> >*    m_pRowList;

        OSQLNameEdit*               pNameCell;
        ::svt::ListBoxControl*      pTypeCell;
        Edit*                       pHelpTextCell;
        Edit*                       pDescrCell;
        OTableFieldDescWin*         pDescrWin;          // properties of one column
        VclPtr<OSQLNameEdit>               pNameCell;
        VclPtr<::svt::ListBoxControl>      pTypeCell;
        VclPtr<Edit>                       pHelpTextCell;
        VclPtr<Edit>                       pDescrCell;
        VclPtr<OTableFieldDescWin>         pDescrWin;          // properties of one column

         ::boost::shared_ptr<OTableRow> pActRow;

@@ -71,7 +71,7 @@ namespace dbaui
        {
        private:
            AutoTimer m_aInvalidateTimer;
            OTableEditorCtrl* m_pOwner;
            VclPtr<OTableEditorCtrl> m_pOwner;

        public:
            ClipboardInvalidator(sal_uLong nTimeout,OTableEditorCtrl*);
diff --git a/dbaccess/source/ui/tabledesign/TableDesignHelpBar.cxx b/dbaccess/source/ui/tabledesign/TableDesignHelpBar.cxx
index ec756cd..80594e6 100644
--- a/dbaccess/source/ui/tabledesign/TableDesignHelpBar.cxx
+++ b/dbaccess/source/ui/tabledesign/TableDesignHelpBar.cxx
@@ -43,8 +43,7 @@ OTableDesignHelpBar::~OTableDesignHelpBar()

void OTableDesignHelpBar::dispose()
{
    boost::scoped_ptr<vcl::Window> aTemp(m_pTextWin);
    m_pTextWin = NULL;
    m_pTextWin.clear();
    TabPage::dispose();
}

diff --git a/dbaccess/source/ui/tabledesign/TableDesignView.cxx b/dbaccess/source/ui/tabledesign/TableDesignView.cxx
index 9cf37d8..065d8dd 100644
--- a/dbaccess/source/ui/tabledesign/TableDesignView.cxx
+++ b/dbaccess/source/ui/tabledesign/TableDesignView.cxx
@@ -71,15 +71,8 @@ void OTableBorderWindow::dispose()
    //  ::dbaui::notifySystemWindow(this,m_pFieldDescWin,::comphelper::mem_fun(&TaskPaneList::RemoveWindow));
    m_pEditorCtrl->Hide();
    m_pFieldDescWin->Hide();

    {
        boost::scoped_ptr<vcl::Window> aTemp(m_pEditorCtrl);
        m_pEditorCtrl = NULL;
    }
    {
        boost::scoped_ptr<vcl::Window> aTemp(m_pFieldDescWin);
        m_pFieldDescWin = NULL;
    }
    m_pEditorCtrl.clear();
    m_pFieldDescWin.clear();
    m_aHorzSplitter.disposeAndClear();
    vcl::Window::dispose();
}
@@ -202,11 +195,7 @@ OTableDesignView::~OTableDesignView()
void OTableDesignView::dispose()
{
    m_pWin->Hide();

    {
        boost::scoped_ptr<vcl::Window> aTemp(m_pWin);
        m_pWin = NULL;
    }
    m_pWin.clear();
    ODataView::dispose();
}

diff --git a/dbaccess/source/ui/tabledesign/TableFieldDescWin.cxx b/dbaccess/source/ui/tabledesign/TableFieldDescWin.cxx
index 3f1ee94..54ae896 100644
--- a/dbaccess/source/ui/tabledesign/TableFieldDescWin.cxx
+++ b/dbaccess/source/ui/tabledesign/TableFieldDescWin.cxx
@@ -76,18 +76,9 @@ void OTableFieldDescWin::dispose()
    getGenPage()->Hide();
    m_pHeader->Hide();

    {
        boost::scoped_ptr<vcl::Window> aTemp(m_pGenPage);
        m_pGenPage = NULL;
    }
    {
        boost::scoped_ptr<vcl::Window> aTemp(m_pHeader);
        m_pHeader = NULL;
    }
    {
        boost::scoped_ptr<vcl::Window> aTemp(m_pHelpBar);
        m_pHelpBar = NULL;
    }
    m_pGenPage.clear();
    m_pHeader.clear();
    m_pHelpBar.clear();
    TabPage::dispose();
}

diff --git a/dbaccess/source/ui/tabledesign/TableFieldDescWin.hxx b/dbaccess/source/ui/tabledesign/TableFieldDescWin.hxx
index 1b17aa8..a8914fd 100644
--- a/dbaccess/source/ui/tabledesign/TableFieldDescWin.hxx
+++ b/dbaccess/source/ui/tabledesign/TableFieldDescWin.hxx
@@ -41,9 +41,9 @@ namespace dbaui
            NONE
        };
    private:
        OTableDesignHelpBar*    m_pHelpBar;
        OFieldDescGenWin*       m_pGenPage;
        FixedText*              m_pHeader;
        VclPtr<OTableDesignHelpBar>    m_pHelpBar;
        VclPtr<OFieldDescGenWin>       m_pGenPage;
        VclPtr<FixedText>              m_pHeader;
        ChildFocusState         m_eChildFocus;

        IClipboardTest* getActiveChild() const;
diff --git a/dbaccess/source/ui/tabledesign/TableUndo.hxx b/dbaccess/source/ui/tabledesign/TableUndo.hxx
index d16e552..7646684 100644
--- a/dbaccess/source/ui/tabledesign/TableUndo.hxx
+++ b/dbaccess/source/ui/tabledesign/TableUndo.hxx
@@ -26,6 +26,7 @@

#include <com/sun/star/uno/Any.h>
#include "TypeInfo.hxx"
#include <vcl/vclptr.hxx>

namespace dbaui
{
@@ -34,7 +35,7 @@ namespace dbaui
    class OTableDesignUndoAct : public OCommentUndoAction
    {
    protected:
        OTableRowView* m_pTabDgnCtrl;
        VclPtr<OTableRowView> m_pTabDgnCtrl;

        virtual void    Undo() SAL_OVERRIDE;
        virtual void    Redo() SAL_OVERRIDE;
@@ -48,7 +49,7 @@ namespace dbaui
    class OTableEditorUndoAct : public OTableDesignUndoAct
    {
    protected:
        OTableEditorCtrl* pTabEdCtrl;
        VclPtr<OTableEditorCtrl> pTabEdCtrl;

    public:
        TYPEINFO_OVERRIDE();
@@ -136,7 +137,7 @@ namespace dbaui
    protected:
        MultiSelection      m_aDelKeys,
                            m_aInsKeys;
        OTableEditorCtrl* m_pEditorCtrl;
        VclPtr<OTableEditorCtrl> m_pEditorCtrl;

        virtual void    Undo() SAL_OVERRIDE;
        virtual void    Redo() SAL_OVERRIDE;
diff --git a/dbaccess/source/ui/uno/DBTypeWizDlgSetup.cxx b/dbaccess/source/ui/uno/DBTypeWizDlgSetup.cxx
index 15dcaa2..6bfbaba 100644
--- a/dbaccess/source/ui/uno/DBTypeWizDlgSetup.cxx
+++ b/dbaccess/source/ui/uno/DBTypeWizDlgSetup.cxx
@@ -115,7 +115,7 @@ void ODBTypeWizDialogSetup::executedDialog(sal_Int16 _nExecutionResult)
{
    if ( _nExecutionResult == RET_OK )
    {
        const ODbTypeWizDialogSetup* pDialog = static_cast< ODbTypeWizDialogSetup* >( m_pDialog );
        const ODbTypeWizDialogSetup* pDialog = static_cast< ODbTypeWizDialogSetup* >( m_pDialog.get() );
        m_bOpenDatabase = pDialog->IsDatabaseDocumentToBeOpened();
        m_bStartTableWizard = pDialog->IsTableWizardToBeStarted();
    }
diff --git a/dbaccess/source/ui/uno/composerdialogs.cxx b/dbaccess/source/ui/uno/composerdialogs.cxx
index 7404f5b4..373badf 100644
--- a/dbaccess/source/ui/uno/composerdialogs.cxx
+++ b/dbaccess/source/ui/uno/composerdialogs.cxx
@@ -169,7 +169,7 @@ namespace dbaui
        ComposerDialog::executedDialog( _nExecutionResult );

        if ( _nExecutionResult && m_pDialog )
            static_cast< DlgFilterCrit* >( m_pDialog )->BuildWherePart();
            static_cast< DlgFilterCrit* >( m_pDialog.get() )->BuildWherePart();
    }

    // RowsetOrderDialog
@@ -216,9 +216,9 @@ namespace dbaui
            return;

        if ( _nExecutionResult )
            static_cast< DlgOrderCrit* >( m_pDialog )->BuildOrderPart();
            static_cast< DlgOrderCrit* >( m_pDialog.get() )->BuildOrderPart();
        else if ( m_xComposer.is() )
            m_xComposer->setOrder( static_cast< DlgOrderCrit* >( m_pDialog )->GetOrignalOrder() );
            m_xComposer->setOrder( static_cast< DlgOrderCrit* >( m_pDialog.get() )->GetOrignalOrder() );
    }

}   // namespace dbaui
diff --git a/dbaccess/source/ui/uno/copytablewizard.cxx b/dbaccess/source/ui/uno/copytablewizard.cxx
index 5a676d1..b6e307f 100644
--- a/dbaccess/source/ui/uno/copytablewizard.cxx
+++ b/dbaccess/source/ui/uno/copytablewizard.cxx
@@ -548,7 +548,7 @@ void SAL_CALL CopyTableWizard::setTitle( const OUString& _rTitle ) throw (Runtim

OCopyTableWizard& CopyTableWizard::impl_getDialog_throw()
{
    OCopyTableWizard* pWizard = dynamic_cast< OCopyTableWizard* >( m_pDialog );
    OCopyTableWizard* pWizard = dynamic_cast< OCopyTableWizard* >( m_pDialog.get() );
    if ( !pWizard )
        throw DisposedException( OUString(), *this );
    return *pWizard;
diff --git a/desktop/source/app/cmdlinehelp.hxx b/desktop/source/app/cmdlinehelp.hxx
index 2a3bda7..7837dc3 100644
--- a/desktop/source/app/cmdlinehelp.hxx
+++ b/desktop/source/app/cmdlinehelp.hxx
@@ -34,10 +34,10 @@ namespace desktop
    public:
        CmdlineHelpDialog ( void );

        FixedText*   m_pftHead;
        FixedText*   m_pftLeft;
        FixedText*   m_pftRight;
        FixedText*   m_pftBottom;
        VclPtr<FixedText>   m_pftHead;
        VclPtr<FixedText>   m_pftLeft;
        VclPtr<FixedText>   m_pftRight;
        VclPtr<FixedText>   m_pftBottom;
    };
#endif
}
diff --git a/desktop/source/deployment/gui/dp_gui_dependencydialog.cxx b/desktop/source/deployment/gui/dp_gui_dependencydialog.cxx
index ca6eb1b..f93712e 100644
--- a/desktop/source/deployment/gui/dp_gui_dependencydialog.cxx
+++ b/desktop/source/deployment/gui/dp_gui_dependencydialog.cxx
@@ -50,4 +50,14 @@ DependencyDialog::DependencyDialog(
    }
}

DependencyDialog::~DependencyDialog()
{
    dispose();
}

void DependencyDialog::dispose()
{
    m_list.clear();
    ModalDialog::dispose();
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/desktop/source/deployment/gui/dp_gui_dependencydialog.hxx b/desktop/source/deployment/gui/dp_gui_dependencydialog.hxx
index eec1453..2d7d3e9 100644
--- a/desktop/source/deployment/gui/dp_gui_dependencydialog.hxx
+++ b/desktop/source/deployment/gui/dp_gui_dependencydialog.hxx
@@ -37,12 +37,14 @@ class DependencyDialog: public ModalDialog {
public:
    DependencyDialog(
        vcl::Window * parent, std::vector< OUString > const & dependencies);
    virtual ~DependencyDialog();
    virtual void dispose() SAL_OVERRIDE;

private:
    DependencyDialog(DependencyDialog &) SAL_DELETED_FUNCTION;
    void operator =(DependencyDialog &) SAL_DELETED_FUNCTION;

    ListBox*  m_list;
    VclPtr<ListBox>  m_list;
};

}
diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
index b3a7195..403bd89 100644
--- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx
+++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
@@ -116,11 +116,11 @@ class ExtBoxWithBtns_Impl : public ExtensionBox_Impl
{
    bool            m_bInterfaceLocked;

    PushButton     *m_pOptionsBtn;
    PushButton     *m_pEnableBtn;
    PushButton     *m_pRemoveBtn;
    VclPtr<PushButton>     m_pOptionsBtn;
    VclPtr<PushButton>     m_pEnableBtn;
    VclPtr<PushButton>     m_pRemoveBtn;

    ExtMgrDialog   *m_pParent;
    VclPtr<ExtMgrDialog>   m_pParent;

    void            SetButtonPos( const Rectangle& rRect );
    void            SetButtonStatus( const TEntry_Impl& rEntry );
@@ -208,9 +208,10 @@ ExtBoxWithBtns_Impl::~ExtBoxWithBtns_Impl()

void ExtBoxWithBtns_Impl::dispose()
{
    delete m_pOptionsBtn;
    delete m_pEnableBtn;
    delete m_pRemoveBtn;
    m_pOptionsBtn.clear();
    m_pEnableBtn.clear();
    m_pRemoveBtn.clear();
    m_pParent.clear();
    ExtensionBox_Impl::dispose();
}

@@ -729,6 +730,17 @@ ExtMgrDialog::~ExtMgrDialog()
void ExtMgrDialog::dispose()
{
    m_aIdle.Stop();
    m_pExtensionBox.clear();
    m_pAddBtn.clear();
    m_pUpdateBtn.clear();
    m_pCloseBtn.clear();
    m_pBundledCbx.clear();
    m_pSharedCbx.clear();
    m_pUserCbx.clear();
    m_pGetExtensions.clear();
    m_pProgressText.clear();
    m_pProgressBar.clear();
    m_pCancelBtn.clear();
    ModelessDialog::dispose();
}

@@ -1216,6 +1228,13 @@ UpdateRequiredDialog::~UpdateRequiredDialog()
void UpdateRequiredDialog::dispose()
{
    m_aIdle.Stop();
    m_pExtensionBox.clear();
    m_pUpdateNeeded.clear();
    m_pUpdateBtn.clear();
    m_pCloseBtn.clear();
    m_pCancelBtn.clear();
    m_pProgressText.clear();
    m_pProgressBar.clear();
    ModalDialog::dispose();
}

@@ -1589,6 +1608,16 @@ ShowLicenseDialog::ShowLicenseDialog( vcl::Window * pParent,
    m_pLicenseText->SetText(xPackage->getLicenseText());
}

ShowLicenseDialog::~ShowLicenseDialog()
{
    dispose();
}

void ShowLicenseDialog::dispose()
{
    m_pLicenseText.clear();
    ModalDialog::dispose();
}

// UpdateRequiredDialogService

diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.hxx b/desktop/source/deployment/gui/dp_gui_dialog2.hxx
index c5e7c38..2f6052b 100644
--- a/desktop/source/deployment/gui/dp_gui_dialog2.hxx
+++ b/desktop/source/deployment/gui/dp_gui_dialog2.hxx
@@ -55,7 +55,7 @@ class TheExtensionManager;
class DialogHelper
{
    ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
    Dialog*         m_pVCLWindow;
    VclPtr<Dialog>  m_pVCLWindow;
    ImplSVEvent *   m_nEventID;
    bool            m_bIsBusy;

@@ -99,17 +99,17 @@ public:
class ExtMgrDialog : public ModelessDialog,
                     public DialogHelper
{
    ExtBoxWithBtns_Impl *m_pExtensionBox;
    PushButton          *m_pAddBtn;
    PushButton          *m_pUpdateBtn;
    CloseButton         *m_pCloseBtn;
    CheckBox            *m_pBundledCbx;
    CheckBox            *m_pSharedCbx;
    CheckBox            *m_pUserCbx;
    FixedHyperlink      *m_pGetExtensions;
    FixedText           *m_pProgressText;
    ProgressBar         *m_pProgressBar;
    CancelButton        *m_pCancelBtn;
    VclPtr<ExtBoxWithBtns_Impl> m_pExtensionBox;
    VclPtr<PushButton>          m_pAddBtn;
    VclPtr<PushButton>          m_pUpdateBtn;
    VclPtr<CloseButton>         m_pCloseBtn;
    VclPtr<CheckBox>            m_pBundledCbx;
    VclPtr<CheckBox>            m_pSharedCbx;
    VclPtr<CheckBox>            m_pUserCbx;
    VclPtr<FixedHyperlink>      m_pGetExtensions;
    VclPtr<FixedText>           m_pProgressText;
    VclPtr<ProgressBar>         m_pProgressBar;
    VclPtr<CancelButton>        m_pCancelBtn;
    const OUString       m_sAddPackages;
    OUString             m_sProgressText;
    OUString             m_sLastFolderURL;
@@ -174,13 +174,13 @@ public:
class UpdateRequiredDialog : public ModalDialog,
                             public DialogHelper
{
    ExtensionBox_Impl*   m_pExtensionBox;
    FixedText*           m_pUpdateNeeded;
    PushButton*          m_pUpdateBtn;
    PushButton*          m_pCloseBtn;
    CancelButton*        m_pCancelBtn;
    FixedText*           m_pProgressText;
    ProgressBar*         m_pProgressBar;
    VclPtr<ExtensionBox_Impl>   m_pExtensionBox;
    VclPtr<FixedText>           m_pUpdateNeeded;
    VclPtr<PushButton>          m_pUpdateBtn;
    VclPtr<PushButton>          m_pCloseBtn;
    VclPtr<CancelButton>        m_pCancelBtn;
    VclPtr<FixedText>           m_pProgressText;
    VclPtr<ProgressBar>         m_pProgressBar;
    const OUString       m_sAddPackages;
    const OUString       m_sCloseText;
    OUString             m_sProgressText;
@@ -242,9 +242,11 @@ public:

class ShowLicenseDialog : public ModalDialog
{
    VclMultiLineEdit* m_pLicenseText;
    VclPtr<VclMultiLineEdit> m_pLicenseText;
public:
    ShowLicenseDialog(vcl::Window * pParent, const css::uno::Reference< css::deployment::XPackage > &xPackage);
    virtual ~ShowLicenseDialog();
    virtual void dispose() SAL_OVERRIDE;
};


diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
index 8eaf3f7..07a7d06 100644
--- a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
+++ b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
@@ -253,17 +253,13 @@ void ExtensionBox_Impl::dispose()

    for ( ITER iIndex = m_vEntries.begin(); iIndex < m_vEntries.end(); ++iIndex )
    {
        if ( (*iIndex)->m_pPublisher )
        {
            delete (*iIndex)->m_pPublisher;
            (*iIndex)->m_pPublisher = NULL;
        }
        (*iIndex)->m_pPublisher.clear();
        (*iIndex)->m_xPackage->removeEventListener( uno::Reference< lang::XEventListener > ( m_xRemoveListener, uno::UNO_QUERY ) );
    }

    m_vEntries.clear();

    delete m_pScrollBar;
    m_pScrollBar.clear();

    m_xRemoveListener.clear();

@@ -439,11 +435,7 @@ void ExtensionBox_Impl::DeleteRemoved()

        for ( ITER iIndex = m_vRemovedEntries.begin(); iIndex < m_vRemovedEntries.end(); ++iIndex )
        {
            if ( (*iIndex)->m_pPublisher )
            {
                delete (*iIndex)->m_pPublisher;
                (*iIndex)->m_pPublisher = NULL;
            }
            (*iIndex)->m_pPublisher.clear();
        }

        m_vRemovedEntries.clear();
diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.hxx b/desktop/source/deployment/gui/dp_gui_extlistbox.hxx
index c2635ed..d49e4a1 100644
--- a/desktop/source/deployment/gui/dp_gui_extlistbox.hxx
+++ b/desktop/source/deployment/gui/dp_gui_extlistbox.hxx
@@ -78,7 +78,7 @@ struct Entry_Impl
    OUString        m_sLicenseText;
    Image           m_aIcon;
    Image           m_aIconHC;
    FixedHyperlink* m_pPublisher;
    VclPtr<FixedHyperlink> m_pPublisher;

    ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage> m_xPackage;

@@ -99,7 +99,7 @@ class ExtensionBox_Impl;

class ExtensionRemovedListener : public ::cppu::WeakImplHelper1< ::com::sun::star::lang::XEventListener >
{
    ExtensionBox_Impl   *m_pParent;
    VclPtr<ExtensionBox_Impl>   m_pParent;

public:

@@ -134,7 +134,7 @@ class ExtensionBox_Impl : public ::svt::IExtensionListBox
    Image           m_aDefaultImage;
    Link            m_aClickHdl;

    ScrollBar      *m_pScrollBar;
    VclPtr<ScrollBar>      m_pScrollBar;

    com::sun::star::uno::Reference< ExtensionRemovedListener > m_xRemoveListener;

diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
index f3584d0..07168b7 100644
--- a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
+++ b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
@@ -98,8 +98,6 @@ TheExtensionManager::TheExtensionManager( vcl::Window *pParent,

TheExtensionManager::~TheExtensionManager()
{
    delete m_pUpdReqDialog;
    delete m_pExtMgrDialog;
    delete m_pExecuteCmdQueue;
}

@@ -171,8 +169,7 @@ sal_Int16 TheExtensionManager::execute()
    if ( m_pUpdReqDialog )
    {
        nRet = m_pUpdReqDialog->Execute();
        delete m_pUpdReqDialog;
        m_pUpdReqDialog = NULL;
        m_pUpdReqDialog.clear();
    }

    return nRet;
@@ -259,10 +256,8 @@ void TheExtensionManager::terminateDialog()
    if ( ! dp_misc::office_is_running() )
    {
        const SolarMutexGuard guard;
        delete m_pExtMgrDialog;
        m_pExtMgrDialog = NULL;
        delete m_pUpdReqDialog;
        m_pUpdReqDialog = NULL;
        m_pExtMgrDialog.clear();
        m_pUpdReqDialog.clear();
        Application::Quit();
    }
}
@@ -426,10 +421,8 @@ void TheExtensionManager::disposing( lang::EventObject const & rEvt )
        if ( dp_misc::office_is_running() )
        {
            const SolarMutexGuard guard;
            delete m_pExtMgrDialog;
            m_pExtMgrDialog = NULL;
            delete m_pUpdReqDialog;
            m_pUpdReqDialog = NULL;
            m_pExtMgrDialog.clear();
            m_pUpdReqDialog.clear();
        }
        s_ExtMgr.clear();
    }
diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.hxx b/desktop/source/deployment/gui/dp_gui_theextmgr.hxx
index 67836b2..9281dde 100644
--- a/desktop/source/deployment/gui/dp_gui_theextmgr.hxx
+++ b/desktop/source/deployment/gui/dp_gui_theextmgr.hxx
@@ -53,9 +53,9 @@ private:
    ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XExtensionManager > m_xExtensionManager;
    ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >    m_xNameAccessNodes;

    vcl::Window             *m_pParent;
    ExtMgrDialog            *m_pExtMgrDialog;
    UpdateRequiredDialog    *m_pUpdReqDialog;
    VclPtr<vcl::Window>             m_pParent;
    VclPtr<ExtMgrDialog>            m_pExtMgrDialog;
    VclPtr<UpdateRequiredDialog>    m_pUpdReqDialog;
    ExtensionCmdQueue       *m_pExecuteCmdQueue;

    OUString          m_sGetExtensionsURL;
diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
index 0aa7c2f..e7a6770 100644
--- a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
+++ b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
@@ -579,7 +579,21 @@ void UpdateDialog::dispose()
    {
        delete (*i);
    }
    delete m_pUpdates;
    m_pchecking.clear();
    m_pthrobber.clear();
    m_pUpdate.clear();
    m_pContainer.clear();
    m_pUpdates.clear();
    m_pAll.clear();
    m_pDescription.clear();
    m_pPublisherLabel.clear();
    m_pPublisherLink.clear();
    m_pReleaseNotesLabel.clear();
    m_pReleaseNotesLink.clear();
    m_pDescriptions.clear();
    m_pHelp.clear();
    m_pOk.clear();
    m_pClose.clear();
    ModalDialog::dispose();
}

diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.hxx b/desktop/source/deployment/gui/dp_gui_updatedialog.hxx
index 8420aac..18fa9de 100644
--- a/desktop/source/deployment/gui/dp_gui_updatedialog.hxx
+++ b/desktop/source/deployment/gui/dp_gui_updatedialog.hxx
@@ -168,21 +168,21 @@ private:

    com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >
        m_context;
    FixedText* m_pchecking;
    Throbber* m_pthrobber;
    FixedText* m_pUpdate;
    VclViewport* m_pContainer;
    UpdateDialog::CheckListBox* m_pUpdates;
    CheckBox* m_pAll;
    FixedText* m_pDescription;
    FixedText* m_pPublisherLabel;
    FixedHyperlink* m_pPublisherLink;
    FixedText* m_pReleaseNotesLabel;
    FixedHyperlink* m_pReleaseNotesLink;
    VclMultiLineEdit* m_pDescriptions;
    HelpButton* m_pHelp;
    PushButton* m_pOk;
    PushButton* m_pClose;
    VclPtr<FixedText> m_pchecking;
    VclPtr<Throbber> m_pthrobber;
    VclPtr<FixedText> m_pUpdate;
    VclPtr<VclViewport> m_pContainer;
    VclPtr<UpdateDialog::CheckListBox> m_pUpdates;
    VclPtr<CheckBox> m_pAll;
    VclPtr<FixedText> m_pDescription;
    VclPtr<FixedText> m_pPublisherLabel;
    VclPtr<FixedHyperlink> m_pPublisherLink;
    VclPtr<FixedText> m_pReleaseNotesLabel;
    VclPtr<FixedHyperlink> m_pReleaseNotesLink;
    VclPtr<VclMultiLineEdit> m_pDescriptions;
    VclPtr<HelpButton> m_pHelp;
    VclPtr<PushButton> m_pOk;
    VclPtr<PushButton> m_pClose;
    OUString m_error;
    OUString m_none;
    OUString m_noInstallable;
diff --git a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx
index b67c026..5c8ab0c 100644
--- a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx
+++ b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx
@@ -244,6 +244,13 @@ UpdateInstallDialog::~UpdateInstallDialog()

void UpdateInstallDialog::dispose()
{
    m_pFt_action.clear();
    m_pStatusbar.clear();
    m_pFt_extension_name.clear();
    m_pMle_info.clear();
    m_pHelp.clear();
    m_pOk.clear();
    m_pCancel.clear();
    ModalDialog::dispose();
}

diff --git a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx
index d9a3437..9c05abd 100644
--- a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx
+++ b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx
@@ -105,13 +105,13 @@ private:
    OUString m_sNoInstall;
    OUString m_sThisErrorOccurred;

    FixedText *m_pFt_action;
    ProgressBar *m_pStatusbar;
    FixedText *m_pFt_extension_name;
    VclMultiLineEdit *m_pMle_info;
    HelpButton *m_pHelp;
    OKButton *m_pOk;
    CancelButton *m_pCancel;
    VclPtr<FixedText>    m_pFt_action;
    VclPtr<ProgressBar>  m_pStatusbar;
    VclPtr<FixedText>    m_pFt_extension_name;
    VclPtr<VclMultiLineEdit> m_pMle_info;
    VclPtr<HelpButton>   m_pHelp;
    VclPtr<OKButton>     m_pOk;
    VclPtr<CancelButton> m_pCancel;
};

}
diff --git a/desktop/source/deployment/gui/license_dialog.cxx b/desktop/source/deployment/gui/license_dialog.cxx
index 916525a..840b90b 100644
--- a/desktop/source/deployment/gui/license_dialog.cxx
+++ b/desktop/source/deployment/gui/license_dialog.cxx
@@ -77,14 +77,14 @@ protected:
struct LicenseDialogImpl : public ModalDialog
{
    cssu::Reference<cssu::XComponentContext> m_xComponentContext;
    FixedText* m_pFtHead;
    FixedImage* m_pArrow1;
    FixedImage* m_pArrow2;
    LicenseView* m_pLicense;
    PushButton* m_pDown;
    VclPtr<FixedText> m_pFtHead;
    VclPtr<FixedImage> m_pArrow1;
    VclPtr<FixedImage> m_pArrow2;
    VclPtr<LicenseView> m_pLicense;
    VclPtr<PushButton> m_pDown;

    PushButton* m_pAcceptButton;
    PushButton* m_pDeclineButton;
    VclPtr<PushButton> m_pAcceptButton;
    VclPtr<PushButton> m_pDeclineButton;

    DECL_LINK(PageDownHdl, void *);
    DECL_LINK(ScrolledHdl, void *);
@@ -99,11 +99,26 @@ struct LicenseDialogImpl : public ModalDialog
        css::uno::Reference< css::uno::XComponentContext > const & xContext,
        const OUString & sExtensionName,
        const OUString & sLicenseText);
    virtual ~LicenseDialogImpl() { dispose(); }
    virtual void dispose() SAL_OVERRIDE;

    virtual void Activate() SAL_OVERRIDE;

};

void LicenseDialogImpl::dispose()
{
    m_pFtHead.clear();
    m_pArrow1.clear();
    m_pArrow2.clear();
    m_pLicense.clear();
    m_pDown.clear();
    m_pAcceptButton.clear();
    m_pDeclineButton.clear();
    ModalDialog::dispose();
}


LicenseView::LicenseView( vcl::Window* pParent, WinBits nStyle )
    : MultiLineEdit( pParent, nStyle )
{
diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx
index 321bfbf..80101aa 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -32,6 +32,7 @@
#include <vcl/virdev.hxx>
#include <vcl/gdimtf.hxx>
#include <vcl/cursor.hxx>
#include <vcl/vclptr.hxx>
#include <tools/fract.hxx>
#include <vcl/idle.hxx>

@@ -222,7 +223,7 @@ private:
    LibreOfficeKitCallback mpLibreOfficeKitCallback;
    void* mpLibreOfficeKitData;
    EditEngine*         pEditEngine;
    vcl::Window*             pOutWin;
    VclPtr<vcl::Window> pOutWin;
    Pointer*            pPointer;
    DragAndDropInfo*    pDragAndDropInfo;

diff --git a/editeng/source/editeng/textconv.hxx b/editeng/source/editeng/textconv.hxx
index 012811c..50cbbcf 100644
--- a/editeng/source/editeng/textconv.hxx
+++ b/editeng/source/editeng/textconv.hxx
@@ -24,6 +24,7 @@
#include <com/sun/star/uno/Reference.h>
#include <com/sun/star/uno/Sequence.hxx>
#include <editeng/hangulhanja.hxx>
#include <vcl/vclptr.hxx>

class EditView;

@@ -39,7 +40,7 @@ class TextConvWrapper : public editeng::HangulHanjaConversion
                                      // starts from the cursor position

    EditView *      m_pEditView;
    vcl::Window *        m_pWin;
    VclPtr<vcl::Window>  m_pWin;

    bool            m_bStartChk;
    bool            m_bStartDone;
diff --git a/editeng/source/misc/hangulhanja.cxx b/editeng/source/misc/hangulhanja.cxx
index f96974a..6f1b28e 100644
--- a/editeng/source/misc/hangulhanja.cxx
+++ b/editeng/source/misc/hangulhanja.cxx
@@ -69,7 +69,7 @@ namespace editeng
        // general
        AbstractHangulHanjaConversionDialog*
                                m_pConversionDialog;    // the dialog to display for user interaction
        vcl::Window*                 m_pUIParent;            // the parent window for any UI we raise
        VclPtr<vcl::Window>     m_pUIParent;            // the parent window for any UI we raise
        Reference< XComponentContext >
                                m_xContext;             // the service factory to use
        Reference< XExtendedTextConversion >
diff --git a/editeng/source/misc/splwrap.cxx b/editeng/source/misc/splwrap.cxx
index 674f563..ae24511 100644
--- a/editeng/source/misc/splwrap.cxx
+++ b/editeng/source/misc/splwrap.cxx
@@ -39,9 +39,9 @@
#include <editeng/editerr.hxx>
#include <boost/scoped_ptr.hpp>

#define WAIT_ON() if(pWin != NULL) { pWin->EnterWait(); }
#define WAIT_ON() if(pWin != nullptr) { pWin->EnterWait(); }

#define WAIT_OFF() if(pWin != NULL) { pWin->LeaveWait(); }
#define WAIT_OFF() if(pWin != nullptr) { pWin->LeaveWait(); }

using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
diff --git a/extensions/source/abpilot/abpfinalpage.cxx b/extensions/source/abpilot/abpfinalpage.cxx
index 3092133..136cb67 100644
--- a/extensions/source/abpilot/abpfinalpage.cxx
+++ b/extensions/source/abpilot/abpfinalpage.cxx
@@ -70,6 +70,12 @@ namespace abp
    void FinalPage::dispose()
    {
        delete m_pLocationController;
        m_pLocation.clear();
        m_pBrowse.clear();
        m_pRegisterName.clear();
        m_pNameLabel.clear();
        m_pName.clear();
        m_pDuplicateNameError.clear();
        AddressBookSourcePage::dispose();
    }

diff --git a/extensions/source/abpilot/abpfinalpage.hxx b/extensions/source/abpilot/abpfinalpage.hxx
index 65c40b3..eedeac4 100644
--- a/extensions/source/abpilot/abpfinalpage.hxx
+++ b/extensions/source/abpilot/abpfinalpage.hxx
@@ -26,6 +26,7 @@
#include <svtools/urlcontrol.hxx>
#include <svx/databaselocationinput.hxx>
#include <vcl/edit.hxx>
#include <vcl/vclptr.hxx>


namespace abp
@@ -38,12 +39,12 @@ namespace abp
    class FinalPage : public AddressBookSourcePage
    {
    protected:
        ::svt::OFileURLControl*  m_pLocation;
        PushButton*     m_pBrowse;
        CheckBox*       m_pRegisterName;
        FixedText*      m_pNameLabel;
        Edit*           m_pName;
        FixedText*      m_pDuplicateNameError;
        VclPtr<::svt::OFileURLControl>  m_pLocation;
        VclPtr<PushButton>       m_pBrowse;
        VclPtr<CheckBox>         m_pRegisterName;
        VclPtr<FixedText>        m_pNameLabel;
        VclPtr<Edit>             m_pName;
        VclPtr<FixedText>        m_pDuplicateNameError;

        ::svx::DatabaseLocationInputController*
                        m_pLocationController;
diff --git a/extensions/source/abpilot/admininvokationimpl.hxx b/extensions/source/abpilot/admininvokationimpl.hxx
index 486223c..9dc5d3b 100644
--- a/extensions/source/abpilot/admininvokationimpl.hxx
+++ b/extensions/source/abpilot/admininvokationimpl.hxx
@@ -22,6 +22,7 @@

#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <vcl/vclptr.hxx>

namespace vcl { class Window; }

@@ -36,7 +37,7 @@ namespace abp
        ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
                        m_xContext;
        ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > m_xDataSource;
        vcl::Window*         m_pMessageParent;
        VclPtr<vcl::Window>         m_pMessageParent;

    public:
        OAdminDialogInvokation(
diff --git a/extensions/source/abpilot/admininvokationpage.cxx b/extensions/source/abpilot/admininvokationpage.cxx
index a92e90d..dd11939 100644
--- a/extensions/source/abpilot/admininvokationpage.cxx
+++ b/extensions/source/abpilot/admininvokationpage.cxx
@@ -34,7 +34,16 @@ namespace abp
        get(m_pErrorMessage, "warning");
        m_pInvokeAdminDialog->SetClickHdl( LINK(this, AdminDialogInvokationPage, OnInvokeAdminDialog) );
    }

    AdminDialogInvokationPage::~AdminDialogInvokationPage()
    {
        dispose();
    }
    void AdminDialogInvokationPage::dispose()
    {
        m_pInvokeAdminDialog.clear();
        m_pErrorMessage.clear();
        AddressBookSourcePage::dispose();
    }
    void AdminDialogInvokationPage::ActivatePage()
    {
        AddressBookSourcePage::ActivatePage();
diff --git a/extensions/source/abpilot/admininvokationpage.hxx b/extensions/source/abpilot/admininvokationpage.hxx
index 4b26427..7e2e7ef 100644
--- a/extensions/source/abpilot/admininvokationpage.hxx
+++ b/extensions/source/abpilot/admininvokationpage.hxx
@@ -29,14 +29,15 @@ namespace abp
    class AdminDialogInvokationPage : public AddressBookSourcePage
    {
    protected:
        PushButton* m_pInvokeAdminDialog;
        FixedText*  m_pErrorMessage;
        VclPtr<PushButton> m_pInvokeAdminDialog;
        VclPtr<FixedText>  m_pErrorMessage;

        bool        m_bSuccessfullyExecutedDialog;

    public:
        AdminDialogInvokationPage( OAddessBookSourcePilot* _pParent );

        virtual ~AdminDialogInvokationPage();
        virtual void dispose() SAL_OVERRIDE;
    protected:
        // TabDialog overridables
        virtual void        ActivatePage() SAL_OVERRIDE;
diff --git a/extensions/source/abpilot/fieldmappingpage.cxx b/extensions/source/abpilot/fieldmappingpage.cxx
index c30bf82..1e4ca7a5 100644
--- a/extensions/source/abpilot/fieldmappingpage.cxx
+++ b/extensions/source/abpilot/fieldmappingpage.cxx
@@ -37,6 +37,18 @@ namespace abp
        m_pInvokeDialog->SetClickHdl( LINK( this, FieldMappingPage, OnInvokeDialog ) );
    }

    FieldMappingPage::~FieldMappingPage()
    {
        dispose();
    }

    void FieldMappingPage::dispose()
    {
        m_pInvokeDialog.clear();
        m_pHint.clear();
        AddressBookSourcePage::dispose();
    }

    void FieldMappingPage::ActivatePage()
    {
        AddressBookSourcePage::ActivatePage();
diff --git a/extensions/source/abpilot/fieldmappingpage.hxx b/extensions/source/abpilot/fieldmappingpage.hxx
index 35ce8a2..6adaf51 100644
--- a/extensions/source/abpilot/fieldmappingpage.hxx
+++ b/extensions/source/abpilot/fieldmappingpage.hxx
@@ -21,6 +21,7 @@
#define INCLUDED_EXTENSIONS_SOURCE_ABPILOT_FIELDMAPPINGPAGE_HXX

#include "abspage.hxx"
#include <vcl/vclptr.hxx>


namespace abp
@@ -33,12 +34,13 @@ namespace abp
    class FieldMappingPage : public AddressBookSourcePage
    {
    protected:
        PushButton*     m_pInvokeDialog;
        FixedText*      m_pHint;
        VclPtr<PushButton>     m_pInvokeDialog;
        VclPtr<FixedText>      m_pHint;

    public:
        FieldMappingPage( OAddessBookSourcePilot* _pParent );

        virtual ~FieldMappingPage();
        virtual void dispose() SAL_OVERRIDE;
    protected:
        // OWizardPage overridables
        virtual void        initializePage() SAL_OVERRIDE;
diff --git a/extensions/source/abpilot/tableselectionpage.cxx b/extensions/source/abpilot/tableselectionpage.cxx
index 61ac27d..d85423b 100644
--- a/extensions/source/abpilot/tableselectionpage.cxx
+++ b/extensions/source/abpilot/tableselectionpage.cxx
@@ -41,6 +41,16 @@ namespace abp
        m_pTableList->SetDoubleClickHdl( LINK( this, TableSelectionPage, OnTableDoubleClicked ) );
    }

    TableSelectionPage::~TableSelectionPage()
    {
        dispose();
    }

    void TableSelectionPage::dispose()
    {
        m_pTableList.clear();
        AddressBookSourcePage::dispose();
    }

    void TableSelectionPage::ActivatePage()
    {
diff --git a/extensions/source/abpilot/tableselectionpage.hxx b/extensions/source/abpilot/tableselectionpage.hxx
index c9fcd75..7abcf54 100644
--- a/extensions/source/abpilot/tableselectionpage.hxx
+++ b/extensions/source/abpilot/tableselectionpage.hxx
@@ -22,6 +22,7 @@

#include "abspage.hxx"
#include <vcl/lstbox.hxx>
#include <vcl/vclptr.hxx>


namespace abp
@@ -34,11 +35,12 @@ namespace abp
    class TableSelectionPage : public AddressBookSourcePage
    {
    protected:
        ListBox*        m_pTableList;
        VclPtr<ListBox>        m_pTableList;

    public:
        TableSelectionPage( OAddessBookSourcePilot* _pParent );

        virtual ~TableSelectionPage();
        virtual void dispose() SAL_OVERRIDE;
    protected:
        // OWizardPage overridables
        virtual void        initializePage() SAL_OVERRIDE;
diff --git a/extensions/source/abpilot/typeselectionpage.cxx b/extensions/source/abpilot/typeselectionpage.cxx
index 494c7b8..813b546 100644
--- a/extensions/source/abpilot/typeselectionpage.cxx
+++ b/extensions/source/abpilot/typeselectionpage.cxx
@@ -161,6 +161,17 @@ namespace abp
        {
            loop->m_bVisible = false;
        }
        m_pEvolution.clear();
        m_pEvolutionGroupwise.clear();
        m_pEvolutionLdap.clear();
        m_pMORK.clear();
        m_pThunderbird.clear();
        m_pKab.clear();
        m_pMacab.clear();
        m_pLDAP.clear();
        m_pOutlook.clear();
        m_pOE.clear();
        m_pOther.clear();
        AddressBookSourcePage::dispose();
    }

diff --git a/extensions/source/abpilot/typeselectionpage.hxx b/extensions/source/abpilot/typeselectionpage.hxx
index 131d5ea..b7c628f 100644
--- a/extensions/source/abpilot/typeselectionpage.hxx
+++ b/extensions/source/abpilot/typeselectionpage.hxx
@@ -23,6 +23,7 @@
#include "abspage.hxx"
#include "addresssettings.hxx"
#include <vcl/edit.hxx>
#include <vcl/vclptr.hxx>


namespace abp
@@ -35,20 +36,20 @@ namespace abp
    class TypeSelectionPage : public AddressBookSourcePage
    {
    protected:
        RadioButton* m_pEvolution;
        RadioButton* m_pEvolutionGroupwise;
        RadioButton* m_pEvolutionLdap;
        RadioButton* m_pMORK;
        RadioButton* m_pThunderbird;
        RadioButton* m_pKab;
        RadioButton* m_pMacab;
        RadioButton* m_pLDAP;
        RadioButton* m_pOutlook;
        RadioButton* m_pOE;
        RadioButton* m_pOther;
        VclPtr<RadioButton> m_pEvolution;
        VclPtr<RadioButton> m_pEvolutionGroupwise;
        VclPtr<RadioButton> m_pEvolutionLdap;
        VclPtr<RadioButton> m_pMORK;
        VclPtr<RadioButton> m_pThunderbird;
        VclPtr<RadioButton> m_pKab;
        VclPtr<RadioButton> m_pMacab;
        VclPtr<RadioButton> m_pLDAP;
        VclPtr<RadioButton> m_pOutlook;
        VclPtr<RadioButton> m_pOE;
        VclPtr<RadioButton> m_pOther;

        struct ButtonItem {
            RadioButton *m_pItem;
            VclPtr<RadioButton> m_pItem;
            AddressSourceType m_eType;
            bool         m_bVisible;

diff --git a/extensions/source/abpilot/unodialogabp.cxx b/extensions/source/abpilot/unodialogabp.cxx
index dd24e0c..8a0714e 100644
--- a/extensions/source/abpilot/unodialogabp.cxx
+++ b/extensions/source/abpilot/unodialogabp.cxx
@@ -179,7 +179,7 @@ namespace abp
    {
        if ( _nExecutionResult == RET_OK )
        {
            const AddressSettings& aSettings = static_cast<OAddessBookSourcePilot*>(m_pDialog)->getSettings();
            const AddressSettings& aSettings = static_cast<OAddessBookSourcePilot*>(m_pDialog.get())->getSettings();
            m_sDataSourceName = aSettings.bRegisterDataSource ? aSettings.sRegisteredDataSourceName : aSettings.sDataSourceName;
        }
    }
diff --git a/extensions/source/bibliography/bibbeam.cxx b/extensions/source/bibliography/bibbeam.cxx
index 1a4713c..0174189 100644
--- a/extensions/source/bibliography/bibbeam.cxx
+++ b/extensions/source/bibliography/bibbeam.cxx
@@ -29,6 +29,7 @@
#include <vcl/edit.hxx>
#include <tools/debug.hxx>
#include "bibbeam.hxx"
#include "bibview.hxx"
#include "toolbar.hrc"
#include "bibresid.hxx"
#include "datman.hxx"
@@ -216,17 +217,17 @@ namespace bib
        if ( pToolBar )
        {
            pDatMan->SetToolbar(0);

            DELETEZ( pToolBar );
        }

        if( pGridWin )
        {
            BibGridwin* pDel = pGridWin;
            pGridWin = NULL;
            pGridWin.clear();
            pDel->disposeGridWin();
            delete pDel;
        }
        pToolBar.clear();
        pGridWin.clear();
        BibSplitWindow::dispose();
    }

diff --git a/extensions/source/bibliography/bibbeam.hxx b/extensions/source/bibliography/bibbeam.hxx
index 980ebf8..aea7d49 100644
--- a/extensions/source/bibliography/bibbeam.hxx
+++ b/extensions/source/bibliography/bibbeam.hxx
@@ -52,8 +52,8 @@ namespace bib
            ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >                  m_xGridWin;

            BibDataManager*         pDatMan;
            BibToolBar*             pToolBar;
            BibGridwin*             pGridWin;
            VclPtr<BibToolBar>      pToolBar;
            VclPtr<BibGridwin>      pGridWin;

            DECL_LINK( RecalcLayout_Impl, void* );

diff --git a/extensions/source/bibliography/bibcont.cxx b/extensions/source/bibliography/bibcont.cxx
index d13600c..b6e65e1 100644
--- a/extensions/source/bibliography/bibcont.cxx
+++ b/extensions/source/bibliography/bibcont.cxx
@@ -31,6 +31,7 @@

#include "datman.hxx"
#include "bibcont.hxx"
#include "bibview.hxx"


BibShortCutHandler::~BibShortCutHandler()
@@ -154,6 +155,8 @@ void BibBookContainer::dispose()
    }

    CloseBibModul( pBibMod );
    pTopWin.clear();
    pBottomWin.clear();
    BibSplitWindow::dispose();
}

@@ -178,7 +181,7 @@ void BibBookContainer::createTopFrame( BibShortCutHandler* pWin )
    if(pTopWin)
    {
        RemoveItem(TOP_WINDOW);
        delete pTopWin;
        pTopWin.clear();
    }
    pTopWin=new BibWindowContainer(this,pWin);
    pTopWin->Show();
@@ -195,7 +198,7 @@ void BibBookContainer::createBottomFrame( BibShortCutHandler* pWin )
    if(pBottomWin)
    {
        RemoveItem(BOTTOM_WINDOW);
        delete pBottomWin;
        pBottomWin.clear();
    }

    pBottomWin=new BibWindowContainer(this,pWin);
diff --git a/extensions/source/bibliography/bibcont.hxx b/extensions/source/bibliography/bibcont.hxx
index 9c26ca0..3488c2e 100644
--- a/extensions/source/bibliography/bibcont.hxx
+++ b/extensions/source/bibliography/bibcont.hxx
@@ -70,8 +70,8 @@ class BibBookContainer: public BibSplitWindow
        ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >              xTopPeerRef;
        ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >              xBottomPeerRef;

        BibWindowContainer*     pTopWin;
        BibWindowContainer*     pBottomWin;
        VclPtr<BibWindowContainer>     pTopWin;
        VclPtr<BibWindowContainer>     pBottomWin;
        HdlBibModul             pBibMod;
        Idle                    aIdle;

diff --git a/extensions/source/bibliography/bibmod.cxx b/extensions/source/bibliography/bibmod.cxx
index 4336c1a..cda8769 100644
--- a/extensions/source/bibliography/bibmod.cxx
+++ b/extensions/source/bibliography/bibmod.cxx
@@ -24,6 +24,7 @@
#include <com/sun/star/lang/XLocalizable.hpp>

#include "bibmod.hxx"
#include "bibview.hxx"
#include "bibresid.hxx"
#include "datman.hxx"
#include "bibconfig.hxx"
diff --git a/extensions/source/bibliography/bibshortcuthandler.hxx b/extensions/source/bibliography/bibshortcuthandler.hxx
index f109aeb..4fd7965 100644
--- a/extensions/source/bibliography/bibshortcuthandler.hxx
+++ b/extensions/source/bibliography/bibshortcuthandler.hxx
@@ -31,7 +31,7 @@
class BibShortCutHandler
{
private:
    vcl::Window*                 pBaseClass;     // in cases, where BibShortCutHandler also has to be a window
    VclPtr<vcl::Window>     pBaseClass;     // in cases, where BibShortCutHandler also has to be a window

protected:
    inline                  BibShortCutHandler( vcl::Window* pBaseClass );
diff --git a/extensions/source/bibliography/bibview.cxx b/extensions/source/bibliography/bibview.cxx
index c32e077..f00d4276 100644
--- a/extensions/source/bibliography/bibview.cxx
+++ b/extensions/source/bibliography/bibview.cxx
@@ -52,9 +52,10 @@ namespace bib
        ,m_pDatMan( _pManager )
        ,m_xDatMan( _pManager )
        ,m_pGeneralPage( NULL )
        ,m_aFormControlContainer(this)
    {
        if ( m_xDatMan.is() )
            connectForm( m_xDatMan );
            m_aFormControlContainer.connectForm( m_xDatMan );
    }


@@ -66,7 +67,7 @@ namespace bib
    void BibView::dispose()
    {
        BibGeneralPage* pGeneralPage = m_pGeneralPage;
        m_pGeneralPage = NULL;
        m_pGeneralPage.clear();

        pGeneralPage->CommitActiveControl();
        Reference< XForm > xForm = m_pDatMan->getForm();
@@ -97,8 +98,8 @@ namespace bib
            }
        }

        if ( isFormConnected() )
            disconnectForm();
        if ( m_aFormControlContainer.isFormConnected() )
            m_aFormControlContainer.disconnectForm();

        pGeneralPage->RemoveListeners();
        m_xGeneralPage = NULL;
@@ -118,7 +119,8 @@ namespace bib
            m_xGeneralPage = 0;
        }

        m_xGeneralPage = m_pGeneralPage = new BibGeneralPage( this, m_pDatMan );
        m_pGeneralPage = new BibGeneralPage( this, m_pDatMan );
        m_xGeneralPage = &m_pGeneralPage->GetFocusListener();
        m_pGeneralPage->Show();

        if( HasFocus() )
@@ -156,16 +158,18 @@ namespace bib
        }
    }

    void BibView::_loaded( const EventObject& _rEvent )
    BibViewFormControlContainer::BibViewFormControlContainer(BibView *pBibView) : mpBibView(pBibView) {}

    void BibViewFormControlContainer::_loaded( const EventObject& _rEvent )
    {
        UpdatePages();
        mpBibView->UpdatePages();
        FormControlContainer::_loaded( _rEvent );
        Resize();
    }

    void BibView::_reloaded( const EventObject& _rEvent )
    void BibViewFormControlContainer::_reloaded( const EventObject& _rEvent )
    {
        UpdatePages();
        mpBibView->UpdatePages();
        FormControlContainer::_loaded( _rEvent );
        Resize();
    }
@@ -186,6 +190,11 @@ namespace bib
        Window::Resize();
    }

    Reference< awt::XControlContainer > BibViewFormControlContainer::getControlContainer()
    {
        return mpBibView->getControlContainer();
    }

    Reference< awt::XControlContainer > BibView::getControlContainer()
    {
        Reference< awt::XControlContainer > xReturn;
diff --git a/extensions/source/bibliography/bibview.hxx b/extensions/source/bibliography/bibview.hxx
index 6ab966d..0ab5744 100644
--- a/extensions/source/bibliography/bibview.hxx
+++ b/extensions/source/bibliography/bibview.hxx
@@ -34,29 +34,40 @@ namespace bib
{


    class BibView;
    class BibViewFormControlContainer : public FormControlContainer
    {
    private:
        VclPtr<BibView> mpBibView;
    protected:
        // FormControlContainer
        virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer >
                            getControlContainer() SAL_OVERRIDE;
        // XLoadListener equivalents
        virtual void        _loaded( const ::com::sun::star::lang::EventObject& _rEvent ) SAL_OVERRIDE;
        virtual void        _reloaded( const ::com::sun::star::lang::EventObject& _rEvent ) SAL_OVERRIDE;
    public:
        using FormControlContainer::connectForm;
        using FormControlContainer::disconnectForm;
        using FormControlContainer::isFormConnected;
        BibViewFormControlContainer(BibView *pBibView);
    };

    class BibView : public BibWindow, public FormControlContainer
    class BibView : public BibWindow
    {
    private:
        BibDataManager*                                                             m_pDatMan;
        ::com::sun::star::uno::Reference< ::com::sun::star::form::XLoadable>        m_xDatMan;
        ::com::sun::star::uno::Reference< ::com::sun::star::awt::XFocusListener>    m_xGeneralPage;
        BibGeneralPage*                                                             m_pGeneralPage;
        VclPtr<BibGeneralPage>                                                      m_pGeneralPage;
        BibViewFormControlContainer                                                 m_aFormControlContainer;

    private:
        DECL_STATIC_LINK(BibView, CallMappingHdl, BibView*);

    protected:
        // Window overridables
            virtual void    Resize() SAL_OVERRIDE;

        // FormControlContainer
        virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer >
                            getControlContainer() SAL_OVERRIDE;

        // XLoadListener equivalents
        virtual void        _loaded( const ::com::sun::star::lang::EventObject& _rEvent ) SAL_OVERRIDE;
        virtual void        _reloaded( const ::com::sun::star::lang::EventObject& _rEvent ) SAL_OVERRIDE;
        virtual void    Resize() SAL_OVERRIDE;

    public:
                            BibView( vcl::Window* _pParent, BibDataManager* _pDatMan, WinBits nStyle = WB_3DLOOK );
@@ -64,6 +75,7 @@ namespace bib
        virtual void        dispose() SAL_OVERRIDE;

        void                UpdatePages();
        css::uno::Reference< css::awt::XControlContainer > getControlContainer();

        virtual void        GetFocus() SAL_OVERRIDE;

diff --git a/extensions/source/bibliography/datman.cxx b/extensions/source/bibliography/datman.cxx
index f28936d..818eea9 100644
--- a/extensions/source/bibliography/datman.cxx
+++ b/extensions/source/bibliography/datman.cxx
@@ -195,39 +195,39 @@ Reference< XNameAccess >  getColumns(const Reference< XForm > & _rxForm)
class MappingDialog_Impl : public ModalDialog
{
    BibDataManager* pDatMan;
    OKButton*       pOKBT;
    ListBox*        pIdentifierLB;
    ListBox*        pAuthorityTypeLB;
    ListBox*        pAuthorLB;
    ListBox*        pTitleLB;
    ListBox*        pMonthLB;
    ListBox*        pYearLB;
    ListBox*        pISBNLB;
    ListBox*        pBooktitleLB;
    ListBox*        pChapterLB;
    ListBox*        pEditionLB;
    ListBox*        pEditorLB;
    ListBox*        pHowpublishedLB;
    ListBox*        pInstitutionLB;
    ListBox*        pJournalLB;
    ListBox*        pNoteLB;
    ListBox*        pAnnoteLB;
    ListBox*        pNumberLB;
    ListBox*        pOrganizationsLB;
    ListBox*        pPagesLB;
    ListBox*        pPublisherLB;
    ListBox*        pAddressLB;
    ListBox*        pSchoolLB;
    ListBox*        pSeriesLB;
    ListBox*        pReportTypeLB;
    ListBox*        pVolumeLB;
    ListBox*        pURLLB;
    ListBox*        pCustom1LB;
    ListBox*        pCustom2LB;
    ListBox*        pCustom3LB;
    ListBox*        pCustom4LB;
    ListBox*        pCustom5LB;
    ListBox*        aListBoxes[COLUMN_COUNT];
    VclPtr<OKButton>       pOKBT;
    VclPtr<ListBox>        pIdentifierLB;
    VclPtr<ListBox>        pAuthorityTypeLB;
    VclPtr<ListBox>        pAuthorLB;
    VclPtr<ListBox>        pTitleLB;
    VclPtr<ListBox>        pMonthLB;
    VclPtr<ListBox>        pYearLB;
    VclPtr<ListBox>        pISBNLB;
    VclPtr<ListBox>        pBooktitleLB;
    VclPtr<ListBox>        pChapterLB;
    VclPtr<ListBox>        pEditionLB;
    VclPtr<ListBox>        pEditorLB;
    VclPtr<ListBox>        pHowpublishedLB;
    VclPtr<ListBox>        pInstitutionLB;
    VclPtr<ListBox>        pJournalLB;
    VclPtr<ListBox>        pNoteLB;
    VclPtr<ListBox>        pAnnoteLB;
    VclPtr<ListBox>        pNumberLB;
    VclPtr<ListBox>        pOrganizationsLB;
    VclPtr<ListBox>        pPagesLB;
    VclPtr<ListBox>        pPublisherLB;
    VclPtr<ListBox>        pAddressLB;
    VclPtr<ListBox>        pSchoolLB;
    VclPtr<ListBox>        pSeriesLB;
    VclPtr<ListBox>        pReportTypeLB;
    VclPtr<ListBox>        pVolumeLB;
    VclPtr<ListBox>        pURLLB;
    VclPtr<ListBox>        pCustom1LB;
    VclPtr<ListBox>        pCustom2LB;
    VclPtr<ListBox>        pCustom3LB;
    VclPtr<ListBox>        pCustom4LB;
    VclPtr<ListBox>        pCustom5LB;
    VclPtr<ListBox>        aListBoxes[COLUMN_COUNT];
    OUString        sNone;

    bool        bModified;
@@ -240,6 +240,7 @@ class MappingDialog_Impl : public ModalDialog
public:
    MappingDialog_Impl(vcl::Window* pParent, BibDataManager* pDatMan);
    virtual ~MappingDialog_Impl();
    virtual void dispose() SAL_OVERRIDE;

    void    SetModified() {bModified = true;}

@@ -376,7 +377,48 @@ MappingDialog_Impl::MappingDialog_Impl(vcl::Window* pParent, BibDataManager* pMa
}

MappingDialog_Impl::~MappingDialog_Impl()
{}
{
    dispose();
}

void MappingDialog_Impl::dispose()
{
    pOKBT.clear();
    pIdentifierLB.clear();
    pAuthorityTypeLB.clear();
    pAuthorLB.clear();
    pTitleLB.clear();
    pMonthLB.clear();
    pYearLB.clear();
    pISBNLB.clear();
    pBooktitleLB.clear();
    pChapterLB.clear();
    pEditionLB.clear();
    pEditorLB.clear();
    pHowpublishedLB.clear();
    pInstitutionLB.clear();
    pJournalLB.clear();
    pNoteLB.clear();
    pAnnoteLB.clear();
    pNumberLB.clear();
    pOrganizationsLB.clear();
    pPagesLB.clear();
    pPublisherLB.clear();
    pAddressLB.clear();
    pSchoolLB.clear();
    pSeriesLB.clear();
    pReportTypeLB.clear();
    pVolumeLB.clear();
    pURLLB.clear();
    pCustom1LB.clear();
    pCustom2LB.clear();
    pCustom3LB.clear();
    pCustom4LB.clear();
    pCustom5LB.clear();
    for(auto & a : aListBoxes)
        a.clear();
    ModalDialog::dispose();
}

IMPL_LINK(MappingDialog_Impl, ListBoxSelectHdl, ListBox*, pListBox)
{
@@ -426,7 +468,7 @@ IMPL_LINK_NOARG(MappingDialog_Impl, OkHdl)

class DBChangeDialog_Impl : public ModalDialog
{
    ListBox*    m_pSelectionLB;
    VclPtr<ListBox>    m_pSelectionLB;
    DBChangeDialogConfig_Impl   aConfig;

    BibDataManager* pDatMan;
@@ -435,6 +477,7 @@ class DBChangeDialog_Impl : public ModalDialog
public:
    DBChangeDialog_Impl(vcl::Window* pParent, BibDataManager* pMan );
    virtual ~DBChangeDialog_Impl();
    virtual void dispose() SAL_OVERRIDE;

    OUString     GetCurrentURL()const;
};
@@ -477,6 +520,13 @@ IMPL_LINK(DBChangeDialog_Impl, DoubleClickHdl, SvTabListBox*, /*pLB*/)

DBChangeDialog_Impl::~DBChangeDialog_Impl()
{
    dispose();
}

void DBChangeDialog_Impl::dispose()
{
    m_pSelectionLB.clear();
    ModalDialog::dispose();
}

OUString  DBChangeDialog_Impl::GetCurrentURL()const
diff --git a/extensions/source/bibliography/datman.hxx b/extensions/source/bibliography/datman.hxx
index ea5738f..80349cc 100644
--- a/extensions/source/bibliography/datman.hxx
+++ b/extensions/source/bibliography/datman.hxx
@@ -33,6 +33,7 @@
#include <com/sun/star/frame/XDispatchProviderInterceptor.hpp>
#include <com/sun/star/frame/XDispatchProviderInterception.hpp>
#include <cppuhelper/implbase1.hxx>
#include <vcl/vclptr.hxx>

namespace vcl { class Window; }

@@ -100,8 +101,8 @@ private:

        ::cppu::OInterfaceContainerHelper   m_aLoadListeners;

        ::bib::BibView*             pBibView;
        BibToolBar*                 pToolbar;
        VclPtr<::bib::BibView>      pBibView;
        VclPtr<BibToolBar>          pToolbar;

        OUString               sIdentifierMapping;
protected:
diff --git a/extensions/source/bibliography/framectr.cxx b/extensions/source/bibliography/framectr.cxx
index a586fe69..563aa8a 100644
--- a/extensions/source/bibliography/framectr.cxx
+++ b/extensions/source/bibliography/framectr.cxx
@@ -25,6 +25,7 @@
#include <comphelper/sequence.hxx>
#include "framectr.hxx"
#include "datman.hxx"
#include "bibview.hxx"
#include "bibresid.hxx"
#include "bib.hrc"
#include <toolkit/helper/vclunohelper.hxx>
diff --git a/extensions/source/bibliography/general.cxx b/extensions/source/bibliography/general.cxx
index e63300c..a8af717 100644
--- a/extensions/source/bibliography/general.cxx
+++ b/extensions/source/bibliography/general.cxx
@@ -36,6 +36,7 @@
#include "bibprop.hrc"
#include "bib.hrc"
#include "bibmod.hxx"
#include "bibview.hxx"
#include "bibtools.hxx"
#include "bibliography.hrc"
#include <tools/debug.hxx>
@@ -70,7 +71,7 @@ static OUString lcl_GetColumnName( const Mapping* pMapping, sal_uInt16 nIndexPos

class BibPosListener    :public cppu::WeakImplHelper1 <sdbc::XRowSetListener>
{
    BibGeneralPage*     pParentPage;
    VclPtr<BibGeneralPage>     pParentPage;
public:
    BibPosListener(BibGeneralPage* pParent);

@@ -168,6 +169,7 @@ void BibPosListener::disposing(const lang::EventObject& /*Source*/) throw( uno::
BibGeneralPage::BibGeneralPage(vcl::Window* pParent, BibDataManager* pMan):
    BibTabPage(pParent, "GeneralPage", "modules/sbibliography/ui/generalpage.ui"),
    sErrorPrefix(BIB_RESSTR(ST_ERROR_PREFIX)),
    maBibGeneralPageFocusListener(this),
    pDatMan(pMan)
{
    get(pIdentifierFT, "shortname");
@@ -375,6 +377,40 @@ void BibGeneralPage::dispose()
        if(xRowSet.is())
            xRowSet->removeRowSetListener(xPosListener);
    }
    pGrid.clear();
    pScrolledWindow.clear();
    pIdentifierFT.clear();
    pAuthTypeFT.clear();
    pYearFT.clear();
    pAuthorFT.clear();
    pTitleFT.clear();
    pPublisherFT.clear();
    pAddressFT.clear();
    pISBNFT.clear();
    pChapterFT.clear();
    pPagesFT.clear();
    pEditorFT.clear();
    pEditionFT.clear();
    pBooktitleFT.clear();
    pVolumeFT.clear();
    pHowpublishedFT.clear();
    pOrganizationsFT.clear();
    pInstitutionFT.clear();
    pSchoolFT.clear();
    pReportTypeFT.clear();
    pMonthFT.clear();
    pJournalFT.clear();
    pNumberFT.clear();
    pSeriesFT.clear();
    pAnnoteFT.clear();
    pNoteFT.clear();
    pURLFT.clear();
    pCustom1FT.clear();
    pCustom2FT.clear();
    pCustom3FT.clear();
    pCustom4FT.clear();
    pCustom5FT.clear();
    for (auto & a: aFixedTexts) a.clear();
    BibTabPage::dispose();
}

@@ -385,7 +421,7 @@ void BibGeneralPage::RemoveListeners()
        if(aControls[i].is())
        {
            uno::Reference< awt::XWindow > xCtrWin(aControls[i], uno::UNO_QUERY );
            xCtrWin->removeFocusListener( this );
            xCtrWin->removeFocusListener( &maBibGeneralPageFocusListener );
            aControls[i] = 0;
        }
    }
@@ -506,7 +542,7 @@ uno::Reference< awt::XControlModel >  BibGeneralPage::AddXControl(
                    // Peer as Child to the FrameWindow
                    xCtrlContnr->addControl(rName, xControl);
                    uno::Reference< awt::XWindow >  xCtrWin(xControl, UNO_QUERY );
                    xCtrWin->addFocusListener( this );
                    xCtrWin->addFocusListener( &maBibGeneralPageFocusListener );
                    rIndex = -1;    // -> implies, that not found
                    for(sal_uInt16 i = 0; i < FIELD_COUNT; i++)
                        if(!aControls[i].is())
@@ -627,10 +663,6 @@ void BibGeneralPage::focusLost(const awt::FocusEvent& ) throw( uno::RuntimeExcep
    CommitActiveControl();
}

void BibGeneralPage::disposing(const lang::EventObject& /*Source*/) throw( uno::RuntimeException, std::exception )
{
}

void BibGeneralPage::GetFocus()
{
    Reference< awt::XWindow >*  pxControl = aControls;
@@ -713,4 +745,20 @@ bool BibGeneralPage::HandleShortCutKey( const KeyEvent& rKeyEvent )
    return bHandled;
}

BibGeneralPageFocusListener::BibGeneralPageFocusListener(BibGeneralPage *pBibGeneralPage): mpBibGeneralPage(pBibGeneralPage)
{}

void BibGeneralPageFocusListener::focusGained( const ::com::sun::star::awt::FocusEvent& e ) throw( com::sun::star::uno::RuntimeException, std::exception )
{
    mpBibGeneralPage->focusGained(e);
}

void BibGeneralPageFocusListener::focusLost( const ::com::sun::star::awt::FocusEvent& e ) throw( com::sun::star::uno::RuntimeException, std::exception )
{
    mpBibGeneralPage->focusLost(e);
}

void BibGeneralPageFocusListener::disposing( const ::com::sun::star::lang::EventObject& ) throw( com::sun::star::uno::RuntimeException, std::exception )
{}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/bibliography/general.hxx b/extensions/source/bibliography/general.hxx
index 106f7f3..809f4e1 100644
--- a/extensions/source/bibliography/general.hxx
+++ b/extensions/source/bibliography/general.hxx
@@ -41,56 +41,70 @@ class BibDataManager;
#define TYPE_COUNT 22
#define FIELD_COUNT 31

typedef cppu::WeakAggImplHelper1 < ::com::sun::star::awt::XFocusListener > BibGeneralPageBaseClass;

class BibGeneralPage: public BibGeneralPageBaseClass, public BibTabPage
/**
  * We need to split off the listener because both it and the vcl::Window baseclass are ref-counted
  */
class BibGeneralPage;
class BibGeneralPageFocusListener : public cppu::WeakAggImplHelper1 < ::com::sun::star::awt::XFocusListener >
{
    VclGrid*            pGrid;
    VclScrolledWindow*  pScrolledWindow;
private:
    VclPtr<BibGeneralPage> mpBibGeneralPage;
public:
    BibGeneralPageFocusListener(BibGeneralPage *pBibGeneralPage);
    virtual void SAL_CALL       focusGained( const ::com::sun::star::awt::FocusEvent& e ) throw( com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
    virtual void SAL_CALL       focusLost( const ::com::sun::star::awt::FocusEvent& e ) throw( com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
    virtual void SAL_CALL       disposing( const ::com::sun::star::lang::EventObject& Source ) throw( com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;

    FixedText*          pIdentifierFT;
    FixedText*          pAuthTypeFT;
    FixedText*          pYearFT;
};

    FixedText*          pAuthorFT;
    FixedText*          pTitleFT;
class BibGeneralPage: public BibTabPage
{
    VclPtr<VclGrid>            pGrid;
    VclPtr<VclScrolledWindow>  pScrolledWindow;

    FixedText*          pPublisherFT;
    FixedText*          pAddressFT;
    FixedText*          pISBNFT;
    VclPtr<FixedText>          pIdentifierFT;
    VclPtr<FixedText>          pAuthTypeFT;
    VclPtr<FixedText>          pYearFT;

    FixedText*          pChapterFT;
    FixedText*          pPagesFT;
    VclPtr<FixedText>          pAuthorFT;
    VclPtr<FixedText>          pTitleFT;

    FixedText*          pEditorFT;
    FixedText*          pEditionFT;
    VclPtr<FixedText>          pPublisherFT;
    VclPtr<FixedText>          pAddressFT;
    VclPtr<FixedText>          pISBNFT;

    FixedText*          pBooktitleFT;
    FixedText*          pVolumeFT;
    FixedText*          pHowpublishedFT;
    VclPtr<FixedText>          pChapterFT;
    VclPtr<FixedText>          pPagesFT;

    FixedText*          pOrganizationsFT;
    FixedText*          pInstitutionFT;
    FixedText*          pSchoolFT;
    VclPtr<FixedText>          pEditorFT;
    VclPtr<FixedText>          pEditionFT;

    FixedText*          pReportTypeFT;
    FixedText*          pMonthFT;
    VclPtr<FixedText>          pBooktitleFT;
    VclPtr<FixedText>          pVolumeFT;
    VclPtr<FixedText>          pHowpublishedFT;

    FixedText*          pJournalFT;
    FixedText*          pNumberFT;
    FixedText*          pSeriesFT;
    VclPtr<FixedText>          pOrganizationsFT;
    VclPtr<FixedText>          pInstitutionFT;
    VclPtr<FixedText>          pSchoolFT;

    FixedText*          pAnnoteFT;
    FixedText*          pNoteFT;
    FixedText*          pURLFT;
    VclPtr<FixedText>          pReportTypeFT;
    VclPtr<FixedText>          pMonthFT;

    FixedText*          pCustom1FT;
    FixedText*          pCustom2FT;
    FixedText*          pCustom3FT;
    FixedText*          pCustom4FT;
    FixedText*          pCustom5FT;
    VclPtr<FixedText>          pJournalFT;
    VclPtr<FixedText>          pNumberFT;
    VclPtr<FixedText>          pSeriesFT;

    FixedText*          aFixedTexts[ FIELD_COUNT ];
    VclPtr<FixedText>          pAnnoteFT;
    VclPtr<FixedText>          pNoteFT;
    VclPtr<FixedText>          pURLFT;

    VclPtr<FixedText>          pCustom1FT;
    VclPtr<FixedText>          pCustom2FT;
    VclPtr<FixedText>          pCustom3FT;
    VclPtr<FixedText>          pCustom4FT;
    VclPtr<FixedText>          pCustom5FT;

    VclPtr<FixedText>          aFixedTexts[ FIELD_COUNT ];
    sal_Int16           nFT2CtrlMap[ FIELD_COUNT ];

    ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >
@@ -114,6 +128,7 @@ class BibGeneralPage: public BibGeneralPageBaseClass, public BibTabPage
    ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSetListener >
                        xPosListener;

    BibGeneralPageFocusListener maBibGeneralPageFocusListener;

    BibDataManager*     pDatMan;

@@ -144,16 +159,17 @@ public:

    void                        CommitActiveControl();

    virtual void SAL_CALL       disposing( const ::com::sun::star::lang::EventObject& Source ) throw( com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;

    void SAL_CALL               focusGained( const ::com::sun::star::awt::FocusEvent& e ) throw( com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
    void SAL_CALL               focusLost( const ::com::sun::star::awt::FocusEvent& e ) throw( com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;

    void                        RemoveListeners();

    virtual void                GetFocus() SAL_OVERRIDE;

    virtual bool                HandleShortCutKey( const KeyEvent& rKeyEvent ) SAL_OVERRIDE; // returns true, if key was handled

    inline BibGeneralPageFocusListener& GetFocusListener() { return maBibGeneralPageFocusListener; }

    void focusGained(const css::awt::FocusEvent& rEvent) throw( css::uno::RuntimeException, std::exception );
    void focusLost(const css::awt::FocusEvent& rEvent) throw( css::uno::RuntimeException, std::exception );

};


diff --git a/extensions/source/bibliography/toolbar.cxx b/extensions/source/bibliography/toolbar.cxx
index 771cbdc..477e1af 100644
--- a/extensions/source/bibliography/toolbar.cxx
+++ b/extensions/source/bibliography/toolbar.cxx
@@ -31,6 +31,7 @@
#include <vcl/settings.hxx>
#include <vcl/mnemonic.hxx>
#include "bibbeam.hxx"
#include "bibview.hxx"
#include "toolbar.hrc"
#include "bibresid.hxx"

diff --git a/extensions/source/bibliography/toolbar.hxx b/extensions/source/bibliography/toolbar.hxx
index 09e3074..f7eef64 100644
--- a/extensions/source/bibliography/toolbar.hxx
+++ b/extensions/source/bibliography/toolbar.hxx
@@ -39,12 +39,12 @@ class BibToolBarListener: public cppu::WeakImplHelper1 < ::com::sun::star::frame
{
private:

    sal_uInt16      nIndex;
    sal_uInt16         nIndex;
    OUString           aCommand;

protected:

    BibToolBar      *pToolBar;
    VclPtr<BibToolBar> pToolBar;

public:

diff --git a/extensions/source/dbpilots/commonpagesdbp.cxx b/extensions/source/dbpilots/commonpagesdbp.cxx
index 5a98171..6416a23 100644
--- a/extensions/source/dbpilots/commonpagesdbp.cxx
+++ b/extensions/source/dbpilots/commonpagesdbp.cxx
@@ -77,6 +77,19 @@ namespace dbp
        m_pDatasource->SetDropDownLineCount(10);
    }

    OTableSelectionPage::~OTableSelectionPage()
    {
        dispose();
    }

    void OTableSelectionPage::dispose()
    {
        m_pDatasourceLabel.clear();
        m_pDatasource.clear();
        m_pSearchDatabase.clear();
        m_pTable.clear();
        OControlWizardPage::dispose();
    }

    void OTableSelectionPage::ActivatePage()
    {
@@ -383,6 +396,19 @@ namespace dbp
    {
    }

    OMaybeListSelectionPage::~OMaybeListSelectionPage()
    {
        dispose();
    }

    void OMaybeListSelectionPage::dispose()
    {
        m_pYes.clear();
        m_pNo.clear();
        m_pList.clear();
        OControlWizardPage::dispose();
    }

    void OMaybeListSelectionPage::announceControls(RadioButton& _rYesButton, RadioButton& _rNoButton, ListBox& _rSelection)
    {
        m_pYes = &_rYesButton;
@@ -453,6 +479,19 @@ namespace dbp
        m_pStoreWhere->SetDropDownLineCount(10);
    }

    ODBFieldPage::~ODBFieldPage()
    {
        dispose();
    }

    void ODBFieldPage::dispose()
    {
        m_pDescription.clear();
        m_pStoreYes.clear();
        m_pStoreNo.clear();
        m_pStoreWhere.clear();
        OMaybeListSelectionPage::dispose();
    }

    void ODBFieldPage::initializePage()
    {
diff --git a/extensions/source/dbpilots/commonpagesdbp.hxx b/extensions/source/dbpilots/commonpagesdbp.hxx
index 8d9d9c8..1ff1d51 100644
--- a/extensions/source/dbpilots/commonpagesdbp.hxx
+++ b/extensions/source/dbpilots/commonpagesdbp.hxx
@@ -36,16 +36,18 @@ namespace dbp
    class OTableSelectionPage : public OControlWizardPage
    {
    protected:
        FixedText       *m_pDatasourceLabel;
        ListBox         *m_pDatasource;
        PushButton      *m_pSearchDatabase;
        ListBox         *m_pTable;
        VclPtr<FixedText>       m_pDatasourceLabel;
        VclPtr<ListBox>         m_pDatasource;
        VclPtr<PushButton>      m_pSearchDatabase;
        VclPtr<ListBox>         m_pTable;

        ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XDatabaseContext >
                        m_xDSContext;

    public:
        OTableSelectionPage(OControlWizard* _pParent);
        virtual ~OTableSelectionPage();
        virtual void dispose() SAL_OVERRIDE;

    protected:
        // TabPage overridables
@@ -74,12 +76,14 @@ namespace dbp
    class OMaybeListSelectionPage : public OControlWizardPage
    {
    protected:
        RadioButton*    m_pYes;
        RadioButton*    m_pNo;
        ListBox*        m_pList;
        VclPtr<RadioButton>    m_pYes;
        VclPtr<RadioButton>    m_pNo;
        VclPtr<ListBox>        m_pList;

    public:
        OMaybeListSelectionPage( OControlWizard* _pParent, const OString& _rID, const OUString& _rUIXMLDescription );
        virtual ~OMaybeListSelectionPage();
        virtual void dispose() SAL_OVERRIDE;

    protected:
        DECL_LINK( OnRadioSelected, RadioButton* );
@@ -105,13 +109,15 @@ namespace dbp
    class ODBFieldPage : public OMaybeListSelectionPage
    {
    protected:
        FixedText*      m_pDescription;
        RadioButton*    m_pStoreYes;
        RadioButton*    m_pStoreNo;
        ListBox*        m_pStoreWhere;
        VclPtr<FixedText>      m_pDescription;
        VclPtr<RadioButton>    m_pStoreYes;
        VclPtr<RadioButton>    m_pStoreNo;
        VclPtr<ListBox>        m_pStoreWhere;

    public:
        ODBFieldPage( OControlWizard* _pParent );
        virtual ~ODBFieldPage();
        virtual void dispose() SAL_OVERRIDE;

    protected:
        void setDescriptionText(const OUString& _rDesc) { m_pDescription->SetText(_rDesc); }
diff --git a/extensions/source/dbpilots/controlwizard.cxx b/extensions/source/dbpilots/controlwizard.cxx
index c3f8c02..da84b94 100644
--- a/extensions/source/dbpilots/controlwizard.cxx
+++ b/extensions/source/dbpilots/controlwizard.cxx
@@ -86,6 +86,18 @@ namespace dbp

    OControlWizardPage::~OControlWizardPage()
    {
        dispose();
    }

    void OControlWizardPage::dispose()
    {
        m_pFormDatasourceLabel.clear();
        m_pFormDatasource.clear();
        m_pFormContentTypeLabel.clear();
        m_pFormContentType.clear();
        m_pFormTableLabel.clear();
        m_pFormTable.clear();
        OControlWizardPage_Base::dispose();
    }

    OControlWizard* OControlWizardPage::getDialog()
diff --git a/extensions/source/dbpilots/controlwizard.hxx b/extensions/source/dbpilots/controlwizard.hxx
index 2d0fdba..81016f5 100644
--- a/extensions/source/dbpilots/controlwizard.hxx
+++ b/extensions/source/dbpilots/controlwizard.hxx
@@ -57,12 +57,12 @@ namespace dbp
    class OControlWizardPage : public OControlWizardPage_Base
    {
    protected:
        FixedText*      m_pFormDatasourceLabel;
        FixedText*      m_pFormDatasource;
        FixedText*      m_pFormContentTypeLabel;
        FixedText*      m_pFormContentType;
        FixedText*      m_pFormTableLabel;
        FixedText*      m_pFormTable;
        VclPtr<FixedText>      m_pFormDatasourceLabel;
        VclPtr<FixedText>      m_pFormDatasource;
        VclPtr<FixedText>      m_pFormContentTypeLabel;
        VclPtr<FixedText>      m_pFormContentType;
        VclPtr<FixedText>      m_pFormTableLabel;
        VclPtr<FixedText>      m_pFormTable;

    protected:
        OControlWizard*                 getDialog();
@@ -75,6 +75,7 @@ namespace dbp
    public:
        OControlWizardPage( OControlWizard* _pParent, const OString& rID, const OUString& rUIXMLDescription );
        virtual ~OControlWizardPage();
        virtual void dispose() SAL_OVERRIDE;

    protected:
        void fillListBox(
diff --git a/extensions/source/dbpilots/gridwizard.cxx b/extensions/source/dbpilots/gridwizard.cxx
index 0c68df8..aadc8f8 100644
--- a/extensions/source/dbpilots/gridwizard.cxx
+++ b/extensions/source/dbpilots/gridwizard.cxx
@@ -318,6 +318,21 @@ namespace dbp
        m_pSelFields->SetDoubleClickHdl(LINK(this, OGridFieldsSelection, OnEntryDoubleClicked));
    }

    OGridFieldsSelection::~OGridFieldsSelection()
    {
        dispose();
    }

    void OGridFieldsSelection::dispose()
    {
        m_pExistFields.clear();
        m_pSelectOne.clear();
        m_pSelectAll.clear();
        m_pDeselectOne.clear();
        m_pDeselectAll.clear();
        m_pSelFields.clear();
        OGridPage::dispose();
    }

    void OGridFieldsSelection::ActivatePage()
    {
diff --git a/extensions/source/dbpilots/gridwizard.hxx b/extensions/source/dbpilots/gridwizard.hxx
index 91da2fd..42db6683 100644
--- a/extensions/source/dbpilots/gridwizard.hxx
+++ b/extensions/source/dbpilots/gridwizard.hxx
@@ -82,15 +82,17 @@ namespace dbp
    class OGridFieldsSelection : public OGridPage
    {
    protected:
        ListBox         *m_pExistFields;
        PushButton      *m_pSelectOne;
        PushButton      *m_pSelectAll;
        PushButton      *m_pDeselectOne;
        PushButton      *m_pDeselectAll;
        ListBox         *m_pSelFields;
        VclPtr<ListBox>         m_pExistFields;
        VclPtr<PushButton>      m_pSelectOne;
        VclPtr<PushButton>      m_pSelectAll;
        VclPtr<PushButton>      m_pDeselectOne;
        VclPtr<PushButton>      m_pDeselectAll;
        VclPtr<ListBox>         m_pSelFields;

    public:
        OGridFieldsSelection( OGridWizard* _pParent );
        virtual ~OGridFieldsSelection();
        virtual void dispose() SAL_OVERRIDE;

    protected:
        // TabPage overridables
diff --git a/extensions/source/dbpilots/groupboxwiz.cxx b/extensions/source/dbpilots/groupboxwiz.cxx
index 2f165ad..1c5ac97 100644
--- a/extensions/source/dbpilots/groupboxwiz.cxx
+++ b/extensions/source/dbpilots/groupboxwiz.cxx
@@ -207,11 +207,24 @@ namespace dbp
        implCheckMoveButtons();
        m_pExistingRadios->EnableMultiSelection(true);

        getDialog()->defaultButton(m_pMoveRight);
        getDialog()->defaultButton(m_pMoveRight.get());

        m_pExistingRadios->SetAccessibleRelationMemberOf(m_pExistingRadios);
    }

    ORadioSelectionPage::~ORadioSelectionPage()
    {
        dispose();
    }

    void ORadioSelectionPage::dispose()
    {
        m_pRadioName.clear();
        m_pMoveRight.clear();
        m_pMoveLeft.clear();
        m_pExistingRadios.clear();
        OGBWPage::dispose();
    }

    void ORadioSelectionPage::ActivatePage()
    {
@@ -315,7 +328,7 @@ namespace dbp
        if (bUnfinishedInput)
        {
            if (0 == (m_pMoveRight->GetStyle() & WB_DEFBUTTON))
                getDialog()->defaultButton(m_pMoveRight);
                getDialog()->defaultButton(m_pMoveRight.get());
        }
        else
        {
@@ -341,6 +354,18 @@ namespace dbp
        m_pDefSelection->SetStyle(WB_DROPDOWN);
    }

    ODefaultFieldSelectionPage::~ODefaultFieldSelectionPage()
    {
        dispose();
    }

    void ODefaultFieldSelectionPage::dispose()
    {
        m_pDefSelYes.clear();
        m_pDefSelNo.clear();
        m_pDefSelection.clear();
        OMaybeListSelectionPage::dispose();
    }

    void ODefaultFieldSelectionPage::initializePage()
    {
@@ -388,6 +413,17 @@ namespace dbp
        m_pOptions->SetAccessibleRelationMemberOf(m_pOptions);
    }

    OOptionValuesPage::~OOptionValuesPage()
    {
        dispose();
    }

    void OOptionValuesPage::dispose()
    {
        m_pValue.clear();
        m_pOptions.clear();
        OGBWPage::dispose();
    }

    IMPL_LINK( OOptionValuesPage, OnOptionSelected, ListBox*, /*NOTINTERESTEDIN*/ )
    {
@@ -486,6 +522,16 @@ namespace dbp
        get(m_pName, "nameit");
    }

    OFinalizeGBWPage::~OFinalizeGBWPage()
    {
        dispose();
    }

    void OFinalizeGBWPage::dispose()
    {
        m_pName.clear();
        OGBWPage::dispose();
    }

    void OFinalizeGBWPage::ActivatePage()
    {
diff --git a/extensions/source/dbpilots/groupboxwiz.hxx b/extensions/source/dbpilots/groupboxwiz.hxx
index e37840f..b594d5b 100644
--- a/extensions/source/dbpilots/groupboxwiz.hxx
+++ b/extensions/source/dbpilots/groupboxwiz.hxx
@@ -94,13 +94,15 @@ namespace dbp
    class ORadioSelectionPage : public OGBWPage
    {
    protected:
        Edit            *m_pRadioName;
        PushButton      *m_pMoveRight;
        PushButton      *m_pMoveLeft;
        ListBox         *m_pExistingRadios;
        VclPtr<Edit>            m_pRadioName;
        VclPtr<PushButton>      m_pMoveRight;
        VclPtr<PushButton>      m_pMoveLeft;
        VclPtr<ListBox>         m_pExistingRadios;

    public:
        ORadioSelectionPage( OControlWizard* _pParent );
        virtual ~ORadioSelectionPage();
        virtual void dispose() SAL_OVERRIDE;

    protected:
        // TabPage overridables
@@ -124,12 +126,14 @@ namespace dbp
    class ODefaultFieldSelectionPage : public OMaybeListSelectionPage
    {
    protected:
        RadioButton     *m_pDefSelYes;
        RadioButton     *m_pDefSelNo;
        ListBox         *m_pDefSelection;
        VclPtr<RadioButton>     m_pDefSelYes;
        VclPtr<RadioButton>     m_pDefSelNo;
        VclPtr<ListBox>         m_pDefSelection;

    public:
        ODefaultFieldSelectionPage( OControlWizard* _pParent );
        virtual ~ODefaultFieldSelectionPage();
        virtual void dispose() SAL_OVERRIDE;

    protected:
        // OWizardPage overridables
@@ -145,8 +149,8 @@ namespace dbp
    class OOptionValuesPage : public OGBWPage
    {
    protected:
        Edit            *m_pValue;
        ListBox         *m_pOptions;
        VclPtr<Edit>            m_pValue;
        VclPtr<ListBox>         m_pOptions;

        StringArray     m_aUncommittedValues;
        ::svt::WizardTypes::WizardState
@@ -154,6 +158,8 @@ namespace dbp

    public:
        OOptionValuesPage( OControlWizard* _pParent );
        virtual ~OOptionValuesPage();
        virtual void dispose() SAL_OVERRIDE;

    protected:
        // TabPage overridables
@@ -189,10 +195,12 @@ namespace dbp
    class OFinalizeGBWPage : public OGBWPage
    {
    protected:
        Edit            *m_pName;
        VclPtr<Edit>            m_pName;

    public:
        OFinalizeGBWPage( OControlWizard* _pParent );
        virtual ~OFinalizeGBWPage();
        virtual void dispose() SAL_OVERRIDE;

    protected:
        // TabPage overridables
diff --git a/extensions/source/dbpilots/listcombowizard.cxx b/extensions/source/dbpilots/listcombowizard.cxx
index 6349c07..473a386 100644
--- a/extensions/source/dbpilots/listcombowizard.cxx
+++ b/extensions/source/dbpilots/listcombowizard.cxx
@@ -285,6 +285,16 @@ namespace dbp
        m_pSelectTable->SetSelectHdl(LINK(this, OContentTableSelection, OnTableSelected));
    }

    OContentTableSelection::~OContentTableSelection()
    {
        dispose();
    }

    void OContentTableSelection::dispose()
    {
        m_pSelectTable.clear();
        OLCPage::dispose();
    }

    void OContentTableSelection::ActivatePage()
    {
@@ -369,6 +379,18 @@ namespace dbp
        m_pSelectTableField->SetDoubleClickHdl(LINK(this, OContentFieldSelection, OnTableDoubleClicked));
    }

    OContentFieldSelection::~OContentFieldSelection()
    {
        dispose();
    }

    void OContentFieldSelection::dispose()
    {
        m_pSelectTableField.clear();
        m_pDisplayedField.clear();
        m_pInfo.clear();
        OLCPage::dispose();
    }

    void OContentFieldSelection::ActivatePage()
    {
@@ -439,6 +461,17 @@ namespace dbp
        m_pTableField->SetSelectHdl(LINK(this, OLinkFieldsPage, OnSelectionModified));
    }

    OLinkFieldsPage::~OLinkFieldsPage()
    {
        dispose();
    }

    void OLinkFieldsPage::dispose()
    {
        m_pValueListField.clear();
        m_pTableField.clear();
        OLCPage::dispose();
    }

    void OLinkFieldsPage::ActivatePage()
    {
diff --git a/extensions/source/dbpilots/listcombowizard.hxx b/extensions/source/dbpilots/listcombowizard.hxx
index 6d4908c..d1d05fb 100644
--- a/extensions/source/dbpilots/listcombowizard.hxx
+++ b/extensions/source/dbpilots/listcombowizard.hxx
@@ -108,10 +108,12 @@ namespace dbp
    class OContentTableSelection : public OLCPage
    {
    protected:
        ListBox         *m_pSelectTable;
        VclPtr<ListBox>         m_pSelectTable;

    public:
        OContentTableSelection( OListComboWizard* _pParent );
        virtual ~OContentTableSelection();
        virtual void dispose() SAL_OVERRIDE;

    protected:
        // TabPage overridables
@@ -133,13 +135,15 @@ namespace dbp
    class OContentFieldSelection : public OLCPage
    {
    protected:
        ListBox         *m_pSelectTableField;
        Edit            *m_pDisplayedField;
        FixedText       *m_pInfo;
        VclPtr<ListBox>         m_pSelectTableField;
        VclPtr<Edit>            m_pDisplayedField;
        VclPtr<FixedText>       m_pInfo;


    public:
        OContentFieldSelection( OListComboWizard* _pParent );
        virtual ~OContentFieldSelection();
        virtual void dispose() SAL_OVERRIDE;

    protected:
        DECL_LINK( OnFieldSelected, ListBox* );
@@ -160,12 +164,14 @@ namespace dbp
    class OLinkFieldsPage : public OLCPage
    {
    protected:
        ComboBox        *m_pValueListField;
        ComboBox        *m_pTableField;
        VclPtr<ComboBox>        m_pValueListField;
        VclPtr<ComboBox>        m_pTableField;


    public:
        OLinkFieldsPage( OListComboWizard* _pParent );
        virtual ~OLinkFieldsPage();
        virtual void dispose() SAL_OVERRIDE;

    protected:
        // TabPage overridables
diff --git a/extensions/source/plugin/inc/plugin/plctrl.hxx b/extensions/source/plugin/inc/plugin/plctrl.hxx
index bab3581..ab5d33c 100644
--- a/extensions/source/plugin/inc/plugin/plctrl.hxx
+++ b/extensions/source/plugin/inc/plugin/plctrl.hxx
@@ -60,6 +60,7 @@
#include <com/sun/star/awt/PosSize.hpp>

#include <cppuhelper/implbase4.hxx>
#include <vcl/vclptr.hxx>

#include <list>

@@ -152,9 +153,9 @@ protected:

protected:
    ::std::list< Reference< ::com::sun::star::lang::XEventListener > >  _aDisposeListeners;
    MRCListenerMultiplexerHelper*       _pMultiplexer;
    MRCListenerMultiplexerHelper*           _pMultiplexer;

    Reference< XInterface >                         _xContext;
    Reference< XInterface >                 _xContext;

    sal_Int32                               _nX;
    sal_Int32                               _nY;
@@ -162,11 +163,11 @@ protected:
    sal_Int32                               _nHeight;
    sal_Int16                               _nFlags;

    bool                                _bVisible;
    bool                                _bInDesignMode;
    bool                                _bEnable;
    bool                                    _bVisible;
    bool                                    _bInDesignMode;
    bool                                    _bEnable;

    SystemChildWindow*                  _pSysChild;
    VclPtr<SystemChildWindow>               _pSysChild;
    ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer >                      _xPeer;
    ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >                          _xPeerWindow;

diff --git a/extensions/source/propctrlr/browserline.cxx b/extensions/source/propctrlr/browserline.cxx
index 069a406..3de62a1 100644
--- a/extensions/source/propctrlr/browserline.cxx
+++ b/extensions/source/propctrlr/browserline.cxx
@@ -376,7 +376,7 @@ namespace pcr

    PushButton& OBrowserLine::impl_ensureButton( bool _bPrimary )
    {
        PushButton*& rpButton = _bPrimary ? m_pBrowseButton : m_pAdditionalBrowseButton;
        VclPtr<PushButton>& rpButton = _bPrimary ? m_pBrowseButton : m_pAdditionalBrowseButton;

        if ( !rpButton )
        {
@@ -443,13 +443,12 @@ namespace pcr

    void OBrowserLine::implHideBrowseButton( bool _bPrimary, bool _bReLayout )
    {
        PushButton*& rpButton = _bPrimary ? m_pBrowseButton : m_pAdditionalBrowseButton;
        VclPtr<PushButton>& rpButton = _bPrimary ? m_pBrowseButton : m_pAdditionalBrowseButton;

        if ( rpButton )
        {
            rpButton->Hide();
            delete rpButton;
            rpButton = NULL;
            rpButton.clear();
        }

        if ( _bReLayout )
diff --git a/extensions/source/propctrlr/browserline.hxx b/extensions/source/propctrlr/browserline.hxx
index ff16ae9..d720967 100644
--- a/extensions/source/propctrlr/browserline.hxx
+++ b/extensions/source/propctrlr/browserline.hxx
@@ -56,11 +56,11 @@ namespace pcr
        Point                   m_aLinePos;
        ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XPropertyControl >
                                m_xControl;
        vcl::Window*            m_pControlWindow;
        PushButton*             m_pBrowseButton;
        PushButton*             m_pAdditionalBrowseButton;
        VclPtr<vcl::Window>            m_pControlWindow;
        VclPtr<PushButton>             m_pBrowseButton;
        VclPtr<PushButton>             m_pAdditionalBrowseButton;
        IButtonClickListener*   m_pClickListener;
        vcl::Window*            m_pTheParent;
        VclPtr<vcl::Window>            m_pTheParent;
        sal_uInt16              m_nNameWidth;
        sal_uInt16              m_nEnableFlags;
        bool                    m_bIndentTitle;
diff --git a/extensions/source/propctrlr/browserview.cxx b/extensions/source/propctrlr/browserview.cxx
index 7a39ac9..dcf1181 100644
--- a/extensions/source/propctrlr/browserview.cxx
+++ b/extensions/source/propctrlr/browserview.cxx
@@ -21,6 +21,7 @@
#include "propertyeditor.hxx"
#include "propctrlr.hrc"
#include <boost/scoped_ptr.hpp>
#include <vcl/tabpage.hxx>

namespace pcr
{
@@ -63,9 +64,8 @@ namespace pcr
            sal_uInt16 nTmpPage = m_pPropBox->GetCurPage();
            if (nTmpPage)
                m_nActivePage = nTmpPage;
            boost::scoped_ptr<vcl::Window> aTemp(m_pPropBox);
            m_pPropBox = NULL;
        }
        m_pPropBox.clear();
        vcl::Window::dispose();
    }

diff --git a/extensions/source/propctrlr/browserview.hxx b/extensions/source/propctrlr/browserview.hxx
index 249d87c..9ae97d3 100644
--- a/extensions/source/propctrlr/browserview.hxx
+++ b/extensions/source/propctrlr/browserview.hxx
@@ -37,7 +37,7 @@ namespace pcr

    class OPropertyBrowserView : public vcl::Window
    {
        OPropertyEditor*        m_pPropBox;
        VclPtr<OPropertyEditor>        m_pPropBox;
        sal_uInt16              m_nActivePage;
        Link                    m_aPageActivationHandler;

diff --git a/extensions/source/propctrlr/commoncontrol.cxx b/extensions/source/propctrlr/commoncontrol.cxx
index 096b717..c93594b 100644
--- a/extensions/source/propctrlr/commoncontrol.cxx
+++ b/extensions/source/propctrlr/commoncontrol.cxx
@@ -47,7 +47,7 @@ namespace pcr
        ,m_pModifyListener( _pModifyListener )
        ,m_bModified( false )
    {
        DBG_ASSERT( m_pControlWindow != NULL, "ControlHelper::ControlHelper: invalid window!" );
        DBG_ASSERT( m_pControlWindow != nullptr, "ControlHelper::ControlHelper: invalid window!" );
    }


@@ -55,11 +55,6 @@ namespace pcr
    {
    }






    void SAL_CALL ControlHelper::setControlContext( const Reference< XPropertyControlContext >& _controlcontext ) throw (RuntimeException)
    {
        m_xContext = _controlcontext;
@@ -93,7 +88,7 @@ namespace pcr

    void SAL_CALL ControlHelper::dispose()
    {
        DELETEZ( m_pControlWindow );
        m_pControlWindow.clear();
    }


diff --git a/extensions/source/propctrlr/commoncontrol.hxx b/extensions/source/propctrlr/commoncontrol.hxx
index 629660e..cbe825f 100644
--- a/extensions/source/propctrlr/commoncontrol.hxx
+++ b/extensions/source/propctrlr/commoncontrol.hxx
@@ -86,7 +86,7 @@ namespace pcr
    class ControlHelper
    {
    private:
        vcl::Window*                         m_pControlWindow;
        VclPtr<vcl::Window>             m_pControlWindow;
        sal_Int16                       m_nControlType;
        ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XPropertyControlContext >
                                        m_xContext;
diff --git a/extensions/source/propctrlr/controlfontdialog.cxx b/extensions/source/propctrlr/controlfontdialog.cxx
index 66718f0..c06fc1f 100644
--- a/extensions/source/propctrlr/controlfontdialog.cxx
+++ b/extensions/source/propctrlr/controlfontdialog.cxx
@@ -169,7 +169,7 @@ namespace pcr
        OSL_ENSURE(m_pDialog, "OControlFontDialog::executedDialog: no dialog anymore?!!");
        if (m_pDialog && (sal_True == _nExecutionResult) && m_xControlModel.is())
        {
            const SfxItemSet* pOutput = static_cast<ControlCharacterDialog*>(m_pDialog)->GetOutputItemSet();
            const SfxItemSet* pOutput = static_cast<ControlCharacterDialog*>(m_pDialog.get())->GetOutputItemSet();
            if (pOutput)
                ControlCharacterDialog::translateItemsToProperties( *pOutput, m_xControlModel );
        }
diff --git a/extensions/source/propctrlr/formlinkdialog.cxx b/extensions/source/propctrlr/formlinkdialog.cxx
index c7fda6b..31011bf7 100644
--- a/extensions/source/propctrlr/formlinkdialog.cxx
+++ b/extensions/source/propctrlr/formlinkdialog.cxx
@@ -64,13 +64,15 @@ namespace pcr
    class FieldLinkRow : public TabPage
    {
    private:
        ComboBox*   m_pDetailColumn;
        ComboBox*   m_pMasterColumn;
        VclPtr<ComboBox>   m_pDetailColumn;
        VclPtr<ComboBox>   m_pMasterColumn;

        Link        m_aLinkChangeHandler;

    public:
        FieldLinkRow( vcl::Window* _pParent );
        virtual ~FieldLinkRow();
        virtual void dispose() SAL_OVERRIDE;

        inline void         SetLinkChangeHandler( const Link& _rHdl ) { m_aLinkChangeHandler = _rHdl; }

@@ -105,6 +107,17 @@ namespace pcr
        m_pMasterColumn->SetModifyHdl( LINK( this, FieldLinkRow, OnFieldNameChanged ) );
    }

    FieldLinkRow::~FieldLinkRow()
    {
        dispose();
    }

    void FieldLinkRow::dispose()
    {
        m_pDetailColumn.clear();
        m_pMasterColumn.clear();
        TabPage::dispose();
    }

    void FieldLinkRow::fillList( LinkParticipant _eWhich, const Sequence< OUString >& _rFieldNames )
    {
@@ -193,8 +206,18 @@ namespace pcr

    FormLinkDialog::~FormLinkDialog( )
    {
        dispose();
    }

    void FormLinkDialog::dispose( )
    {
        m_pExplanation.clear();
        m_pDetailLabel.clear();
        m_pMasterLabel.clear();
        m_pOK.clear();
        m_pSuggest.clear();
        ModalDialog::dispose();
    }

    void FormLinkDialog::commitLinkPairs()
    {
diff --git a/extensions/source/propctrlr/formlinkdialog.hxx b/extensions/source/propctrlr/formlinkdialog.hxx
index 94b386e..7f563a2 100644
--- a/extensions/source/propctrlr/formlinkdialog.hxx
+++ b/extensions/source/propctrlr/formlinkdialog.hxx
@@ -44,15 +44,15 @@ namespace pcr
    class FormLinkDialog : public ModalDialog
    {
    private:
        FixedText*                      m_pExplanation;
        FixedText*                      m_pDetailLabel;
        FixedText*                      m_pMasterLabel;
        VclPtr<FixedText>                      m_pExplanation;
        VclPtr<FixedText>                      m_pDetailLabel;
        VclPtr<FixedText>                      m_pMasterLabel;
        ::std::unique_ptr< FieldLinkRow > m_aRow1;
        ::std::unique_ptr< FieldLinkRow > m_aRow2;
        ::std::unique_ptr< FieldLinkRow > m_aRow3;
        ::std::unique_ptr< FieldLinkRow > m_aRow4;
        OKButton*                       m_pOK;
        PushButton*                     m_pSuggest;
        VclPtr<OKButton>                       m_pOK;
        VclPtr<PushButton>                     m_pSuggest;

        ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
                                        m_xContext;
@@ -80,6 +80,7 @@ namespace pcr
            const OUString& _sMasterLabel = OUString()
        );
        virtual ~FormLinkDialog( );
        virtual void dispose() SAL_OVERRIDE;

        // Dialog overridables
        virtual short   Execute() SAL_OVERRIDE;
diff --git a/extensions/source/propctrlr/listselectiondlg.cxx b/extensions/source/propctrlr/listselectiondlg.cxx
index fdb6229..b8a92d9 100644
--- a/extensions/source/propctrlr/listselectiondlg.cxx
+++ b/extensions/source/propctrlr/listselectiondlg.cxx
@@ -48,6 +48,17 @@ namespace pcr
        initialize( );
    }

    ListSelectionDialog::~ListSelectionDialog()
    {
        dispose();
    }

    void ListSelectionDialog::dispose()
    {
        m_pEntries.clear();
        ModalDialog::dispose();
    }

    short ListSelectionDialog::Execute()
    {
        short nResult = ModalDialog::Execute();
diff --git a/extensions/source/propctrlr/listselectiondlg.hxx b/extensions/source/propctrlr/listselectiondlg.hxx
index aaccb07..ca9a118 100644
--- a/extensions/source/propctrlr/listselectiondlg.hxx
+++ b/extensions/source/propctrlr/listselectiondlg.hxx
@@ -31,7 +31,7 @@ namespace pcr
    class ListSelectionDialog : public ModalDialog
    {
    private:
        ListBox*        m_pEntries;
        VclPtr<ListBox>        m_pEntries;

        ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >
                        m_xListBox;
@@ -44,6 +44,8 @@ namespace pcr
            const OUString& _rPropertyName,
            const OUString& _rPropertyUIName
        );
        virtual ~ListSelectionDialog();
        virtual void dispose() SAL_OVERRIDE;

        // Dialog overridables
        virtual short   Execute() SAL_OVERRIDE;
diff --git a/extensions/source/propctrlr/newdatatype.cxx b/extensions/source/propctrlr/newdatatype.cxx
index 62cc6da..9a78105 100644
--- a/extensions/source/propctrlr/newdatatype.cxx
+++ b/extensions/source/propctrlr/newdatatype.cxx
@@ -67,6 +67,17 @@ namespace pcr
        OnNameModified( NULL );
    }

    NewDataTypeDialog::~NewDataTypeDialog()
    {
        dispose();
    }

    void NewDataTypeDialog::dispose()
    {
        m_pName.clear();
        m_pOK.clear();
        ModalDialog::dispose();
    }

    IMPL_LINK( NewDataTypeDialog, OnNameModified, void*, /*_pNotInterestedIn*/ )
    {
diff --git a/extensions/source/propctrlr/newdatatype.hxx b/extensions/source/propctrlr/newdatatype.hxx
index 135514a..abccb19 100644
--- a/extensions/source/propctrlr/newdatatype.hxx
+++ b/extensions/source/propctrlr/newdatatype.hxx
@@ -35,14 +35,16 @@ namespace pcr
    class NewDataTypeDialog : public ModalDialog
    {
    private:
        Edit*           m_pName;
        OKButton*       m_pOK;
        VclPtr<Edit>           m_pName;
        VclPtr<OKButton>       m_pOK;

        ::std::set< OUString > m_aProhibitedNames;

    public:
        NewDataTypeDialog(vcl::Window* _pParent, const OUString& _rNameBase,
            const ::std::vector< OUString >& _rProhibitedNames );
        virtual ~NewDataTypeDialog();
        virtual void dispose() SAL_OVERRIDE;

        OUString GetName() const { return m_pName->GetText(); }

diff --git a/extensions/source/propctrlr/propcontroller.cxx b/extensions/source/propctrlr/propcontroller.cxx
index 77b5188..95786ad 100644
--- a/extensions/source/propctrlr/propcontroller.cxx
+++ b/extensions/source/propctrlr/propcontroller.cxx
@@ -44,6 +44,7 @@
#include <comphelper/property.hxx>
#include <vcl/msgbox.hxx>
#include <vcl/svapp.hxx>
#include <vcl/tabpage.hxx>
#include <osl/mutex.hxx>
#include <cppuhelper/queryinterface.hxx>
#include <cppuhelper/component_context.hxx>
diff --git a/extensions/source/propctrlr/propcontroller.hxx b/extensions/source/propctrlr/propcontroller.hxx
index af943de..f204a86 100644
--- a/extensions/source/propctrlr/propcontroller.hxx
+++ b/extensions/source/propctrlr/propcontroller.hxx
@@ -105,7 +105,7 @@ namespace pcr
        ::cppu::OInterfaceContainerHelper   m_aDisposeListeners;
        ::cppu::OInterfaceContainerHelper   m_aControlObservers;
        // meta data about the properties
        OPropertyBrowserView*               m_pView;
        VclPtr<OPropertyBrowserView>        m_pView;

        OUString                     m_sPageSelection;
        OUString                     m_sLastValidPageSelection;
@@ -242,7 +242,7 @@ namespace pcr
        // stop the inspection
        void stopInspection( bool _bCommitModified );

        bool haveView() const { return NULL != m_pView; }
        bool haveView() const { return nullptr != m_pView; }
        OPropertyEditor&    getPropertyBox() { return m_pView->getPropertyBox(); }

        // does the inspection of the objects as indicated by our model
diff --git a/extensions/source/propctrlr/propertyeditor.cxx b/extensions/source/propctrlr/propertyeditor.cxx
index 45a59b2..5005787 100644
--- a/extensions/source/propctrlr/propertyeditor.cxx
+++ b/extensions/source/propctrlr/propertyeditor.cxx
@@ -96,11 +96,7 @@ namespace pcr
            m_aPropertyPageIds.swap( aEmpty );
        }

        while ( !m_aHiddenPages.empty() )
        {
            delete m_aHiddenPages.begin()->second.pPage;
            m_aHiddenPages.erase( m_aHiddenPages.begin() );
        }
        m_aHiddenPages.clear();
    }


diff --git a/extensions/source/propctrlr/propertyeditor.hxx b/extensions/source/propctrlr/propertyeditor.hxx
index 72f3644..a43ee8d 100644
--- a/extensions/source/propctrlr/propertyeditor.hxx
+++ b/extensions/source/propctrlr/propertyeditor.hxx
@@ -49,7 +49,7 @@ namespace pcr
        struct HiddenPage
        {
            sal_uInt16  nPos;
            TabPage*    pPage;
            VclPtr<TabPage>    pPage;
            HiddenPage() : nPos( 0 ), pPage( NULL ) { }
            HiddenPage( sal_uInt16 _nPos, TabPage* _pPage ) : nPos( _nPos ), pPage( _pPage ) { }
        };
diff --git a/extensions/source/propctrlr/selectlabeldialog.cxx b/extensions/source/propctrlr/selectlabeldialog.cxx
index a98910a..fcc538e 100644
--- a/extensions/source/propctrlr/selectlabeldialog.cxx
+++ b/extensions/source/propctrlr/selectlabeldialog.cxx
@@ -159,6 +159,9 @@ namespace pcr
                delete static_cast<Reference< XPropertySet > *>(pData);
            pLoop = m_pControlTree->Next(pLoop);
        }
        m_pMainDesc.clear();
        m_pControlTree.clear();
        m_pNoAssignment.clear();
        ModalDialog::dispose();
    }

diff --git a/extensions/source/propctrlr/selectlabeldialog.hxx b/extensions/source/propctrlr/selectlabeldialog.hxx
index 40073fd..45144c6 100644
--- a/extensions/source/propctrlr/selectlabeldialog.hxx
+++ b/extensions/source/propctrlr/selectlabeldialog.hxx
@@ -40,9 +40,9 @@ namespace pcr
            :public ModalDialog
            ,public PcrClient
    {
        FixedText       *m_pMainDesc;
        SvTreeListBox   *m_pControlTree;
        CheckBox        *m_pNoAssignment;
        VclPtr<FixedText>       m_pMainDesc;
        VclPtr<SvTreeListBox>   m_pControlTree;
        VclPtr<CheckBox>        m_pNoAssignment;

        ImageList       m_aModelImages;
        ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >   m_xControlModel;
diff --git a/extensions/source/propctrlr/standardcontrol.cxx b/extensions/source/propctrlr/standardcontrol.cxx
index c4b452c..f78da9b 100644
--- a/extensions/source/propctrlr/standardcontrol.cxx
+++ b/extensions/source/propctrlr/standardcontrol.cxx
@@ -1041,7 +1041,7 @@ namespace pcr
    {
        SetCompoundControl( true );

        m_pImplEdit = VclPtr<MultiLineEdit>( new MultiLineEdit( this, WB_TABSTOP | WB_IGNORETAB | WB_NOBORDER | (_nStyle & WB_READONLY) ) );
        m_pImplEdit = new MultiLineEdit( this, WB_TABSTOP | WB_IGNORETAB | WB_NOBORDER | (_nStyle & WB_READONLY) );
        SetSubEdit( m_pImplEdit );
        m_pImplEdit->Show();

@@ -1077,16 +1077,10 @@ namespace pcr

    void DropDownEditControl::dispose()
    {
        {
            boost::scoped_ptr<vcl::Window> aTemp(m_pFloatingEdit);
            m_pFloatingEdit = NULL;
        }
        SetSubEdit(VclPtr<Edit>());
        {
            boost::scoped_ptr<vcl::Window> aTemp(m_pDropdownButton);
            m_pDropdownButton = NULL;
        }
        SetSubEdit(nullptr);
        m_pImplEdit.disposeAndClear();
        m_pFloatingEdit.clear();
        m_pDropdownButton.clear();
        DropDownEditControl_Base::dispose();
    }

@@ -1095,7 +1089,7 @@ namespace pcr
    {
        ::Size aOutSz = GetOutputSizePixel();

        if (m_pDropdownButton!=NULL)
        if (m_pDropdownButton!=nullptr)
        {
            long nSBWidth = GetSettings().GetStyleSettings().GetScrollBarSize();
            nSBWidth = CalcZoom( nSBWidth );
diff --git a/extensions/source/propctrlr/standardcontrol.hxx b/extensions/source/propctrlr/standardcontrol.hxx
index cf8c473..9eb9935 100644
--- a/extensions/source/propctrlr/standardcontrol.hxx
+++ b/extensions/source/propctrlr/standardcontrol.hxx
@@ -374,9 +374,9 @@ namespace pcr
    class DropDownEditControl : public DropDownEditControl_Base
    {
    private:
        OMultilineFloatingEdit*             m_pFloatingEdit;
        VclPtr<OMultilineFloatingEdit>             m_pFloatingEdit;
        VclPtr<MultiLineEdit>               m_pImplEdit;
        PushButton*                         m_pDropdownButton;
        VclPtr<PushButton>                         m_pDropdownButton;
        MultiLineOperationMode              m_nOperationMode;
        bool                                m_bDropdown : 1;

diff --git a/extensions/source/propctrlr/taborder.cxx b/extensions/source/propctrlr/taborder.cxx
index 64b7e10..52ec5c8 100644
--- a/extensions/source/propctrlr/taborder.cxx
+++ b/extensions/source/propctrlr/taborder.cxx
@@ -126,6 +126,11 @@ namespace pcr
        m_pLB_Controls->Hide();
        //  delete pLB_Controls;
        delete pImageList;
        m_pLB_Controls.clear();
        m_pPB_OK.clear();
        m_pPB_MoveUp.clear();
        m_pPB_MoveDown.clear();
        m_pPB_AutoOrder.clear();
        ModalDialog::dispose();
    }

diff --git a/extensions/source/propctrlr/taborder.hxx b/extensions/source/propctrlr/taborder.hxx
index 3685b9c..f56d4b4 100644
--- a/extensions/source/propctrlr/taborder.hxx
+++ b/extensions/source/propctrlr/taborder.hxx
@@ -73,13 +73,13 @@ namespace pcr
        ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
                                    m_xORB;

        TabOrderListBox* m_pLB_Controls;
        VclPtr<TabOrderListBox> m_pLB_Controls;

        OKButton* m_pPB_OK;
        VclPtr<OKButton> m_pPB_OK;

        PushButton* m_pPB_MoveUp;
        PushButton* m_pPB_MoveDown;
        PushButton* m_pPB_AutoOrder;
        VclPtr<PushButton> m_pPB_MoveUp;
        VclPtr<PushButton> m_pPB_MoveDown;
        VclPtr<PushButton> m_pPB_AutoOrder;

        ImageList*                  pImageList;

diff --git a/extensions/source/scanner/grid.cxx b/extensions/source/scanner/grid.cxx
index faa33e9..e99ffb5 100644
--- a/extensions/source/scanner/grid.cxx
+++ b/extensions/source/scanner/grid.cxx
@@ -213,6 +213,20 @@ GridDialog::GridDialog(double* pXValues, double* pYValues, int nValues, vcl::Win
    m_pResetButton->SetClickHdl( LINK( this, GridDialog, ClickButtonHdl ) );
}

GridDialog::~GridDialog()
{
    dispose();
}

void GridDialog::dispose()
{
    m_pOKButton.clear();
    m_pResetTypeBox.clear();
    m_pResetButton.clear();
    m_pGridWindow.clear();
    ModalDialog::dispose();
}

GridWindow::~GridWindow()
{
    dispose();
diff --git a/extensions/source/scanner/grid.hxx b/extensions/source/scanner/grid.hxx
index 6fca647..940dec6 100644
--- a/extensions/source/scanner/grid.hxx
+++ b/extensions/source/scanner/grid.hxx
@@ -37,19 +37,20 @@ enum resetType

class GridDialog : public ModalDialog
{
    OKButton*       m_pOKButton;
    VclPtr<OKButton>       m_pOKButton;

    ListBox*        m_pResetTypeBox;
    PushButton*     m_pResetButton;
    VclPtr<ListBox>        m_pResetTypeBox;
    VclPtr<PushButton>     m_pResetButton;

    GridWindow*     m_pGridWindow;
    VclPtr<GridWindow>     m_pGridWindow;

    DECL_LINK( ClickButtonHdl, Button* );

public:
    GridDialog(double* pXValues, double* pYValues, int nValues,
                vcl::Window* pParent, bool bCutValues = true);

    virtual ~GridDialog();
    virtual void dispose() SAL_OVERRIDE;
    void setBoundings(double fMinX, double fMinY, double fMaxX, double fMaxY);
    double* getNewYValues();
};
diff --git a/extensions/source/scanner/sanedlg.cxx b/extensions/source/scanner/sanedlg.cxx
index 8c84962..6f977ef 100644
--- a/extensions/source/scanner/sanedlg.cxx
+++ b/extensions/source/scanner/sanedlg.cxx
@@ -43,7 +43,7 @@ private:
    Rectangle maPreviewRect;
    Point     maTopLeft, maBottomRight;
    Point     maMinTopLeft, maMaxBottomRight;
    SaneDlg*  mpParentDialog;
    VclPtr<SaneDlg>  mpParentDialog;
    DragDirection meDragDirection;
    bool      mbDragEnable;
    bool      mbDragDrawn;
@@ -61,6 +61,12 @@ public:
        , mbIsDragging(false)
    {
    }
    virtual ~ScanPreview() { dispose(); }
    virtual void dispose() SAL_OVERRIDE
    {
        mpParentDialog.clear();
        vcl::Window::dispose();
    }
    void Init(SaneDlg *pParent)
    {
        mpParentDialog = pParent;
@@ -245,6 +251,30 @@ SaneDlg::~SaneDlg()
void SaneDlg::dispose()
{
    mrSane.SetReloadOptionsHdl( maOldLink );
    mpOKButton.clear();
    mpCancelButton.clear();
    mpDeviceInfoButton.clear();
    mpPreviewButton.clear();
    mpScanButton.clear();
    mpButtonOption.clear();
    mpOptionTitle.clear();
    mpOptionDescTxt.clear();
    mpVectorTxt.clear();
    mpLeftField.clear();
    mpTopField.clear();
    mpRightField.clear();
    mpBottomField.clear();
    mpDeviceBox.clear();
    mpReslBox.clear();
    mpAdvancedBox.clear();
    mpVectorBox.clear();
    mpQuantumRangeBox.clear();
    mpStringRangeBox.clear();
    mpBoolCheckBox.clear();
    mpStringEdit.clear();
    mpNumericEdit.clear();
    mpOptionBox.clear();
    mpPreview.clear();
    ModalDialog::dispose();
}

diff --git a/extensions/source/scanner/sanedlg.hxx b/extensions/source/scanner/sanedlg.hxx
index ac7d664..6aca273 100644
--- a/extensions/source/scanner/sanedlg.hxx
+++ b/extensions/source/scanner/sanedlg.hxx
@@ -40,38 +40,38 @@ private:

    Link            maOldLink;

    OKButton*       mpOKButton;
    CancelButton*   mpCancelButton;
    PushButton*     mpDeviceInfoButton;
    PushButton*     mpPreviewButton;
    PushButton*     mpScanButton;
    PushButton*     mpButtonOption;
    VclPtr<OKButton>       mpOKButton;
    VclPtr<CancelButton>   mpCancelButton;
    VclPtr<PushButton>     mpDeviceInfoButton;
    VclPtr<PushButton>     mpPreviewButton;
    VclPtr<PushButton>     mpScanButton;
    VclPtr<PushButton>     mpButtonOption;

    FixedText*      mpOptionTitle;
    FixedText*      mpOptionDescTxt;
    FixedText*      mpVectorTxt;
    VclPtr<FixedText>      mpOptionTitle;
    VclPtr<FixedText>      mpOptionDescTxt;
    VclPtr<FixedText>      mpVectorTxt;

    MetricField*    mpLeftField;
    MetricField*    mpTopField;
    MetricField*    mpRightField;
    MetricField*    mpBottomField;
    VclPtr<MetricField>    mpLeftField;
    VclPtr<MetricField>    mpTopField;
    VclPtr<MetricField>    mpRightField;
    VclPtr<MetricField>    mpBottomField;

    ListBox*        mpDeviceBox;
    NumericBox*     mpReslBox;
    CheckBox*       mpAdvancedBox;
    VclPtr<ListBox>        mpDeviceBox;
    VclPtr<NumericBox>     mpReslBox;
    VclPtr<CheckBox>       mpAdvancedBox;

    NumericField*   mpVectorBox;
    ListBox*        mpQuantumRangeBox;
    ListBox*        mpStringRangeBox;
    VclPtr<NumericField>   mpVectorBox;
    VclPtr<ListBox>        mpQuantumRangeBox;
    VclPtr<ListBox>        mpStringRangeBox;

    CheckBox*       mpBoolCheckBox;
    VclPtr<CheckBox>       mpBoolCheckBox;

    Edit*           mpStringEdit;
    Edit*           mpNumericEdit;
    VclPtr<Edit>           mpStringEdit;
    VclPtr<Edit>           mpNumericEdit;

    SvTreeListBox*  mpOptionBox;
    VclPtr<SvTreeListBox>  mpOptionBox;

    ScanPreview*    mpPreview;
    VclPtr<ScanPreview>    mpPreview;

    int             mnCurrentOption;
    int             mnCurrentElement;
diff --git a/filter/source/flash/impswfdialog.cxx b/filter/source/flash/impswfdialog.cxx
index fe6b7fe..1a6a698 100644
--- a/filter/source/flash/impswfdialog.cxx
+++ b/filter/source/flash/impswfdialog.cxx
@@ -60,8 +60,21 @@ ImpSWFDialog::ImpSWFDialog( vcl::Window* pParent, Sequence< PropertyValue >& rFi

ImpSWFDialog::~ImpSWFDialog()
{
    dispose();
}

void ImpSWFDialog::dispose()
{
    mpNumFldQuality.clear();
    mpCheckExportAll.clear();
    mpCheckExportBackgrounds.clear();
    mpCheckExportBackgroundObjects.clear();
    mpCheckExportSlideContents.clear();
    mpCheckExportSound.clear();
    mpCheckExportOLEAsJPEG.clear();
    mpCheckExportMultipleFiles.clear();
    ModalDialog::dispose();
}


Sequence< PropertyValue > ImpSWFDialog::GetFilterData()
diff --git a/filter/source/flash/impswfdialog.hxx b/filter/source/flash/impswfdialog.hxx
index cb12844..aae9ecf 100644
--- a/filter/source/flash/impswfdialog.hxx
+++ b/filter/source/flash/impswfdialog.hxx
@@ -41,14 +41,14 @@ namespace vcl { class Window; }
class ImpSWFDialog : public ModalDialog
{
private:
    NumericField * mpNumFldQuality;
    CheckBox *     mpCheckExportAll;
    CheckBox *     mpCheckExportBackgrounds;
    CheckBox *     mpCheckExportBackgroundObjects;
    CheckBox *     mpCheckExportSlideContents;
    CheckBox *     mpCheckExportSound;
    CheckBox *     mpCheckExportOLEAsJPEG;
    CheckBox *     mpCheckExportMultipleFiles;
    VclPtr<NumericField> mpNumFldQuality;
    VclPtr<CheckBox>     mpCheckExportAll;
    VclPtr<CheckBox>     mpCheckExportBackgrounds;
    VclPtr<CheckBox>     mpCheckExportBackgroundObjects;
    VclPtr<CheckBox>     mpCheckExportSlideContents;
    VclPtr<CheckBox>     mpCheckExportSound;
    VclPtr<CheckBox>     mpCheckExportOLEAsJPEG;
    VclPtr<CheckBox>     mpCheckExportMultipleFiles;

    FilterConfigItem    maConfigItem;

@@ -58,6 +58,7 @@ public:
    ImpSWFDialog( vcl::Window* pParent,
                  com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& rFilterData );
    virtual ~ImpSWFDialog();
    virtual void dispose() SAL_OVERRIDE;

    com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > GetFilterData();
};
diff --git a/filter/source/flash/swfdialog.cxx b/filter/source/flash/swfdialog.cxx
index 981731a..0817f86 100644
--- a/filter/source/flash/swfdialog.cxx
+++ b/filter/source/flash/swfdialog.cxx
@@ -184,7 +184,7 @@ Dialog* SWFDialog::createDialog( vcl::Window* pParent )
void SWFDialog::executedDialog( sal_Int16 nExecutionResult )
{
    if( nExecutionResult && m_pDialog )
        maFilterData = static_cast< ImpSWFDialog* >( m_pDialog )->GetFilterData();
        maFilterData = static_cast< ImpSWFDialog* >( m_pDialog.get() )->GetFilterData();

    destroyDialog();
}
diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index 073039d..6350aa8 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -552,10 +552,42 @@ ImpPDFTabGeneralPage::ImpPDFTabGeneralPage(vcl::Window* pParent, const SfxItemSe

ImpPDFTabGeneralPage::~ImpPDFTabGeneralPage()
{
    dispose();
}

void ImpPDFTabGeneralPage::dispose()
{
    mpRbAll.clear();
    mpRbRange.clear();
    mpRbSelection.clear();
    mpEdPages.clear();
    mpRbLosslessCompression.clear();
    mpRbJPEGCompression.clear();
    mpQualityFrame.clear();
    mpNfQuality.clear();
    mpCbReduceImageResolution.clear();
    mpCoReduceImageResolution.clear();
    mpCbPDFA1b.clear();
    mpCbTaggedPDF.clear();
    mpCbExportFormFields.clear();
    mpFormsFrame.clear();
    mpLbFormsFormat.clear();
    mpCbAllowDuplicateFieldNames.clear();
    mpCbExportBookmarks.clear();
    mpCbExportHiddenSlides.clear();
    mpCbExportNotes.clear();
    mpCbViewPDF.clear();
    mpCbExportNotesPages.clear();
    mpCbExportEmptyPages.clear();
    mpCbAddStream.clear();
    mpCbWatermark.clear();
    mpFtWatermark.clear();
    mpEdWatermark.clear();
    mpaParent.clear();
    SfxTabPage::dispose();
}

void ImpPDFTabGeneralPage::SetFilterConfigItem( const ImpPDFTabDialog* paParent )
void ImpPDFTabGeneralPage::SetFilterConfigItem( ImpPDFTabDialog* paParent )
{
    mpaParent = paParent;

@@ -850,8 +882,28 @@ ImpPDFTabOpnFtrPage::ImpPDFTabOpnFtrPage(vcl::Window* pParent, const SfxItemSet&

ImpPDFTabOpnFtrPage::~ImpPDFTabOpnFtrPage()
{
    dispose();
}

void ImpPDFTabOpnFtrPage::dispose()
{
    mpRbOpnPageOnly.clear();
    mpRbOpnOutline.clear();
    mpRbOpnThumbs.clear();
    mpNumInitialPage.clear();
    mpRbMagnDefault.clear();
    mpRbMagnFitWin.clear();
    mpRbMagnFitWidth.clear();
    mpRbMagnFitVisible.clear();
    mpRbMagnZoom.clear();
    mpNumZoom.clear();
    mpRbPgLyDefault.clear();
    mpRbPgLySinglePage.clear();
    mpRbPgLyContinue.clear();
    mpRbPgLyContinueFacing.clear();
    mpCbPgLyFirstOnLeft.clear();
    SfxTabPage::dispose();
}

SfxTabPage*  ImpPDFTabOpnFtrPage::Create( vcl::Window* pParent,
                                          const SfxItemSet* rAttrSet)
@@ -1005,6 +1057,23 @@ ImpPDFTabViewerPage::ImpPDFTabViewerPage( vcl::Window* pParent,

ImpPDFTabViewerPage::~ImpPDFTabViewerPage()
{
    dispose();
}

void ImpPDFTabViewerPage::dispose()
{
    m_pCbResWinInit.clear();
    m_pCbCenterWindow.clear();
    m_pCbOpenFullScreen.clear();
    m_pCbDispDocTitle.clear();
    m_pCbHideViewerMenubar.clear();
    m_pCbHideViewerToolbar.clear();
    m_pCbHideViewerWindowControls.clear();
    m_pCbTransitionEffects.clear();
    m_pRbAllBookmarkLevels.clear();
    m_pRbVisibleBookmarkLevels.clear();
    m_pNumBookmarkLevels.clear();
    SfxTabPage::dispose();
}

IMPL_LINK( ImpPDFTabViewerPage, ToggleRbBookmarksHdl, void*, )
@@ -1102,8 +1171,33 @@ ImpPDFTabSecurityPage::ImpPDFTabSecurityPage(vcl::Window* i_pParent, const SfxIt

ImpPDFTabSecurityPage::~ImpPDFTabSecurityPage()
{
    dispose();
}

void ImpPDFTabSecurityPage::dispose()
{
    mpPbSetPwd.clear();
    mpUserPwdSet.clear();
    mpUserPwdUnset.clear();
    mpUserPwdPdfa.clear();
    mpOwnerPwdSet.clear();
    mpOwnerPwdUnset.clear();
    mpOwnerPwdPdfa.clear();
    mpPrintPermissions.clear();
    mpRbPrintNone.clear();
    mpRbPrintLowRes.clear();
    mpRbPrintHighRes.clear();
    mpChangesAllowed.clear();
    mpRbChangesNone.clear();
    mpRbChangesInsDel.clear();
    mpRbChangesFillForm.clear();
    mpRbChangesComment.clear();
    mpRbChangesAnyNoCopy.clear();
    mpContent.clear();
    mpCbEnableCopy.clear();
    mpCbEnableAccessibility.clear();
    SfxTabPage::dispose();
}

SfxTabPage*  ImpPDFTabSecurityPage::Create( vcl::Window* pParent,
                                          const SfxItemSet* rAttrSet)
@@ -1323,8 +1417,19 @@ ImpPDFTabLinksPage::ImpPDFTabLinksPage( vcl::Window* pParent,

ImpPDFTabLinksPage::~ImpPDFTabLinksPage()
{
    dispose();
}

void ImpPDFTabLinksPage::dispose()
{
    m_pCbExprtBmkrToNmDst.clear();
    m_pCbOOoToPDFTargets.clear();
    m_pCbExportRelativeFsysLinks.clear();
    m_pRbOpnLnksDefault.clear();
    m_pRbOpnLnksLaunch.clear();
    m_pRbOpnLnksBrowser.clear();
    SfxTabPage::dispose();
}

SfxTabPage*  ImpPDFTabLinksPage::Create( vcl::Window* pParent,
                                          const SfxItemSet* rAttrSet)
@@ -1525,6 +1630,8 @@ void ImplErrorDialog::dispose()
    // free strings again
    for( sal_uInt16 n = 0; n < m_pErrors->GetEntryCount(); n++ )
        delete static_cast<OUString*>(m_pErrors->GetEntryData( n ));
    m_pErrors.clear();
    m_pExplanation.clear();
    MessageDialog::dispose();
}

@@ -1560,6 +1667,19 @@ ImpPDFTabSigningPage::ImpPDFTabSigningPage(vcl::Window* pParent, const SfxItemSe

ImpPDFTabSigningPage::~ImpPDFTabSigningPage()
{
    dispose();
}

void ImpPDFTabSigningPage::dispose()
{
    mpEdSignCert.clear();
    mpPbSignCertSelect.clear();
    mpPbSignCertClear.clear();
    mpEdSignPassword.clear();
    mpEdSignLocation.clear();
    mpEdSignContactInfo.clear();
    mpEdSignReason.clear();
    SfxTabPage::dispose();
}

IMPL_LINK_NOARG( ImpPDFTabSigningPage, ClickmaPbSignCertSelect )
diff --git a/filter/source/pdf/impdialog.hxx b/filter/source/pdf/impdialog.hxx
index a913c9c..b661eed 100644
--- a/filter/source/pdf/impdialog.hxx
+++ b/filter/source/pdf/impdialog.hxx
@@ -56,8 +56,8 @@ public:

class ImplErrorDialog : public MessageDialog
{
    ListBox*        m_pErrors;
    FixedText*      m_pExplanation;
    VclPtr<ListBox>        m_pErrors;
    VclPtr<FixedText>      m_pExplanation;

    DECL_LINK(SelectHdl, void *);
    public:
@@ -191,45 +191,45 @@ class ImpPDFTabGeneralPage : public SfxTabPage
{
    friend class  ImpPDFTabLinksPage;

    RadioButton*  mpRbAll;
    RadioButton*  mpRbRange;
    RadioButton*  mpRbSelection;
    Edit*         mpEdPages;
    VclPtr<RadioButton>  mpRbAll;
    VclPtr<RadioButton>  mpRbRange;
    VclPtr<RadioButton>  mpRbSelection;
    VclPtr<Edit>         mpEdPages;

    RadioButton*  mpRbLosslessCompression;
    RadioButton*  mpRbJPEGCompression;
    VclContainer* mpQualityFrame;
    MetricField*  mpNfQuality;
    CheckBox*     mpCbReduceImageResolution;
    ComboBox*     mpCoReduceImageResolution;
    VclPtr<RadioButton>  mpRbLosslessCompression;
    VclPtr<RadioButton>  mpRbJPEGCompression;
    VclPtr<VclContainer> mpQualityFrame;
    VclPtr<MetricField>  mpNfQuality;
    VclPtr<CheckBox>     mpCbReduceImageResolution;
    VclPtr<ComboBox>     mpCoReduceImageResolution;

    CheckBox*     mpCbPDFA1b;
    CheckBox*     mpCbTaggedPDF;
    VclPtr<CheckBox>     mpCbPDFA1b;
    VclPtr<CheckBox>     mpCbTaggedPDF;
    bool          mbTaggedPDFUserSelection;

    CheckBox*     mpCbExportFormFields;
    VclPtr<CheckBox>     mpCbExportFormFields;
    bool          mbExportFormFieldsUserSelection;
    VclContainer* mpFormsFrame;
    ListBox*      mpLbFormsFormat;
    CheckBox*     mpCbAllowDuplicateFieldNames;
    VclPtr<VclContainer> mpFormsFrame;
    VclPtr<ListBox>      mpLbFormsFormat;
    VclPtr<CheckBox>     mpCbAllowDuplicateFieldNames;

    CheckBox*     mpCbExportBookmarks;
    CheckBox*     mpCbExportHiddenSlides;
    CheckBox*     mpCbExportNotes;
    CheckBox*     mpCbViewPDF;
    CheckBox*     mpCbExportNotesPages;
    VclPtr<CheckBox>     mpCbExportBookmarks;
    VclPtr<CheckBox>     mpCbExportHiddenSlides;
    VclPtr<CheckBox>     mpCbExportNotes;
    VclPtr<CheckBox>     mpCbViewPDF;
    VclPtr<CheckBox>     mpCbExportNotesPages;

    CheckBox*     mpCbExportEmptyPages;
    CheckBox*     mpCbAddStream;
    VclPtr<CheckBox>     mpCbExportEmptyPages;
    VclPtr<CheckBox>     mpCbAddStream;

    CheckBox*     mpCbWatermark;
    FixedText*    mpFtWatermark;
    Edit*         mpEdWatermark;
    VclPtr<CheckBox>     mpCbWatermark;
    VclPtr<FixedText>    mpFtWatermark;
    VclPtr<Edit>         mpEdWatermark;

    bool          mbIsPresentation;
    bool          mbIsWriter;

    const ImpPDFTabDialog* mpaParent;
    VclPtr<ImpPDFTabDialog> mpaParent;

    DECL_LINK( TogglePagesHdl, void* );
    DECL_LINK( ToggleCompressionHdl, void* );
@@ -243,36 +243,37 @@ public:

    ImpPDFTabGeneralPage( vcl::Window* pParent,
                          const SfxItemSet& rSet );

    virtual ~ImpPDFTabGeneralPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*          Create( vcl::Window* pParent,
                                        const SfxItemSet* rAttrSet);

    void    GetFilterConfigItem(ImpPDFTabDialog* paParent);
    void    SetFilterConfigItem(const ImpPDFTabDialog* paParent);
    void    SetFilterConfigItem(ImpPDFTabDialog* paParent);
    bool    IsPdfaSelected() const { return mpCbPDFA1b->IsChecked(); }
};

//class tab page viewer
class ImpPDFTabOpnFtrPage : public SfxTabPage
{
    RadioButton*                mpRbOpnPageOnly;
    RadioButton*                mpRbOpnOutline;
    RadioButton*                mpRbOpnThumbs;
    NumericField*               mpNumInitialPage;
    VclPtr<RadioButton>                mpRbOpnPageOnly;
    VclPtr<RadioButton>                mpRbOpnOutline;
    VclPtr<RadioButton>                mpRbOpnThumbs;
    VclPtr<NumericField>               mpNumInitialPage;

    RadioButton*                mpRbMagnDefault;
    RadioButton*                mpRbMagnFitWin;
    RadioButton*                mpRbMagnFitWidth;
    RadioButton*                mpRbMagnFitVisible;
    RadioButton*                mpRbMagnZoom;
    NumericField*               mpNumZoom;
    VclPtr<RadioButton>                mpRbMagnDefault;
    VclPtr<RadioButton>                mpRbMagnFitWin;
    VclPtr<RadioButton>                mpRbMagnFitWidth;
    VclPtr<RadioButton>                mpRbMagnFitVisible;
    VclPtr<RadioButton>                mpRbMagnZoom;
    VclPtr<NumericField>               mpNumZoom;

    RadioButton*                mpRbPgLyDefault;
    RadioButton*                mpRbPgLySinglePage;
    RadioButton*                mpRbPgLyContinue;
    RadioButton*                mpRbPgLyContinueFacing;
    CheckBox*                   mpCbPgLyFirstOnLeft;
    VclPtr<RadioButton>                mpRbPgLyDefault;
    VclPtr<RadioButton>                mpRbPgLySinglePage;
    VclPtr<RadioButton>                mpRbPgLyContinue;
    VclPtr<RadioButton>                mpRbPgLyContinueFacing;
    VclPtr<CheckBox>                   mpCbPgLyFirstOnLeft;

    bool                    mbUseCTLFont;

@@ -284,6 +285,7 @@ public:
                         const SfxItemSet& rSet );

    virtual ~ImpPDFTabOpnFtrPage();
    virtual void dispose() SAL_OVERRIDE;
    static SfxTabPage*          Create( vcl::Window* pParent,
                                        const SfxItemSet* rAttrSet );

@@ -294,22 +296,22 @@ public:
//class tab page viewer
class ImpPDFTabViewerPage : public SfxTabPage
{
    CheckBox*                   m_pCbResWinInit;
    CheckBox*                   m_pCbCenterWindow;
    CheckBox*                   m_pCbOpenFullScreen;
    CheckBox*                   m_pCbDispDocTitle;
    VclPtr<CheckBox>                   m_pCbResWinInit;
    VclPtr<CheckBox>                   m_pCbCenterWindow;
    VclPtr<CheckBox>                   m_pCbOpenFullScreen;
    VclPtr<CheckBox>                   m_pCbDispDocTitle;


    CheckBox*                   m_pCbHideViewerMenubar;
    CheckBox*                   m_pCbHideViewerToolbar;
    CheckBox*                   m_pCbHideViewerWindowControls;
    VclPtr<CheckBox>                   m_pCbHideViewerMenubar;
    VclPtr<CheckBox>                   m_pCbHideViewerToolbar;
    VclPtr<CheckBox>                   m_pCbHideViewerWindowControls;

    CheckBox*                   m_pCbTransitionEffects;
    VclPtr<CheckBox>                   m_pCbTransitionEffects;
    bool                    mbIsPresentation;

    RadioButton*                m_pRbAllBookmarkLevels;
    RadioButton*                m_pRbVisibleBookmarkLevels;
    NumericField*               m_pNumBookmarkLevels;
    VclPtr<RadioButton>                m_pRbAllBookmarkLevels;
    VclPtr<RadioButton>                m_pRbVisibleBookmarkLevels;
    VclPtr<NumericField>               m_pNumBookmarkLevels;

    DECL_LINK( ToggleRbBookmarksHdl, void* );
public:
@@ -317,6 +319,7 @@ public:
                         const SfxItemSet& rSet );

    virtual ~ImpPDFTabViewerPage();
    virtual void dispose() SAL_OVERRIDE;
    static SfxTabPage*          Create( vcl::Window* pParent,
                                        const SfxItemSet* rAttrSet );

@@ -327,32 +330,32 @@ public:
//class security tab page
class ImpPDFTabSecurityPage : public SfxTabPage
{
    PushButton*                 mpPbSetPwd;
    VclPtr<PushButton>                 mpPbSetPwd;
    OUString                    msStrSetPwd;

    VclContainer*               mpUserPwdSet;
    VclContainer*               mpUserPwdUnset;
    VclContainer*               mpUserPwdPdfa;
    VclPtr<VclContainer>               mpUserPwdSet;
    VclPtr<VclContainer>               mpUserPwdUnset;
    VclPtr<VclContainer>               mpUserPwdPdfa;

    VclContainer*               mpOwnerPwdSet;
    VclContainer*               mpOwnerPwdUnset;
    VclContainer*               mpOwnerPwdPdfa;
    VclPtr<VclContainer>               mpOwnerPwdSet;
    VclPtr<VclContainer>               mpOwnerPwdUnset;
    VclPtr<VclContainer>               mpOwnerPwdPdfa;

    VclContainer*               mpPrintPermissions;
    RadioButton*                mpRbPrintNone;
    RadioButton*                mpRbPrintLowRes;
    RadioButton*                mpRbPrintHighRes;
    VclPtr<VclContainer>               mpPrintPermissions;
    VclPtr<RadioButton>                mpRbPrintNone;
    VclPtr<RadioButton>                mpRbPrintLowRes;
    VclPtr<RadioButton>                mpRbPrintHighRes;

    VclContainer*               mpChangesAllowed;
    RadioButton*                mpRbChangesNone;
    RadioButton*                mpRbChangesInsDel;
    RadioButton*                mpRbChangesFillForm;
    RadioButton*                mpRbChangesComment;
    RadioButton*                mpRbChangesAnyNoCopy;
    VclPtr<VclContainer>               mpChangesAllowed;
    VclPtr<RadioButton>                mpRbChangesNone;
    VclPtr<RadioButton>                mpRbChangesInsDel;
    VclPtr<RadioButton>                mpRbChangesFillForm;
    VclPtr<RadioButton>                mpRbChangesComment;
    VclPtr<RadioButton>                mpRbChangesAnyNoCopy;

    VclContainer*               mpContent;
    CheckBox*                   mpCbEnableCopy;
    CheckBox*                   mpCbEnableAccessibility;
    VclPtr<VclContainer>               mpContent;
    VclPtr<CheckBox>                   mpCbEnableCopy;
    VclPtr<CheckBox>                   mpCbEnableAccessibility;

    OUString                    msUserPwdTitle;

@@ -372,6 +375,7 @@ public:
                           const SfxItemSet& rSet );

    virtual ~ImpPDFTabSecurityPage();
    virtual void dispose() SAL_OVERRIDE;
    static SfxTabPage*      Create( vcl::Window* pParent,
                                    const SfxItemSet* rAttrSet );

@@ -384,15 +388,15 @@ public:
//class to implement the relative link stuff
class ImpPDFTabLinksPage : public SfxTabPage
{
    CheckBox*                   m_pCbExprtBmkrToNmDst;
    CheckBox*                   m_pCbOOoToPDFTargets;
    CheckBox*                   m_pCbExportRelativeFsysLinks;
    VclPtr<CheckBox>                   m_pCbExprtBmkrToNmDst;
    VclPtr<CheckBox>                   m_pCbOOoToPDFTargets;
    VclPtr<CheckBox>                   m_pCbExportRelativeFsysLinks;

    RadioButton*                m_pRbOpnLnksDefault;
    VclPtr<RadioButton>                m_pRbOpnLnksDefault;
    bool                    mbOpnLnksDefaultUserState;
    RadioButton*                m_pRbOpnLnksLaunch;
    VclPtr<RadioButton>                m_pRbOpnLnksLaunch;
    bool                    mbOpnLnksLaunchUserState;
    RadioButton*                m_pRbOpnLnksBrowser;
    VclPtr<RadioButton>                m_pRbOpnLnksBrowser;
    bool                    mbOpnLnksBrowserUserState;

    DECL_LINK( ClickRbOpnLnksDefaultHdl, void* );
@@ -403,6 +407,7 @@ public:
                           const SfxItemSet& rSet );

    virtual ~ImpPDFTabLinksPage();
    virtual void dispose() SAL_OVERRIDE;
    static SfxTabPage*      Create( vcl::Window* pParent,
                                    const SfxItemSet* rAttrSet );

@@ -415,14 +420,14 @@ public:
//class to implement the digital signing
class ImpPDFTabSigningPage : public SfxTabPage
{
    Edit*                       mpEdSignCert;
    PushButton*                 mpPbSignCertSelect;
    PushButton*                 mpPbSignCertClear;
    Edit*                       mpEdSignPassword;
    Edit*                       mpEdSignLocation;
    Edit*                       mpEdSignContactInfo;
    Edit*                       mpEdSignReason;
    ListBox*                    mpLBSignTSA;
    VclPtr<Edit>                       mpEdSignCert;
    VclPtr<PushButton>                 mpPbSignCertSelect;
    VclPtr<PushButton>                 mpPbSignCertClear;
    VclPtr<Edit>                       mpEdSignPassword;
    VclPtr<Edit>                       mpEdSignLocation;
    VclPtr<Edit>                       mpEdSignContactInfo;
    VclPtr<Edit>                       mpEdSignReason;
    VclPtr<ListBox>                    mpLBSignTSA;
    com::sun::star::uno::Reference< com::sun::star::security::XCertificate > maSignCertificate;

    DECL_LINK( ClickmaPbSignCertSelect, void* );
@@ -434,6 +439,7 @@ public:
                          const SfxItemSet& rSet );

    virtual ~ImpPDFTabSigningPage();
    virtual void dispose() SAL_OVERRIDE;
    static SfxTabPage*      Create( vcl::Window* pParent,
                                    const SfxItemSet* rAttrSet );

diff --git a/filter/source/pdf/pdfdialog.cxx b/filter/source/pdf/pdfdialog.cxx
index 9db0eb6..0c5c9b4 100644
--- a/filter/source/pdf/pdfdialog.cxx
+++ b/filter/source/pdf/pdfdialog.cxx
@@ -125,7 +125,7 @@ Dialog* PDFDialog::createDialog( vcl::Window* pParent )
void PDFDialog::executedDialog( sal_Int16 nExecutionResult )
{
    if( nExecutionResult && m_pDialog )
        maFilterData = static_cast< ImpPDFTabDialog* >( m_pDialog )->GetFilterData();
        maFilterData = static_cast< ImpPDFTabDialog* >( m_pDialog.get() )->GetFilterData();
    destroyDialog();
}

diff --git a/filter/source/pdf/pdffilter.cxx b/filter/source/pdf/pdffilter.cxx
index 3e1349b..9605032 100644
--- a/filter/source/pdf/pdffilter.cxx
+++ b/filter/source/pdf/pdffilter.cxx
@@ -131,8 +131,8 @@ bool PDFFilter::implExport( const Sequence< PropertyValue >& rDescriptor )

class FocusWindowWaitCursor
{
    vcl::Window*         m_pFocusWindow;
    public:
    VclPtr<vcl::Window>         m_pFocusWindow;
public:
    FocusWindowWaitCursor() :
        m_pFocusWindow( Application::GetFocusWindow() )
    {
diff --git a/filter/source/svg/svgdialog.cxx b/filter/source/svg/svgdialog.cxx
index fe58a3a..04205700 100644
--- a/filter/source/svg/svgdialog.cxx
+++ b/filter/source/svg/svgdialog.cxx
@@ -155,7 +155,7 @@ Dialog* SVGDialog::createDialog( vcl::Window* pParent )
void SVGDialog::executedDialog( sal_Int16 nExecutionResult )
{
    if( nExecutionResult && m_pDialog )
        maFilterData = static_cast< ImpSVGDialog* >( m_pDialog )->GetFilterData();
        maFilterData = static_cast< ImpSVGDialog* >( m_pDialog.get() )->GetFilterData();

    destroyDialog();
}
diff --git a/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx b/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
index fd570b7..11e6f71 100644
--- a/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
+++ b/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
@@ -107,7 +107,7 @@ private:
    com::sun::star::uno::Reference<com::sun::star::awt::XWindow> mxParent;  /// parent window
    com::sun::star::uno::Reference< XComponentContext > mxContext;

    XMLFilterSettingsDialog* mpDialog;
    VclPtr<XMLFilterSettingsDialog> mpDialog;
};


@@ -266,11 +266,7 @@ void SAL_CALL XMLFilterDialogComponent::disposing()
{
    ::SolarMutexGuard aGuard;

    if( mpDialog )
    {
        delete mpDialog;
        mpDialog = NULL;
    }
    mpDialog.clear();

    if (pXSLTResMgr)
    {
@@ -328,7 +324,7 @@ sal_Int16 SAL_CALL XMLFilterDialogComponent::execute(  ) throw(RuntimeException,
        pXSLTResMgr = ResMgr::CreateResMgr( "xsltdlg", Application::GetSettings().GetUILanguageTag() );
    }

    if( NULL == mpDialog )
    if( nullptr == mpDialog )
    {
        vcl::Window* pParent = DIALOG_NO_PARENT;
        if (mxParent.is())
diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
index 9186fc8..5e88100 100644
--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
+++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
@@ -103,7 +103,24 @@ XMLFilterSettingsDialog::XMLFilterSettingsDialog(vcl::Window* pParent,
    }
}

XMLFilterSettingsDialog::~XMLFilterSettingsDialog()
{
    dispose();
}

void XMLFilterSettingsDialog::dispose()
{
    m_pFilterListBox.clear();
    m_pCtrlFilterList.clear();
    m_pPBNew.clear();
    m_pPBEdit.clear();
    m_pPBTest.clear();
    m_pPBDelete.clear();
    m_pPBSave.clear();
    m_pPBOpen.clear();
    m_pPBClose.clear();
    ModelessDialog::dispose();
}

IMPL_LINK(XMLFilterSettingsDialog, ClickHdl_Impl, PushButton *, pButton )
{
@@ -1404,8 +1421,9 @@ SvxPathControl::~SvxPathControl()

void SvxPathControl::dispose()
{
    delete m_pFocusCtrl;
    delete m_pHeaderBar;
    m_pVBox.clear();
    m_pFocusCtrl.clear();
    m_pHeaderBar.clear();
    vcl::Window::dispose();
}

@@ -1452,7 +1470,16 @@ XMLFilterListBox::XMLFilterListBox(Window* pParent, SvxPathControl* pPathControl
    m_pHeaderBar->Show();
}

XMLFilterListBox::~XMLFilterListBox()
{
    dispose();
}

void XMLFilterListBox::dispose()
{
    m_pHeaderBar.clear();
    SvTabListBox::dispose();
}

void XMLFilterListBox::Paint( const Rectangle& rRect )
{
diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx b/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
index beadad3..df26aaf 100644
--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
+++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
@@ -39,9 +39,9 @@ class SvxPathControl : public vcl::Window
{
private:
    bool bHasBeenShown;
    VclVBox* m_pVBox;
    HeaderBar* m_pHeaderBar;
    XMLFilterListBox* m_pFocusCtrl;
    VclPtr<VclVBox> m_pVBox;
    VclPtr<HeaderBar> m_pHeaderBar;
    VclPtr<XMLFilterListBox> m_pFocusCtrl;
protected:
    virtual void Resize() SAL_OVERRIDE;
    virtual Size GetOptimalSize() const SAL_OVERRIDE;
@@ -60,7 +60,7 @@ class HeaderBar;
class XMLFilterListBox : public SvTabListBox
{
private:
    HeaderBar*  m_pHeaderBar;
    VclPtr<HeaderBar>  m_pHeaderBar;

    DECL_LINK( TabBoxScrollHdl_Impl, SvTabListBox* );
    DECL_LINK( HeaderEndDrag_Impl, HeaderBar* );
@@ -69,6 +69,8 @@ private:

public:
    XMLFilterListBox(Window* pParent, SvxPathControl* pPathControl);
    virtual ~XMLFilterListBox();
    virtual void dispose() SAL_OVERRIDE;

    /** adds a new filter info entry to the ui filter list */
    void addFilterEntry( const filter_info_impl* pInfo );
@@ -85,6 +87,8 @@ class XMLFilterSettingsDialog : public ModelessDialog
public:
    XMLFilterSettingsDialog(vcl::Window* pParent,
        const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxContext);
    virtual ~XMLFilterSettingsDialog();
    virtual void dispose() SAL_OVERRIDE;

    DECL_LINK(ClickHdl_Impl, PushButton * );
    DECL_LINK(SelectionChangedHdl_Impl, void * );
@@ -125,15 +129,15 @@ private:

    std::vector< filter_info_impl* > maFilterVector;

    XMLFilterListBox*   m_pFilterListBox;
    SvxPathControl* m_pCtrlFilterList;
    PushButton* m_pPBNew;
    PushButton* m_pPBEdit;
    PushButton* m_pPBTest;
    PushButton* m_pPBDelete;
    PushButton* m_pPBSave;
    PushButton* m_pPBOpen;
    CloseButton* m_pPBClose;
    VclPtr<XMLFilterListBox>   m_pFilterListBox;
    VclPtr<SvxPathControl> m_pCtrlFilterList;
    VclPtr<PushButton> m_pPBNew;
    VclPtr<PushButton> m_pPBEdit;
    VclPtr<PushButton> m_pPBTest;
    VclPtr<PushButton> m_pPBDelete;
    VclPtr<PushButton> m_pPBSave;
    VclPtr<PushButton> m_pPBOpen;
    VclPtr<CloseButton> m_pPBClose;

    bool m_bIsClosable;

diff --git a/filter/source/xsltdialog/xmlfiltertabdialog.cxx b/filter/source/xsltdialog/xmlfiltertabdialog.cxx
index 3c286b6..ea5a502 100644
--- a/filter/source/xsltdialog/xmlfiltertabdialog.cxx
+++ b/filter/source/xsltdialog/xmlfiltertabdialog.cxx
@@ -80,9 +80,11 @@ XMLFilterTabDialog::~XMLFilterTabDialog()

void XMLFilterTabDialog::dispose()
{
    delete mpBasicPage;
    delete mpXSLTPage;
    mpBasicPage.clear();
    mpXSLTPage.clear();
    delete mpNewInfo;
    m_pTabCtrl.clear();
    m_pOKBtn.clear();
    TabDialog::dispose();
}

diff --git a/filter/source/xsltdialog/xmlfiltertabdialog.hxx b/filter/source/xsltdialog/xmlfiltertabdialog.hxx
index c07610e..221b704 100644
--- a/filter/source/xsltdialog/xmlfiltertabdialog.hxx
+++ b/filter/source/xsltdialog/xmlfiltertabdialog.hxx
@@ -54,14 +54,14 @@ private:
    const filter_info_impl* mpOldInfo;
    filter_info_impl* mpNewInfo;

    TabControl*     m_pTabCtrl;
    OKButton*       m_pOKBtn;
    VclPtr<TabControl>     m_pTabCtrl;
    VclPtr<OKButton>       m_pOKBtn;

    sal_Int16 m_nBasicPageId;
    sal_Int16 m_nXSLTPageId;

    XMLFilterTabPageBasic*  mpBasicPage;
    XMLFilterTabPageXSLT* mpXSLTPage;
    VclPtr<XMLFilterTabPageBasic>  mpBasicPage;
    VclPtr<XMLFilterTabPageXSLT> mpXSLTPage;
};


diff --git a/filter/source/xsltdialog/xmlfiltertabpagebasic.cxx b/filter/source/xsltdialog/xmlfiltertabpagebasic.cxx
index fb1d35a..3b509e4 100644
--- a/filter/source/xsltdialog/xmlfiltertabpagebasic.cxx
+++ b/filter/source/xsltdialog/xmlfiltertabpagebasic.cxx
@@ -44,7 +44,19 @@ XMLFilterTabPageBasic::XMLFilterTabPageBasic(vcl::Window* pParent)

XMLFilterTabPageBasic::~XMLFilterTabPageBasic()
{
    dispose();
}

void XMLFilterTabPageBasic::dispose()
{
    m_pEDFilterName.clear();
    m_pCBApplication.clear();
    m_pEDInterfaceName.clear();
    m_pEDExtension.clear();
    m_pEDDescription.clear();
    TabPage::dispose();
}

static OUString checkExtensions( const OUString& rExtensions )
{
    const sal_Unicode* pSource = rExtensions.getStr();
diff --git a/filter/source/xsltdialog/xmlfiltertabpagebasic.hxx b/filter/source/xsltdialog/xmlfiltertabpagebasic.hxx
index 13d38d1..ac3876c 100644
--- a/filter/source/xsltdialog/xmlfiltertabpagebasic.hxx
+++ b/filter/source/xsltdialog/xmlfiltertabpagebasic.hxx
@@ -34,6 +34,7 @@ class XMLFilterTabPageBasic : public TabPage
public:
    XMLFilterTabPageBasic(vcl::Window* pParent);
    virtual ~XMLFilterTabPageBasic();
    virtual void dispose() SAL_OVERRIDE;

    bool FillInfo( filter_info_impl* pInfo );
    void SetInfo(const filter_info_impl* pInfo);
@@ -41,11 +42,11 @@ public:
    static OUString decodeComment( const OUString& rComment );
    static OUString encodeComment( const OUString& rComment );

    Edit*              m_pEDFilterName;
    ComboBox*          m_pCBApplication;
    Edit*              m_pEDInterfaceName;
    Edit*              m_pEDExtension;
    VclMultiLineEdit*  m_pEDDescription;
    VclPtr<Edit>              m_pEDFilterName;
    VclPtr<ComboBox>          m_pCBApplication;
    VclPtr<Edit>              m_pEDInterfaceName;
    VclPtr<Edit>              m_pEDExtension;
    VclPtr<VclMultiLineEdit>  m_pEDDescription;
};

#endif
diff --git a/filter/source/xsltdialog/xmlfiltertabpagexslt.cxx b/filter/source/xsltdialog/xmlfiltertabpagexslt.cxx
index a9d1cae..e9d0de2 100644
--- a/filter/source/xsltdialog/xmlfiltertabpagexslt.cxx
+++ b/filter/source/xsltdialog/xmlfiltertabpagexslt.cxx
@@ -58,6 +58,20 @@ XMLFilterTabPageXSLT::XMLFilterTabPageXSLT( vcl::Window* pParent) :

XMLFilterTabPageXSLT::~XMLFilterTabPageXSLT()
{
    dispose();
}

void XMLFilterTabPageXSLT::dispose()
{
    m_pEDDocType.clear();
    m_pEDExportXSLT.clear();
    m_pPBExprotXSLT.clear();
    m_pEDImportXSLT.clear();
    m_pPBImportXSLT.clear();
    m_pEDImportTemplate.clear();
    m_pPBImportTemplate.clear();
    m_pCBNeedsXSLT2.clear();
    TabPage::dispose();
}

bool XMLFilterTabPageXSLT::FillInfo( filter_info_impl* pInfo )
diff --git a/filter/source/xsltdialog/xmlfiltertabpagexslt.hxx b/filter/source/xsltdialog/xmlfiltertabpagexslt.hxx
index 01f36d5..09c110f 100644
--- a/filter/source/xsltdialog/xmlfiltertabpagexslt.hxx
+++ b/filter/source/xsltdialog/xmlfiltertabpagexslt.hxx
@@ -35,6 +35,7 @@ class XMLFilterTabPageXSLT : public TabPage
public:
    XMLFilterTabPageXSLT( vcl::Window* pParent);
    virtual ~XMLFilterTabPageXSLT();
    virtual void dispose() SAL_OVERRIDE;

    bool FillInfo( filter_info_impl* pInfo );
    void SetInfo(const filter_info_impl* pInfo);
@@ -42,18 +43,18 @@ public:
    DECL_LINK( ClickBrowseHdl_Impl, PushButton * );


    Edit*            m_pEDDocType;
    VclPtr<Edit>            m_pEDDocType;

    SvtURLBox*       m_pEDExportXSLT;
    PushButton*      m_pPBExprotXSLT;
    VclPtr<SvtURLBox>       m_pEDExportXSLT;
    VclPtr<PushButton>      m_pPBExprotXSLT;

    SvtURLBox*       m_pEDImportXSLT;
    PushButton*      m_pPBImportXSLT;
    VclPtr<SvtURLBox>       m_pEDImportXSLT;
    VclPtr<PushButton>      m_pPBImportXSLT;

    SvtURLBox*       m_pEDImportTemplate;
    PushButton*      m_pPBImportTemplate;
    VclPtr<SvtURLBox>       m_pEDImportTemplate;
    VclPtr<PushButton>      m_pPBImportTemplate;

    CheckBox*        m_pCBNeedsXSLT2;
    VclPtr<CheckBox>        m_pCBNeedsXSLT2;

private:
    void SetURL( SvtURLBox *rURLBox, const OUString& rURL );
diff --git a/filter/source/xsltdialog/xmlfiltertestdialog.cxx b/filter/source/xsltdialog/xmlfiltertestdialog.cxx
index 5db2fac..364a048 100644
--- a/filter/source/xsltdialog/xmlfiltertestdialog.cxx
+++ b/filter/source/xsltdialog/xmlfiltertestdialog.cxx
@@ -79,7 +79,7 @@ public:
    // lang::XEventListener
    virtual void SAL_CALL disposing( const com::sun::star::lang::EventObject& Source ) throw (RuntimeException, std::exception) SAL_OVERRIDE;
private:
    XMLFilterTestDialog* mpDialog;
    VclPtr<XMLFilterTestDialog> mpDialog;
};

GlobalEventListenerImpl::GlobalEventListenerImpl( XMLFilterTestDialog* pDialog )
@@ -194,6 +194,20 @@ void XMLFilterTestDialog::dispose()
    }

    delete m_pFilterInfo;
    m_pExport.clear();
    m_pFTExportXSLTFile.clear();
    m_pPBExportBrowse.clear();
    m_pPBCurrentDocument.clear();
    m_pFTNameOfCurrentFile.clear();
    m_pImport.clear();
    m_pFTImportXSLTFile.clear();
    m_pFTImportTemplate.clear();
    m_pFTImportTemplateFile.clear();
    m_pCBXDisplaySource.clear();
    m_pPBImportBrowse.clear();
    m_pPBRecentFile.clear();
    m_pFTNameOfRecentFile.clear();
    m_pPBClose.clear();
    ModalDialog::dispose();
}

diff --git a/filter/source/xsltdialog/xmlfiltertestdialog.hxx b/filter/source/xsltdialog/xmlfiltertestdialog.hxx
index 776d7bc..3d69341 100644
--- a/filter/source/xsltdialog/xmlfiltertestdialog.hxx
+++ b/filter/source/xsltdialog/xmlfiltertestdialog.hxx
@@ -66,21 +66,21 @@ private:
    OUString m_sImportRecentFile;
    OUString m_sExportRecentFile;

    VclContainer* m_pExport;
    FixedText*  m_pFTExportXSLTFile;
    PushButton* m_pPBExportBrowse;
    PushButton* m_pPBCurrentDocument;
    FixedText*  m_pFTNameOfCurrentFile;
    VclPtr<VclContainer> m_pExport;
    VclPtr<FixedText>  m_pFTExportXSLTFile;
    VclPtr<PushButton> m_pPBExportBrowse;
    VclPtr<PushButton> m_pPBCurrentDocument;
    VclPtr<FixedText>  m_pFTNameOfCurrentFile;

    VclContainer* m_pImport;
    FixedText*  m_pFTImportXSLTFile;
    FixedText*  m_pFTImportTemplate;
    FixedText*  m_pFTImportTemplateFile;
    CheckBox*   m_pCBXDisplaySource;
    PushButton* m_pPBImportBrowse;
    PushButton* m_pPBRecentFile;
    FixedText*  m_pFTNameOfRecentFile;
    CloseButton* m_pPBClose;
    VclPtr<VclContainer> m_pImport;
    VclPtr<FixedText>  m_pFTImportXSLTFile;
    VclPtr<FixedText>  m_pFTImportTemplate;
    VclPtr<FixedText>  m_pFTImportTemplateFile;
    VclPtr<CheckBox>   m_pCBXDisplaySource;
    VclPtr<PushButton> m_pPBImportBrowse;
    VclPtr<PushButton> m_pPBRecentFile;
    VclPtr<FixedText>  m_pFTNameOfRecentFile;
    VclPtr<CloseButton> m_pPBClose;

    filter_info_impl* m_pFilterInfo;

diff --git a/forms/source/richtext/richtextimplcontrol.cxx b/forms/source/richtext/richtextimplcontrol.cxx
index 1d1efb2..ef2ccb5 100644
--- a/forms/source/richtext/richtextimplcontrol.cxx
+++ b/forms/source/richtext/richtextimplcontrol.cxx
@@ -91,10 +91,10 @@ namespace frm
        m_pEngine->RemoveView( m_pView );
        m_pEngine->revokeEngineStatusListener( this );
        delete m_pView;
        delete m_pViewport;
        delete m_pHScroll;
        delete m_pVScroll;
        delete m_pScrollCorner;
        m_pViewport.clear();
        m_pHScroll.clear();
        m_pVScroll.clear();
        m_pScrollCorner.clear();
    }


@@ -344,8 +344,7 @@ namespace frm
        // create or delete the scrollbars, as necessary
        if ( !bNeedVScroll )
        {
            delete m_pVScroll;
            m_pVScroll = NULL;
            m_pVScroll.clear();
        }
        else
        {
@@ -356,8 +355,7 @@ namespace frm

        if ( !bNeedHScroll )
        {
            delete m_pHScroll;
            m_pHScroll = NULL;
            m_pHScroll.clear();
        }
        else
        {
@@ -368,14 +366,13 @@ namespace frm

        if ( m_pHScroll && m_pVScroll )
        {
            delete m_pScrollCorner;
            m_pScrollCorner.clear();
            m_pScrollCorner = new ScrollBarBox( m_pAntiImpl );
            m_pScrollCorner->Show();
        }
        else
        {
            delete m_pScrollCorner;
            m_pScrollCorner = NULL;
            m_pScrollCorner.clear();
        }

        layoutWindow();
diff --git a/forms/source/richtext/richtextimplcontrol.hxx b/forms/source/richtext/richtextimplcontrol.hxx
index 5c6c448..acd8c48 100644
--- a/forms/source/richtext/richtextimplcontrol.hxx
+++ b/forms/source/richtext/richtextimplcontrol.hxx
@@ -52,11 +52,11 @@ namespace frm

        ESelection              m_aLastKnownSelection;

        Control*                m_pAntiImpl;
        RichTextViewPort*       m_pViewport;
        ScrollBar*              m_pHScroll;
        ScrollBar*              m_pVScroll;
        ScrollBarBox*           m_pScrollCorner;
        VclPtr<Control>                m_pAntiImpl;
        VclPtr<RichTextViewPort>       m_pViewport;
        VclPtr<ScrollBar>              m_pHScroll;
        VclPtr<ScrollBar>              m_pVScroll;
        VclPtr<ScrollBarBox>           m_pScrollCorner;
        RichTextEngine*         m_pEngine;
        EditView*               m_pView;
        ITextAttributeListener* m_pTextAttrListener;
@@ -166,8 +166,8 @@ namespace frm
        /// ensures that our "automatic line break" setting matches the current WinBits of the window
        void    ensureLineBreakSetting();

        inline  bool    hasVScrollBar( ) const { return m_pVScroll != NULL; }
        inline  bool    hasHScrollBar( ) const { return m_pHScroll != NULL; }
        inline  bool    hasVScrollBar( ) const { return m_pVScroll != nullptr; }
        inline  bool    hasHScrollBar( ) const { return m_pHScroll != nullptr; }

        // IEngineStatusListener overridables
        virtual void EditEngineStatusChanged( const EditStatus& _rStatus ) SAL_OVERRIDE;
diff --git a/forms/source/solar/control/navtoolbar.cxx b/forms/source/solar/control/navtoolbar.cxx
index b7da152..41405bb 100644
--- a/forms/source/solar/control/navtoolbar.cxx
+++ b/forms/source/solar/control/navtoolbar.cxx
@@ -152,14 +152,8 @@ namespace frm

    void NavigationToolBar::dispose()
    {
        for (   ::std::vector< vcl::Window* >::iterator loopChildWins = m_aChildWins.begin();
                loopChildWins != m_aChildWins.end();
                ++loopChildWins
            )
        {
            delete *loopChildWins;
        }
        delete m_pToolbar;
        m_aChildWins.clear();
        m_pToolbar.clear();
        vcl::Window::dispose();
    }

diff --git a/forms/source/solar/inc/navtoolbar.hxx b/forms/source/solar/inc/navtoolbar.hxx
index 91d8cb1..e5c2627 100644
--- a/forms/source/solar/inc/navtoolbar.hxx
+++ b/forms/source/solar/inc/navtoolbar.hxx
@@ -60,8 +60,8 @@ namespace frm
        const ::boost::shared_ptr< const ICommandDescriptionProvider >
                                        m_pDescriptionProvider;
        ImageSize                       m_eImageSize;
        ImplNavToolBar*                 m_pToolbar;
        ::std::vector< vcl::Window* >        m_aChildWins;
        VclPtr<ImplNavToolBar>          m_pToolbar;
        ::std::vector< VclPtr<vcl::Window> >        m_aChildWins;

    public:
        NavigationToolBar(
diff --git a/formula/source/ui/dlg/ControlHelper.hxx b/formula/source/ui/dlg/ControlHelper.hxx
index 574c853..aba7733 100644
--- a/formula/source/ui/dlg/ControlHelper.hxx
+++ b/formula/source/ui/dlg/ControlHelper.hxx
@@ -29,7 +29,7 @@ class EditBox : public Control
{
private:

    MultiLineEdit*  pMEdit;
    VclPtr<MultiLineEdit>  pMEdit;
    Link            aSelChangedLink;
    Selection       aOldSel;
    bool            bMouseFlag;
@@ -65,6 +65,8 @@ class ArgEdit : public RefEdit
{
public:
            ArgEdit( vcl::Window* pParent, WinBits nBits );
    virtual ~ArgEdit();
    virtual void dispose() SAL_OVERRIDE;

    void    Init( ArgEdit* pPrevEdit, ArgEdit* pNextEdit,
                  ScrollBar& rArgSlider, sal_uInt16 nArgCount );
@@ -73,9 +75,9 @@ protected:
    virtual void    KeyInput( const KeyEvent& rKEvt ) SAL_OVERRIDE;

private:
    ArgEdit*    pEdPrev;
    ArgEdit*    pEdNext;
    ScrollBar*  pSlider;
    VclPtr<ArgEdit>    pEdPrev;
    VclPtr<ArgEdit>    pEdNext;
    VclPtr<ScrollBar>  pSlider;
    sal_uInt16      nArgs;
};

@@ -94,10 +96,10 @@ private:
    Link            aEdFocusLink;
    Link            aEdModifyLink;

    FixedText*      pFtArg;
    PushButton*    pBtnFx;
    ArgEdit*        pEdArg;
    RefButton*  pRefBtn;
    VclPtr<FixedText>      pFtArg;
    VclPtr<PushButton>     pBtnFx;
    VclPtr<ArgEdit>        pEdArg;
    VclPtr<RefButton>      pRefBtn;

    DECL_LINK(  FxBtnClickHdl, ImageButton* );
    DECL_LINK(  RefBtnClickHdl,RefButton* );
diff --git a/formula/source/ui/dlg/formula.cxx b/formula/source/ui/dlg/formula.cxx
index 15ca7bd..73afd34 100644
--- a/formula/source/ui/dlg/formula.cxx
+++ b/formula/source/ui/dlg/formula.cxx
@@ -146,43 +146,43 @@ namespace formula
        mutable const sheet::FormulaOpCodeMapEntry*             m_pBinaryOpCodesEnd;
        ::std::map<FormulaToken*,sheet::FormulaToken>           m_aTokenMap;
        IFormulaEditorHelper*                                   m_pHelper;
        Dialog*  m_pParent;
        VclPtr<Dialog>          m_pParent;
        IControlReferenceHandler*  m_pDlg;
        TabControl      *m_pTabCtrl;
        VclVBox         *m_pParaWinBox;
        ParaWin*        pParaWin;
        FixedText       *m_pFtHeadLine;
        FixedText       *m_pFtFuncName;
        FixedText       *m_pFtFuncDesc;
        VclPtr<TabControl>      m_pTabCtrl;
        VclPtr<VclVBox>         m_pParaWinBox;
        VclPtr<ParaWin>         pParaWin;
        VclPtr<FixedText>       m_pFtHeadLine;
        VclPtr<FixedText>       m_pFtFuncName;
        VclPtr<FixedText>       m_pFtFuncDesc;

        FixedText       *m_pFtEditName;
        VclPtr<FixedText>       m_pFtEditName;

        FixedText       *m_pFtResult;
        Edit            *m_pWndResult;
        VclPtr<FixedText>       m_pFtResult;
        VclPtr<Edit>            m_pWndResult;

        FixedText       *m_pFtFormula;
        EditBox         *m_pMEFormula;
        VclPtr<FixedText>       m_pFtFormula;
        VclPtr<EditBox>         m_pMEFormula;

        CheckBox        *m_pBtnMatrix;
        CancelButton    *m_pBtnCancel;
        VclPtr<CheckBox>        m_pBtnMatrix;
        VclPtr<CancelButton>    m_pBtnCancel;

        PushButton      *m_pBtnBackward;
        PushButton      *m_pBtnForward;
        OKButton        *m_pBtnEnd;
        VclPtr<PushButton>      m_pBtnBackward;
        VclPtr<PushButton>      m_pBtnForward;
        VclPtr<OKButton>        m_pBtnEnd;

        RefEdit         *m_pEdRef;
        RefButton       *m_pRefBtn;
        VclPtr<RefEdit>         m_pEdRef;
        VclPtr<RefButton>       m_pRefBtn;

        FixedText       *m_pFtFormResult;
        Edit            *m_pWndFormResult;
        VclPtr<FixedText>       m_pFtFormResult;
        VclPtr<Edit>            m_pWndFormResult;

        RefEdit*        pTheRefEdit;
        RefButton*      pTheRefButton;
        FuncPage*       pFuncPage;
        StructPage*     pStructPage;
        VclPtr<RefEdit>        pTheRefEdit;
        VclPtr<RefButton>      pTheRefButton;
        VclPtr<FuncPage>       pFuncPage;
        VclPtr<StructPage>     pStructPage;
        OUString        aOldFormula;
        bool        bStructUpdate;
        MultiLineEdit*  pMEdit;
        VclPtr<MultiLineEdit>  pMEdit;
        bool        bUserMatrixFlag;
        Idle            aIdle;

@@ -364,9 +364,9 @@ FormulaDlg_Impl::~FormulaDlg_Impl()
    m_pTabCtrl->RemovePage(TP_FUNCTION);
    m_pTabCtrl->RemovePage(TP_STRUCT);

    delete pStructPage;
    delete pFuncPage;
    delete pParaWin;
    pStructPage.clear();
    pFuncPage.clear();
    pParaWin.clear();
    DeleteArgs();
}

@@ -1426,7 +1426,7 @@ void FormulaDlg_Impl::UpdateSelection()
    m_pRefBtn->Show( pButton != NULL );

    ::std::pair<RefButton*,RefEdit*> aPair;
    aPair.first = pButton ? m_pRefBtn : NULL;
    aPair.first = pButton ? m_pRefBtn.get() : NULL;
    aPair.second = m_pEdRef;
    return aPair;
}
@@ -1473,7 +1473,7 @@ void FormulaDlg_Impl::RefInputDoneAfter( bool bForced )
}
RefEdit* FormulaDlg_Impl::GetCurrRefEdit()
{
    return m_pEdRef->IsVisible() ? m_pEdRef : pParaWin->GetActiveEdit();
    return m_pEdRef->IsVisible() ? m_pEdRef.get() : pParaWin->GetActiveEdit();
}
void FormulaDlg_Impl::Update()
{
@@ -1612,7 +1612,7 @@ bool FormulaDlg_Impl::UpdateParaWin(Selection& _rSelection)

    OUString      aStrEd;
    Edit* pEd = GetCurrRefEdit();
    if(pEd!=NULL && pTheRefEdit==NULL)
    if(pEd!=NULL && pTheRefEdit==nullptr)
    {
        _rSelection=pEd->GetSelection();
        _rSelection.Justify();
@@ -1626,7 +1626,7 @@ bool FormulaDlg_Impl::UpdateParaWin(Selection& _rSelection)
        _rSelection.Justify();
        aStrEd= m_pEdRef->GetText();
    }
    return pTheRefEdit == NULL;
    return pTheRefEdit == nullptr;
}

void FormulaDlg_Impl::SetEdSelection()
diff --git a/formula/source/ui/dlg/funcpage.cxx b/formula/source/ui/dlg/funcpage.cxx
index a977b17..123d586 100644
--- a/formula/source/ui/dlg/funcpage.cxx
+++ b/formula/source/ui/dlg/funcpage.cxx
@@ -91,6 +91,18 @@ FuncPage::FuncPage(vcl::Window* pParent,const IFunctionManager* _pFunctionManage
    m_pLbFunction->SetDoubleClickHdl( LINK( this, FuncPage, DblClkHdl ) );
}

FuncPage::~FuncPage()
{
    dispose();
}

void FuncPage::dispose()
{
    m_pLbCategory.clear();
    m_pLbFunction.clear();
    TabPage::dispose();
}

void FuncPage::impl_addFunctions(const IFunctionCategory* _pCategory)
{
    const sal_uInt32 nCount = _pCategory->getCount();
diff --git a/formula/source/ui/dlg/funcpage.hxx b/formula/source/ui/dlg/funcpage.hxx
index 62d803d..87a2799 100644
--- a/formula/source/ui/dlg/funcpage.hxx
+++ b/formula/source/ui/dlg/funcpage.hxx
@@ -64,8 +64,8 @@ private:
    OModuleClient   m_aModuleClient;
    Link            aDoubleClickLink;
    Link            aSelectionLink;
    ListBox         *m_pLbCategory;
    FormulaListBox  *m_pLbFunction;
    VclPtr<ListBox> m_pLbCategory;
    VclPtr<FormulaListBox> m_pLbFunction;
    const IFunctionManager*
                    m_pFunctionManager;

@@ -86,6 +86,8 @@ protected:
public:

                    FuncPage( vcl::Window* pParent,const IFunctionManager* _pFunctionManager);
    virtual         ~FuncPage();
    virtual void    dispose() SAL_OVERRIDE;

    void            SetCategory(sal_Int32  nCat);
    void            SetFunction(sal_Int32  nFunc);
diff --git a/formula/source/ui/dlg/funcutl.cxx b/formula/source/ui/dlg/funcutl.cxx
index ff60bc9..7093e0f 100644
--- a/formula/source/ui/dlg/funcutl.cxx
+++ b/formula/source/ui/dlg/funcutl.cxx
@@ -42,6 +42,19 @@ ArgEdit::ArgEdit( vcl::Window* pParent, WinBits nBits )
{
}

ArgEdit::~ArgEdit()
{
    dispose();
}

void ArgEdit::dispose()
{
    pEdPrev.clear();
    pEdNext.clear();
    pSlider.clear();
    RefEdit::dispose();
}

extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeArgEdit(vcl::Window *pParent, VclBuilder::stringmap &)
{
    return new ArgEdit(pParent, WB_BORDER);
@@ -149,17 +162,17 @@ void ArgInput::InitArgInput( FixedText* pftArg, PushButton* pbtnFx,
    pEdArg =pedArg;
    pRefBtn=prefBtn;

    if(pBtnFx!=NULL)
    if(pBtnFx!=nullptr)
    {
        pBtnFx->SetClickHdl   ( LINK( this, ArgInput, FxBtnClickHdl ) );
        pBtnFx->SetGetFocusHdl( LINK( this, ArgInput, FxBtnFocusHdl ) );
    }
    if(pRefBtn!=NULL)
    if(pRefBtn!=nullptr)
    {
        pRefBtn->SetClickHdl   ( LINK( this, ArgInput, RefBtnClickHdl ) );
        pRefBtn->SetGetFocusHdl( LINK( this, ArgInput, RefBtnFocusHdl ) );
    }
    if(pEdArg!=NULL)
    if(pEdArg!=nullptr)
    {
        pEdArg->SetGetFocusHdl ( LINK( this, ArgInput, EdFocusHdl ) );
        pEdArg->SetModifyHdl   ( LINK( this, ArgInput, EdModifyHdl ) );
@@ -170,14 +183,14 @@ void ArgInput::InitArgInput( FixedText* pftArg, PushButton* pbtnFx,
// Sets the Name for the Argument
void ArgInput::SetArgName(const OUString &aArg)
{
    if(pFtArg !=NULL) pFtArg->SetText(aArg );
    if(pFtArg !=nullptr) pFtArg->SetText(aArg );
}

// Returns the Name for the Argument
OUString ArgInput::GetArgName()
{
    OUString aPrivArgName;
    if(pFtArg !=NULL)
    if(pFtArg !=nullptr)
        aPrivArgName=pFtArg->GetText();

    return aPrivArgName;
@@ -186,19 +199,19 @@ OUString ArgInput::GetArgName()
//Sets the Name for the Argument
void ArgInput::SetArgNameFont   (const vcl::Font &aFont)
{
    if(pFtArg !=NULL) pFtArg->SetFont(aFont);
    if(pFtArg !=nullptr) pFtArg->SetFont(aFont);
}

//Sets up the Selection for the EditBox.
void ArgInput::SetArgSelection  (const Selection& rSel )
{
    if(pEdArg !=NULL) pEdArg ->SetSelection(rSel );
    if(pEdArg !=nullptr) pEdArg ->SetSelection(rSel );
}

//Sets the Value for the Argument
void ArgInput::SetArgVal(const OUString &rVal)
{
    if(pEdArg !=NULL)
    if(pEdArg != nullptr)
    {
        pEdArg ->SetRefString(rVal);
    }
@@ -208,7 +221,7 @@ void ArgInput::SetArgVal(const OUString &rVal)
OUString ArgInput::GetArgVal()
{
    OUString aResult;
    if(pEdArg!=NULL)
    if(pEdArg!=nullptr)
    {
        aResult=pEdArg->GetText();
    }
@@ -366,10 +379,8 @@ EditBox::~EditBox()

void EditBox::dispose()
{
    MultiLineEdit* pTheEdit=pMEdit;
    pMEdit->Disable();
    pMEdit=NULL;
    delete pTheEdit;
    pMEdit.clear();
    Control::dispose();
}

@@ -383,14 +394,14 @@ void EditBox::SelectionChanged()
void EditBox::Resize()
{
    Size aSize=GetOutputSizePixel();
    if(pMEdit!=NULL) pMEdit->SetOutputSizePixel(aSize);
    if(pMEdit!=nullptr) pMEdit->SetOutputSizePixel(aSize);
}

// When the Control is activated, the Selection is repealed
// and the Cursor set at the end.
void EditBox::GetFocus()
{
    if(pMEdit!=NULL)
    if(pMEdit!=nullptr)
    {
        pMEdit->GrabFocus();
    }
@@ -402,7 +413,7 @@ bool EditBox::PreNotify( NotifyEvent& rNEvt )
{
    bool nResult = true;

    if(pMEdit==NULL) return nResult;
    if(pMEdit==nullptr) return nResult;

    MouseNotifyEvent nSwitch=rNEvt.GetType();
    if(nSwitch==MouseNotifyEvent::KEYINPUT)// || nSwitch==MouseNotifyEvent::KEYUP)
@@ -437,7 +448,7 @@ bool EditBox::PreNotify( NotifyEvent& rNEvt )
//first called.
IMPL_LINK_NOARG(EditBox, ChangedHdl)
{
    if(pMEdit!=NULL)
    if(pMEdit!=nullptr)
    {
        Selection aNewSel=pMEdit->GetSelection();

@@ -494,6 +505,7 @@ void RefEdit::dispose()
{
    aIdle.SetIdleHdl( Link() );
    aIdle.Stop();
    pLabelWidget.clear();
    Edit::dispose();
}

@@ -593,6 +605,17 @@ RefButton::RefButton( vcl::Window* _pParent, WinBits nStyle ) :
    SetStartImage();
}

RefButton::~RefButton()
{
    dispose();
}

void RefButton::dispose()
{
    pRefEdit.clear();
    ImageButton::dispose();
}

extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeRefButton(vcl::Window *pParent, VclBuilder::stringmap &)
{
    return new RefButton(pParent, 0);
diff --git a/formula/source/ui/dlg/parawin.cxx b/formula/source/ui/dlg/parawin.cxx
index cff293a..45f540b 100644
--- a/formula/source/ui/dlg/parawin.cxx
+++ b/formula/source/ui/dlg/parawin.cxx
@@ -233,6 +233,26 @@ void ParaWin::dispose()
    m_pBtnFx2->SetGetFocusHdl( aEmptyLink );
    m_pBtnFx3->SetGetFocusHdl( aEmptyLink );
    m_pBtnFx4->SetGetFocusHdl( aEmptyLink );
    m_pFtEditDesc.clear();
    m_pFtArgName.clear();
    m_pFtArgDesc.clear();
    m_pBtnFx1.clear();
    m_pFtArg1.clear();
    m_pEdArg1.clear();
    m_pRefBtn1.clear();
    m_pBtnFx2.clear();
    m_pFtArg2.clear();
    m_pEdArg2.clear();
    m_pRefBtn2.clear();
    m_pBtnFx3.clear();
    m_pFtArg3.clear();
    m_pEdArg3.clear();
    m_pRefBtn3.clear();
    m_pBtnFx4.clear();
    m_pFtArg4.clear();
    m_pEdArg4.clear();
    m_pRefBtn4.clear();
    m_pSlider.clear();
    TabPage::dispose();
}

diff --git a/formula/source/ui/dlg/parawin.hxx b/formula/source/ui/dlg/parawin.hxx
index c885d16..6a83c4d 100644
--- a/formula/source/ui/dlg/parawin.hxx
+++ b/formula/source/ui/dlg/parawin.hxx
@@ -56,31 +56,31 @@ private:
        vcl::Font        aFntBold;
        vcl::Font        aFntLight;

        FixedText       *m_pFtEditDesc;
        FixedText       *m_pFtArgName;
        FixedText       *m_pFtArgDesc;
        VclPtr<FixedText>       m_pFtEditDesc;
        VclPtr<FixedText>       m_pFtArgName;
        VclPtr<FixedText>       m_pFtArgDesc;

        PushButton      *m_pBtnFx1;
        FixedText       *m_pFtArg1;
        ArgEdit         *m_pEdArg1;
        RefButton       *m_pRefBtn1;
        VclPtr<PushButton>      m_pBtnFx1;
        VclPtr<FixedText>       m_pFtArg1;
        VclPtr<ArgEdit>         m_pEdArg1;
        VclPtr<RefButton>       m_pRefBtn1;

        PushButton      *m_pBtnFx2;
        FixedText       *m_pFtArg2;
        ArgEdit         *m_pEdArg2;
        RefButton       *m_pRefBtn2;
        VclPtr<PushButton>      m_pBtnFx2;
        VclPtr<FixedText>       m_pFtArg2;
        VclPtr<ArgEdit>         m_pEdArg2;
        VclPtr<RefButton>       m_pRefBtn2;

        PushButton      *m_pBtnFx3;
        FixedText       *m_pFtArg3;
        ArgEdit         *m_pEdArg3;
        RefButton       *m_pRefBtn3;
        VclPtr<PushButton>      m_pBtnFx3;
        VclPtr<FixedText>       m_pFtArg3;
        VclPtr<ArgEdit>         m_pEdArg3;
        VclPtr<RefButton>       m_pRefBtn3;

        PushButton      *m_pBtnFx4;
        FixedText       *m_pFtArg4;
        ArgEdit         *m_pEdArg4;
        RefButton       *m_pRefBtn4;
        VclPtr<PushButton>      m_pBtnFx4;
        VclPtr<FixedText>       m_pFtArg4;
        VclPtr<ArgEdit>         m_pEdArg4;
        VclPtr<RefButton>       m_pRefBtn4;

        ScrollBar       *m_pSlider;
        VclPtr<ScrollBar>       m_pSlider;
        OUString        m_sOptional;
        OUString        m_sRequired;
        bool        bRefMode;
diff --git a/formula/source/ui/dlg/structpg.cxx b/formula/source/ui/dlg/structpg.cxx
index 4bcdc15..55d851f 100644
--- a/formula/source/ui/dlg/structpg.cxx
+++ b/formula/source/ui/dlg/structpg.cxx
@@ -103,6 +103,17 @@ StructPage::StructPage(vcl::Window* pParent):
    m_pTlbStruct->SetSelectHdl(LINK( this, StructPage, SelectHdl ) );
}

StructPage::~StructPage()
{
    dispose();
}

void StructPage::dispose()
{
    m_pTlbStruct.clear();
    TabPage::dispose();
}

void StructPage::ClearStruct()
{
    m_pTlbStruct->SetActiveFlag(false);
diff --git a/formula/source/ui/dlg/structpg.hxx b/formula/source/ui/dlg/structpg.hxx
index bdd4fcd..d0a3b35 100644
--- a/formula/source/ui/dlg/structpg.hxx
+++ b/formula/source/ui/dlg/structpg.hxx
@@ -73,7 +73,7 @@ private:
    OModuleClient   m_aModuleClient;
    Link            aSelLink;

    StructListBox   *m_pTlbStruct;
    VclPtr<StructListBox>   m_pTlbStruct;
    Image           maImgEnd;
    Image           maImgError;

@@ -90,6 +90,8 @@ protected:
public:

                    StructPage( vcl::Window* pParent);
    virtual         ~StructPage();
    virtual void    dispose() SAL_OVERRIDE;

    void            ClearStruct();
    virtual SvTreeListEntry*    InsertEntry(const OUString& rText, SvTreeListEntry* pParent,
diff --git a/fpicker/source/office/OfficeControlAccess.hxx b/fpicker/source/office/OfficeControlAccess.hxx
index 3214ebe..e1ff805 100644
--- a/fpicker/source/office/OfficeControlAccess.hxx
+++ b/fpicker/source/office/OfficeControlAccess.hxx
@@ -46,7 +46,7 @@ namespace svt
    class OControlAccess
    {
        IFilePickerController*  m_pFilePickerController;
        SvtFileView*            m_pFileView;
        VclPtr<SvtFileView>     m_pFileView;

    public:
        OControlAccess( IFilePickerController* _pController, SvtFileView* _pFileView );
diff --git a/fpicker/source/office/PlacesListBox.cxx b/fpicker/source/office/PlacesListBox.cxx
index 23dfa0f..eef7e27 100644
--- a/fpicker/source/office/PlacesListBox.cxx
+++ b/fpicker/source/office/PlacesListBox.cxx
@@ -48,8 +48,8 @@ PlacesListBox_Impl::~PlacesListBox_Impl( )

void PlacesListBox_Impl::dispose()
{
    delete mpHeaderBar;
    mpParent = NULL;
    mpHeaderBar.clear();
    mpParent.clear();
    SvHeaderTabListBox::dispose();
}

@@ -93,12 +93,10 @@ PlacesListBox::~PlacesListBox( )

void PlacesListBox::dispose()
{
    delete mpImpl;
    mpImpl = NULL;
    delete mpAddBtn;
    mpAddBtn = NULL;
    delete mpDelBtn;
    mpDelBtn = NULL;
    mpImpl.clear();
    mpAddBtn.clear();
    mpDelBtn.clear();
    mpDlg.clear();
    Control::dispose();
}

diff --git a/fpicker/source/office/PlacesListBox.hxx b/fpicker/source/office/PlacesListBox.hxx
index 9b24436..0cf700d 100644
--- a/fpicker/source/office/PlacesListBox.hxx
+++ b/fpicker/source/office/PlacesListBox.hxx
@@ -23,8 +23,8 @@ class PlacesListBox;
class PlacesListBox_Impl : public SvHeaderTabListBox
{
    private:
        HeaderBar*           mpHeaderBar;
        PlacesListBox*       mpParent;
        VclPtr<HeaderBar>           mpHeaderBar;
        VclPtr<PlacesListBox>       mpParent;

    public:
        PlacesListBox_Impl( PlacesListBox* pParent, const OUString& rTitle );
@@ -40,10 +40,10 @@ class PlacesListBox : public Control
{
    private:
        std::vector< PlacePtr > maPlaces;
        SvtFileDialog*       mpDlg;
        PlacesListBox_Impl*  mpImpl;
        PushButton*          mpAddBtn;
        PushButton*          mpDelBtn;
        VclPtr<SvtFileDialog>       mpDlg;
        VclPtr<PlacesListBox_Impl>  mpImpl;
        VclPtr<PushButton>          mpAddBtn;
        VclPtr<PushButton>          mpDelBtn;
        sal_Int32            mnNbEditables;
        bool                 mbUpdated;
        bool                 mbSelectionChanged;
diff --git a/fpicker/source/office/QueryFolderName.hxx b/fpicker/source/office/QueryFolderName.hxx
index 49733bb..cf864af 100644
--- a/fpicker/source/office/QueryFolderName.hxx
+++ b/fpicker/source/office/QueryFolderName.hxx
@@ -28,9 +28,9 @@
class QueryFolderNameDialog : public ModalDialog
{
private:
    Edit*     m_pNameEdit;
    VclFrame* m_pNameLine;
    OKButton* m_pOKBtn;
    VclPtr<Edit>     m_pNameEdit;
    VclPtr<VclFrame> m_pNameLine;
    VclPtr<OKButton> m_pOKBtn;

    DECL_LINK( OKHdl, void * );
    DECL_LINK( NameHdl, void * );
@@ -38,6 +38,8 @@ private:
public:
    QueryFolderNameDialog(vcl::Window* _pParent, const OUString& rTitle,
        const OUString& rDefaultText, OUString* pGroupName = NULL);
    virtual ~QueryFolderNameDialog();
    virtual void dispose() SAL_OVERRIDE;
    OUString GetName() const { return m_pNameEdit->GetText(); }
};

diff --git a/fpicker/source/office/asyncfilepicker.hxx b/fpicker/source/office/asyncfilepicker.hxx
index a2dfa11..2174eb5 100644
--- a/fpicker/source/office/asyncfilepicker.hxx
+++ b/fpicker/source/office/asyncfilepicker.hxx
@@ -25,6 +25,7 @@
#include <rtl/ustring.hxx>
#include <com/sun/star/uno/Sequence.h>
#include <salhelper/simplereferenceobject.hxx>
#include <vcl/vclptr.hxx>

class SvtFileView;
class SvtFileDialog;
@@ -52,8 +53,8 @@ namespace svt

    private:
        Action                      m_eAction;
        SvtFileView*                m_pView;
        SvtFileDialog*              m_pDialog;
        VclPtr<SvtFileView>         m_pView;
        VclPtr<SvtFileDialog>       m_pDialog;
        OUString                    m_sURL;
        OUString                    m_sFileName;
        bool                        m_bRunning;
diff --git a/fpicker/source/office/commonpicker.cxx b/fpicker/source/office/commonpicker.cxx
index 84488d8..8243d51 100644
--- a/fpicker/source/office/commonpicker.cxx
+++ b/fpicker/source/office/commonpicker.cxx
@@ -123,8 +123,7 @@ namespace svt
                m_pDlg->EndDialog( RET_CANCEL );
        }

        delete m_pDlg;
        m_pDlg = NULL;
        m_pDlg.clear();
        m_xWindow = NULL;
        m_xDialogParent = NULL;
    }
@@ -149,10 +148,7 @@ namespace svt
        {
            stopWindowListening();

            if ( !bDialogDying )    // it's the parent which is dying -> delete the dialog
                delete m_pDlg;

            m_pDlg = NULL;
            m_pDlg.clear();
            m_xWindow = NULL;
            m_xDialogParent = NULL;
        }
@@ -240,7 +236,7 @@ namespace svt
            }
        }

        return NULL != m_pDlg;
        return nullptr != m_pDlg;
    }


diff --git a/fpicker/source/office/commonpicker.hxx b/fpicker/source/office/commonpicker.hxx
index a0cb978..52141c5 100644
--- a/fpicker/source/office/commonpicker.hxx
+++ b/fpicker/source/office/commonpicker.hxx
@@ -33,6 +33,7 @@
#include <comphelper/proparrhlp.hxx>
#include <comphelper/uno3.hxx>
#include <tools/link.hxx>
#include <vcl/vclptr.hxx>

class SvtFileDialog;
namespace vcl { class Window; }
@@ -64,7 +65,7 @@ namespace svt
        ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >  m_xWindow;
        // </properties>

        SvtFileDialog*      m_pDlg;
        VclPtr<SvtFileDialog>      m_pDlg;
        ImplSVEvent *       m_nCancelEvent;
        bool            m_bExecuting;

diff --git a/fpicker/source/office/iodlg.cxx b/fpicker/source/office/iodlg.cxx
index 2991262..5d93cb1 100644
--- a/fpicker/source/office/iodlg.cxx
+++ b/fpicker/source/office/iodlg.cxx
@@ -348,8 +348,8 @@ SvtFileDialog::SvtFileDialog ( vcl::Window* _pParent, WinBits nBits )
class CustomContainer : public vcl::Window
{
    SvtExpFileDlg_Impl* _pImp;
    SvtFileView* _pFileView;
    Splitter* _pSplitter;
    VclPtr<SvtFileView> _pFileView;
    VclPtr<Splitter>    _pSplitter;

public:
    CustomContainer(vcl::Window *pParent)
@@ -359,6 +359,13 @@ public:
        , _pSplitter(NULL)
    {
    }
    virtual ~CustomContainer() { dispose(); }
    virtual void dispose() SAL_OVERRIDE
    {
        _pFileView.clear();
        _pSplitter.clear();
        vcl::Window::dispose();
    }

    void init(SvtExpFileDlg_Impl* pImp,
              SvtFileView* pFileView,
@@ -442,10 +449,16 @@ void SvtFileDialog::dispose()
    }

    delete _pImp;
    delete _pFileView;
    delete _pSplitter;
    delete _pContainer;
    delete _pPrevBmp;
    _pFileView.clear();
    _pSplitter.clear();
    _pContainer.clear();
    _pPrevBmp.clear();
    _pCbReadOnly.clear();
    _pCbLinkBox.clear();
    _pCbPreviewBox.clear();
    _pCbSelection.clear();
    _pPbPlay.clear();
    _pPrevWin.clear();
    ModalDialog::dispose();
}

@@ -1631,7 +1644,7 @@ bool SvtFileDialog::Notify( NotifyEvent& rNEvt )
class SvtDefModalDialogParent_Impl
{
private:
    vcl::Window* _pOld;
    VclPtr<vcl::Window> _pOld;

public:
    SvtDefModalDialogParent_Impl( vcl::Window *pNew ) :
@@ -1818,7 +1831,7 @@ void SvtFileDialog::EnableUI( bool _bEnable )

    if ( _bEnable )
    {
        for ( ::std::set< Control* >::iterator aLoop = m_aDisabledControls.begin();
        for ( auto aLoop = m_aDisabledControls.begin();
              aLoop != m_aDisabledControls.end();
              ++aLoop
            )
@@ -1841,7 +1854,7 @@ void SvtFileDialog::EnableControl( Control* _pControl, bool _bEnable )

    if ( _bEnable )
    {
        ::std::set< Control* >::iterator aPos = m_aDisabledControls.find( _pControl );
        auto aPos = m_aDisabledControls.find( _pControl );
        if ( m_aDisabledControls.end() != aPos )
            m_aDisabledControls.erase( aPos );
    }
@@ -2835,6 +2848,18 @@ QueryFolderNameDialog::QueryFolderNameDialog(vcl::Window* _pParent,
        m_pNameLine->set_label( *pGroupName );
};

QueryFolderNameDialog::~QueryFolderNameDialog()
{
    dispose();
}

void QueryFolderNameDialog::dispose()
{
    m_pNameEdit.clear();
    m_pNameLine.clear();
    m_pOKBtn.clear();
    ModalDialog::dispose();
}

IMPL_LINK_NOARG(QueryFolderNameDialog, OKHdl)
{
diff --git a/fpicker/source/office/iodlg.hxx b/fpicker/source/office/iodlg.hxx
index 4a93957..d25ce83 100644
--- a/fpicker/source/office/iodlg.hxx
+++ b/fpicker/source/office/iodlg.hxx
@@ -82,16 +82,16 @@ class CustomContainer;
class SvtFileDialog : public ModalDialog, public ::svt::IFilePickerController
{
private:
    CheckBox*                   _pCbReadOnly;
    CheckBox*                   _pCbLinkBox;
    CheckBox*                   _pCbPreviewBox;
    CheckBox*                   _pCbSelection;
    PushButton*                 _pPbPlay;
    vcl::Window*                     _pPrevWin;
    FixedBitmap*                _pPrevBmp;
    CustomContainer*            _pContainer;
    SvtFileView*                _pFileView;
    Splitter*                   _pSplitter;
    VclPtr<CheckBox>                   _pCbReadOnly;
    VclPtr<CheckBox>                   _pCbLinkBox;
    VclPtr<CheckBox>                   _pCbPreviewBox;
    VclPtr<CheckBox>                   _pCbSelection;
    VclPtr<PushButton>                 _pPbPlay;
    VclPtr<vcl::Window>                _pPrevWin;
    VclPtr<FixedBitmap>                _pPrevBmp;
    VclPtr<CustomContainer>            _pContainer;
    VclPtr<SvtFileView>                _pFileView;
    VclPtr<Splitter>                   _pSplitter;
    ::svt::IFilePickerListener* _pFileNotifier;
    SvtExpFileDlg_Impl*         _pImp;
    WinBits                     _nExtraBits;
@@ -100,7 +100,7 @@ private:
    ImageList                   m_aImages;
    ::svt::SmartContent         m_aContent;

    ::std::set< Control* >      m_aDisabledControls;
    ::std::set< VclPtr<Control> >      m_aDisabledControls;

    ::utl::OConfigurationNode   m_aConfiguration;
    ::rtl::Reference< ::svt::AsyncPickerAction >
diff --git a/fpicker/source/office/iodlgimp.cxx b/fpicker/source/office/iodlgimp.cxx
index f648d78..c06d1bf 100644
--- a/fpicker/source/office/iodlgimp.cxx
+++ b/fpicker/source/office/iodlgimp.cxx
@@ -112,6 +112,7 @@ SvtFileDialogURLSelector::~SvtFileDialogURLSelector()
void SvtFileDialogURLSelector::dispose()
{
    delete m_pMenu;
    m_pDlg.clear();
    MenuButton::dispose();
}

@@ -250,10 +251,10 @@ SvtExpFileDlg_Impl::SvtExpFileDlg_Impl( WinBits )   :

SvtExpFileDlg_Impl::~SvtExpFileDlg_Impl()
{
    delete _pBtnUp;
    _pBtnUp.clear();
    delete _pUserFilter;
    delete _pFilter;
    delete _pPlaces;
    _pPlaces.clear();
}


diff --git a/fpicker/source/office/iodlgimp.hxx b/fpicker/source/office/iodlgimp.hxx
index d62479a..04b9864 100644
--- a/fpicker/source/office/iodlgimp.hxx
+++ b/fpicker/source/office/iodlgimp.hxx
@@ -78,21 +78,19 @@ enum SvtFileDlgType

class SvtFileDialogURLSelector : public MenuButton
{
public:
    virtual ~SvtFileDialogURLSelector();
    virtual void dispose() SAL_OVERRIDE;
private:
    SvtFileDialog*      m_pDlg;
    VclPtr<SvtFileDialog>      m_pDlg;
    PopupMenu*          m_pMenu;

protected:
    inline        SvtFileDialog*  GetDialogParent()       { return m_pDlg; }

protected:

    virtual void    FillURLMenu( PopupMenu* _pMenu ) = 0;

protected:
    SvtFileDialogURLSelector( vcl::Window* _pParent, SvtFileDialog* _pDlg, WinBits nBits, sal_uInt16 _nButtonId );
    virtual ~SvtFileDialogURLSelector();
    virtual void dispose() SAL_OVERRIDE;

    virtual void        Activate() SAL_OVERRIDE;
};
@@ -134,32 +132,32 @@ public:
    SvtFileDialogFilterList_Impl*   _pFilter;
    SvtFileDialogFilter_Impl*       _pUserFilter;

    FixedText*                      _pFtFileName;
    SvtURLBox*                      _pEdFileName;
    VclPtr<FixedText>                      _pFtFileName;
    VclPtr<SvtURLBox>                      _pEdFileName;

    FixedText*                      _pFtFileVersion;
    ListBox*                        _pLbFileVersion;
    VclPtr<FixedText>                      _pFtFileVersion;
    VclPtr<ListBox>                        _pLbFileVersion;

    FixedText*                      _pFtTemplates;
    ListBox*                        _pLbTemplates;
    VclPtr<FixedText>                      _pFtTemplates;
    VclPtr<ListBox>                        _pLbTemplates;

    FixedText*                      _pFtImageTemplates;
    ListBox*                        _pLbImageTemplates;
    VclPtr<FixedText>                      _pFtImageTemplates;
    VclPtr<ListBox>                        _pLbImageTemplates;

    FixedText*                      _pFtFileType;
    ListBox*                        _pLbFilter;
    PushButton*                     _pBtnFileOpen;
    PushButton*                     _pBtnCancel;
    HelpButton*                     _pBtnHelp;
    SvtUpButton_Impl*               _pBtnUp;
    PushButton*                     _pBtnNewFolder;
    CheckBox*                       _pCbPassword;
    SvtURLBox*                      _pEdCurrentPath;
    CheckBox*                       _pCbAutoExtension;
    CheckBox*                       _pCbOptions;
    VclPtr<FixedText>                      _pFtFileType;
    VclPtr<ListBox>                        _pLbFilter;
    VclPtr<PushButton>                     _pBtnFileOpen;
    VclPtr<PushButton>                     _pBtnCancel;
    VclPtr<HelpButton>                     _pBtnHelp;
    VclPtr<SvtUpButton_Impl>               _pBtnUp;
    VclPtr<PushButton>                     _pBtnNewFolder;
    VclPtr<CheckBox>                       _pCbPassword;
    VclPtr<SvtURLBox>                      _pEdCurrentPath;
    VclPtr<CheckBox>                       _pCbAutoExtension;
    VclPtr<CheckBox>                       _pCbOptions;

    PlacesListBox*                  _pPlaces;
    PushButton*                     _pBtnConnectToServer;
    VclPtr<PlacesListBox>                  _pPlaces;
    VclPtr<PushButton>                     _pBtnConnectToServer;

    SvtFileDlgMode                  _eMode;
    SvtFileDlgType                  _eDlgType;
diff --git a/framework/inc/classes/fwktabwindow.hxx b/framework/inc/classes/fwktabwindow.hxx
index f5e7375..35d1779 100644
--- a/framework/inc/classes/fwktabwindow.hxx
+++ b/framework/inc/classes/fwktabwindow.hxx
@@ -78,8 +78,8 @@ public:
struct TabEntry
{
    sal_Int32           m_nIndex;
    FwkTabPage*         m_pPage;
    OUString     m_sPageURL;
    VclPtr<FwkTabPage>  m_pPage;
    OUString            m_sPageURL;
    css::uno::Reference< css::awt::XContainerWindowEventHandler > m_xEventHdl;

    TabEntry() :
@@ -87,8 +87,6 @@ struct TabEntry

    TabEntry( sal_Int32 nIndex, const OUString& sURL, const css::uno::Reference< css::awt::XContainerWindowEventHandler > & rEventHdl ) :
        m_nIndex( nIndex ), m_pPage( NULL ), m_sPageURL( sURL ), m_xEventHdl( rEventHdl ) {}

    ~TabEntry() { delete m_pPage; }
};

typedef std::vector< TabEntry* > TabEntryList;
diff --git a/framework/inc/dispatch/closedispatcher.hxx b/framework/inc/dispatch/closedispatcher.hxx
index 25c19f1..e8e9d05 100644
--- a/framework/inc/dispatch/closedispatcher.hxx
+++ b/framework/inc/dispatch/closedispatcher.hxx
@@ -39,6 +39,7 @@
#include <boost/scoped_ptr.hpp>
#include <cppuhelper/implbase2.hxx>
#include <vcl/evntpost.hxx>
#include <vcl/vclptr.hxx>

class SystemWindow;

@@ -105,7 +106,7 @@ class CloseDispatcher : public  ::cppu::WeakImplHelper2<
        /** @short  holded alive for internally asynchronous operations! */
        css::uno::Reference< css::frame::XDispatchResultListener > m_xResultListener;

        SystemWindow* m_pSysWindow;
        VclPtr<SystemWindow> m_pSysWindow;

    // native interface

diff --git a/framework/inc/helper/vclstatusindicator.hxx b/framework/inc/helper/vclstatusindicator.hxx
index 4a68b79..c5e1155 100644
--- a/framework/inc/helper/vclstatusindicator.hxx
+++ b/framework/inc/helper/vclstatusindicator.hxx
@@ -52,7 +52,7 @@ class VCLStatusIndicator : public  ::cppu::WeakImplHelper1< css::task::XStatusIn
                        Its guarded by the solarmutex only. Otherwise
                        we have to lock two of them, which can force a deadlock ...
            */
        StatusBar* m_pStatusBar;
        VclPtr<StatusBar> m_pStatusBar;

        /** knows the current info text of the progress. */
        OUString m_sText;
diff --git a/framework/inc/uielement/buttontoolbarcontroller.hxx b/framework/inc/uielement/buttontoolbarcontroller.hxx
index 561ef25..8949b58 100644
--- a/framework/inc/uielement/buttontoolbarcontroller.hxx
+++ b/framework/inc/uielement/buttontoolbarcontroller.hxx
@@ -34,6 +34,7 @@

#include <comphelper/broadcasthelper.hxx>
#include <cppuhelper/weak.hxx>
#include <vcl/vclptr.hxx>

class ToolBox;

@@ -84,13 +85,13 @@ class ButtonToolbarController : public ::com::sun::star::frame::XStatusListener,
        virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > SAL_CALL createItemWindow( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >& Parent ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;

    private:
        bool                                                                         m_bInitialized : 1,
        bool                                                                             m_bInitialized : 1,
                                                                                         m_bDisposed : 1;
        OUString                                                                    m_aCommandURL;
        OUString                                                                         m_aCommandURL;
        ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >              m_xFrame;
        ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >     m_xContext;
        ::com::sun::star::uno::Reference< ::com::sun::star::util::XURLTransformer >      m_xURLTransformer;
        ToolBox*                                                                         m_pToolbar;
        VclPtr<ToolBox>                                                                  m_pToolbar;
};

}
diff --git a/framework/inc/uielement/comboboxtoolbarcontroller.hxx b/framework/inc/uielement/comboboxtoolbarcontroller.hxx
index d045374..1850c45e 100644
--- a/framework/inc/uielement/comboboxtoolbarcontroller.hxx
+++ b/framework/inc/uielement/comboboxtoolbarcontroller.hxx
@@ -78,7 +78,7 @@ class ComboboxToolbarController : public IComboBoxListener,
        virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue> getExecuteArgs(sal_Int16 KeyModifier) const SAL_OVERRIDE;

    private:
        ComboBoxControl*    m_pComboBox;
        VclPtr<ComboBoxControl>    m_pComboBox;
};

}
diff --git a/framework/inc/uielement/complextoolbarcontroller.hxx b/framework/inc/uielement/complextoolbarcontroller.hxx
index 88084f8..b24186f 100644
--- a/framework/inc/uielement/complextoolbarcontroller.hxx
+++ b/framework/inc/uielement/complextoolbarcontroller.hxx
@@ -28,6 +28,7 @@

#include <svtools/toolboxcontroller.hxx>
#include <tools/link.hxx>
#include <vcl/vclptr.hxx>

class ToolBox;
namespace vcl { class Window; }
@@ -87,9 +88,9 @@ class ComplexToolbarController : public svt::ToolboxController
        void notifyFocusLost();
        void notifyTextChanged( const OUString& aText );

        ToolBox*                                                                    m_pToolbar;
        VclPtr<ToolBox>                                                             m_pToolbar;
        sal_uInt16                                                                  m_nID;
        bool                                                                    m_bMadeInvisible;
        bool                                                                        m_bMadeInvisible;
        mutable ::com::sun::star::util::URL                                         m_aURL;
        ::com::sun::star::uno::Reference< ::com::sun::star::util::XURLTransformer > m_xURLTransformer;
};
diff --git a/framework/inc/uielement/dropdownboxtoolbarcontroller.hxx b/framework/inc/uielement/dropdownboxtoolbarcontroller.hxx
index e9e09f2..9b37036 100644
--- a/framework/inc/uielement/dropdownboxtoolbarcontroller.hxx
+++ b/framework/inc/uielement/dropdownboxtoolbarcontroller.hxx
@@ -26,6 +26,7 @@

#include <uielement/complextoolbarcontroller.hxx>
#include <vcl/lstbox.hxx>
#include <vcl/vclptr.hxx>

class ToolBox;

@@ -74,7 +75,7 @@ class DropdownToolbarController : public IListBoxListener,
        virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue> getExecuteArgs(sal_Int16 KeyModifier) const SAL_OVERRIDE;

    private:
        ListBoxControl*    m_pListBoxControl;
        VclPtr<ListBoxControl>    m_pListBoxControl;
};

}
diff --git a/framework/inc/uielement/edittoolbarcontroller.hxx b/framework/inc/uielement/edittoolbarcontroller.hxx
index 8ebdca9..0b8f9b6 100644
--- a/framework/inc/uielement/edittoolbarcontroller.hxx
+++ b/framework/inc/uielement/edittoolbarcontroller.hxx
@@ -75,7 +75,7 @@ class EditToolbarController : public IEditListener,
        virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue> getExecuteArgs(sal_Int16 KeyModifier) const SAL_OVERRIDE;

    private:
        EditControl*    m_pEditControl;
        VclPtr<EditControl>    m_pEditControl;
};

}
diff --git a/framework/inc/uielement/generictoolbarcontroller.hxx b/framework/inc/uielement/generictoolbarcontroller.hxx
index c6d867b..26ebeb6 100644
--- a/framework/inc/uielement/generictoolbarcontroller.hxx
+++ b/framework/inc/uielement/generictoolbarcontroller.hxx
@@ -23,6 +23,7 @@
#include <svtools/toolboxcontroller.hxx>

#include <tools/link.hxx>
#include <vcl/vclptr.hxx>

class PopupMenu;
class ToolBox;
@@ -53,11 +54,11 @@ class GenericToolbarController : public svt::ToolboxController
        DECL_STATIC_LINK( GenericToolbarController, ExecuteHdl_Impl, ExecuteInfo* );

    protected:
        ToolBox*        m_pToolbar;
        sal_uInt16      m_nID;
        bool        m_bEnumCommand : 1,
                        m_bMadeInvisible : 1;
        OUString   m_aEnumCommand;
        VclPtr<ToolBox>     m_pToolbar;
        sal_uInt16          m_nID;
        bool                m_bEnumCommand : 1,
                            m_bMadeInvisible : 1;
        OUString            m_aEnumCommand;
};

class MenuToolbarController : public GenericToolbarController
diff --git a/framework/inc/uielement/spinfieldtoolbarcontroller.hxx b/framework/inc/uielement/spinfieldtoolbarcontroller.hxx
index ebef218..7d9a8e8 100644
--- a/framework/inc/uielement/spinfieldtoolbarcontroller.hxx
+++ b/framework/inc/uielement/spinfieldtoolbarcontroller.hxx
@@ -26,6 +26,7 @@

#include <uielement/complextoolbarcontroller.hxx>
#include <vcl/spinfld.hxx>
#include <vcl/vclptr.hxx>

class ToolBox;

@@ -97,7 +98,7 @@ class SpinfieldToolbarController : public ISpinfieldListener,
        double            m_nMin;
        double            m_nValue;
        double            m_nStep;
        SpinfieldControl* m_pSpinfieldControl;
        VclPtr<SpinfieldControl> m_pSpinfieldControl;
        OUString     m_aOutFormat;
};

diff --git a/framework/inc/uielement/statusbaritem.hxx b/framework/inc/uielement/statusbaritem.hxx
index e5afc02c..e05cd37 100644
--- a/framework/inc/uielement/statusbaritem.hxx
+++ b/framework/inc/uielement/statusbaritem.hxx
@@ -22,6 +22,7 @@
#include <com/sun/star/ui/XStatusbarItem.hpp>
#include <cppuhelper/compbase1.hxx>
#include <cppuhelper/basemutex.hxx>
#include <vcl/vclptr.hxx>

class StatusBar;

@@ -67,7 +68,7 @@ public:
    virtual void SAL_CALL repaint(  ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;

private:
    StatusBar              *m_pStatusBar;
    VclPtr<StatusBar>       m_pStatusBar;
    AddonStatusbarItemData *m_pItemData;
    sal_uInt16              m_nId;
    sal_uInt16              m_nStyle;
diff --git a/framework/inc/uielement/statusbarmanager.hxx b/framework/inc/uielement/statusbarmanager.hxx
index efbe548..2167b0c 100644
--- a/framework/inc/uielement/statusbarmanager.hxx
+++ b/framework/inc/uielement/statusbarmanager.hxx
@@ -37,6 +37,7 @@
#include <cppuhelper/implbase3.hxx>
#include <cppuhelper/interfacecontainer.hxx>
#include <vcl/status.hxx>
#include <vcl/vclptr.hxx>
#include <map>

namespace framework
@@ -98,13 +99,13 @@ class StatusBarManager : public ::cppu::WeakImplHelper3<
    protected:
        typedef std::map< sal_uInt16, ::com::sun::star::uno::Reference< com::sun::star::frame::XStatusbarController > > StatusBarControllerMap;

        bool                                                                                        m_bDisposed : 1,
        bool                                                                                            m_bDisposed : 1,
                                                                                                        m_bFrameActionRegistered : 1,
                                                                                                        m_bUpdateControllers : 1;
        bool                                                                                        m_bModuleIdentified;
        StatusBar*                                                                                      m_pStatusBar;
        OUString                                                                                   m_aModuleIdentifier;
        OUString                                                                                   m_aResourceName;
        bool                                                                                            m_bModuleIdentified;
        VclPtr<StatusBar>                                                                               m_pStatusBar;
        OUString                                                                                        m_aModuleIdentifier;
        OUString                                                                                        m_aResourceName;
        com::sun::star::uno::Reference< com::sun::star::frame::XFrame >                                 m_xFrame;
        com::sun::star::uno::Reference< com::sun::star::container::XNameAccess >                        m_xUICommandLabels;
        StatusBarControllerMap                                                                          m_aControllerMap;
diff --git a/framework/inc/uielement/toolbarmanager.hxx b/framework/inc/uielement/toolbarmanager.hxx
index 90b68ac..95381c3 100644
--- a/framework/inc/uielement/toolbarmanager.hxx
+++ b/framework/inc/uielement/toolbarmanager.hxx
@@ -189,7 +189,7 @@ class ToolBarManager : public ToolbarManager_Base

        long m_lImageRotation;

        ToolBox* m_pToolBar;
        VclPtr<ToolBox> m_pToolBar;

        OUString m_aModuleIdentifier;
        OUString m_aResourceName;
diff --git a/framework/inc/uielement/toolbarmerger.hxx b/framework/inc/uielement/toolbarmerger.hxx
index 8a595a9..0902ff3 100644
--- a/framework/inc/uielement/toolbarmerger.hxx
+++ b/framework/inc/uielement/toolbarmerger.hxx
@@ -61,7 +61,7 @@ typedef ::std::vector< AddonToolbarItem > AddonToolbarItemContainer;

struct ReferenceToolbarPathInfo
{
    ToolBox*           pToolbar;
    VclPtr<ToolBox>    pToolbar;
    sal_uInt16         nPos;
    bool               bResult;
};
diff --git a/framework/source/helper/vclstatusindicator.cxx b/framework/source/helper/vclstatusindicator.cxx
index e02c4e7..9d3f151 100644
--- a/framework/source/helper/vclstatusindicator.cxx
+++ b/framework/source/helper/vclstatusindicator.cxx
@@ -91,8 +91,7 @@ void SAL_CALL VCLStatusIndicator::end()
        m_pStatusBar->EndProgressMode();
        m_pStatusBar->Show(false);

        delete m_pStatusBar;
        m_pStatusBar = 0;
        m_pStatusBar.clear();
    }
}

diff --git a/framework/source/services/tabwindowservice.cxx b/framework/source/services/tabwindowservice.cxx
index dd9c46e..f93aee0 100644
--- a/framework/source/services/tabwindowservice.cxx
+++ b/framework/source/services/tabwindowservice.cxx
@@ -68,8 +68,8 @@ struct TTabPageInfo
    public:

        ::sal_Int32                                   m_nIndex;
        bool                                    m_bCreated;
        FwkTabPage*                                   m_pPage;
        bool                                          m_bCreated;
        VclPtr<FwkTabPage>                            m_pPage;
        css::uno::Sequence< css::beans::NamedValue >  m_lProperties;
};

@@ -159,7 +159,7 @@ private:
    css::uno::Reference< css::awt::XWindow > m_xTabWin;

    /// the VCL tab window
    FwkTabWindow* m_pTabWin;
    VclPtr<FwkTabWindow> m_pTabWin;

    /// container of inserted tab pages
    TTabPageInfoHash m_lTabPageInfos;
@@ -356,7 +356,7 @@ void SAL_CALL TabWindowService::dispose()
    if (m_pTabWin)
        m_pTabWin->RemoveEventListener( LINK( this, TabWindowService, EventListener ) );

    m_pTabWin = NULL;
    m_pTabWin.clear();
    m_xTabWin.clear();
}

diff --git a/framework/source/uielement/buttontoolbarcontroller.cxx b/framework/source/uielement/buttontoolbarcontroller.cxx
index 2219b5c..aaf0685 100644
--- a/framework/source/uielement/buttontoolbarcontroller.cxx
+++ b/framework/source/uielement/buttontoolbarcontroller.cxx
@@ -152,7 +152,7 @@ void SAL_CALL ButtonToolbarController::dispose() throw (::com::sun::star::uno::R
        m_xContext.clear();
        m_xURLTransformer.clear();
        m_xFrame.clear();
        m_pToolbar = 0;
        m_pToolbar.clear();
        m_bDisposed = true;
    }
}
diff --git a/framework/source/uielement/comboboxtoolbarcontroller.cxx b/framework/source/uielement/comboboxtoolbarcontroller.cxx
index 8f65095..bd4b368 100644
--- a/framework/source/uielement/comboboxtoolbarcontroller.cxx
+++ b/framework/source/uielement/comboboxtoolbarcontroller.cxx
@@ -171,11 +171,9 @@ throw ( RuntimeException, std::exception )
    SolarMutexGuard aSolarMutexGuard;

    m_pToolbar->SetItemWindow( m_nID, 0 );
    delete m_pComboBox;
    m_pComboBox.clear();

    ComplexToolbarController::dispose();

    m_pComboBox = 0;
}

Sequence<PropertyValue> ComboboxToolbarController::getExecuteArgs(sal_Int16 KeyModifier) const
diff --git a/framework/source/uielement/complextoolbarcontroller.cxx b/framework/source/uielement/complextoolbarcontroller.cxx
index 871c7b2..05f1d1c 100644
--- a/framework/source/uielement/complextoolbarcontroller.cxx
+++ b/framework/source/uielement/complextoolbarcontroller.cxx
@@ -76,7 +76,7 @@ throw ( RuntimeException, std::exception )
    svt::ToolboxController::dispose();

    m_xURLTransformer.clear();
    m_pToolbar = 0;
    m_pToolbar.clear();
    m_nID = 0;
}

diff --git a/framework/source/uielement/dropdownboxtoolbarcontroller.cxx b/framework/source/uielement/dropdownboxtoolbarcontroller.cxx
index 78f2415..5573c62 100644
--- a/framework/source/uielement/dropdownboxtoolbarcontroller.cxx
+++ b/framework/source/uielement/dropdownboxtoolbarcontroller.cxx
@@ -155,11 +155,9 @@ throw ( RuntimeException, std::exception )
    SolarMutexGuard aSolarMutexGuard;

    m_pToolbar->SetItemWindow( m_nID, 0 );
    delete m_pListBoxControl;
    m_pListBoxControl.clear();

    ComplexToolbarController::dispose();

    m_pListBoxControl = 0;
}

Sequence<PropertyValue> DropdownToolbarController::getExecuteArgs(sal_Int16 KeyModifier) const
diff --git a/framework/source/uielement/edittoolbarcontroller.cxx b/framework/source/uielement/edittoolbarcontroller.cxx
index e48c572f..56e9921 100644
--- a/framework/source/uielement/edittoolbarcontroller.cxx
+++ b/framework/source/uielement/edittoolbarcontroller.cxx
@@ -152,11 +152,9 @@ throw ( RuntimeException, std::exception )
    SolarMutexGuard aSolarMutexGuard;

    m_pToolbar->SetItemWindow( m_nID, 0 );
    delete m_pEditControl;
    m_pEditControl.clear();

    ComplexToolbarController::dispose();

    m_pEditControl = 0;
}

Sequence<PropertyValue> EditToolbarController::getExecuteArgs(sal_Int16 KeyModifier) const
diff --git a/framework/source/uielement/generictoolbarcontroller.cxx b/framework/source/uielement/generictoolbarcontroller.cxx
index c2cdf40..7bf9625 100644
--- a/framework/source/uielement/generictoolbarcontroller.cxx
+++ b/framework/source/uielement/generictoolbarcontroller.cxx
@@ -125,7 +125,7 @@ throw ( RuntimeException, std::exception )

    svt::ToolboxController::dispose();

    m_pToolbar = 0;
    m_pToolbar.clear();
    m_nID = 0;
}

diff --git a/framework/source/uielement/spinfieldtoolbarcontroller.cxx b/framework/source/uielement/spinfieldtoolbarcontroller.cxx
index 4aeb87b..3a7de07 100644
--- a/framework/source/uielement/spinfieldtoolbarcontroller.cxx
+++ b/framework/source/uielement/spinfieldtoolbarcontroller.cxx
@@ -213,11 +213,9 @@ throw ( RuntimeException, std::exception )
    SolarMutexGuard aSolarMutexGuard;

    m_pToolbar->SetItemWindow( m_nID, 0 );
    delete m_pSpinfieldControl;
    m_pSpinfieldControl.clear();

    ComplexToolbarController::dispose();

    m_pSpinfieldControl = 0;
}

Sequence<PropertyValue> SpinfieldToolbarController::getExecuteArgs(sal_Int16 KeyModifier) const
diff --git a/framework/source/uielement/statusbarmanager.cxx b/framework/source/uielement/statusbarmanager.cxx
index d0452935..b8ba5fb 100644
--- a/framework/source/uielement/statusbarmanager.cxx
+++ b/framework/source/uielement/statusbarmanager.cxx
@@ -200,40 +200,39 @@ void SAL_CALL StatusBarManager::dispose() throw( uno::RuntimeException, std::exc

    {
        SolarMutexGuard g;
        if ( !m_bDisposed )
        if ( m_bDisposed )
            return;

        RemoveControllers();

        // destroy the item data
        for ( sal_uInt16 n = 0; n < m_pStatusBar->GetItemCount(); n++ )
        {
            RemoveControllers();

            // destroy the item data
            for ( sal_uInt16 n = 0; n < m_pStatusBar->GetItemCount(); n++ )
            {
                AddonStatusbarItemData *pUserData = static_cast< AddonStatusbarItemData *>(
                    m_pStatusBar->GetItemData( m_pStatusBar->GetItemId( n ) ) );
                if ( pUserData )
                    delete pUserData;
            }

            delete m_pStatusBar;
            m_pStatusBar = 0;

            if ( m_bFrameActionRegistered && m_xFrame.is() )
            {
                try
                {
                    m_xFrame->removeFrameActionListener( uno::Reference< frame::XFrameActionListener >(
                                                            static_cast< ::cppu::OWeakObject *>( this ),
                                                            uno::UNO_QUERY ));
                }
                catch ( const uno::Exception& )
                {
                }
            }

            m_xFrame.clear();
            m_xContext.clear();

            m_bDisposed = true;
            AddonStatusbarItemData *pUserData = static_cast< AddonStatusbarItemData *>(
                m_pStatusBar->GetItemData( m_pStatusBar->GetItemId( n ) ) );
            if ( pUserData )
                delete pUserData;
        }

        m_pStatusBar.clear();

        if ( m_bFrameActionRegistered && m_xFrame.is() )
        {
            try
            {
                m_xFrame->removeFrameActionListener( uno::Reference< frame::XFrameActionListener >(
                                                        static_cast< ::cppu::OWeakObject *>( this ),
                                                        uno::UNO_QUERY ));
            }
            catch ( const uno::Exception& )
            {
            }
        }

        m_xFrame.clear();
        m_xContext.clear();

        m_bDisposed = true;
    }
}

diff --git a/framework/source/uielement/toolbarmanager.cxx b/framework/source/uielement/toolbarmanager.cxx
index 85ddc81..efd6d20 100644
--- a/framework/source/uielement/toolbarmanager.cxx
+++ b/framework/source/uielement/toolbarmanager.cxx
@@ -1,4 +1,3 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
@@ -250,7 +249,7 @@ ToolBarManager::~ToolBarManager()

void ToolBarManager::Destroy()
{
    OSL_ASSERT( m_pToolBar != 0 );
    OSL_ASSERT( m_pToolBar != nullptr );
    SolarMutexGuard g;
    if ( m_bAddedToTaskPaneList )
    {
@@ -288,7 +287,7 @@ void ToolBarManager::Destroy()
    m_pToolBar->SetDataChangedHdl( aEmpty );
    m_pToolBar->SetCommandHdl( aEmpty );

    m_pToolBar = 0;
    m_pToolBar.clear();

    SvtMiscOptions().RemoveListenerLink( LINK( this, ToolBarManager, MiscOptionsChanged ) );
}
@@ -599,6 +598,7 @@ void SAL_CALL ToolBarManager::dispose() throw( RuntimeException, std::exception 

        // We have to destroy our toolbar instance now.
        Destroy();
        m_pToolBar.clear();

        if ( m_bFrameActionRegistered && m_xFrame.is() )
        {
@@ -727,7 +727,7 @@ void ToolBarManager::setToolBarImage(const Image& _aImage,const CommandToInfoMap
{
    const ::std::vector< sal_uInt16 >& _rIDs = _pIter->second.aIds;
    m_pToolBar->SetItemImage( _pIter->second.nId, _aImage );
    ::std::for_each(_rIDs.begin(),_rIDs.end(),::boost::bind(&ToolBox::SetItemImage,m_pToolBar,_1,_aImage));
    ::std::for_each(_rIDs.begin(),_rIDs.end(),::boost::bind(&ToolBox::SetItemImage,m_pToolBar.get(),_1,_aImage));
}

void SAL_CALL ToolBarManager::elementReplaced( const ::com::sun::star::ui::ConfigurationEvent& Event ) throw (::com::sun::star::uno::RuntimeException, std::exception)
diff --git a/include/dbaccess/ToolBoxHelper.hxx b/include/dbaccess/ToolBoxHelper.hxx
index 4757c8f..d9671b4 100644
--- a/include/dbaccess/ToolBoxHelper.hxx
+++ b/include/dbaccess/ToolBoxHelper.hxx
@@ -23,6 +23,7 @@
#include <sal/types.h>
#include <tools/link.hxx>
#include <vcl/image.hxx>
#include <vcl/vclptr.hxx>
#include <dbaccess/dbaccessdllapi.h>

class SvtMiscOptions;
@@ -34,7 +35,7 @@ namespace dbaui
    class DBACCESS_DLLPUBLIC OToolBoxHelper
    {
        sal_Int16       m_nSymbolsSize; // shows the toolbox large or small bitmaps
        ToolBox*        m_pToolBox;     // our toolbox (may be NULL)
        VclPtr<ToolBox>        m_pToolBox;     // our toolbox (may be NULL)
    public:
        OToolBoxHelper();
        virtual ~OToolBoxHelper();
diff --git a/include/dbaccess/genericcontroller.hxx b/include/dbaccess/genericcontroller.hxx
index 2b6ae5c..99a7afa 100644
--- a/include/dbaccess/genericcontroller.hxx
+++ b/include/dbaccess/genericcontroller.hxx
@@ -59,6 +59,7 @@

#include <boost/optional.hpp>
#include <sfx2/userinputinterception.hxx>
#include <vcl/vclptr.hxx>

namespace dbtools
{
@@ -212,7 +213,7 @@ namespace dbaui

        ::std::unique_ptr< OGenericUnoController_Data >
                                        m_pData;
        ODataView*                      m_pView;                // our (VCL) "main window"
        VclPtr<ODataView>               m_pView;                // our (VCL) "main window"

#ifdef DBG_UTIL
        bool                            m_bDescribingSupportedFeatures;
@@ -407,8 +408,8 @@ namespace dbaui
    public:
        ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >  getORB() const { return m_xContext; }
        ODataView*  getView() const { return m_pView; }
        void        setView( ODataView& i_rView ) { m_pView = &i_rView; }
        void        clearView() { m_pView = NULL; }
        void        setView( ODataView& i_rView );
        void        clearView();
        // shows a error box if the SQLExceptionInfo is valid
        void showError(const ::dbtools::SQLExceptionInfo& _rInfo);

diff --git a/include/editeng/splwrap.hxx b/include/editeng/splwrap.hxx
index 18547e9..749c836 100644
--- a/include/editeng/splwrap.hxx
+++ b/include/editeng/splwrap.hxx
@@ -23,6 +23,7 @@
#include <editeng/svxenum.hxx>
#include <rtl/ustring.hxx>
#include <com/sun/star/uno/Reference.hxx>
#include <vcl/vclptr.hxx>

// forward ---------------------------------------------------------------

@@ -48,7 +49,7 @@ private:
    friend class SvxHyphenWordDialog;
    friend struct SvxHyphenWordDialog_Impl;

    vcl::Window*     pWin;
    VclPtr<vcl::Window>     pWin;
    ::com::sun::star::uno::Reference<
        ::com::sun::star::uno::XInterface >             xLast;  // result of last spelling/hyphenation attempt
    ::com::sun::star::uno::Reference<
diff --git a/include/formula/funcutl.hxx b/include/formula/funcutl.hxx
index 17713a7..400a49b 100644
--- a/include/formula/funcutl.hxx
+++ b/include/formula/funcutl.hxx
@@ -34,7 +34,7 @@ class FORMULA_DLLPUBLIC RefEdit : public Edit
private:
    Idle                      aIdle;
    IControlReferenceHandler* pAnyRefDlg; // parent dialog
    vcl::Window*                   pLabelWidget;
    VclPtr<vcl::Window>       pLabelWidget;

    DECL_LINK( UpdateHdl, void* );

@@ -87,7 +87,7 @@ private:
    OUString                  aShrinkQuickHelp;
    OUString                  aExpandQuickHelp;
    IControlReferenceHandler* pAnyRefDlg;   // parent dialog
    RefEdit*                  pRefEdit;     // zugeordnetes Edit-Control
    VclPtr<RefEdit>                  pRefEdit;     // zugeordnetes Edit-Control

protected:
    virtual void Click() SAL_OVERRIDE;
@@ -97,6 +97,8 @@ protected:

public:
    RefButton(vcl::Window* _pParent, WinBits nStyle = 0);
    virtual ~RefButton();
    virtual void dispose() SAL_OVERRIDE;
    void SetReferences( IControlReferenceHandler* pDlg, RefEdit* pEdit );
    void SetStartImage();
    void SetEndImage();
diff --git a/include/sfx2/basedlgs.hxx b/include/sfx2/basedlgs.hxx
index 438a2b5..99feed2 100644
--- a/include/sfx2/basedlgs.hxx
+++ b/include/sfx2/basedlgs.hxx
@@ -164,16 +164,12 @@ public:

struct SingleTabDlgImpl
{
    SfxTabPage*                 m_pSfxPage;
    FixedLine*                  m_pLine;
    VclPtr<SfxTabPage>          m_pSfxPage;
    VclPtr<FixedLine>           m_pLine;
    OUString                    m_sInfoURL;
    Link                        m_aInfoLink;

    SingleTabDlgImpl()
        : m_pSfxPage(NULL)
        , m_pLine(NULL)
    {
    }
    SingleTabDlgImpl();
};

typedef const sal_uInt16* (*GetTabPageRanges)(); // liefert internationale Which-Werte
@@ -201,9 +197,9 @@ public:
protected:
    GetTabPageRanges    fnGetRanges;

    OKButton*           pOKBtn;
    CancelButton*       pCancelBtn;
    HelpButton*         pHelpBtn;
    VclPtr<OKButton>      pOKBtn;
    VclPtr<CancelButton>  pCancelBtn;
    VclPtr<HelpButton>    pHelpBtn;

    SingleTabDlgImpl*   pImpl;

diff --git a/include/sfx2/checkin.hxx b/include/sfx2/checkin.hxx
index c5d93f6..54d2dff 100644
--- a/include/sfx2/checkin.hxx
+++ b/include/sfx2/checkin.hxx
@@ -16,15 +16,17 @@
class SfxCheckinDialog : public ModalDialog
{
    private:
        Edit*       m_pCommentED;
        CheckBox*   m_pMajorCB;
        VclPtr<Edit>       m_pCommentED;
        VclPtr<CheckBox>   m_pMajorCB;

        OKButton*   m_pOKBtn;
        VclPtr<OKButton>   m_pOKBtn;

        DECL_DLLPRIVATE_LINK(OKHdl, void *);

    public:
        SfxCheckinDialog( vcl::Window* pParent );
        virtual ~SfxCheckinDialog();
        virtual void dispose() SAL_OVERRIDE;

        OUString GetComment( );
        bool IsMajor( );
diff --git a/include/sfx2/childwin.hxx b/include/sfx2/childwin.hxx
index a74b236..eb43f8e 100644
--- a/include/sfx2/childwin.hxx
+++ b/include/sfx2/childwin.hxx
@@ -124,7 +124,7 @@ struct SfxChildWindow_Impl;
class SFX2_DLLPUBLIC SfxChildWindowContext
{
friend class SfxChildWindow;
    vcl::Window*           pWindow;
    VclPtr<vcl::Window> pWindow;
    sal_uInt16          nContextId;

protected:
@@ -148,12 +148,12 @@ public:

class SFX2_DLLPUBLIC SfxChildWindow
{
    vcl::Window*               pParent;        // parent window ( Topwindow )
    sal_uInt16              nType;          // ChildWindow-Id
    VclPtr<vcl::Window>        pParent;        // parent window ( Topwindow )
    sal_uInt16                 nType;          // ChildWindow-Id

protected:
    SfxChildAlignment           eChildAlignment; // Current ::com::sun::star::drawing::Alignment
    vcl::Window*                   pWindow;         // actual contents
    VclPtr<vcl::Window>         pWindow;         // actual contents
    SfxChildWindow_Impl*        pImp;            // Implementation data

private:
diff --git a/include/sfx2/dinfdlg.hxx b/include/sfx2/dinfdlg.hxx
index e5496c0..77f13dc 100644
--- a/include/sfx2/dinfdlg.hxx
+++ b/include/sfx2/dinfdlg.hxx
@@ -180,27 +180,27 @@ public:
class SfxDocumentPage : public SfxTabPage
{
private:
    FixedImage*                 m_pBmp;
    SelectableFixedText*        m_pNameED;
    PushButton*                 m_pChangePassBtn;
    VclPtr<FixedImage>            m_pBmp;
    VclPtr<SelectableFixedText>   m_pNameED;
    VclPtr<PushButton>            m_pChangePassBtn;

    SelectableFixedText*        m_pShowTypeFT;
    Edit*                       m_pFileValEd;
    SelectableFixedText*        m_pShowSizeFT;
    VclPtr<SelectableFixedText>   m_pShowTypeFT;
    VclPtr<Edit>                  m_pFileValFt;
    VclPtr<SelectableFixedText>   m_pShowSizeFT;

    SelectableFixedText*        m_pCreateValFt;
    SelectableFixedText*        m_pChangeValFt;
    SelectableFixedText*        m_pSignedValFt;
    PushButton*                 m_pSignatureBtn;
    SelectableFixedText*        m_pPrintValFt;
    SelectableFixedText*        m_pTimeLogValFt;
    SelectableFixedText*        m_pDocNoValFt;
    VclPtr<SelectableFixedText>   m_pCreateValFt;
    VclPtr<SelectableFixedText>   m_pChangeValFt;
    VclPtr<SelectableFixedText>   m_pSignedValFt;
    VclPtr<PushButton>            m_pSignatureBtn;
    VclPtr<SelectableFixedText>   m_pPrintValFt;
    VclPtr<SelectableFixedText>   m_pTimeLogValFt;
    VclPtr<SelectableFixedText>   m_pDocNoValFt;

    CheckBox*                   m_pUseUserDataCB;
    PushButton*                 m_pDeleteBtn;
    VclPtr<CheckBox>              m_pUseUserDataCB;
    VclPtr<PushButton>            m_pDeleteBtn;

    FixedText*                  m_pTemplFt;
    SelectableFixedText*        m_pTemplValFt;
    VclPtr<FixedText>             m_pTemplFt;
    VclPtr<SelectableFixedText>   m_pTemplValFt;

    OUString                    m_aUnknownSize;
    OUString                    m_aMultiSignedStr;
@@ -216,6 +216,8 @@ private:

protected:
    SfxDocumentPage( vcl::Window* pParent, const SfxItemSet& );
    virtual ~SfxDocumentPage();
    virtual void dispose() SAL_OVERRIDE;

    virtual bool        FillItemSet( SfxItemSet* ) SAL_OVERRIDE;
    virtual void        Reset( const SfxItemSet* ) SAL_OVERRIDE;
@@ -231,14 +233,16 @@ public:
class SfxDocumentDescPage : public SfxTabPage
{
private:
    Edit*                   m_pTitleEd;
    Edit*                   m_pThemaEd;
    Edit*                   m_pKeywordsEd;
    VclMultiLineEdit*       m_pCommentEd;
    SfxDocumentInfoItem*    m_pInfoItem;
    VclPtr<Edit>              m_pTitleEd;
    VclPtr<Edit>              m_pThemaEd;
    VclPtr<Edit>              m_pKeywordsEd;
    VclPtr<VclMultiLineEdit>  m_pCommentEd;
    SfxDocumentInfoItem*      m_pInfoItem;

protected:
    SfxDocumentDescPage( vcl::Window* pParent, const SfxItemSet& );
    virtual ~SfxDocumentDescPage();
    virtual void dispose() SAL_OVERRIDE;

    virtual bool            FillItemSet( SfxItemSet* ) SAL_OVERRIDE;
    virtual void            Reset( const SfxItemSet* ) SAL_OVERRIDE;
@@ -414,9 +418,9 @@ struct CustomPropertyLine
class CustomPropertiesWindow : public vcl::Window
{
private:
    FixedText*                          m_pHeaderAccName;
    FixedText*                          m_pHeaderAccType;
    FixedText*                          m_pHeaderAccValue;
    VclPtr<FixedText>                   m_pHeaderAccName;
    VclPtr<FixedText>                   m_pHeaderAccType;
    VclPtr<FixedText>                   m_pHeaderAccValue;

    VclPtr<ComboBox>                    m_aNameBox;
    VclPtr<ListBox>                     m_aTypeBox;
@@ -479,11 +483,11 @@ public:
class CustomPropertiesControl : public vcl::Window
{
private:
    VclVBox*                m_pVBox;
    HeaderBar*              m_pHeaderBar;
    VclHBox*                m_pBody;
    CustomPropertiesWindow* m_pPropertiesWin;
    ScrollBar*              m_pVertScroll;
    VclPtr<VclVBox>                m_pVBox;
    VclPtr<HeaderBar>              m_pHeaderBar;
    VclPtr<VclHBox>                m_pBody;
    VclPtr<CustomPropertiesWindow> m_pPropertiesWin;
    VclPtr<ScrollBar>              m_pVertScroll;

    sal_Int32               m_nThumbPos;

@@ -511,7 +515,7 @@ public:
class SfxCustomPropertiesPage : public SfxTabPage
{
private:
    CustomPropertiesControl* m_pPropertiesCtrl;
    VclPtr<CustomPropertiesControl> m_pPropertiesCtrl;

    DECL_LINK(AddHdl, void *);

@@ -519,6 +523,8 @@ private:

protected:
    SfxCustomPropertiesPage( vcl::Window* pParent, const SfxItemSet& );
    virtual ~SfxCustomPropertiesPage();
    virtual void dispose() SAL_OVERRIDE;

    virtual bool        FillItemSet( SfxItemSet* ) SAL_OVERRIDE;
    virtual void        Reset( const SfxItemSet* ) SAL_OVERRIDE;
@@ -530,23 +536,23 @@ public:

struct CmisValue : public VclBuilderContainer
{
    Edit*   m_aValueEdit;
    VclPtr<Edit>   m_aValueEdit;

    CmisValue( vcl::Window* pParent, const OUString& aStr );
};

struct CmisDateTime : public VclBuilderContainer
{
    DateField*  m_aDateField;
    TimeField*  m_aTimeField;
    VclPtr<DateField>  m_aDateField;
    VclPtr<TimeField>  m_aTimeField;

    CmisDateTime( vcl::Window* pParent, const ::com::sun::star::util::DateTime& aDateTime );
};

struct CmisYesNo : public VclBuilderContainer
{
    RadioButton* m_aYesButton;
    RadioButton* m_aNoButton;
    VclPtr<RadioButton> m_aYesButton;
    VclPtr<RadioButton> m_aNoButton;

    CmisYesNo( vcl::Window* pParent, bool bValue);
};
@@ -555,15 +561,15 @@ struct CmisYesNo : public VclBuilderContainer

struct CmisPropertyLine : public VclBuilderContainer
{
    VclFrame*                     m_pFrame;
    VclPtr<VclFrame>              m_pFrame;
    OUString                      m_sId;
    OUString                      m_sType;
    bool                          m_bUpdatable;
    bool                          m_bRequired;
    bool                          m_bMultiValued;
    bool                          m_bOpenChoice;
    FixedText*                    m_aName;
    FixedText*                    m_aType;
    VclPtr<FixedText>             m_aName;
    VclPtr<FixedText>             m_aType;
    std::vector< CmisValue* >     m_aValues;
    std::vector< CmisDateTime* >  m_aDateTimes;
    std::vector< CmisYesNo* >     m_aYesNos;
@@ -578,7 +584,7 @@ struct CmisPropertyLine : public VclBuilderContainer
class CmisPropertiesWindow
{
private:
    VclBox*                             m_pBox;
    VclPtr<VclBox>                      m_pBox;
    sal_Int32                           m_nItemHeight;
    SvNumberFormatter                   m_aNumberFormatter;
    std::vector< CmisPropertyLine* >    m_aCmisPropertiesLines;
diff --git a/include/sfx2/fcontnr.hxx b/include/sfx2/fcontnr.hxx
index 7e66740..3ae4237 100644
--- a/include/sfx2/fcontnr.hxx
+++ b/include/sfx2/fcontnr.hxx
@@ -57,14 +57,13 @@ public:

class SfxFrameWindow
{
    vcl::Window*     pWindow;
    VclPtr<vcl::Window>     pWindow;
public:
                SfxFrameWindow( vcl::Window *pWin )
                 : pWindow( pWin )
                {}

    virtual     ~SfxFrameWindow()
                { delete pWindow; }
    virtual     ~SfxFrameWindow()  {}
    vcl::Window*     GetWindow() const
                { return pWindow; }
    void        SetWindow( vcl::Window *pWin )
diff --git a/include/sfx2/frame.hxx b/include/sfx2/frame.hxx
index fcd6c46..d9c3620 100644
--- a/include/sfx2/frame.hxx
+++ b/include/sfx2/frame.hxx
@@ -29,6 +29,7 @@
#include <com/sun/star/uno/Reference.h>
#include <com/sun/star/uno/Any.hxx>
#include <com/sun/star/uno/Sequence.hxx>
#include <vcl/vclptr.hxx>

namespace com
{
@@ -103,7 +104,7 @@ private:
    SfxFrame*           pParentFrame;
    SfxFrameArr_Impl*   pChildArr;
    SfxFrame_Impl*      pImp;
    vcl::Window*             pWindow;
    VclPtr<vcl::Window> pWindow;

protected:
    bool                Close();
diff --git a/include/sfx2/infobar.hxx b/include/sfx2/infobar.hxx
index 8fe7920..7a89267 100644
--- a/include/sfx2/infobar.hxx
+++ b/include/sfx2/infobar.hxx
@@ -43,15 +43,14 @@ class SFX2_DLLPUBLIC SfxInfoBarContainerChild : public SfxChildWindow
class SfxInfoBarWindow : public vcl::Window
{
    private:
        OUString m_sId;

        std::unique_ptr<FixedText> m_pMessage;
        std::unique_ptr<Button>    m_pCloseBtn;

        boost::ptr_vector<PushButton> m_aActionBtns;
        OUString                           m_sId;
        VclPtr<FixedText>                  m_pMessage;
        VclPtr<Button>                     m_pCloseBtn;
        std::vector< VclPtr<PushButton> >  m_aActionBtns;

    public:
        SfxInfoBarWindow(vcl::Window* parent, const OUString& sId, const OUString& sMessage);
        SfxInfoBarWindow( vcl::Window* parent, const OUString& sId,
                          const OUString& sMessage );
        virtual ~SfxInfoBarWindow( );
        virtual void dispose() SAL_OVERRIDE;

@@ -72,8 +71,8 @@ class SfxInfoBarWindow : public vcl::Window
class SfxInfoBarContainerWindow : public vcl::Window
{
    private:
        SfxInfoBarContainerChild*           m_pChildWin;
        boost::ptr_vector<SfxInfoBarWindow> m_pInfoBars;
        SfxInfoBarContainerChild*               m_pChildWin;
        std::vector< VclPtr<SfxInfoBarWindow> > m_pInfoBars;

    public:
        SfxInfoBarContainerWindow(SfxInfoBarContainerChild* pChildWin);
diff --git a/include/sfx2/ipclient.hxx b/include/sfx2/ipclient.hxx
index 10ab174..5628218 100644
--- a/include/sfx2/ipclient.hxx
+++ b/include/sfx2/ipclient.hxx
@@ -44,7 +44,7 @@ friend class SfxInPlaceClient_Impl;

    SfxInPlaceClient_Impl*  m_pImp;
    SfxViewShell*           m_pViewSh;
    vcl::Window*                 m_pEditWin;
    VclPtr<vcl::Window>     m_pEditWin;

    // called after the requested new object area was negotiated
    SAL_DLLPRIVATE virtual void ObjectAreaChanged();
diff --git a/include/sfx2/mgetempl.hxx b/include/sfx2/mgetempl.hxx
index 42c2656..00b8309 100644
--- a/include/sfx2/mgetempl.hxx
+++ b/include/sfx2/mgetempl.hxx
@@ -36,23 +36,23 @@ class SfxStyleSheetBase;

class SfxManageStyleSheetPage : public SfxTabPage
{
    VclMultiLineEdit* m_pNameRo;
    Edit* m_pNameRw;
    VclPtr<VclMultiLineEdit> m_pNameRo;
    VclPtr<Edit>             m_pNameRw;

    CheckBox* m_pAutoCB;
    VclPtr<CheckBox>         m_pAutoCB;

    FixedText* m_pFollowFt;
    ListBox* m_pFollowLb;
    PushButton* m_pEditStyleBtn;
    VclPtr<FixedText>        m_pFollowFt;
    VclPtr<ListBox>          m_pFollowLb;
    VclPtr<PushButton>       m_pEditStyleBtn;

    FixedText* m_pBaseFt;
    ListBox* m_pBaseLb;
    PushButton* m_pEditLinkStyleBtn;
    VclPtr<FixedText>        m_pBaseFt;
    VclPtr<ListBox>          m_pBaseLb;
    VclPtr<PushButton>       m_pEditLinkStyleBtn;

    FixedText* m_pFilterFt;
    ListBox* m_pFilterLb;
    VclPtr<FixedText>        m_pFilterFt;
    VclPtr<ListBox>          m_pFilterLb;

    FixedText *m_pDescFt;
    VclPtr<FixedText>        m_pDescFt;

    SfxStyleSheetBase *pStyle;
    SfxStyleFamilies *pFamilies;
diff --git a/include/sfx2/newstyle.hxx b/include/sfx2/newstyle.hxx
index c41744f..1a23a8d 100644
--- a/include/sfx2/newstyle.hxx
+++ b/include/sfx2/newstyle.hxx
@@ -33,8 +33,8 @@ class SfxStyleSheetBasePool;
class SFX2_DLLPUBLIC SfxNewStyleDlg : public ModalDialog
{
private:
    ComboBox* m_pColBox;
    OKButton* m_pOKBtn;
    VclPtr<ComboBox> m_pColBox;
    VclPtr<OKButton> m_pOKBtn;

    VclPtr<MessageDialog> aQueryOverwriteBox;
    SfxStyleSheetBasePool&  rPool;
diff --git a/include/sfx2/passwd.hxx b/include/sfx2/passwd.hxx
index 363e9b9..6d0d79a 100644
--- a/include/sfx2/passwd.hxx
+++ b/include/sfx2/passwd.hxx
@@ -42,23 +42,23 @@
class SFX2_DLLPUBLIC SfxPasswordDialog : public ModalDialog
{
private:
    VclFrame*       mpPassword1Box;
    FixedText*      mpUserFT;
    Edit*           mpUserED;
    FixedText*      mpPassword1FT;
    Edit*           mpPassword1ED;
    FixedText*      mpConfirm1FT;
    Edit*           mpConfirm1ED;
    VclPtr<VclFrame>       mpPassword1Box;
    VclPtr<FixedText>      mpUserFT;
    VclPtr<Edit>           mpUserED;
    VclPtr<FixedText>      mpPassword1FT;
    VclPtr<Edit>           mpPassword1ED;
    VclPtr<FixedText>      mpConfirm1FT;
    VclPtr<Edit>           mpConfirm1ED;

    VclFrame*       mpPassword2Box;
    FixedText*      mpPassword2FT;
    Edit*           mpPassword2ED;
    FixedText*      mpConfirm2FT;
    Edit*           mpConfirm2ED;
    VclPtr<VclFrame>       mpPassword2Box;
    VclPtr<FixedText>      mpPassword2FT;
    VclPtr<Edit>           mpPassword2ED;
    VclPtr<FixedText>      mpConfirm2FT;
    VclPtr<Edit>           mpConfirm2ED;

    FixedText*      mpMinLengthFT;
    VclPtr<FixedText>      mpMinLengthFT;

    OKButton*       mpOKBtn;
    VclPtr<OKButton>       mpOKBtn;

    OUString        maMinLenPwdStr;
    OUString        maMinLenPwdStr1;
@@ -75,6 +75,8 @@ private:

public:
    SfxPasswordDialog(vcl::Window* pParent, const OUString* pGroupText = NULL);
    virtual ~SfxPasswordDialog();
    virtual void dispose() SAL_OVERRIDE;

    OUString GetUser() const
    {
diff --git a/include/sfx2/printopt.hxx b/include/sfx2/printopt.hxx
index 477e98ef..ecb35c9 100644
--- a/include/sfx2/printopt.hxx
+++ b/include/sfx2/printopt.hxx
@@ -41,32 +41,32 @@ class SFX2_DLLPUBLIC SfxCommonPrintOptionsTabPage : public SfxTabPage
{
private:

    RadioButton*        m_pPrinterOutputRB;
    RadioButton*        m_pPrintFileOutputRB;
    VclPtr<RadioButton>        m_pPrinterOutputRB;
    VclPtr<RadioButton>        m_pPrintFileOutputRB;

    CheckBox*           m_pReduceTransparencyCB;
    RadioButton*        m_pReduceTransparencyAutoRB;
    RadioButton*        m_pReduceTransparencyNoneRB;
    VclPtr<CheckBox>           m_pReduceTransparencyCB;
    VclPtr<RadioButton>        m_pReduceTransparencyAutoRB;
    VclPtr<RadioButton>        m_pReduceTransparencyNoneRB;

    CheckBox*           m_pReduceGradientsCB;
    RadioButton*        m_pReduceGradientsStripesRB;
    RadioButton*        m_pReduceGradientsColorRB;
    NumericField*       m_pReduceGradientsStepCountNF;
    VclPtr<CheckBox>           m_pReduceGradientsCB;
    VclPtr<RadioButton>        m_pReduceGradientsStripesRB;
    VclPtr<RadioButton>        m_pReduceGradientsColorRB;
    VclPtr<NumericField>       m_pReduceGradientsStepCountNF;

    CheckBox*           m_pReduceBitmapsCB;
    RadioButton*        m_pReduceBitmapsOptimalRB;
    RadioButton*        m_pReduceBitmapsNormalRB;
    RadioButton*        m_pReduceBitmapsResolutionRB;
    ListBox*            m_pReduceBitmapsResolutionLB;
    CheckBox*           m_pReduceBitmapsTransparencyCB;
    VclPtr<CheckBox>           m_pReduceBitmapsCB;
    VclPtr<RadioButton>        m_pReduceBitmapsOptimalRB;
    VclPtr<RadioButton>        m_pReduceBitmapsNormalRB;
    VclPtr<RadioButton>        m_pReduceBitmapsResolutionRB;
    VclPtr<ListBox>            m_pReduceBitmapsResolutionLB;
    VclPtr<CheckBox>           m_pReduceBitmapsTransparencyCB;

    CheckBox*           m_pConvertToGreyscalesCB;
    VclPtr<CheckBox>           m_pConvertToGreyscalesCB;

    CheckBox*           m_pPDFCB;
    VclPtr<CheckBox>           m_pPDFCB;

    CheckBox*           m_pPaperSizeCB;
    CheckBox*           m_pPaperOrientationCB;
    CheckBox*           m_pTransparencyCB;
    VclPtr<CheckBox>           m_pPaperSizeCB;
    VclPtr<CheckBox>           m_pPaperOrientationCB;
    VclPtr<CheckBox>           m_pTransparencyCB;

private:

@@ -94,7 +94,8 @@ protected:
public:

                        SfxCommonPrintOptionsTabPage( vcl::Window* pParent, const SfxItemSet& rSet );

    virtual             ~SfxCommonPrintOptionsTabPage();
    virtual void        dispose() SAL_OVERRIDE;
    virtual bool        FillItemSet( SfxItemSet* rSet ) SAL_OVERRIDE;
    virtual void        Reset( const SfxItemSet* rSet ) SAL_OVERRIDE;
    virtual vcl::Window*     GetParentLabeledBy( const vcl::Window* pLabel ) const SAL_OVERRIDE;
diff --git a/include/sfx2/prnmon.hxx b/include/sfx2/prnmon.hxx
index 22378a5..ff42cb0 100644
--- a/include/sfx2/prnmon.hxx
+++ b/include/sfx2/prnmon.hxx
@@ -38,7 +38,7 @@ private:
    SfxPrintOptDlg_Impl*    pDlgImpl;
    SfxViewShell*           pViewSh;
    SfxItemSet*             pOptions;
    SfxTabPage*             pPage;
    VclPtr<SfxTabPage>      pPage;

public:
                            SfxPrintOptionsDialog( vcl::Window *pParent,
diff --git a/include/sfx2/sidebar/SidebarPanelBase.hxx b/include/sfx2/sidebar/SidebarPanelBase.hxx
index 6215f6d..a3c9cbc 100644
--- a/include/sfx2/sidebar/SidebarPanelBase.hxx
+++ b/include/sfx2/sidebar/SidebarPanelBase.hxx
@@ -33,6 +33,7 @@

#include <boost/noncopyable.hpp>
#include <boost/function.hpp>
#include <vcl/vclptr.hxx>


namespace vcl { class Window; }
@@ -111,7 +112,7 @@ protected:
        throw (css::uno::RuntimeException) SAL_OVERRIDE;

private:
    vcl::Window* mpControl;
    VclPtr<vcl::Window> mpControl;
    const ::rtl::OUString msResourceURL;
    const css::ui::LayoutSize maLayoutSize;
};
diff --git a/include/sfx2/stbitem.hxx b/include/sfx2/stbitem.hxx
index 835fcff..9e4850a 100644
--- a/include/sfx2/stbitem.hxx
+++ b/include/sfx2/stbitem.hxx
@@ -59,9 +59,9 @@ class UserDrawEvent;

class SFX2_DLLPUBLIC SfxStatusBarControl: public svt::StatusbarController
{
    sal_uInt16      nSlotId;
    sal_uInt16      nId;
    StatusBar*      pBar;
    sal_uInt16         nSlotId;
    sal_uInt16         nId;
    VclPtr<StatusBar>  pBar;

protected:
    // new controller API
diff --git a/include/sfx2/tabdlg.hxx b/include/sfx2/tabdlg.hxx
index e30588f..d175887 100644
--- a/include/sfx2/tabdlg.hxx
+++ b/include/sfx2/tabdlg.hxx
@@ -64,16 +64,16 @@ friend class SfxTabDialogController;

    SfxViewFrame*   pFrame;

    VclBox *m_pBox;
    TabControl *m_pTabCtrl;
    VclPtr<VclBox>     m_pBox;
    VclPtr<TabControl> m_pTabCtrl;

    PushButton* m_pOKBtn;
    PushButton* m_pApplyBtn;
    PushButton* m_pUserBtn;
    CancelButton* m_pCancelBtn;
    HelpButton* m_pHelpBtn;
    PushButton* m_pResetBtn;
    PushButton* m_pBaseFmtBtn;
    VclPtr<PushButton> m_pOKBtn;
    VclPtr<PushButton> m_pApplyBtn;
    VclPtr<PushButton> m_pUserBtn;
    VclPtr<CancelButton> m_pCancelBtn;
    VclPtr<HelpButton> m_pHelpBtn;
    VclPtr<PushButton> m_pResetBtn;
    VclPtr<PushButton> m_pBaseFmtBtn;

    bool m_bOwnsOKBtn;
    bool m_bOwnsCancelBtn;
@@ -106,7 +106,7 @@ protected:
    virtual void                RefreshInputSet();
    virtual void                PageCreated( sal_uInt16 nId, SfxTabPage &rPage );

    VclButtonBox*   m_pActionArea;
    VclPtr<VclButtonBox>   m_pActionArea;
    SfxItemSet*     pExampleSet;
    SfxItemSet*     GetInputSetImpl();
    SfxTabPage*     GetTabPage( sal_uInt16 nPageId ) const;
diff --git a/include/sfx2/templatedlg.hxx b/include/sfx2/templatedlg.hxx
index 76ea4bd..b347744 100644
--- a/include/sfx2/templatedlg.hxx
+++ b/include/sfx2/templatedlg.hxx
@@ -143,16 +143,16 @@ private:

private:

    TabControl *mpTabControl;
    VclPtr<TabControl> mpTabControl;

    Edit *mpSearchEdit;
    ToolBox *mpViewBar;
    ToolBox *mpActionBar;
    ToolBox *mpTemplateBar;
    TemplateSearchView *mpSearchView;
    TemplateAbstractView *mpCurView;
    TemplateLocalView *mpLocalView;
    TemplateRemoteView *mpRemoteView;
    VclPtr<Edit> mpSearchEdit;
    VclPtr<ToolBox> mpViewBar;
    VclPtr<ToolBox> mpActionBar;
    VclPtr<ToolBox> mpTemplateBar;
    VclPtr<TemplateSearchView> mpSearchView;
    VclPtr<TemplateAbstractView> mpCurView;
    VclPtr<TemplateLocalView> mpLocalView;
    VclPtr<TemplateRemoteView> mpRemoteView;
    PopupMenu *mpActionMenu;
    PopupMenu *mpRepositoryMenu;
    PopupMenu *mpTemplateDefaultMenu;
diff --git a/include/sfx2/templateinfodlg.hxx b/include/sfx2/templateinfodlg.hxx
index fabd740..97a711c 100644
--- a/include/sfx2/templateinfodlg.hxx
+++ b/include/sfx2/templateinfodlg.hxx
@@ -38,11 +38,11 @@ protected:

private:

    PushButton*   mpBtnClose;
    VclBox*      mpBox;
    VclPtr<PushButton>   mpBtnClose;
    VclPtr<VclBox>       mpBox;

    vcl::Window *mpPreviewView;  // gets released when xWindows get destroyed (dont delete in constructor)
    svtools::ODocumentInfoPreview *mpInfoView;
    VclPtr<vcl::Window>  mpPreviewView;  // gets released when xWindows get destroyed (dont delete in constructor)
    VclPtr<svtools::ODocumentInfoPreview> mpInfoView;

    ::com::sun::star::uno::Reference < ::com::sun::star::frame::XFrame2 > m_xFrame;
    ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > xWindow;
diff --git a/include/sfx2/thumbnailview.hxx b/include/sfx2/thumbnailview.hxx
index 2191ef5..0e4a7e0 100644
--- a/include/sfx2/thumbnailview.hxx
+++ b/include/sfx2/thumbnailview.hxx
@@ -309,7 +309,7 @@ protected:
    ThumbnailValueItemList mItemList;
    ThumbnailValueItemList mFilteredItemList; ///< Cache to store the filtered items
    ThumbnailValueItemList::iterator mpStartSelRange;
    ScrollBar* mpScrBar;
    VclPtr<ScrollBar> mpScrBar;
    long mnHeaderHeight;
    long mnItemWidth;
    long mnItemHeight;
diff --git a/include/sfx2/thumbnailviewitem.hxx b/include/sfx2/thumbnailviewitem.hxx
index 9136a56..a4c7bbc 100644
--- a/include/sfx2/thumbnailviewitem.hxx
+++ b/include/sfx2/thumbnailviewitem.hxx
@@ -138,7 +138,7 @@ protected:
    Rectangle maDrawArea;
    Link maClickHdl;
    bool mbEditTitle;
    VclMultiLineEdit* mpTitleED;
    VclPtr<VclMultiLineEdit> mpTitleED;
    Rectangle maTextEditMaxArea;
};

diff --git a/include/sfx2/viewsh.hxx b/include/sfx2/viewsh.hxx
index 08d3682..bb7379d 100644
--- a/include/sfx2/viewsh.hxx
+++ b/include/sfx2/viewsh.hxx
@@ -37,6 +37,7 @@
#include <tools/errcode.hxx>
#include <vcl/jobset.hxx>
#include <o3tl/typed_flags_set.hxx>
#include <vcl/vclptr.hxx>

class SfxBaseController;
class Size;
@@ -140,7 +141,7 @@ friend class SfxPrinterController;
    struct SfxViewShell_Impl*   pImp;
    SfxViewFrame*               pFrame;
    SfxShell*                   pSubShell;
    vcl::Window*                     pWindow;
    VclPtr<vcl::Window>         pWindow;
    bool                        bNoNewWindow;

protected:
diff --git a/include/svtools/GraphicExportOptionsDialog.hxx b/include/svtools/GraphicExportOptionsDialog.hxx
index 5c8e7ed..884e08b 100644
--- a/include/svtools/GraphicExportOptionsDialog.hxx
+++ b/include/svtools/GraphicExportOptionsDialog.hxx
@@ -37,9 +37,9 @@
class SVT_DLLPUBLIC GraphicExportOptionsDialog : public ModalDialog
{
private:
    NumericField*    mpWidth;
    NumericField*    mpHeight;
    ComboBox*        mpResolution;
    VclPtr<NumericField>    mpWidth;
    VclPtr<NumericField>    mpHeight;
    VclPtr<ComboBox>        mpResolution;

    Size        mSize100mm;
    double      mResolution;
@@ -62,7 +62,8 @@ private:

public:
    GraphicExportOptionsDialog( vcl::Window* pWindow, const css::uno::Reference<css::lang::XComponent>& rxSourceDocument );

    virtual ~GraphicExportOptionsDialog();
    virtual void dispose() SAL_OVERRIDE;
    css::uno::Sequence<css::beans::PropertyValue> getFilterData();
};

diff --git a/include/svtools/PlaceEditDialog.hxx b/include/svtools/PlaceEditDialog.hxx
index de8c956..a3e4c2c 100644
--- a/include/svtools/PlaceEditDialog.hxx
+++ b/include/svtools/PlaceEditDialog.hxx
@@ -27,15 +27,15 @@
class SVT_DLLPUBLIC PlaceEditDialog : public ModalDialog
{
private :
    Edit*      m_pEDServerName;
    ListBox*   m_pLBServerType;
    VclPtr<Edit>         m_pEDServerName;
    VclPtr<ListBox>      m_pLBServerType;
    std::shared_ptr< DetailsContainer > m_xCurrentDetails;

    Edit*         m_pEDUsername;
    OKButton*     m_pBTOk;
    CancelButton* m_pBTCancel;
    VclPtr<Edit>         m_pEDUsername;
    VclPtr<OKButton>     m_pBTOk;
    VclPtr<CancelButton> m_pBTCancel;

    PushButton*   m_pBTDelete;
    VclPtr<PushButton>   m_pBTDelete;

    /** Vector holding the details UI control for each server type.

@@ -50,6 +50,7 @@ public :
     PlaceEditDialog( vcl::Window* pParent);
     PlaceEditDialog(vcl::Window* pParent, const std::shared_ptr<Place> &rPlace );
     virtual ~PlaceEditDialog();
     virtual void dispose() SAL_OVERRIDE;

     // Returns a place instance with given information
     std::shared_ptr<Place> GetPlace();
diff --git a/include/svtools/ServerDetailsControls.hxx b/include/svtools/ServerDetailsControls.hxx
index a4997b3..9c17ece 100644
--- a/include/svtools/ServerDetailsControls.hxx
+++ b/include/svtools/ServerDetailsControls.hxx
@@ -25,7 +25,7 @@ class DetailsContainer
{
    private:
        Link m_aChangeHdl;
        VclFrame*       m_pFrame;
        VclPtr<VclFrame>       m_pFrame;

    public:
        DetailsContainer( VclBuilderContainer* pBuilder, const OString& rFrame );
@@ -57,9 +57,9 @@ class HostDetailsContainer : public DetailsContainer
        OUString m_sScheme;

    protected:
        Edit*           m_pEDHost;
        NumericField*   m_pEDPort;
        Edit*           m_pEDPath;
        VclPtr<Edit>           m_pEDHost;
        VclPtr<NumericField>   m_pEDPort;
        VclPtr<Edit>           m_pEDPath;

    public:
        HostDetailsContainer( VclBuilderContainer* pBuilder, sal_uInt16 nPort, const OUString& sScheme );
@@ -81,7 +81,7 @@ class HostDetailsContainer : public DetailsContainer
class DavDetailsContainer : public HostDetailsContainer
{
    private:
        CheckBox*   m_pCBDavs;
        VclPtr<CheckBox>   m_pCBDavs;

    public:
        DavDetailsContainer( VclBuilderContainer* pBuilder );
@@ -99,9 +99,9 @@ class DavDetailsContainer : public HostDetailsContainer
class SmbDetailsContainer : public DetailsContainer
{
    private:
        Edit*           m_pEDHost;
        Edit*           m_pEDShare;
        Edit*           m_pEDPath;
        VclPtr<Edit>           m_pEDHost;
        VclPtr<Edit>           m_pEDShare;
        VclPtr<Edit>           m_pEDPath;

    public:
        SmbDetailsContainer( VclBuilderContainer* pBuilder );
@@ -120,11 +120,11 @@ class CmisDetailsContainer : public DetailsContainer
        std::vector< OUString > m_aRepoIds;
        OUString m_sRepoId;

        Edit*       m_pEDBinding;
        ListBox*    m_pLBRepository;
        Button*     m_pBTRepoRefresh;
        ListBox*    m_pLBServerType;
        Edit*       m_pEDPath;
        VclPtr<Edit>       m_pEDBinding;
        VclPtr<ListBox>    m_pLBRepository;
        VclPtr<Button>     m_pBTRepoRefresh;
        VclPtr<ListBox>    m_pLBServerType;
        VclPtr<Edit>       m_pEDPath;

    public:
        CmisDetailsContainer( VclBuilderContainer* pBuilder );
diff --git a/include/svtools/accessibleruler.hxx b/include/svtools/accessibleruler.hxx
index a3fe1c5..a006de1 100644
--- a/include/svtools/accessibleruler.hxx
+++ b/include/svtools/accessibleruler.hxx
@@ -38,6 +38,7 @@
#include <comphelper/broadcasthelper.hxx>
#include <cppuhelper/implbase5.hxx>
#include <comphelper/servicehelper.hxx>
#include <vcl/vclptr.hxx>

namespace com { namespace sun { namespace star { namespace awt {
    struct Point;
@@ -198,7 +199,7 @@ private:
                                        mxParent;

    /// pointer to internal representation
    Ruler*                          mpRepr;
    VclPtr<Ruler>                       mpRepr;

        /// client id in the AccessibleEventNotifier queue
    sal_uInt32 mnClientId;
diff --git a/include/svtools/addresstemplate.hxx b/include/svtools/addresstemplate.hxx
index dec91a8..28bc7ed 100644
--- a/include/svtools/addresstemplate.hxx
+++ b/include/svtools/addresstemplate.hxx
@@ -48,10 +48,10 @@ namespace svt
    {
    private:
        // Controls
        ComboBox*       m_pDatasource;
        PushButton*     m_pAdministrateDatasources;
        ComboBox*       m_pTable;
        ScrollBar*      m_pFieldScroller;
        VclPtr<ComboBox>       m_pDatasource;
        VclPtr<PushButton>     m_pAdministrateDatasources;
        VclPtr<ComboBox>       m_pTable;
        VclPtr<ScrollBar>      m_pFieldScroller;

        // string to display for "no selection"
        const OUString  m_sNoFieldSelection;
diff --git a/include/svtools/brwbox.hxx b/include/svtools/brwbox.hxx
index 779815c..b7d9004 100644
--- a/include/svtools/brwbox.hxx
+++ b/include/svtools/brwbox.hxx
@@ -130,9 +130,9 @@ typedef sal_uLong BrowserMode;

class BrowseEvent
{
    vcl::Window*             pWin;
    long                nRow;
    Rectangle           aRect;
    VclPtr<vcl::Window>     pWin;
    long                    nRow;
    Rectangle               aRect;
    sal_uInt16              nCol;
    sal_uInt16              nColId;

@@ -143,10 +143,10 @@ public:
                                     sal_uInt16 nColumn, sal_uInt16 nColumnId,
                                     const Rectangle& rRect );

    vcl::Window*             GetWindow() const { return pWin; }
    vcl::Window*        GetWindow() const { return pWin; }
    long                GetRow() const { return nRow; }
    sal_uInt16              GetColumn() const { return nCol; }
    sal_uInt16              GetColumnId() const { return nColId; }
    sal_uInt16          GetColumn() const { return nCol; }
    sal_uInt16          GetColumnId() const { return nColId; }
    const Rectangle&    GetRect() const { return aRect; }
};

@@ -219,8 +219,8 @@ public:
    static const sal_uInt16 HandleColumnId = 0;

private:
    vcl::Window*       pDataWin;       // window to display data rows
    ScrollBar*         pVScroll;       // vertical scrollbar
    VclPtr<vcl::Window> pDataWin;       // window to display data rows
    VclPtr<ScrollBar>  pVScroll;       // vertical scrollbar
    VclPtr<ScrollBar>  aHScroll;       // horizontal scrollbar

    long            nDataRowHeight; // height of a single data-row
diff --git a/include/svtools/brwhead.hxx b/include/svtools/brwhead.hxx
index e609491..c82ccac 100644
--- a/include/svtools/brwhead.hxx
+++ b/include/svtools/brwhead.hxx
@@ -29,8 +29,11 @@ class BrowseBox;

class SVT_DLLPUBLIC BrowserHeader: public HeaderBar
{
    BrowseBox*          _pBrowseBox;
    VclPtr<BrowseBox>   _pBrowseBox;

public:
    virtual             ~BrowserHeader();
    virtual void        dispose() SAL_OVERRIDE;
protected:
    virtual void        Command( const CommandEvent& rCEvt ) SAL_OVERRIDE;
    virtual void        Select() SAL_OVERRIDE;
diff --git a/include/svtools/calendar.hxx b/include/svtools/calendar.hxx
index 7948150..189be3a 100644
--- a/include/svtools/calendar.hxx
+++ b/include/svtools/calendar.hxx
@@ -401,11 +401,11 @@ method in CalendarField and create an own calendar there ourselves.
class SVT_DLLPUBLIC CalendarField : public DateField
{
private:
    ImplCFieldFloatWin* mpFloatWin;
    Calendar*           mpCalendar;
    VclPtr<ImplCFieldFloatWin> mpFloatWin;
    VclPtr<Calendar>    mpCalendar;
    WinBits             mnCalendarStyle;
    PushButton*         mpTodayBtn;
    PushButton*         mpNoneBtn;
    VclPtr<PushButton>  mpTodayBtn;
    VclPtr<PushButton>  mpNoneBtn;
    Date                maDefaultDate;
    bool                mbToday;
    bool                mbNone;
diff --git a/include/svtools/colrdlg.hxx b/include/svtools/colrdlg.hxx
index 1919ba0..4fe31bf 100644
--- a/include/svtools/colrdlg.hxx
+++ b/include/svtools/colrdlg.hxx
@@ -21,7 +21,7 @@
#define INCLUDED_SVTOOLS_COLRDLG_HXX

#include <svtools/svtdllapi.h>

#include <vcl/vclptr.hxx>
#include <tools/color.hxx>

namespace vcl { class Window; }
@@ -50,9 +50,9 @@ public:
    short           Execute();

private:
    vcl::Window*    mpParent;
    Color           maColor;
    sal_Int16       meMode;
    VclPtr<vcl::Window> mpParent;
    Color               maColor;
    sal_Int16           meMode;
};

#endif // INCLUDED_SVTOOLS_COLRDLG_HXX
diff --git a/include/svtools/editbrowsebox.hxx b/include/svtools/editbrowsebox.hxx
index eedf170..4031d41 100644
--- a/include/svtools/editbrowsebox.hxx
+++ b/include/svtools/editbrowsebox.hxx
@@ -80,7 +80,7 @@ namespace svt
        friend class EditBrowseBox;

    protected:
        Control*    pWindow;
        VclPtr<Control>  pWindow;
        bool        bSuspended;     // <true> if the window is hidden and disabled

    public:
@@ -274,7 +274,7 @@ namespace svt

    class SVT_DLLPUBLIC CheckBoxControl : public Control
    {
        CheckBox*   pBox;
        VclPtr<CheckBox>   pBox;
        Rectangle   aFocusRect;
        Link        m_aClickLink,m_aModifyLink;

@@ -475,7 +475,7 @@ namespace svt
                                 aOldController;

        ImplSVEvent * nStartEvent, * nEndEvent, * nCellModifiedEvent;     // event ids
        vcl::Window* m_pFocusWhileRequest;
        VclPtr<vcl::Window> m_pFocusWhileRequest;
            // In ActivateCell, we grab the focus asynchronously, but if between requesting activation
            // and the asynchornous event the focus has changed, we won't grab it for ourself.

@@ -487,14 +487,14 @@ namespace svt
        mutable bool    bPaintStatus : 1;   // paint a status (image) in the handle column
        bool            bActiveBeforeTracking;

        CheckBoxControl* pCheckBoxPaint;
        VclPtr<CheckBoxControl> pCheckBoxPaint;

        sal_Int32   m_nBrowserFlags;
        ImageList   m_aStatusImages;
        ::std::unique_ptr< EditBrowseBoxImpl> m_aImpl;

    protected:
        BrowserHeader*  pHeader;
        VclPtr<BrowserHeader>  pHeader;

        bool isGetCellFocusPending() const { return nStartEvent != 0; }
        void cancelGetCellFocus() { if (nStartEvent) Application::RemoveUserEvent(nStartEvent); nStartEvent = 0; }
diff --git a/include/svtools/fileview.hxx b/include/svtools/fileview.hxx
index 6b0dc15..614d654 100644
--- a/include/svtools/fileview.hxx
+++ b/include/svtools/fileview.hxx
@@ -212,10 +212,12 @@ enum QueryDeleteResult_Impl
class SVT_DLLPUBLIC QueryDeleteDlg_Impl : public MessageDialog
{
private:
    PushButton* m_pAllButton;
    VclPtr<PushButton> m_pAllButton;
public:

    QueryDeleteDlg_Impl(vcl::Window* pParent, const OUString& rName);
    virtual ~QueryDeleteDlg_Impl();
    virtual void dispose() SAL_OVERRIDE;

    void EnableAllButton() { m_pAllButton->Enable(true); }
};
diff --git a/include/svtools/generictoolboxcontroller.hxx b/include/svtools/generictoolboxcontroller.hxx
index 15b542c..d5bf7d7 100644
--- a/include/svtools/generictoolboxcontroller.hxx
+++ b/include/svtools/generictoolboxcontroller.hxx
@@ -50,8 +50,8 @@ class SVT_DLLPUBLIC GenericToolboxController : public svt::ToolboxController
         DECL_STATIC_LINK( GenericToolboxController, ExecuteHdl_Impl, ExecuteInfo* );

    private:
        ToolBox*    m_pToolbox;
        sal_uInt16  m_nID;
        VclPtr<ToolBox>    m_pToolbox;
        sal_uInt16         m_nID;
};

}
diff --git a/include/svtools/genericunodialog.hxx b/include/svtools/genericunodialog.hxx
index f0445ff..73fc6eb 100644
--- a/include/svtools/genericunodialog.hxx
+++ b/include/svtools/genericunodialog.hxx
@@ -38,6 +38,7 @@
#include <comphelper/propertycontainer.hxx>
#include <comphelper/broadcasthelper.hxx>
#include <tools/link.hxx>
#include <vcl/vclptr.hxx>

class Dialog;
namespace vcl { class Window; }
@@ -73,7 +74,7 @@ namespace svt
        ::osl::Mutex                    m_aExecutionMutex;  /// access safety for execute/cancel

    protected:
        Dialog*                     m_pDialog;                  /// the dialog to execute
        VclPtr<Dialog>              m_pDialog;                  /// the dialog to execute
        bool                        m_bExecuting : 1;           /// we're currently executing the dialog
        bool                        m_bCanceled : 1;            /// endDialog was called while we were executing
        bool                        m_bTitleAmbiguous : 1;      /// m_sTitle has not been set yet
diff --git a/include/svtools/prnsetup.hxx b/include/svtools/prnsetup.hxx
index 6b87e5d..c30062b 100644
--- a/include/svtools/prnsetup.hxx
+++ b/include/svtools/prnsetup.hxx
@@ -40,13 +40,13 @@ class QueueInfo;
class SVT_DLLPUBLIC PrinterSetupDialog : public ModalDialog
{
private:
    ListBox*        m_pLbName;
    PushButton*     m_pBtnProperties;
    PushButton*     m_pBtnOptions;
    FixedText*      m_pFiStatus;
    FixedText*      m_pFiType;
    FixedText*      m_pFiLocation;
    FixedText*      m_pFiComment;
    VclPtr<ListBox>        m_pLbName;
    VclPtr<PushButton>     m_pBtnProperties;
    VclPtr<PushButton>     m_pBtnOptions;
    VclPtr<FixedText>      m_pFiStatus;
    VclPtr<FixedText>      m_pFiType;
    VclPtr<FixedText>      m_pFiLocation;
    VclPtr<FixedText>      m_pFiComment;
    AutoTimer       maStatusTimer;
    Printer*        mpPrinter;
    Printer*        mpTempPrinter;
diff --git a/include/svtools/simptabl.hxx b/include/svtools/simptabl.hxx
index 7670b7f..1bcb1f7 100644
--- a/include/svtools/simptabl.hxx
+++ b/include/svtools/simptabl.hxx
@@ -29,13 +29,15 @@ class SvSimpleTable;
class SVT_DLLPUBLIC SvSimpleTableContainer : public Control
{
private:
    SvSimpleTable*     m_pTable;
    VclPtr<SvSimpleTable>     m_pTable;

protected:
    virtual bool PreNotify( NotifyEvent& rNEvt ) SAL_OVERRIDE;

public:
    SvSimpleTableContainer( vcl::Window* pParent, WinBits nBits = WB_BORDER );
    virtual ~SvSimpleTableContainer();
    virtual void dispose() SAL_OVERRIDE;

    void SetTable(SvSimpleTable* pTable);

diff --git a/include/svtools/tabbar.hxx b/include/svtools/tabbar.hxx
index be31ee6..d2c2783 100644
--- a/include/svtools/tabbar.hxx
+++ b/include/svtools/tabbar.hxx
@@ -315,6 +315,8 @@ class SVT_DLLPUBLIC TabBar : public vcl::Window
private:
    std::unique_ptr<TabBar_Impl> mpImpl;

    ImplTabBarList* mpItemList;

    OUString        maEditText;
    Color           maSelColor;
    Color           maSelTextColor;
diff --git a/include/svtools/treelistbox.hxx b/include/svtools/treelistbox.hxx
index cbac8ed..ed81c37 100644
--- a/include/svtools/treelistbox.hxx
+++ b/include/svtools/treelistbox.hxx
@@ -784,7 +784,7 @@ public:
struct SvLBoxDDInfo
{
    Application*    pApp;
    SvTreeListBox*         pSource;
    VclPtr<SvTreeListBox>         pSource;
    SvTreeListEntry*    pDDStartEntry;
    // Relative position in the Entry at DragBeginn (IconView)
    long            nMouseRelX,nMouseRelY;
@@ -797,7 +797,7 @@ class SvInplaceEdit2
    Accelerator aAccReturn;
    Accelerator aAccEscape;
    Idle        aIdle;
    Edit*       pEdit;
    VclPtr<Edit>  pEdit;
    bool        bCanceled;
    bool        bAlreadyInCallBack;

diff --git a/include/svtools/wizardmachine.hxx b/include/svtools/wizardmachine.hxx
index 053acdc..7a83cbd 100644
--- a/include/svtools/wizardmachine.hxx
+++ b/include/svtools/wizardmachine.hxx
@@ -155,15 +155,14 @@ namespace svt
        // So use the travelXXX methods if you need to travel

    protected:
        OKButton*       m_pFinish;
        CancelButton*   m_pCancel;
        PushButton*     m_pNextPage;
        PushButton*     m_pPrevPage;
        HelpButton*     m_pHelp;
        VclPtr<OKButton>       m_pFinish;
        VclPtr<CancelButton>   m_pCancel;
        VclPtr<PushButton>     m_pNextPage;
        VclPtr<PushButton>     m_pPrevPage;
        VclPtr<HelpButton>     m_pHelp;

    private:
        WizardMachineImplData*
                        m_pImpl;
        WizardMachineImplData*  m_pImpl;
            // hold members in this structure to allow keeping compatible when members are added

        SVT_DLLPRIVATE void addButtons(vcl::Window* _pParent, sal_uInt32 _nButtonFlags);
diff --git a/include/svtools/wizdlg.hxx b/include/svtools/wizdlg.hxx
index 498aa9c..9ae52d1b 100644
--- a/include/svtools/wizdlg.hxx
+++ b/include/svtools/wizdlg.hxx
@@ -202,10 +202,10 @@ private:
    Size                maPageSize;
    ImplWizPageData*    mpFirstPage;
    ImplWizButtonData*  mpFirstBtn;
    TabPage*            mpCurTabPage;
    PushButton*         mpPrevBtn;
    PushButton*         mpNextBtn;
    vcl::Window*             mpViewWindow;
    VclPtr<TabPage>         mpCurTabPage;
    VclPtr<PushButton>      mpPrevBtn;
    VclPtr<PushButton>      mpNextBtn;
    VclPtr<vcl::Window>     mpViewWindow;
    sal_uInt16              mnCurLevel;
    WindowAlign         meViewAlign;
    Link                maActivateHdl;
@@ -273,7 +273,7 @@ public:
    PushButton*         GetNextButton() const { return mpNextBtn; }

    void                SetViewWindow( vcl::Window* pWindow ) { mpViewWindow = pWindow; }
    vcl::Window*             GetViewWindow() const { return mpViewWindow; }
    vcl::Window*        GetViewWindow() const { return mpViewWindow; }
    void                SetViewAlign( WindowAlign eAlign ) { meViewAlign = eAlign; }
    WindowAlign         GetViewAlign() const { return meViewAlign; }

diff --git a/include/svx/AccessibleShapeTreeInfo.hxx b/include/svx/AccessibleShapeTreeInfo.hxx
index ec316f2..deacfd3 100644
--- a/include/svx/AccessibleShapeTreeInfo.hxx
+++ b/include/svx/AccessibleShapeTreeInfo.hxx
@@ -26,6 +26,7 @@
#include <com/sun/star/frame/XController.hpp>
#include <svx/IAccessibleViewForwarder.hxx>
#include <svx/svxdllapi.h>
#include <vcl/vclptr.hxx>

class SdrView;
namespace vcl { class Window; }
@@ -188,7 +189,7 @@ private:
    /** This window is necessary to construct an SvxTextEditSource which in
        turn is used to create an accessible edit engine.
    */
    vcl::Window* mpWindow;
    VclPtr<vcl::Window> mpWindow;

    /** The view forwarder allows the transformation between internal
        and pixel coordinates and can be asked for the visible area.
diff --git a/include/svx/bmpmask.hxx b/include/svx/bmpmask.hxx
index 52e4f15..41f93b7 100644
--- a/include/svx/bmpmask.hxx
+++ b/include/svx/bmpmask.hxx
@@ -81,33 +81,33 @@ class SVX_DLLPUBLIC SvxBmpMask : public SfxDockingWindow
    friend class MaskData;
    friend class MaskSet;

    ToolBox*            m_pTbxPipette;
    ColorWindow*        m_pCtlPipette;
    PushButton*         m_pBtnExec;
    VclPtr<ToolBox>            m_pTbxPipette;
    VclPtr<ColorWindow>        m_pCtlPipette;
    VclPtr<PushButton>         m_pBtnExec;

    CheckBox*           m_pCbx1;
    MaskSet*            m_pQSet1;
    MetricField*        m_pSp1;
    ColorLB*            m_pLbColor1;
    VclPtr<CheckBox>           m_pCbx1;
    VclPtr<MaskSet>            m_pQSet1;
    VclPtr<MetricField>        m_pSp1;
    VclPtr<ColorLB>            m_pLbColor1;

    CheckBox*           m_pCbx2;
    MaskSet*            m_pQSet2;
    MetricField*        m_pSp2;
    ColorLB*            m_pLbColor2;
    VclPtr<CheckBox>           m_pCbx2;
    VclPtr<MaskSet>            m_pQSet2;
    VclPtr<MetricField>        m_pSp2;
    VclPtr<ColorLB>            m_pLbColor2;

    CheckBox*           m_pCbx3;
    MaskSet*            m_pQSet3;
    MetricField*        m_pSp3;
    ColorLB*            m_pLbColor3;
    VclPtr<CheckBox>           m_pCbx3;
    VclPtr<MaskSet>            m_pQSet3;
    VclPtr<MetricField>        m_pSp3;
    VclPtr<ColorLB>            m_pLbColor3;

    CheckBox*           m_pCbx4;
    MaskSet*            m_pQSet4;
    MetricField*        m_pSp4;
    ColorLB*            m_pLbColor4;
    VclPtr<CheckBox>           m_pCbx4;
    VclPtr<MaskSet>            m_pQSet4;
    VclPtr<MetricField>        m_pSp4;
    VclPtr<ColorLB>            m_pLbColor4;

    MaskData*           pData;
    CheckBox*           m_pCbxTrans;
    ColorLB*            m_pLbColorTrans;
    VclPtr<CheckBox>           m_pCbxTrans;
    VclPtr<ColorLB>            m_pLbColorTrans;

    XColorListRef       pColLst;
    Color               aPipetteColor;
diff --git a/include/svx/compressgraphicdialog.hxx b/include/svx/compressgraphicdialog.hxx
index 83e1f66..7cbf1b2d 100644
--- a/include/svx/compressgraphicdialog.hxx
+++ b/include/svx/compressgraphicdialog.hxx
@@ -33,22 +33,22 @@ class SdrGrafObj;
class SVX_DLLPUBLIC CompressGraphicsDialog : public ModalDialog
{
private:
    FixedText*       m_pLabelGraphicType;
    FixedText*       m_pFixedText2;
    FixedText*       m_pFixedText3;
    FixedText*       m_pFixedText5;
    FixedText*       m_pFixedText6;
    VclPtr<FixedText>       m_pLabelGraphicType;
    VclPtr<FixedText>       m_pFixedText2;
    VclPtr<FixedText>       m_pFixedText3;
    VclPtr<FixedText>       m_pFixedText5;
    VclPtr<FixedText>       m_pFixedText6;

    CheckBox*        m_pReduceResolutionCB;
    NumericField*    m_pMFNewWidth;
    NumericField*    m_pMFNewHeight;
    ComboBox*        m_pResolutionLB;
    RadioButton*     m_pLosslessRB;
    RadioButton*     m_pJpegCompRB;
    NumericField*    m_pCompressionMF;
    NumericField*    m_pQualityMF;
    PushButton*      m_pBtnCalculate;
    ListBox*         m_pInterpolationCombo;
    VclPtr<CheckBox>        m_pReduceResolutionCB;
    VclPtr<NumericField>    m_pMFNewWidth;
    VclPtr<NumericField>    m_pMFNewHeight;
    VclPtr<ComboBox>        m_pResolutionLB;
    VclPtr<RadioButton>     m_pLosslessRB;
    VclPtr<RadioButton>     m_pJpegCompRB;
    VclPtr<NumericField>    m_pCompressionMF;
    VclPtr<NumericField>    m_pQualityMF;
    VclPtr<PushButton>      m_pBtnCalculate;
    VclPtr<ListBox>         m_pInterpolationCombo;

    SdrGrafObj*     m_pGraphicObj;
    Graphic         m_aGraphic;
@@ -83,6 +83,8 @@ private:
public:
    CompressGraphicsDialog( vcl::Window* pParent, SdrGrafObj* pGraphicObj, SfxBindings& rBindings );
    CompressGraphicsDialog( vcl::Window* pParent, Graphic& rGraphic, Size rViewSize100mm, Rectangle& rCropRectangle, SfxBindings& rBindings );
    virtual ~CompressGraphicsDialog();
    virtual void dispose() SAL_OVERRIDE;

    SdrGrafObj* GetCompressedSdrGrafObj();
    Graphic GetCompressedGraphic();
diff --git a/include/svx/contdlg.hxx b/include/svx/contdlg.hxx
index 064d003..a6725de 100644
--- a/include/svx/contdlg.hxx
+++ b/include/svx/contdlg.hxx
@@ -64,17 +64,19 @@ class SVX_DLLPUBLIC SvxContourDlg : public SfxFloatingWindow
{
    using Window::Update;

    SvxSuperContourDlg* pSuperClass;
    VclPtr<SvxSuperContourDlg> pSuperClass;


protected:

    void                SetSuperClass( SvxSuperContourDlg& rSuperClass ) { pSuperClass = &rSuperClass; }
    void                SetSuperClass( SvxSuperContourDlg& rSuperClass );

public:

                        SvxContourDlg(SfxBindings *pBindings, SfxChildWindow *pCW,
                                      vcl::Window* pParent);
    virtual             ~SvxContourDlg();
    virtual void        dispose() SAL_OVERRIDE;

    const Graphic&      GetGraphic() const;
    bool                IsGraphicChanged() const;
diff --git a/include/svx/ctredlin.hxx b/include/svx/ctredlin.hxx
index f5519bd..3639245 100644
--- a/include/svx/ctredlin.hxx
+++ b/include/svx/ctredlin.hxx
@@ -180,25 +180,25 @@ private:
    Link            aRefLink;
    Link            aModifyComLink;

    SvxRedlinTable* pRedlinTable;
    CheckBox*       m_pCbDate;
    ListBox*        m_pLbDate;
    DateField*      m_pDfDate;
    TimeField*      m_pTfDate;
    PushButton*     m_pIbClock;
    FixedText*      m_pFtDate2;
    DateField*      m_pDfDate2;
    TimeField*      m_pTfDate2;
    PushButton*     m_pIbClock2;
    CheckBox*       m_pCbAuthor;
    ListBox*        m_pLbAuthor;
    CheckBox*       m_pCbRange;
    Edit*           m_pEdRange;
    PushButton*     m_pBtnRange;
    CheckBox*       m_pCbAction;
    ListBox*        m_pLbAction;
    CheckBox*       m_pCbComment;
    Edit*           m_pEdComment;
    VclPtr<SvxRedlinTable> pRedlinTable;
    VclPtr<CheckBox>       m_pCbDate;
    VclPtr<ListBox>        m_pLbDate;
    VclPtr<DateField>      m_pDfDate;
    VclPtr<TimeField>      m_pTfDate;
    VclPtr<PushButton>     m_pIbClock;
    VclPtr<FixedText>      m_pFtDate2;
    VclPtr<DateField>      m_pDfDate2;
    VclPtr<TimeField>      m_pTfDate2;
    VclPtr<PushButton>     m_pIbClock2;
    VclPtr<CheckBox>       m_pCbAuthor;
    VclPtr<ListBox>        m_pLbAuthor;
    VclPtr<CheckBox>       m_pCbRange;
    VclPtr<Edit>           m_pEdRange;
    VclPtr<PushButton>     m_pBtnRange;
    VclPtr<CheckBox>       m_pCbAction;
    VclPtr<ListBox>        m_pLbAction;
    VclPtr<CheckBox>       m_pCbComment;
    VclPtr<Edit>           m_pEdComment;
    bool            bModified;

    DECL_LINK( SelDateHdl, ListBox* );
@@ -216,6 +216,8 @@ protected:

public:
                    SvxTPFilter( vcl::Window * pParent);
    virtual         ~SvxTPFilter();
    virtual void    dispose() SAL_OVERRIDE;

    virtual void    DeactivatePage() SAL_OVERRIDE;
    void            SetRedlinTable(SvxRedlinTable*);
@@ -305,12 +307,12 @@ private:
    Link            RejectAllClickLk;
    Link            UndoClickLk;

    SvxRedlinTable* m_pViewData;
    PushButton*     m_pAccept;
    PushButton*     m_pReject;
    PushButton*     m_pAcceptAll;
    PushButton*     m_pRejectAll;
    PushButton*     m_pUndo;
    VclPtr<SvxRedlinTable> m_pViewData;
    VclPtr<PushButton>     m_pAccept;
    VclPtr<PushButton>     m_pReject;
    VclPtr<PushButton>     m_pAcceptAll;
    VclPtr<PushButton>     m_pRejectAll;
    VclPtr<PushButton>     m_pUndo;

    bool bEnableAccept;
    bool bEnableAcceptAll;
@@ -374,8 +376,8 @@ class SVX_DLLPUBLIC SvxAcceptChgCtr
{
private:

    SvxTPFilter*    pTPFilter;
    SvxTPView*      pTPView;
    VclPtr<SvxTPFilter>    pTPFilter;
    VclPtr<SvxTPView>      pTPView;

    sal_uInt16      m_nViewPageId;
    sal_uInt16      m_nFilterPageId;
diff --git a/include/svx/dialcontrol.hxx b/include/svx/dialcontrol.hxx
index a2bc074..58ae42a 100644
--- a/include/svx/dialcontrol.hxx
+++ b/include/svx/dialcontrol.hxx
@@ -128,7 +128,7 @@ protected:
        std::unique_ptr<DialControlBmp> mxBmpDisabled;
        std::unique_ptr<DialControlBmp> mxBmpBuffered;
        Link                maModifyHdl;
        NumericField*       mpLinkField;
        VclPtr<NumericField>       mpLinkField;
        sal_Int32           mnLinkedFieldValueMultiplyer;
        Size                maWinSize;
        vcl::Font           maWinFont;
diff --git a/include/svx/fillctrl.hxx b/include/svx/fillctrl.hxx
index 1c164cd..fd7e5a0 100644
--- a/include/svx/fillctrl.hxx
+++ b/include/svx/fillctrl.hxx
@@ -50,9 +50,9 @@ private:
    XFillHatchItem*     mpHatchItem;
    XFillBitmapItem*    mpBitmapItem;

    FillControl*        mpFillControl;
    SvxFillTypeBox*     mpFillTypeLB;
    SvxFillAttrBox*     mpFillAttrLB;
    VclPtr<FillControl>        mpFillControl;
    VclPtr<SvxFillTypeBox>     mpFillTypeLB;
    VclPtr<SvxFillAttrBox>     mpFillAttrLB;

    css::drawing::FillStyle          meLastXFS;

@@ -77,8 +77,8 @@ class FillControl : public vcl::Window
private:
    friend class SvxFillToolBoxControl;

    SvxFillTypeBox*     mpLbFillType;
    SvxFillAttrBox*     mpLbFillAttr;
    VclPtr<SvxFillTypeBox>     mpLbFillType;
    VclPtr<SvxFillAttrBox>     mpLbFillAttr;
    Size                maLogicalFillSize;
    Size                maLogicalAttrSize;

diff --git a/include/svx/fmshell.hxx b/include/svx/fmshell.hxx
index 5c568de..b229cb4 100644
--- a/include/svx/fmshell.hxx
+++ b/include/svx/fmshell.hxx
@@ -89,7 +89,7 @@ class SVX_DLLPUBLIC FmFormShell : public SfxShell

    class FormShellWaitObject
    {
        vcl::Window* m_pWindow;
        VclPtr<vcl::Window> m_pWindow;
    public:
        FormShellWaitObject(const FmFormShell* _pShell);
        ~FormShellWaitObject();
diff --git a/include/svx/fontworkgallery.hxx b/include/svx/fontworkgallery.hxx
index c2521a7..6f24ccb 100644
--- a/include/svx/fontworkgallery.hxx
+++ b/include/svx/fontworkgallery.hxx
@@ -64,10 +64,12 @@ public:

class FontworkCharacterSpacingDialog : public ModalDialog
{
    MetricField* m_pMtrScale;
    VclPtr<MetricField> m_pMtrScale;

public:
    FontworkCharacterSpacingDialog( vcl::Window* pParent, sal_Int32 nScale );
    virtual ~FontworkCharacterSpacingDialog();
    virtual void dispose() SAL_OVERRIDE;

    sal_Int32 getScale() const;
};
@@ -75,8 +77,8 @@ public:

class SVX_DLLPUBLIC FontWorkGalleryDialog : public ModalDialog
{
    ValueSet*           mpCtlFavorites;
    OKButton*           mpOKButton;
    VclPtr<ValueSet>    mpCtlFavorites;
    VclPtr<OKButton>    mpOKButton;

    sal_uInt16          mnThemeId;

@@ -98,6 +100,8 @@ class SVX_DLLPUBLIC FontWorkGalleryDialog : public ModalDialog

public:
    FontWorkGalleryDialog( SdrView* pView, vcl::Window* pParent, sal_uInt16 nSID );
    virtual ~FontWorkGalleryDialog();
    virtual void dispose() SAL_OVERRIDE;

    // SJ: if the SdrObject** is set, the SdrObject is not inserted into the page when executing the dialog
    void SetSdrObjectRef( SdrObject**, SdrModel* pModel );
diff --git a/include/svx/hdft.hxx b/include/svx/hdft.hxx
index 719c5aa..53a762550 100644
--- a/include/svx/hdft.hxx
+++ b/include/svx/hdft.hxx
@@ -70,22 +70,22 @@ protected:

    SvxHFPage( vcl::Window* pParent, const SfxItemSet& rSet, sal_uInt16 nSetId );

    FixedText*       m_pPageLbl;
    CheckBox*        m_pTurnOnBox;
    CheckBox*        m_pCntSharedBox;
    CheckBox*        m_pCntSharedFirstBox;
    FixedText*       m_pLMLbl;
    MetricField*     m_pLMEdit;
    FixedText*       m_pRMLbl;
    MetricField*     m_pRMEdit;
    FixedText*       m_pDistFT;
    MetricField*     m_pDistEdit;
    CheckBox*        m_pDynSpacingCB;
    FixedText*       m_pHeightFT;
    MetricField*     m_pHeightEdit;
    CheckBox*        m_pHeightDynBtn;
    SvxPageWindow*   m_pBspWin;
    PushButton*      m_pBackgroundBtn;
    VclPtr<FixedText>       m_pPageLbl;
    VclPtr<CheckBox>        m_pTurnOnBox;
    VclPtr<CheckBox>        m_pCntSharedBox;
    VclPtr<CheckBox>        m_pCntSharedFirstBox;
    VclPtr<FixedText>       m_pLMLbl;
    VclPtr<MetricField>     m_pLMEdit;
    VclPtr<FixedText>       m_pRMLbl;
    VclPtr<MetricField>     m_pRMEdit;
    VclPtr<FixedText>       m_pDistFT;
    VclPtr<MetricField>     m_pDistEdit;
    VclPtr<CheckBox>        m_pDynSpacingCB;
    VclPtr<FixedText>       m_pHeightFT;
    VclPtr<MetricField>     m_pHeightEdit;
    VclPtr<CheckBox>        m_pHeightDynBtn;
    VclPtr<SvxPageWindow>   m_pBspWin;
    VclPtr<PushButton>      m_pBackgroundBtn;

    sal_uInt16       nId;
    SfxItemSet*      pBBSet;
diff --git a/include/svx/imapdlg.hxx b/include/svx/imapdlg.hxx
index d21dc42..fc0b758 100644
--- a/include/svx/imapdlg.hxx
+++ b/include/svx/imapdlg.hxx
@@ -82,14 +82,14 @@ class SVX_DLLPUBLIC SvxIMapDlg : public SfxModelessDialog // SfxFloatingWindow
    friend class IMapOwnData;
    friend class IMapWindow;

    ToolBox             *m_pTbxIMapDlg1;
    FixedText           *m_pFtURL;
    SvtURLBox           *m_pURLBox;
    FixedText           *m_pFtText;
    Edit                *m_pEdtText;
    FixedText           *m_pFtTarget;
    ComboBox            *m_pCbbTarget;
    StatusBar           *m_pStbStatus;
    VclPtr<ToolBox>             m_pTbxIMapDlg1;
    VclPtr<FixedText>           m_pFtURL;
    VclPtr<SvtURLBox>           m_pURLBox;
    VclPtr<FixedText>           m_pFtText;
    VclPtr<Edit>                m_pEdtText;
    VclPtr<FixedText>           m_pFtTarget;
    VclPtr<ComboBox>            m_pCbbTarget;
    VclPtr<StatusBar>           m_pStbStatus;

    sal_uInt16          mnApplyId;
    sal_uInt16          mnOpenId;
@@ -110,7 +110,7 @@ class SVX_DLLPUBLIC SvxIMapDlg : public SfxModelessDialog // SfxFloatingWindow
    sal_uInt16          mnPropertyId;

    Size                aLastSize;
    IMapWindow*         pIMapWnd;
    VclPtr<IMapWindow>         pIMapWnd;
    IMapOwnData*        pOwnData;
    void*               pCheckObj;
    SvxIMapDlgItem      aIMapItem;
diff --git a/include/svx/lboxctrl.hxx b/include/svx/lboxctrl.hxx
index 30a21b3..3fed044 100644
--- a/include/svx/lboxctrl.hxx
+++ b/include/svx/lboxctrl.hxx
@@ -34,7 +34,7 @@ class SvxListBoxControl : public SfxToolBoxControl
{
protected:
    OUString                aActionStr;
    SvxPopupWindowListBox * pPopupWin;
    VclPtr<SvxPopupWindowListBox> pPopupWin;

    void    Impl_SetInfo( sal_uInt16 nCount );

diff --git a/include/svx/linkwarn.hxx b/include/svx/linkwarn.hxx
index 395b1b6..b832637 100644
--- a/include/svx/linkwarn.hxx
+++ b/include/svx/linkwarn.hxx
@@ -27,7 +27,7 @@
class SVX_DLLPUBLIC SvxLinkWarningDialog : public MessageDialog
{
private:
    CheckBox* m_pWarningOnBox;
    VclPtr<CheckBox> m_pWarningOnBox;

public:
    SvxLinkWarningDialog(vcl::Window* pParent, const OUString& _rFileName);
diff --git a/include/svx/optgrid.hxx b/include/svx/optgrid.hxx
index 1d6e62b6..29e7b62 100644
--- a/include/svx/optgrid.hxx
+++ b/include/svx/optgrid.hxx
@@ -101,6 +101,8 @@ class SVX_DLLPUBLIC SvxGridTabPage : public SfxTabPage

public:
    SvxGridTabPage( vcl::Window* pParent, const SfxItemSet& rSet );
    virtual ~SvxGridTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet& rAttrSet );

@@ -111,30 +113,30 @@ public:
    virtual int         DeactivatePage( SfxItemSet* pSet ) SAL_OVERRIDE;

private:
    CheckBox*            pCbxUseGridsnap;
    CheckBox*            pCbxGridVisible;
    VclPtr<CheckBox>            pCbxUseGridsnap;
    VclPtr<CheckBox>            pCbxGridVisible;

    MetricField*         pMtrFldDrawX;
    MetricField*         pMtrFldDrawY;
    VclPtr<MetricField>         pMtrFldDrawX;
    VclPtr<MetricField>         pMtrFldDrawY;

    NumericField*        pNumFldDivisionX;
    NumericField*        pNumFldDivisionY;
    VclPtr<NumericField>        pNumFldDivisionX;
    VclPtr<NumericField>        pNumFldDivisionY;

    CheckBox*            pCbxSynchronize;
    VclPtr<CheckBox>            pCbxSynchronize;
protected:
    //these controls are used in draw and impress
    VclContainer*    pSnapFrames;
    CheckBox*        pCbxSnapHelplines;
    CheckBox*        pCbxSnapBorder;
    CheckBox*        pCbxSnapFrame;
    CheckBox*        pCbxSnapPoints;
    MetricField*     pMtrFldSnapArea;
    VclPtr<VclContainer>    pSnapFrames;
    VclPtr<CheckBox>        pCbxSnapHelplines;
    VclPtr<CheckBox>        pCbxSnapBorder;
    VclPtr<CheckBox>        pCbxSnapFrame;
    VclPtr<CheckBox>        pCbxSnapPoints;
    VclPtr<MetricField>     pMtrFldSnapArea;

    CheckBox*        pCbxOrtho;
    CheckBox*        pCbxBigOrtho;
    CheckBox*        pCbxRotate;
    MetricField*     pMtrFldAngle;
    MetricField*     pMtrFldBezAngle;
    VclPtr<CheckBox>        pCbxOrtho;
    VclPtr<CheckBox>        pCbxBigOrtho;
    VclPtr<CheckBox>        pCbxRotate;
    VclPtr<MetricField>     pMtrFldAngle;
    VclPtr<MetricField>     pMtrFldBezAngle;

private:
    bool                bAttrModified;
diff --git a/include/svx/passwd.hxx b/include/svx/passwd.hxx
index 901488c..89fbbde 100644
--- a/include/svx/passwd.hxx
+++ b/include/svx/passwd.hxx
@@ -33,12 +33,12 @@
class SVX_DLLPUBLIC SvxPasswordDialog : public SfxModalDialog
{
private:
    FixedText* m_pOldFL;
    FixedText* m_pOldPasswdFT;
    Edit* m_pOldPasswdED;
    Edit* m_pNewPasswdED;
    Edit* m_pRepeatPasswdED;
    OKButton* m_pOKBtn;
    VclPtr<FixedText> m_pOldFL;
    VclPtr<FixedText> m_pOldPasswdFT;
    VclPtr<Edit> m_pOldPasswdED;
    VclPtr<Edit> m_pNewPasswdED;
    VclPtr<Edit> m_pRepeatPasswdED;
    VclPtr<OKButton> m_pOKBtn;

    OUString        aOldPasswdErrStr;
    OUString        aRepeatPasswdErrStr;
@@ -52,6 +52,8 @@ private:

public:
                    SvxPasswordDialog( vcl::Window* pParent, bool bAllowEmptyPasswords = false, bool bDisableOldPassword = false );
    virtual         ~SvxPasswordDialog();
    virtual void    dispose() SAL_OVERRIDE;

    OUString        GetOldPassword() const { return m_pOldPasswdED->GetText(); }
    OUString        GetNewPassword() const { return m_pNewPasswdED->GetText(); }
diff --git a/include/svx/rubydialog.hxx b/include/svx/rubydialog.hxx
index 793fa88..5441c21 100644
--- a/include/svx/rubydialog.hxx
+++ b/include/svx/rubydialog.hxx
@@ -44,10 +44,12 @@ class RubyPreview : public vcl::Window
{
protected:
    virtual void Paint( const Rectangle& rRect ) SAL_OVERRIDE;
    SvxRubyDialog* m_pParentDlg;
    VclPtr<SvxRubyDialog> m_pParentDlg;

public:
    RubyPreview(vcl::Window *pParent);
    virtual ~RubyPreview();
    virtual void dispose() SAL_OVERRIDE;
    void setRubyDialog(SvxRubyDialog* pParentDlg)
    {
        m_pParentDlg = pParentDlg;
@@ -89,33 +91,33 @@ class SvxRubyDialog : public SfxModelessDialog
{
    friend class RubyPreview;

    FixedText*          m_pLeftFT;
    FixedText*          m_pRightFT;
    RubyEdit*           m_pLeft1ED;
    RubyEdit*           m_pRight1ED;
    RubyEdit*           m_pLeft2ED;
    RubyEdit*           m_pRight2ED;
    RubyEdit*           m_pLeft3ED;
    RubyEdit*           m_pRight3ED;
    RubyEdit*           m_pLeft4ED;
    RubyEdit*           m_pRight4ED;
    VclPtr<FixedText>          m_pLeftFT;
    VclPtr<FixedText>          m_pRightFT;
    VclPtr<RubyEdit>           m_pLeft1ED;
    VclPtr<RubyEdit>           m_pRight1ED;
    VclPtr<RubyEdit>           m_pLeft2ED;
    VclPtr<RubyEdit>           m_pRight2ED;
    VclPtr<RubyEdit>           m_pLeft3ED;
    VclPtr<RubyEdit>           m_pRight3ED;
    VclPtr<RubyEdit>           m_pLeft4ED;
    VclPtr<RubyEdit>           m_pRight4ED;

    RubyEdit*           aEditArr[8];
    VclScrolledWindow*  m_pScrolledWindow;
    ScrollBar*          m_pScrollSB;
    VclPtr<RubyEdit>           aEditArr[8];
    VclPtr<VclScrolledWindow>  m_pScrolledWindow;
    VclPtr<ScrollBar>          m_pScrollSB;

    ListBox*            m_pAdjustLB;
    VclPtr<ListBox>            m_pAdjustLB;

    ListBox*            m_pPositionLB;
    VclPtr<ListBox>            m_pPositionLB;

    FixedText*          m_pCharStyleFT;
    ListBox*            m_pCharStyleLB;
    PushButton*         m_pStylistPB;
    VclPtr<FixedText>          m_pCharStyleFT;
    VclPtr<ListBox>            m_pCharStyleLB;
    VclPtr<PushButton>         m_pStylistPB;

    RubyPreview*        m_pPreviewWin;
    VclPtr<RubyPreview>        m_pPreviewWin;

    PushButton*         m_pApplyPB;
    PushButton*         m_pClosePB;
    VclPtr<PushButton>         m_pApplyPB;
    VclPtr<PushButton>         m_pClosePB;

    long                nLastPos;
    long                nCurrentEdit;
diff --git a/include/svx/ruler.hxx b/include/svx/ruler.hxx
index 9a1195d..4c59878 100644
--- a/include/svx/ruler.hxx
+++ b/include/svx/ruler.hxx
@@ -57,7 +57,7 @@ class SVX_DLLPUBLIC SvxRuler: public Ruler, public SfxListener
    std::unique_ptr<SvxColumnItem>      mxColumnItem;     // columns
    std::unique_ptr<SvxObjectItem>      mxObjectItem;     // object

    vcl::Window*         pEditWin;
    VclPtr<vcl::Window>         pEditWin;

    std::unique_ptr<SvxRuler_Impl> mxRulerImpl;

diff --git a/include/svx/sidebar/Popup.hxx b/include/svx/sidebar/Popup.hxx
index e11e8c1..063e8e6 100644
--- a/include/svx/sidebar/Popup.hxx
+++ b/include/svx/sidebar/Popup.hxx
@@ -22,6 +22,7 @@
#include <svx/svxdllapi.h>
#include <rtl/ustring.hxx>
#include <tools/link.hxx>
#include <vcl/vclptr.hxx>

#include <boost/function.hpp>

@@ -89,7 +90,7 @@ protected:
    void CreateContainerAndControl (void);

private:
    vcl::Window* mpParent;
    VclPtr<vcl::Window> mpParent;
    ::boost::function<PopupControl*(PopupContainer*)> maControlCreator;
    ::boost::function<void(void)> maPopupModeEndCallback;
    const ::rtl::OUString msAccessibleName;
diff --git a/include/svx/srchdlg.hxx b/include/svx/srchdlg.hxx
index 35e259b..af4d542 100644
--- a/include/svx/srchdlg.hxx
+++ b/include/svx/srchdlg.hxx
@@ -89,7 +89,7 @@ enum SearchLabel
class SvxSearchDialog;
class SVX_DLLPUBLIC SvxSearchDialogWrapper : public SfxChildWindow
{
    SvxSearchDialog *dialog;
    VclPtr<SvxSearchDialog> dialog;
public:
    SvxSearchDialogWrapper( vcl::Window*pParent, sal_uInt16 nId,
                            SfxBindings* pBindings, SfxChildWinInfo* pInfo );
@@ -151,57 +151,57 @@ public:
    void SetSearchLabel(const OUString& rStr) { m_pSearchLabel->SetText(rStr); }

private:
    vcl::Window*         mpDocWin;
    VclPtr<vcl::Window>         mpDocWin;
    bool            mbSuccess;

    VclFrame*       m_pSearchFrame;
    ComboBox*       m_pSearchLB;
    ListBox*        m_pSearchTmplLB;
    FixedText*      m_pSearchAttrText;
    FixedText*      m_pSearchLabel;
    VclPtr<VclFrame>       m_pSearchFrame;
    VclPtr<ComboBox>       m_pSearchLB;
    VclPtr<ListBox>        m_pSearchTmplLB;
    VclPtr<FixedText>      m_pSearchAttrText;
    VclPtr<FixedText>      m_pSearchLabel;

    VclFrame*       m_pReplaceFrame;
    ComboBox*       m_pReplaceLB;
    ListBox*        m_pReplaceTmplLB;
    FixedText*      m_pReplaceAttrText;
    VclPtr<VclFrame>       m_pReplaceFrame;
    VclPtr<ComboBox>       m_pReplaceLB;
    VclPtr<ListBox>        m_pReplaceTmplLB;
    VclPtr<FixedText>      m_pReplaceAttrText;

    PushButton*     m_pSearchBtn;
    PushButton*     m_pSearchAllBtn;
    PushButton*     m_pReplaceBtn;
    PushButton*     m_pReplaceAllBtn;
    VclPtr<PushButton>    m_pSearchBtn;
    VclPtr<PushButton>     m_pSearchAllBtn;
    VclPtr<PushButton>     m_pReplaceBtn;
    VclPtr<PushButton>     m_pReplaceAllBtn;

    VclFrame*       m_pComponentFrame;
    PushButton*     m_pSearchComponent1PB;
    PushButton*     m_pSearchComponent2PB;
    VclPtr<VclFrame>       m_pComponentFrame;
    VclPtr<PushButton>     m_pSearchComponent1PB;
    VclPtr<PushButton>     m_pSearchComponent2PB;

    CheckBox*       m_pMatchCaseCB;
    CheckBox*       m_pWordBtn;
    VclPtr<CheckBox>       m_pMatchCaseCB;
    VclPtr<CheckBox>       m_pWordBtn;

    PushButton*     m_pCloseBtn;
    CheckBox*       m_pIgnoreDiacritics;
    CheckBox*       m_pIgnoreKashida;
    CheckBox*       m_pSelectionBtn;
    CheckBox*       m_pBackwardsBtn;
    CheckBox*       m_pRegExpBtn;
    CheckBox*       m_pSimilarityBox;
    PushButton*     m_pSimilarityBtn;
    CheckBox*       m_pLayoutBtn;
    CheckBox*       m_pNotesBtn;
    CheckBox*       m_pJapMatchFullHalfWidthCB;
    CheckBox*       m_pJapOptionsCB;
    PushButton*     m_pJapOptionsBtn;
    VclPtr<PushButton>     m_pCloseBtn;
    VclPtr<CheckBox>       m_pIgnoreDiacritics;
    VclPtr<CheckBox>       m_pIgnoreKashida;
    VclPtr<CheckBox>       m_pSelectionBtn;
    VclPtr<CheckBox>       m_pBackwardsBtn;
    VclPtr<CheckBox>       m_pRegExpBtn;
    VclPtr<CheckBox>       m_pSimilarityBox;
    VclPtr<PushButton>     m_pSimilarityBtn;
    VclPtr<CheckBox>       m_pLayoutBtn;
    VclPtr<CheckBox>       m_pNotesBtn;
    VclPtr<CheckBox>       m_pJapMatchFullHalfWidthCB;
    VclPtr<CheckBox>       m_pJapOptionsCB;
    VclPtr<PushButton>     m_pJapOptionsBtn;

    PushButton*     m_pAttributeBtn;
    PushButton*     m_pFormatBtn;
    PushButton*     m_pNoFormatBtn;
    VclPtr<PushButton>     m_pAttributeBtn;
    VclPtr<PushButton>     m_pFormatBtn;
    VclPtr<PushButton>     m_pNoFormatBtn;

    VclContainer*   m_pCalcGrid;
    FixedText*      m_pCalcSearchInFT;
    ListBox*        m_pCalcSearchInLB;
    FixedText*      m_pCalcSearchDirFT;
    RadioButton*    m_pRowsBtn;
    RadioButton*    m_pColumnsBtn;
    CheckBox*       m_pAllSheetsCB;
    VclPtr<VclContainer>   m_pCalcGrid;
    VclPtr<FixedText>      m_pCalcSearchInFT;
    VclPtr<ListBox>        m_pCalcSearchInLB;
    VclPtr<FixedText>      m_pCalcSearchDirFT;
    VclPtr<RadioButton>    m_pRowsBtn;
    VclPtr<RadioButton>    m_pColumnsBtn;
    VclPtr<CheckBox>       m_pAllSheetsCB;

    SfxBindings&    rBindings;
    bool            bWriter;
diff --git a/include/svx/svdedxv.hxx b/include/svx/svdedxv.hxx
index fb30ff7..4cd05fa 100644
--- a/include/svx/svdedxv.hxx
+++ b/include/svx/svdedxv.hxx
@@ -66,12 +66,12 @@ protected:
    SdrPageView*                pTextEditPV;
    SdrOutliner*                pTextEditOutliner;     // outliner for the TextEdit
    OutlinerView*               pTextEditOutlinerView; // current view of the outliners
    vcl::Window*                     pTextEditWin;          // matching window to pTextEditOutlinerView
    VclPtr<vcl::Window>         pTextEditWin;          // matching window to pTextEditOutlinerView
    vcl::Cursor*                pTextEditCursorMerker; // to restore the cursor in each window
    ImpSdrEditPara*             pEditPara; // trashbin for everything else to stay compatible
    SdrObject*                  pMacroObj;
    SdrPageView*                pMacroPV;
    vcl::Window*                     pMacroWin;
    VclPtr<vcl::Window>         pMacroWin;

    Rectangle                   aTextEditArea;
    Rectangle                   aMinTextEditArea;
diff --git a/include/svx/svdpntv.hxx b/include/svx/svdpntv.hxx
index 2bde92f..0959f1c 100644
--- a/include/svx/svdpntv.hxx
+++ b/include/svx/svdpntv.hxx
@@ -133,7 +133,7 @@ class SVX_DLLPUBLIC SdrPaintView : public SfxListener, public SfxRepeatTarget, p
protected:
    SdrModel*                   pMod;
#ifdef DBG_UTIL
    SdrItemBrowser*             pItemBrowser;
    VclPtr<SdrItemBrowser>      pItemBrowser;
#endif
    const OutputDevice*         pActualOutDev; // Nur zum vergleichen
    OutputDevice*               pDragWin;
@@ -516,7 +516,7 @@ public:
    // bei bShow=sal_False wird der Browser destruiert
#ifdef DBG_UTIL
    void ShowItemBrowser(bool bShow=true);
    bool IsItemBrowserVisible() const { return pItemBrowser!=NULL && GetItemBrowser()->IsVisible(); }
    bool IsItemBrowserVisible() const { return pItemBrowser!=nullptr && GetItemBrowser()->IsVisible(); }
    vcl::Window* GetItemBrowser() const;
#endif

diff --git a/include/svx/tbxcolorupdate.hxx b/include/svx/tbxcolorupdate.hxx
index 343d0fe..9f00d13 100644
--- a/include/svx/tbxcolorupdate.hxx
+++ b/include/svx/tbxcolorupdate.hxx
@@ -24,6 +24,7 @@

#include <tools/gen.hxx>
#include <tools/color.hxx>
#include <vcl/vclptr.hxx>

class ToolBox;
class VirtualDevice;
@@ -44,8 +45,8 @@ namespace svx
    {
    public:
                    ToolboxButtonColorUpdater( sal_uInt16   nSlotId,
                                                sal_uInt16   nTbxBtnId,
                                                ToolBox* ptrTbx);
                                               sal_uInt16   nTbxBtnId,
                                               ToolBox*     ptrTbx);
                    ~ToolboxButtonColorUpdater();

        void        Update( const Color& rColor );
@@ -53,7 +54,7 @@ namespace svx
    private:
        sal_uInt16      mnBtnId;
        sal_uInt16      mnSlotId;
        ToolBox*    mpTbx;
        VclPtr<ToolBox> mpTbx;
        Color       maCurColor;
        Rectangle   maUpdRect;
        Size        maBmpSize;
diff --git a/include/tools/errinf.hxx b/include/tools/errinf.hxx
index a16b56a..ae6e140 100644
--- a/include/tools/errinf.hxx
+++ b/include/tools/errinf.hxx
@@ -27,6 +27,7 @@
#include <tools/rtti.hxx>
#include <tools/errcode.hxx>
#include <tools/toolsdllapi.h>
#include <vcl/vclptr.hxx>

class EDcr_Impl;
class ErrHdl_Impl;
@@ -121,14 +122,14 @@ class TOOLS_DLLPUBLIC ErrorContext

private:
    ErrorContext*           pNext;
    vcl::Window*                 pWin;
    VclPtr<vcl::Window>     pWin;

public:
                            ErrorContext(vcl::Window *pWin=0);
    virtual                 ~ErrorContext();

    virtual bool            GetString( sal_uIntPtr nErrId, OUString& rCtxStr ) = 0;
    vcl::Window*                 GetParent() { return pWin; }
    vcl::Window*            GetParent() { return pWin; }

    static ErrorContext*    GetContext();
};
diff --git a/include/vcl/builder.hxx b/include/vcl/builder.hxx
index aba3f08..cdf2a9d 100644
--- a/include/vcl/builder.hxx
+++ b/include/vcl/builder.hxx
@@ -60,7 +60,7 @@ public:
    void disposeBuilder();

    //sID must exist and be of type T
    template <typename T> T* get(T*& ret, const OString& sID);
    template <typename T> T* get(VclPtr<T>& ret, const OString& sID);

    //sID may not exist, but must be of type T if it does
    template <typename T /*= vcl::Window if we had c++11*/> T* get(const OString& sID);
@@ -266,7 +266,7 @@ private:
        }
    };

    typedef std::map< vcl::Window*, stringmap> AtkMap;
    typedef std::map< VclPtr<vcl::Window>, stringmap> AtkMap;

    struct ParserState
    {
@@ -293,7 +293,7 @@ private:

        Translations m_aTranslations;

        std::map< vcl::Window*, vcl::Window*> m_aRedundantParentWidgets;
        std::map< VclPtr<vcl::Window>, VclPtr<vcl::Window> > m_aRedundantParentWidgets;

        std::vector<SizeGroup> m_aSizeGroups;

@@ -301,13 +301,11 @@ private:

        std::vector<MnemonicWidgetMap> m_aMnemonicWidgetMaps;

        std::vector<VclExpander*> m_aExpanderWidgets;
        std::vector< VclPtr<VclExpander> > m_aExpanderWidgets;

        sal_uInt16 m_nLastToolbarId;

        ParserState()
            : m_nLastToolbarId(0)
        {}
        ParserState();
    };

    void        loadTranslations(const LanguageTag &rLanguageTag, const OUString &rUri);
@@ -316,7 +314,7 @@ private:
    OString     m_sID;
    OString     m_sHelpRoot;
    ResHookProc m_pStringReplace;
    vcl::Window *m_pParent;
    VclPtr<vcl::Window> m_pParent;
    bool        m_bToplevelHasDeferredInit;
    bool        m_bToplevelHasDeferredProperties;
    bool        m_bToplevelParentFound;
@@ -408,7 +406,7 @@ private:
};

template <typename T>
inline T* VclBuilder::get(T*& ret, const OString& sID)
inline T* VclBuilder::get(VclPtr<T>& ret, const OString& sID)
{
    vcl::Window *w = get_by_name(sID);
    SAL_WARN_IF(!w, "vcl.layout", "widget \"" << sID.getStr() << "\" not found in .ui");
@@ -417,7 +415,7 @@ inline T* VclBuilder::get(T*& ret, const OString& sID)
    assert(w);
    assert(dynamic_cast<T*>(w));
    ret = static_cast<T*>(w);
    return ret;
    return ret.get();
}

//sID may not exist, but must be of type T if it does
@@ -466,7 +464,7 @@ public:

    css::uno::Reference<css::frame::XFrame> getFrame() { return m_pUIBuilder->getFrame(); }

    template <typename T> T* get(T*& ret, const OString& sID)
    template <typename T> T* get(VclPtr<T>& ret, const OString& sID)
    {
        return m_pUIBuilder->get<T>(ret, sID);
    }
diff --git a/include/vcl/button.hxx b/include/vcl/button.hxx
index 124b314..de7fbee 100644
--- a/include/vcl/button.hxx
+++ b/include/vcl/button.hxx
@@ -274,7 +274,7 @@ public:
class VCL_DLLPUBLIC RadioButton : public Button
{
private:
    std::shared_ptr< std::vector<RadioButton*> > m_xGroup;
    std::shared_ptr< std::vector< VclPtr< RadioButton > > > m_xGroup;
    Rectangle       maStateRect;
    Rectangle       maMouseRect;
    Image           maImage;
@@ -389,7 +389,7 @@ public:
    on return contains the <code>RadioButton</code>s
    in the same group as this <code>RadioButton</code>.
    */
    std::vector<RadioButton*> GetRadioButtonGroup(bool bIncludeThis = true) const;
    std::vector<VclPtr<RadioButton> > GetRadioButtonGroup(bool bIncludeThis = true) const;

    virtual bool set_property(const OString &rKey, const OString &rValue) SAL_OVERRIDE;

diff --git a/include/vcl/combobox.hxx b/include/vcl/combobox.hxx
index d36db77..678dbc5 100644
--- a/include/vcl/combobox.hxx
+++ b/include/vcl/combobox.hxx
@@ -36,9 +36,9 @@ class VCL_DLLPUBLIC ComboBox : public Edit
{
private:
    VclPtr<Edit>                mpSubEdit;
    ImplListBox*                mpImplLB;
    ImplBtn*                    mpBtn;
    ImplListBoxFloatingWindow*  mpFloatWin;
    VclPtr<ImplListBox>         mpImplLB;
    VclPtr<ImplBtn>             mpBtn;
    VclPtr<ImplListBoxFloatingWindow>  mpFloatWin;
    sal_uInt16                  mnDDHeight;
    sal_Unicode                 mcMultiSep;
    bool                        mbDDAutoSize        : 1;
diff --git a/include/vcl/controllayout.hxx b/include/vcl/controllayout.hxx
index 0856a699..f916724 100644
--- a/include/vcl/controllayout.hxx
+++ b/include/vcl/controllayout.hxx
@@ -42,9 +42,9 @@ struct VCL_DLLPUBLIC ControlLayoutData
    // start indices of lines
    std::vector< long >                 m_aLineIndices;
    // notify parent control on destruction
    const Control*                      m_pParent;
    VclPtr<const Control>               m_pParent;

    ControlLayoutData() : m_pParent( NULL ) {}
    ControlLayoutData();
    ~ControlLayoutData();

    Rectangle GetCharacterBounds( long nIndex ) const;
diff --git a/include/vcl/cursor.hxx b/include/vcl/cursor.hxx
index 2d3b83c..eecbd0c 100644
--- a/include/vcl/cursor.hxx
+++ b/include/vcl/cursor.hxx
@@ -23,6 +23,7 @@
#include <tools/gen.hxx>
#include <tools/link.hxx>
#include <vcl/dllapi.h>
#include <vcl/vclptr.hxx>

struct ImplCursorData;
namespace vcl { class Window; }
@@ -40,7 +41,7 @@ class VCL_DLLPUBLIC Cursor
{
private:
    ImplCursorData* mpData;
    vcl::Window*         mpWindow;           // only for shadow cursor
    VclPtr<vcl::Window> mpWindow;           // only for shadow cursor
    long            mnSlant;
    Size            maSize;
    Point           maPos;
diff --git a/include/vcl/dialog.hxx b/include/vcl/dialog.hxx
index e5a895f..652a069 100644
--- a/include/vcl/dialog.hxx
+++ b/include/vcl/dialog.hxx
@@ -40,7 +40,7 @@ class VclButtonBox;
class VCL_DLLPUBLIC Dialog : public SystemWindow
{
private:
    Dialog*         mpPrevExecuteDlg;
    VclPtr<Dialog>  mpPrevExecuteDlg;
    DialogImpl*     mpDialogImpl;
    long            mnMousePositioned;
    bool            mbInExecute;
diff --git a/include/vcl/dockwin.hxx b/include/vcl/dockwin.hxx
index 685dcd462..71c8181 100644
--- a/include/vcl/dockwin.hxx
+++ b/include/vcl/dockwin.hxx
@@ -80,12 +80,12 @@ class ImplDockingWindowWrapper
private:

    // the original 'Docking'window
    vcl::Window *mpDockingWindow;
    VclPtr<vcl::Window>    mpDockingWindow;

    // the original DockingWindow members
    FloatingWindow* mpFloatWin;
    vcl::Window*         mpOldBorderWin;
    vcl::Window*         mpParent;
    VclPtr<FloatingWindow> mpFloatWin;
    VclPtr<vcl::Window>    mpOldBorderWin;
    VclPtr<vcl::Window>    mpParent;
    Point           maFloatPos;
    Point           maDockPos;
    Point           maMouseOff;
@@ -225,8 +225,8 @@ class VCL_DLLPUBLIC DockingWindow
{
    class   ImplData;
private:
    FloatingWindow* mpFloatWin;
    vcl::Window*         mpOldBorderWin;
    VclPtr<FloatingWindow> mpFloatWin;
    VclPtr<vcl::Window>    mpOldBorderWin;
    ImplData*       mpImplData;
    Point           maFloatPos;
    Point           maDockPos;
@@ -261,7 +261,7 @@ private:
                    mbIsCalculatingInitialLayoutSize:1,
                    mbInitialLayoutDone:1;

    vcl::Window*    mpDialogParent;
    VclPtr<vcl::Window>  mpDialogParent;

    SAL_DLLPRIVATE void    ImplInitDockingWindowData();
    SAL_DLLPRIVATE void setPosSizeOnContainee(Size aSize, Window &rBox);
diff --git a/include/vcl/event.hxx b/include/vcl/event.hxx
index 05a54dc..22361a6 100644
--- a/include/vcl/event.hxx
+++ b/include/vcl/event.hxx
@@ -26,6 +26,7 @@
#include <vcl/keycod.hxx>
#include <vcl/cmdevt.hxx>
#include <vcl/settings.hxx>
#include <vcl/vclptr.hxx>

class AllSettings;
class OutputDevice;
@@ -411,7 +412,7 @@ enum class MouseNotifyEvent
class VCL_DLLPUBLIC NotifyEvent
{
private:
    vcl::Window*                 mpWindow;
    VclPtr<vcl::Window>     mpWindow;
    void*                   mpData;
    MouseNotifyEvent        mnEventType;
    long                    mnRetValue;
diff --git a/include/vcl/field.hxx b/include/vcl/field.hxx
index fc51b62..65baa30 100644
--- a/include/vcl/field.hxx
+++ b/include/vcl/field.hxx
@@ -41,7 +41,7 @@ class LanguageTag;
class VCL_DLLPUBLIC FormatterBase
{
private:
    Edit*                   mpField;
    VclPtr<Edit>            mpField;
    LocaleDataWrapper*      mpLocaleDataWrapper;
    Link                    maErrorLink;
    bool                    mbReformat;
diff --git a/include/vcl/fixed.hxx b/include/vcl/fixed.hxx
index 19c070e..3ba8b2c 100644
--- a/include/vcl/fixed.hxx
+++ b/include/vcl/fixed.hxx
@@ -38,7 +38,7 @@ class VCL_DLLPUBLIC FixedText : public Control
private:
    sal_Int32 m_nMaxWidthChars;
    sal_Int32 m_nMinWidthChars;
    vcl::Window *m_pMnemonicWindow;
    VclPtr<vcl::Window> m_pMnemonicWindow;

    using Control::ImplInitSettings;
    using Window::ImplInit;
diff --git a/include/vcl/floatwin.hxx b/include/vcl/floatwin.hxx
index 6c1147d..a9033a2 100644
--- a/include/vcl/floatwin.hxx
+++ b/include/vcl/floatwin.hxx
@@ -73,8 +73,8 @@ class VCL_DLLPUBLIC FloatingWindow : public SystemWindow
{
    class   ImplData;
private:
    FloatingWindow* mpNextFloat;
    vcl::Window*         mpFirstPopupModeWin;
    VclPtr<FloatingWindow>  mpNextFloat;
    VclPtr<vcl::Window>     mpFirstPopupModeWin;
    ImplData*       mpImplData;
    Rectangle       maFloatRect;
    ImplSVEvent *   mnPostId;
diff --git a/include/vcl/fltcall.hxx b/include/vcl/fltcall.hxx
index 6e7ab51..48f7ac9 100644
--- a/include/vcl/fltcall.hxx
+++ b/include/vcl/fltcall.hxx
@@ -33,7 +33,7 @@ namespace vcl { class Window; }
struct FltCallDialogParameter
{

    vcl::Window*     pWindow;
    VclPtr<vcl::Window> pWindow;
    ResMgr*     pResMgr;
    FieldUnit   eFieldUnit;
    OUString    aFilterExt;
diff --git a/include/vcl/layout.hxx b/include/vcl/layout.hxx
index 1f85556..469c7e4 100644
--- a/include/vcl/layout.hxx
+++ b/include/vcl/layout.hxx
@@ -354,7 +354,7 @@ private:

    struct GridEntry
    {
        vcl::Window *pChild;
        VclPtr<vcl::Window> pChild;
        sal_Int32 nSpanWidth;
        sal_Int32 nSpanHeight;
        GridEntry()
@@ -456,7 +456,7 @@ public:
class VCL_DLLPUBLIC VclFrame : public VclBin
{
private:
    vcl::Window *m_pLabel;
    VclPtr<vcl::Window> m_pLabel;
private:
    friend class VclBuilder;
    void designate_label(vcl::Window *pWindow);
@@ -467,6 +467,8 @@ public:
        , m_pLabel(NULL)
    {
    }
    virtual ~VclFrame();
    virtual void dispose() SAL_OVERRIDE;
    void set_label(const OUString &rLabel);
    OUString get_label() const;
    virtual vcl::Window *get_child() SAL_OVERRIDE;
@@ -520,6 +522,8 @@ public:
        m_pDisclosureButton->SetToggleHdl(LINK(this, VclExpander, ClickHdl));
        m_pDisclosureButton->Show();
    }
    virtual ~VclExpander() { dispose(); }
    void dispose() SAL_OVERRIDE { m_pDisclosureButton.clear(); VclBin::dispose(); }
    virtual vcl::Window *get_child() SAL_OVERRIDE;
    virtual const vcl::Window *get_child() const SAL_OVERRIDE;
    virtual bool set_property(const OString &rKey, const OString &rValue) SAL_OVERRIDE;
@@ -545,7 +549,6 @@ public:
protected:
    virtual Size calculateRequisition() const SAL_OVERRIDE;
    virtual void setAllocation(const Size &rAllocation) SAL_OVERRIDE;
    void dispose() SAL_OVERRIDE { m_pDisclosureButton.disposeAndClear(); VclBin::dispose(); }
private:
    bool m_bResizeTopLevel;
    VclPtr<DisclosureButton> m_pDisclosureButton;
@@ -557,6 +560,8 @@ class VCL_DLLPUBLIC VclScrolledWindow : public VclBin
{
public:
    VclScrolledWindow(vcl::Window *pParent, WinBits nStyle = WB_HIDE | WB_CLIPCHILDREN | WB_AUTOHSCROLL | WB_AUTOVSCROLL);
    virtual ~VclScrolledWindow() { dispose(); }
    void dispose() SAL_OVERRIDE { m_pVScroll.disposeAndClear(); m_pHScroll.disposeAndClear(); m_aScrollBarBox.clear(); VclBin::dispose(); }
    virtual vcl::Window *get_child() SAL_OVERRIDE;
    virtual const vcl::Window *get_child() const SAL_OVERRIDE;
    virtual bool set_property(const OString &rKey, const OString &rValue) SAL_OVERRIDE;
@@ -572,7 +577,6 @@ protected:
    DECL_LINK(ScrollBarHdl, void *);
    void InitScrollBars(const Size &rRequest);
    virtual bool Notify(NotifyEvent& rNEvt) SAL_OVERRIDE;
    void dispose() SAL_OVERRIDE { m_pVScroll.disposeAndClear(); m_pHScroll.disposeAndClear(); m_aScrollBarBox.disposeAndClear(); VclBin::dispose(); }
private:
    bool m_bUserManagedScrolling;
    VclPtr<ScrollBar> m_pVScroll;
@@ -648,7 +652,7 @@ enum VclSizeGroupMode
class VCL_DLLPUBLIC VclSizeGroup
{
private:
    std::set<vcl::Window*> m_aWindows;
    std::set< VclPtr<vcl::Window> > m_aWindows;
    bool m_bIgnoreHidden;
    VclSizeGroupMode m_eMode;

@@ -661,17 +665,17 @@ public:
    }
    void insert(vcl::Window *pWindow)
    {
        m_aWindows.insert(pWindow);
        m_aWindows.insert(VclPtr<vcl::Window>(pWindow));
    }
    void erase(vcl::Window *pWindow)
    {
        m_aWindows.erase(pWindow);
        m_aWindows.erase(VclPtr<vcl::Window>(pWindow));
    }
    const std::set<vcl::Window*>& get_widgets() const
    const std::set< VclPtr<vcl::Window> >& get_widgets() const
    {
        return m_aWindows;
    }
    std::set<vcl::Window*>& get_widgets()
    std::set< VclPtr<vcl::Window> >& get_widgets()
    {
        return m_aWindows;
    }
@@ -714,11 +718,11 @@ private:
    VclPtr<VclBox> m_pOwnedContentArea;
    VclPtr<VclButtonBox> m_pOwnedActionArea;
    VclPtr<VclGrid> m_pGrid;
    FixedImage* m_pImage;
    VclMultiLineEdit* m_pPrimaryMessage;
    VclMultiLineEdit* m_pSecondaryMessage;
    VclPtr<FixedImage> m_pImage;
    VclPtr<VclMultiLineEdit> m_pPrimaryMessage;
    VclPtr<VclMultiLineEdit> m_pSecondaryMessage;
    std::vector<VclPtr<PushButton> > m_aOwnedButtons;
    std::map<const vcl::Window*, short> m_aResponses;
    std::map< VclPtr<const vcl::Window>, short> m_aResponses;
    OUString m_sPrimaryString;
    OUString m_sSecondaryString;
    DECL_DLLPRIVATE_LINK(ButtonHdl, Button *);
diff --git a/include/vcl/lstbox.hxx b/include/vcl/lstbox.hxx
index fdbce07..c62ee8d 100644
--- a/include/vcl/lstbox.hxx
+++ b/include/vcl/lstbox.hxx
@@ -37,10 +37,10 @@ class ImplWin;
class VCL_DLLPUBLIC ListBox : public Control
{
private:
    ImplListBox*                mpImplLB;
    ImplListBoxFloatingWindow*  mpFloatWin;
    ImplWin*                    mpImplWin;
    ImplBtn*                    mpBtn;
    VclPtr<ImplListBox>                mpImplLB;
    VclPtr<ImplListBoxFloatingWindow>  mpFloatWin;
    VclPtr<ImplWin>                    mpImplWin;
    VclPtr<ImplBtn>                    mpBtn;
    sal_uInt16                  mnDDHeight;
    sal_Int32                   mnSaveValue;
    sal_Int32                   m_nMaxWidthChars;
diff --git a/include/vcl/menu.hxx b/include/vcl/menu.hxx
index cd058db..8cf8c00 100644
--- a/include/vcl/menu.hxx
+++ b/include/vcl/menu.hxx
@@ -124,7 +124,7 @@ private:
    MenuItemList*       pItemList;          // Liste mit den MenuItems
    MenuLogo*           pLogo;
    Menu*               pStartedFrom;
    vcl::Window*             pWindow;
    VclPtr<vcl::Window> pWindow;

    Link                aActivateHdl;       // Active-Handler
    Link                aDeactivateHdl;     // Deactivate-Handler
diff --git a/include/vcl/msgbox.hxx b/include/vcl/msgbox.hxx
index 15d4161..8147821 100644
--- a/include/vcl/msgbox.hxx
+++ b/include/vcl/msgbox.hxx
@@ -32,14 +32,14 @@ class CheckBox;
class VCL_DLLPUBLIC MessBox : public ButtonDialog
{
protected:
    VclMultiLineEdit*   mpVCLMultiLineEdit;
    FixedImage*         mpFixedImage;
    OUString            maMessText;
    Image               maImage;
    bool            mbHelpBtn;
    CheckBox*           mpCheckBox;
    OUString            maCheckBoxText;
    bool            mbCheck;
    VclPtr<VclMultiLineEdit>   mpVCLMultiLineEdit;
    VclPtr<FixedImage>         mpFixedImage;
    OUString                   maMessText;
    Image                      maImage;
    bool                       mbHelpBtn;
    VclPtr<CheckBox>           mpCheckBox;
    OUString                   maCheckBoxText;
    bool                       mbCheck;

    SAL_DLLPRIVATE void ImplInitMessBoxData();
    SAL_DLLPRIVATE void ImplInitButtons();
diff --git a/include/vcl/opengl/OpenGLContext.hxx b/include/vcl/opengl/OpenGLContext.hxx
index 56c34c0..b69bda3 100644
--- a/include/vcl/opengl/OpenGLContext.hxx
+++ b/include/vcl/opengl/OpenGLContext.hxx
@@ -249,10 +249,10 @@ private:
#endif

    GLWindow m_aGLWin;
    std::unique_ptr<vcl::Window> m_xWindow;
    vcl::Window* mpWindow; //points to m_xWindow or the parent window, don't delete it
    SystemChildWindow* m_pChildWindow;
    std::unique_ptr<SystemChildWindow> m_xChildWindowGC;
    VclPtr<vcl::Window> m_xWindow;
    VclPtr<vcl::Window> mpWindow; //points to m_pWindow or the parent window, don't delete it
    VclPtr<SystemChildWindow> m_pChildWindow;
    boost::scoped_ptr<SystemChildWindow> m_pChildWindowGC;
    bool mbInitialized;
    int  mnRefCount;
    bool mbRequestLegacyContext;
diff --git a/include/vcl/seleng.hxx b/include/vcl/seleng.hxx
index cbfd9c3..7815271 100644
--- a/include/vcl/seleng.hxx
+++ b/include/vcl/seleng.hxx
@@ -83,7 +83,7 @@ class VCL_DLLPUBLIC SelectionEngine
{
private:
    FunctionSet*        pFunctionSet;
    vcl::Window*             pWin;
    VclPtr<vcl::Window> pWin;
    Rectangle           aArea;
    Timer               aWTimer; // generate fake mouse moves
    MouseEvent          aLastMove;
diff --git a/include/vcl/split.hxx b/include/vcl/split.hxx
index c167ce7..86df902 100644
--- a/include/vcl/split.hxx
+++ b/include/vcl/split.hxx
@@ -28,7 +28,7 @@
class VCL_DLLPUBLIC Splitter : public vcl::Window
{
private:
    vcl::Window*        mpRefWin;
    VclPtr<vcl::Window> mpRefWin;
    long                mnSplitPos;
    long                mnLastSplitPos;
    long                mnStartSplitPos;
diff --git a/include/vcl/syswin.hxx b/include/vcl/syswin.hxx
index 4f7d572..f90fb16 100644
--- a/include/vcl/syswin.hxx
+++ b/include/vcl/syswin.hxx
@@ -149,7 +149,7 @@ private:
    Idle            maLayoutIdle;
protected:
    bool            mbIsDefferedInit;
    vcl::Window*         mpDialogParent;
    VclPtr<vcl::Window> mpDialogParent;
public:
    using Window::ImplIsInTaskPaneList;
    SAL_DLLPRIVATE bool ImplIsInTaskPaneList( vcl::Window* pWin );
diff --git a/include/vcl/tabdlg.hxx b/include/vcl/tabdlg.hxx
index f02e2a7..db3f592 100644
--- a/include/vcl/tabdlg.hxx
+++ b/include/vcl/tabdlg.hxx
@@ -29,8 +29,8 @@ class TabControl;
class VCL_DLLPUBLIC TabDialog : public Dialog
{
private:
    FixedLine*          mpFixedLine;
    vcl::Window*             mpViewWindow;
    VclPtr<FixedLine>   mpFixedLine;
    VclPtr<vcl::Window> mpViewWindow;
    WindowAlign         meViewAlign;
    bool                mbPosControls;

diff --git a/include/vcl/tabpage.hxx b/include/vcl/tabpage.hxx
index 7294d48..702a42c 100644
--- a/include/vcl/tabpage.hxx
+++ b/include/vcl/tabpage.hxx
@@ -41,7 +41,7 @@ private:
public:
    explicit        TabPage( vcl::Window* pParent, WinBits nStyle = 0 );
    explicit        TabPage( vcl::Window *pParent, const OString& rID, const OUString& rUIXMLDescription );
                   ~TabPage();
    virtual         ~TabPage();
    virtual void    dispose() SAL_OVERRIDE;

    virtual void    Paint( const Rectangle& rRect ) SAL_OVERRIDE;
diff --git a/include/vcl/taskpanelist.hxx b/include/vcl/taskpanelist.hxx
index c8a6abd..738f2b8 100644
--- a/include/vcl/taskpanelist.hxx
+++ b/include/vcl/taskpanelist.hxx
@@ -27,7 +27,7 @@

class VCL_DLLPUBLIC TaskPaneList
{
    ::std::vector<vcl::Window *> mTaskPanes;
    ::std::vector< VclPtr<vcl::Window> > mTaskPanes;
    vcl::Window *FindNextFloat( vcl::Window *pWindow, bool bForward = true );
    vcl::Window *FindNextSplitter( vcl::Window *pWindow, bool bForward = true );

diff --git a/include/vcl/toolbox.hxx b/include/vcl/toolbox.hxx
index 8c72c3c..269c518 100644
--- a/include/vcl/toolbox.hxx
+++ b/include/vcl/toolbox.hxx
@@ -42,7 +42,7 @@ class  PopupMenu;
class VCL_DLLPUBLIC ToolBoxCustomizeEvent
{
private:
    ToolBox*    mpTargetBox;
    VclPtr<ToolBox> mpTargetBox;
    void*       mpData;
    sal_uInt16      mnIdFrom;
    sal_uInt16      mnPosTo;
@@ -131,7 +131,7 @@ private:
    Rectangle           maOutDockRect;
    Rectangle           maInDockRect;
    Rectangle           maPaintRect;
    FloatingWindow*     mpFloatWin;
    VclPtr<FloatingWindow>  mpFloatWin;
    sal_uInt16              mnKeyModifier;
    long                mnDX;
    long                mnDY;
diff --git a/include/vcl/vclevent.hxx b/include/vcl/vclevent.hxx
index 4e165a4..a6a809f 100644
--- a/include/vcl/vclevent.hxx
+++ b/include/vcl/vclevent.hxx
@@ -24,6 +24,7 @@
#include <tools/rtti.hxx>
#include <vcl/dllapi.h>
#include <vcl/impdel.hxx>
#include <vcl/vclptr.hxx>

#include <com/sun/star/uno/Reference.hxx>

@@ -213,12 +214,12 @@ public:
class VCL_DLLPUBLIC VclWindowEvent : public VclSimpleEvent
{
private:
    vcl::Window* pWindow;
    VclPtr<vcl::Window> pWindow;
    void*   pData;

public:
    VclWindowEvent( vcl::Window* pWin, sal_uLong n, void* pDat = NULL ) : VclSimpleEvent(n) { pWindow = pWin; pData = pDat; }
    virtual ~VclWindowEvent() {}
    VclWindowEvent( vcl::Window* pWin, sal_uLong n, void* pDat = NULL );
    virtual ~VclWindowEvent();
    TYPEINFO_OVERRIDE();

    vcl::Window* GetWindow() const { return pWindow; }
diff --git a/include/vcl/vclptr.hxx b/include/vcl/vclptr.hxx
index 50a87ba..832d608 100644
--- a/include/vcl/vclptr.hxx
+++ b/include/vcl/vclptr.hxx
@@ -21,6 +21,7 @@
#define INCLUDED_VCL_PTR_HXX

#include <rtl/ref.hxx>
#include <cstddef>

/// @cond INTERNAL
namespace vcl { namespace detail {
@@ -68,6 +69,8 @@ public:

}; }; // namespace detail, namespace vcl

namespace vcl { class Window; }

/**
 * A thin wrapper around rtl::Reference to implement the acquire and dispose semantics we want for references to vcl::Window subclasses.
 *
@@ -91,7 +94,7 @@ public:

    /** Constructor...
     */
    explicit inline VclPtr (reference_type * pBody)
    inline VclPtr (reference_type * pBody)
        : m_rInnerRef(pBody)
    {}

@@ -180,6 +183,41 @@ public:
        }
    }

    /** Returns True if handle points to the same body.
     */
    template<class T>
    inline bool SAL_CALL operator== (const VclPtr<T> & handle) const
    {
        return (get() == handle.get());
    }

    /** Needed to place VclPtr's into STL collection.
     */
    inline bool SAL_CALL operator!= (const VclPtr<reference_type> & handle) const
    {
        return (m_rInnerRef != handle.m_rInnerRef);
    }

    /** Makes comparing against NULL easier, resolves compile-time ambiguity */
    inline bool SAL_CALL operator!= (::std::nullptr_t ) const
    {
        return (get() != nullptr);
    }

    /** Needed to place VclPtr's into STL collection.
     */
    inline bool SAL_CALL operator< (const VclPtr<reference_type> & handle) const
    {
        return (m_rInnerRef < handle.m_rInnerRef);
    }


    /** Needed to place VclPtr's into STL collection.
     */
    inline bool SAL_CALL operator> (const VclPtr<reference_type> & handle) const
    {
        return (m_rInnerRef > handle.m_rInnerRef);
    }
}; // class VclPtr

#endif // INCLUDED_VCL_PTR_HXX
diff --git a/include/vcl/waitobj.hxx b/include/vcl/waitobj.hxx
index d6deecf..daf0e2a 100644
--- a/include/vcl/waitobj.hxx
+++ b/include/vcl/waitobj.hxx
@@ -26,7 +26,7 @@
class VCL_DLLPUBLIC WaitObject
{
private:
    vcl::Window*     mpWindow;
    VclPtr<vcl::Window>  mpWindow;
public:
                WaitObject( vcl::Window* pWindow )
                {
diff --git a/include/vcl/window.hxx b/include/vcl/window.hxx
index 7d104a4..cb178d2 100644
--- a/include/vcl/window.hxx
+++ b/include/vcl/window.hxx
@@ -662,7 +662,7 @@ private:
    SAL_DLLPRIVATE long                 ImplGetUnmirroredOutOffX();

    // retrieves the list of owner draw decorated windows for this window hiearchy
    SAL_DLLPRIVATE ::std::vector<vcl::Window *>& ImplGetOwnerDrawList();
    SAL_DLLPRIVATE ::std::vector<VclPtr<vcl::Window> >& ImplGetOwnerDrawList();

    SAL_DLLPRIVATE vcl::Window*         ImplGetTopmostFrameWindow();

@@ -1431,7 +1431,7 @@ public:
     */
    void add_mnemonic_label(FixedText *pLabel);
    void remove_mnemonic_label(FixedText *pLabel);
    std::vector<FixedText*> list_mnemonic_labels() const;
    std::vector<VclPtr<FixedText> > list_mnemonic_labels() const;

    /*
     * Move this widget to be the nNewPosition'd child of its parent
diff --git a/reportdesign/source/ui/dlg/AddField.cxx b/reportdesign/source/ui/dlg/AddField.cxx
index 325fdb8..0a36669 100644
--- a/reportdesign/source/ui/dlg/AddField.cxx
+++ b/reportdesign/source/ui/dlg/AddField.cxx
@@ -62,11 +62,12 @@ using namespace ::svx;

class OAddFieldWindowListBox: public SvTreeListBox
{
    OAddFieldWindow*                    m_pTabWin;
    VclPtr<OAddFieldWindow>                    m_pTabWin;

public:
    OAddFieldWindowListBox( OAddFieldWindow* _pParent );
    virtual ~OAddFieldWindowListBox();
    virtual void dispose() SAL_OVERRIDE;

    sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt ) SAL_OVERRIDE;
    sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt ) SAL_OVERRIDE;
@@ -113,8 +114,14 @@ OAddFieldWindowListBox::OAddFieldWindowListBox( OAddFieldWindow* _pParent )

OAddFieldWindowListBox::~OAddFieldWindowListBox()
{
    dispose();
}

void OAddFieldWindowListBox::dispose()
{
    m_pTabWin.clear();
    SvTreeListBox::dispose();
}

sal_Int8 OAddFieldWindowListBox::AcceptDrop( const AcceptDropEvent& /*rEvt*/ )
{
diff --git a/reportdesign/source/ui/dlg/CondFormat.cxx b/reportdesign/source/ui/dlg/CondFormat.cxx
index 16aa8a3..c537b0a 100644
--- a/reportdesign/source/ui/dlg/CondFormat.cxx
+++ b/reportdesign/source/ui/dlg/CondFormat.cxx
@@ -130,7 +130,16 @@ namespace rptui

    ConditionalFormattingDialog::~ConditionalFormattingDialog()
    {
        dispose();
    }

    void ConditionalFormattingDialog::dispose()
    {
        m_aConditions.clear();
        m_pConditionPlayground.clear();
        m_pScrollWindow.clear();
        m_pCondScroll.clear();
        ModalDialog::dispose();
    }

    void ConditionalFormattingDialog::impl_updateConditionIndicies()
diff --git a/reportdesign/source/ui/dlg/Condition.cxx b/reportdesign/source/ui/dlg/Condition.cxx
index fb86522..2da233a 100644
--- a/reportdesign/source/ui/dlg/Condition.cxx
+++ b/reportdesign/source/ui/dlg/Condition.cxx
@@ -97,7 +97,7 @@ IMPL_LINK( ConditionField, OnFormula, Button*, _pClickedButton )
class OColorPopup : public FloatingWindow
{
    DECL_LINK( SelectHdl, void * );
    Condition*      m_pCondition;
    VclPtr<Condition>      m_pCondition;
    sal_uInt16      m_nSlotId;
public:
    OColorPopup(vcl::Window* _pParent,Condition* _pCondition);
@@ -161,8 +161,9 @@ OColorPopup::~OColorPopup()

void OColorPopup::dispose()
{
    m_aColorSet.disposeAndClear();
    disposeBuilder();
    m_aColorSet.clear();
    m_pCondition.clear();
    FloatingWindow::dispose();
}

@@ -315,11 +316,21 @@ void Condition::dispose()
{
    m_bInDestruction = true;

    delete m_pColorFloat;
    delete m_pBtnUpdaterFontColor;
    delete m_pCondLHS;
    delete m_pCondRHS;
    delete m_pBtnUpdaterBackgroundColor;
    m_pHeader.clear();
    m_pConditionType.clear();
    m_pOperationList.clear();
    m_pOperandGlue.clear();
    m_pActions.clear();
    m_pPreview.clear();
    m_pMoveUp.clear();
    m_pMoveDown.clear();
    m_pAddCondition.clear();
    m_pRemoveCondition.clear();
    m_pColorFloat.clear();
    VclHBox::dispose();
}

diff --git a/reportdesign/source/ui/dlg/Condition.hxx b/reportdesign/source/ui/dlg/Condition.hxx
index 7ad63a6..01a3b8c 100644
--- a/reportdesign/source/ui/dlg/Condition.hxx
+++ b/reportdesign/source/ui/dlg/Condition.hxx
@@ -49,9 +49,9 @@ namespace rptui

    class ConditionField
    {
        Condition*  m_pParent;
        Edit*       m_pSubEdit;
        PushButton* m_pFormula;
        VclPtr<Condition>  m_pParent;
        VclPtr<Edit>       m_pSubEdit;
        VclPtr<PushButton> m_pFormula;

        DECL_LINK( OnFormula,   Button* );
    public:
@@ -77,19 +77,19 @@ namespace rptui

        ::rptui::OReportController& m_rController;
        IConditionalFormatAction&   m_rAction;
        FixedText*                  m_pHeader;
        ListBox*                    m_pConditionType;
        ListBox*                    m_pOperationList;
        ConditionField*             m_pCondLHS;
        FixedText*                  m_pOperandGlue;
        ConditionField*             m_pCondRHS;
        ToolBox*                    m_pActions;
        SvxFontPrevWindow*          m_pPreview;
        PushButton*                 m_pMoveUp;
        PushButton*                 m_pMoveDown;
        PushButton*                 m_pAddCondition;
        PushButton*                 m_pRemoveCondition;
        OColorPopup*                m_pColorFloat;
        VclPtr<FixedText>                  m_pHeader;
        VclPtr<ListBox>                    m_pConditionType;
        VclPtr<ListBox>                    m_pOperationList;
        ConditionField*                    m_pCondLHS;
        VclPtr<FixedText>                  m_pOperandGlue;
        ConditionField*                    m_pCondRHS;
        VclPtr<ToolBox>                    m_pActions;
        VclPtr<SvxFontPrevWindow>          m_pPreview;
        VclPtr<PushButton>                 m_pMoveUp;
        VclPtr<PushButton>                 m_pMoveDown;
        VclPtr<PushButton>                 m_pAddCondition;
        VclPtr<PushButton>                 m_pRemoveCondition;
        VclPtr<OColorPopup>                m_pColorFloat;

        ::svx::ToolboxButtonColorUpdater*   m_pBtnUpdaterFontColor; // updates the color below the toolbar icon
        ::svx::ToolboxButtonColorUpdater*   m_pBtnUpdaterBackgroundColor;
diff --git a/reportdesign/source/ui/dlg/DateTime.cxx b/reportdesign/source/ui/dlg/DateTime.cxx
index eaba667..b768e17 100644
--- a/reportdesign/source/ui/dlg/DateTime.cxx
+++ b/reportdesign/source/ui/dlg/DateTime.cxx
@@ -113,6 +113,19 @@ ODateTimeDialog::ODateTimeDialog( vcl::Window* _pParent

ODateTimeDialog::~ODateTimeDialog()
{
    dispose();
}

void ODateTimeDialog::dispose()
{
    m_pDate.clear();
    m_pFTDateFormat.clear();
    m_pDateListBox.clear();
    m_pTime.clear();
    m_pFTTimeFormat.clear();
    m_pTimeListBox.clear();
    m_pPB_OK.clear();
    ModalDialog::dispose();
}

short ODateTimeDialog::Execute()
diff --git a/reportdesign/source/ui/dlg/Formula.cxx b/reportdesign/source/ui/dlg/Formula.cxx
index b1bac30..c59d778 100644
--- a/reportdesign/source/ui/dlg/Formula.cxx
+++ b/reportdesign/source/ui/dlg/Formula.cxx
@@ -102,6 +102,8 @@ void FormulaDialog::dispose()
    }

    StoreFormEditData( m_pFormulaData );
    m_pEdit.clear();
    m_pAddField.clear();
    formula::FormulaModalDialog::dispose();
}

diff --git a/reportdesign/source/ui/dlg/GroupsSorting.cxx b/reportdesign/source/ui/dlg/GroupsSorting.cxx
index 0aadd00..adbe69d 100644
--- a/reportdesign/source/ui/dlg/GroupsSorting.cxx
+++ b/reportdesign/source/ui/dlg/GroupsSorting.cxx
@@ -76,21 +76,37 @@ using namespace ::comphelper;
        }
    }

typedef ::svt::EditBrowseBox OFieldExpressionControl_Base;
typedef ::cppu::WeakImplHelper1< container::XContainerListener > TContainerListenerBase;
class OFieldExpressionControl : public TContainerListenerBase
                               ,public OFieldExpressionControl_Base
/**
  * Separated out from OFieldExpressionControl to prevent collision of ref-counted base classes
  */
class OFieldExpressionControl;
class OFieldExpressionControlContainerListener : public ::cppu::WeakImplHelper1< container::XContainerListener >
{
    VclPtr<OFieldExpressionControl> mpParent;
public:
    OFieldExpressionControlContainerListener(OFieldExpressionControl* pParent) : mpParent(pParent) {}

    // XEventListener
    virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
    // XContainerListener
    virtual void SAL_CALL elementInserted(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
    virtual void SAL_CALL elementReplaced(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
    virtual void SAL_CALL elementRemoved(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
};

class OFieldExpressionControl : public ::svt::EditBrowseBox
{
    ::osl::Mutex                    m_aMutex;
    ::std::vector<sal_Int32>        m_aGroupPositions;
    ::std::vector<ColumnInfo>       m_aColumnInfo;
    ::svt::ComboBoxControl*         m_pComboCell;
    VclPtr<::svt::ComboBoxControl>  m_pComboCell;
    sal_Int32                       m_nDataPos;
    sal_Int32                       m_nCurrentPos;
    ImplSVEvent *                   m_nPasteEvent;
    ImplSVEvent *                   m_nDeleteEvent;
    OGroupsSortingDialog*           m_pParent;
    VclPtr<OGroupsSortingDialog>    m_pParent;
    bool                            m_bIgnoreEvent;
    OFieldExpressionControlContainerListener aContainerListener;

    bool SaveModified(bool _bAppend);

@@ -100,11 +116,11 @@ public:
    virtual void dispose() SAL_OVERRIDE;

    // XEventListener
    virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
    void disposing(const ::com::sun::star::lang::EventObject& Source) throw( ::com::sun::star::uno::RuntimeException, std::exception );
    // XContainerListener
    virtual void SAL_CALL elementInserted(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
    virtual void SAL_CALL elementReplaced(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
    virtual void SAL_CALL elementRemoved(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
    void elementInserted(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException, std::exception);
    void elementReplaced(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException, std::exception);
    void elementRemoved(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException, std::exception);

    virtual Size GetOptimalSize() const SAL_OVERRIDE;

@@ -129,7 +145,7 @@ public:
    void moveGroups(const uno::Sequence<uno::Any>& _aGroups,sal_Int32 _nRow,bool _bSelect = true);

    virtual bool CursorMoving(long nNewRow, sal_uInt16 nNewCol) SAL_OVERRIDE;
    using OFieldExpressionControl_Base::GetRowCount;
    using ::svt::EditBrowseBox::GetRowCount;
protected:
    virtual bool IsTabAllowed(bool bForward) const SAL_OVERRIDE;

@@ -164,6 +180,20 @@ public:

};


void OFieldExpressionControlContainerListener::disposing(const ::com::sun::star::lang::EventObject& Source) throw( ::com::sun::star::uno::RuntimeException, std::exception )
{ mpParent->disposing(Source); }

void OFieldExpressionControlContainerListener::elementInserted(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException, std::exception)
{ mpParent->elementInserted(rEvent); }

void OFieldExpressionControlContainerListener::elementReplaced(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException, std::exception)
{ mpParent->elementReplaced(rEvent); }

void OFieldExpressionControlContainerListener::elementRemoved(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException, std::exception)
{ mpParent->elementRemoved(rEvent); }


// class OFieldExpressionControl
OFieldExpressionControl::OFieldExpressionControl(OGroupsSortingDialog* _pParentDialog, vcl::Window *_pParent)
    :EditBrowseBox( _pParent, EBBF_NONE, WB_TABSTOP | BROWSER_COLUMNSELECTION | BROWSER_MULTISELECTION | BROWSER_AUTOSIZE_LASTCOL |
@@ -176,6 +206,7 @@ OFieldExpressionControl::OFieldExpressionControl(OGroupsSortingDialog* _pParentD
    ,m_nDeleteEvent(0)
    ,m_pParent(_pParentDialog)
    ,m_bIgnoreEvent(false)
    ,aContainerListener(this)
{
    SetBorderStyle(WindowBorderStyle::MONO);
}
@@ -189,9 +220,9 @@ OFieldExpressionControl::~OFieldExpressionControl()

void OFieldExpressionControl::dispose()
{
    WeakImplHelper1::acquire();
    aContainerListener.WeakImplHelper1::acquire();
    uno::Reference< report::XGroups > xGroups = m_pParent->getGroups();
    xGroups->removeContainerListener(this);
    xGroups->removeContainerListener(&aContainerListener);

    // delete events from queue
    if( m_nPasteEvent )
@@ -199,8 +230,9 @@ void OFieldExpressionControl::dispose()
    if( m_nDeleteEvent )
        Application::RemoveUserEvent( m_nDeleteEvent );

    delete m_pComboCell;
    OFieldExpressionControl_Base::dispose();
    m_pComboCell.clear();
    m_pParent.clear();
    ::svt::EditBrowseBox::dispose();
}

uno::Sequence<uno::Any> OFieldExpressionControl::fillSelectedGroups()
@@ -377,7 +409,7 @@ void OFieldExpressionControl::lateInit()
        if( m_pParent->isReadOnly() )
            nMode |= BROWSER_HIDECURSOR;
        SetMode(nMode);
        xGroups->addContainerListener(this);
        xGroups->addContainerListener(&aContainerListener);
    }
    else
        // not the first call
@@ -983,11 +1015,20 @@ OGroupsSortingDialog::~OGroupsSortingDialog()

void OGroupsSortingDialog::dispose()
{
    delete m_pFieldExpression;
    m_xColumns.clear();
    m_pReportListener->dispose();
    if ( m_pCurrentGroupListener.is() )
        m_pCurrentGroupListener->dispose();
    m_pToolBox.clear();
    m_pProperties.clear();
    m_pOrderLst.clear();
    m_pHeaderLst.clear();
    m_pFooterLst.clear();
    m_pGroupOnLst.clear();
    m_pGroupIntervalEd.clear();
    m_pKeepTogetherLst.clear();
    m_pHelpWindow.clear();
    m_pFieldExpression.clear();
    FloatingWindow::dispose();
}

diff --git a/reportdesign/source/ui/dlg/Navigator.cxx b/reportdesign/source/ui/dlg/Navigator.cxx
index 51c995b..bef13a2 100644
--- a/reportdesign/source/ui/dlg/Navigator.cxx
+++ b/reportdesign/source/ui/dlg/Navigator.cxx
@@ -121,7 +121,7 @@ class NavigatorTree :   public ::cppu::BaseMutex
        uno::Reference< uno::XInterface >                           m_xContent;
        ::rtl::Reference< comphelper::OPropertyChangeMultiplexer>   m_pListener;
        ::rtl::Reference< comphelper::OContainerListenerAdapter>    m_pContainerListener;
        NavigatorTree*                                              m_pTree;
        VclPtr<NavigatorTree>                                       m_pTree;
    public:
        UserData(NavigatorTree* _pTree,const uno::Reference<uno::XInterface>& _xContent);
        virtual ~UserData();
diff --git a/reportdesign/source/ui/dlg/PageNumber.cxx b/reportdesign/source/ui/dlg/PageNumber.cxx
index bc2419b..08672e1 100644
--- a/reportdesign/source/ui/dlg/PageNumber.cxx
+++ b/reportdesign/source/ui/dlg/PageNumber.cxx
@@ -63,6 +63,18 @@ OPageNumberDialog::OPageNumberDialog( vcl::Window* _pParent

OPageNumberDialog::~OPageNumberDialog()
{
    dispose();
}

void OPageNumberDialog::dispose()
{
    m_pPageN.clear();
    m_pPageNofM.clear();
    m_pTopPage.clear();
    m_pBottomPage.clear();
    m_pAlignmentLst.clear();
    m_pShowNumberOnFirstPage.clear();
    ModalDialog::dispose();
}

short OPageNumberDialog::Execute()
diff --git a/reportdesign/source/ui/inc/CondFormat.hxx b/reportdesign/source/ui/inc/CondFormat.hxx
index 19c3cc2..f8e8332 100644
--- a/reportdesign/source/ui/inc/CondFormat.hxx
+++ b/reportdesign/source/ui/inc/CondFormat.hxx
@@ -73,11 +73,11 @@ namespace rptui
        typedef ::boost::shared_ptr< Condition >    ConditionPtr;
        typedef ::std::vector< ConditionPtr >       Conditions;

        OModuleClient   m_aModuleClient;
        vcl::Window*         m_pConditionPlayground;
        Conditions      m_aConditions;
        VclScrolledWindow* m_pScrollWindow;
        ScrollBar*      m_pCondScroll;
        OModuleClient             m_aModuleClient;
        VclPtr<vcl::Window>       m_pConditionPlayground;
        Conditions                m_aConditions;
        VclPtr<VclScrolledWindow> m_pScrollWindow;
        VclPtr<ScrollBar>         m_pCondScroll;

        ::rptui::OReportController&                         m_rController;
        ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportControlModel >
@@ -95,7 +95,7 @@ namespace rptui
            ::rptui::OReportController& _rController
        );
        virtual ~ConditionalFormattingDialog();

        virtual void dispose() SAL_OVERRIDE;
        // Dialog overridables
        virtual short   Execute() SAL_OVERRIDE;

diff --git a/reportdesign/source/ui/inc/DateTime.hxx b/reportdesign/source/ui/inc/DateTime.hxx
index e03f3ed..66639a9 100644
--- a/reportdesign/source/ui/inc/DateTime.hxx
+++ b/reportdesign/source/ui/inc/DateTime.hxx
@@ -40,13 +40,13 @@ class OReportController;
\************************************************************************/
class ODateTimeDialog : public ModalDialog
{
    CheckBox*                                m_pDate;
    FixedText*                               m_pFTDateFormat;
    ListBox*                                 m_pDateListBox;
    CheckBox*                                m_pTime;
    FixedText*                               m_pFTTimeFormat;
    ListBox*                                 m_pTimeListBox;
    OKButton*                                m_pPB_OK;
    VclPtr<CheckBox>                                m_pDate;
    VclPtr<FixedText>                               m_pFTDateFormat;
    VclPtr<ListBox>                                 m_pDateListBox;
    VclPtr<CheckBox>                                m_pTime;
    VclPtr<FixedText>                               m_pFTTimeFormat;
    VclPtr<ListBox>                                 m_pTimeListBox;
    VclPtr<OKButton>                                m_pPB_OK;

    svt::ControlDependencyManager           m_aDateControlling;
    svt::ControlDependencyManager           m_aTimeControlling;
@@ -81,6 +81,7 @@ public:
                        ,const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xHoldAlive
                        ,::rptui::OReportController* _pController);
    virtual ~ODateTimeDialog();
    virtual void dispose() SAL_OVERRIDE;
    virtual short   Execute() SAL_OVERRIDE;
};

diff --git a/reportdesign/source/ui/inc/DesignView.hxx b/reportdesign/source/ui/inc/DesignView.hxx
index e2c4770..a8b8182 100644
--- a/reportdesign/source/ui/inc/DesignView.hxx
+++ b/reportdesign/source/ui/inc/DesignView.hxx
@@ -64,11 +64,11 @@ namespace rptui
        ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>        m_xReportComponent;
        OReportController&                  m_rReportController;
        VclPtr<OScrollWindowHelper>         m_aScrollWindow;
        vcl::Window*                        m_pTaskPane;
        PropBrw*                            m_pPropWin;
        OAddFieldWindow*                    m_pAddField;
        VclPtr<vcl::Window>                 m_pTaskPane;
        VclPtr<PropBrw>                     m_pPropWin;
        VclPtr<OAddFieldWindow>             m_pAddField;
        OSectionView*                       m_pCurrentView;
        ONavigator*                         m_pReportExplorer;
        VclPtr<ONavigator>                  m_pReportExplorer;
        Idle                                m_aMarkIdle;
        Point                               m_aScrollOffset;
        DlgEdMode                           m_eMode;
diff --git a/reportdesign/source/ui/inc/Formula.hxx b/reportdesign/source/ui/inc/Formula.hxx
index c077aad..4995251 100644
--- a/reportdesign/source/ui/inc/Formula.hxx
+++ b/reportdesign/source/ui/inc/Formula.hxx
@@ -46,12 +46,12 @@ class FormulaDialog : public formula::FormulaModalDialog,
                      public formula::IControlReferenceHandler
{
    ::boost::shared_ptr< formula::IFunctionManager > m_aFunctionManager;
    formula::FormEditData*      m_pFormulaData;
    OAddFieldWindow*            m_pAddField;
    formula::FormEditData*             m_pFormulaData;
    VclPtr<OAddFieldWindow>            m_pAddField;
    ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet >          m_xRowSet;
    ::com::sun::star::uno::Reference< ::com::sun::star::report::meta::XFormulaParser>   m_xParser;
    ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XFormulaOpCodeMapper>    m_xOpCodeMapper;
    formula::RefEdit*           m_pEdit;
    VclPtr<formula::RefEdit>           m_pEdit;
    OUString                    m_sFormula;
    sal_Int32                   m_nStart;
    sal_Int32                   m_nEnd;
diff --git a/reportdesign/source/ui/inc/GroupsSorting.hxx b/reportdesign/source/ui/inc/GroupsSorting.hxx
index 32f01d0..b67c128 100644
--- a/reportdesign/source/ui/inc/GroupsSorting.hxx
+++ b/reportdesign/source/ui/inc/GroupsSorting.hxx
@@ -60,21 +60,21 @@ class OGroupsSortingDialog :    public FloatingWindow
{
    friend class OFieldExpressionControl;

    ToolBox*                                m_pToolBox;
    VclPtr<ToolBox>                                m_pToolBox;
    sal_uInt16                              m_nMoveUpId;
    sal_uInt16                              m_nMoveDownId;
    sal_uInt16                              m_nDeleteId;

    VclContainer*                           m_pProperties;
    ListBox*                                m_pOrderLst;
    ListBox*                                m_pHeaderLst;
    ListBox*                                m_pFooterLst;
    ListBox*                                m_pGroupOnLst;
    NumericField*                           m_pGroupIntervalEd;
    ListBox*                                m_pKeepTogetherLst;
    FixedText*                              m_pHelpWindow;
    VclPtr<VclContainer>                           m_pProperties;
    VclPtr<ListBox>                                m_pOrderLst;
    VclPtr<ListBox>                                m_pHeaderLst;
    VclPtr<ListBox>                                m_pFooterLst;
    VclPtr<ListBox>                                m_pGroupOnLst;
    VclPtr<NumericField>                           m_pGroupIntervalEd;
    VclPtr<ListBox>                                m_pKeepTogetherLst;
    VclPtr<FixedText>                              m_pHelpWindow;

    OFieldExpressionControl*                m_pFieldExpression;
    VclPtr<OFieldExpressionControl>                m_pFieldExpression;
    ::rptui::OReportController*             m_pController;
    ::rtl::Reference< comphelper::OPropertyChangeMultiplexer>                       m_pCurrentGroupListener;
    ::rtl::Reference< comphelper::OPropertyChangeMultiplexer>                       m_pReportListener;
diff --git a/reportdesign/source/ui/inc/PageNumber.hxx b/reportdesign/source/ui/inc/PageNumber.hxx
index fcf6d6b..43a1915 100644
--- a/reportdesign/source/ui/inc/PageNumber.hxx
+++ b/reportdesign/source/ui/inc/PageNumber.hxx
@@ -37,14 +37,14 @@ class OReportController;
\************************************************************************/
class OPageNumberDialog :   public ModalDialog
{
    RadioButton*                            m_pPageN;
    RadioButton*                            m_pPageNofM;
    VclPtr<RadioButton>                            m_pPageN;
    VclPtr<RadioButton>                            m_pPageNofM;

    RadioButton*                            m_pTopPage;
    RadioButton*                            m_pBottomPage;
    ListBox*                                m_pAlignmentLst;
    VclPtr<RadioButton>                            m_pTopPage;
    VclPtr<RadioButton>                            m_pBottomPage;
    VclPtr<ListBox>                                m_pAlignmentLst;

    CheckBox*                               m_pShowNumberOnFirstPage;
    VclPtr<CheckBox>                               m_pShowNumberOnFirstPage;

    ::rptui::OReportController*             m_pController;
    ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition>
@@ -57,6 +57,7 @@ public:
                        ,const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition>& _xHoldAlive
                        ,::rptui::OReportController* _pController);
    virtual ~OPageNumberDialog();
    virtual void    dispose() SAL_OVERRIDE;
    virtual short   Execute() SAL_OVERRIDE;
};

diff --git a/reportdesign/source/ui/inc/ReportController.hxx b/reportdesign/source/ui/inc/ReportController.hxx
index 7a7d5c6..7a282f2 100644
--- a/reportdesign/source/ui/inc/ReportController.hxx
+++ b/reportdesign/source/ui/inc/ReportController.hxx
@@ -93,7 +93,7 @@ namespace rptui
        TransferableDataHelper  m_aSystemClipboard;     // content of the clipboard
        TransferableClipboardListener*
                                m_pClipbordNotifier;    /// notifier for changes in the clipboard
        OGroupsSortingDialog*   m_pGroupsFloater;
        VclPtr<OGroupsSortingDialog>   m_pGroupsFloater;

        OXReportControllerObserver* m_pReportControllerObserver;

diff --git a/reportdesign/source/ui/inc/ReportSection.hxx b/reportdesign/source/ui/inc/ReportSection.hxx
index 6add8b3..a34a4fc9 100644
--- a/reportdesign/source/ui/inc/ReportSection.hxx
+++ b/reportdesign/source/ui/inc/ReportSection.hxx
@@ -45,7 +45,7 @@ namespace rptui
    {
        OReportPage*                        m_pPage;
        OSectionView*                       m_pView;
        OSectionWindow*                     m_pParent;
        VclPtr<OSectionWindow>              m_pParent;
        ::std::unique_ptr<DlgEdFunc>        m_pFunc;
        ::boost::shared_ptr<OReportModel>   m_pModel;
        ::rtl::Reference< comphelper::OPropertyChangeMultiplexer>                           m_pMulti;
diff --git a/reportdesign/source/ui/inc/ReportWindow.hxx b/reportdesign/source/ui/inc/ReportWindow.hxx
index 5c4e9b6..1e0294d 100644
--- a/reportdesign/source/ui/inc/ReportWindow.hxx
+++ b/reportdesign/source/ui/inc/ReportWindow.hxx
@@ -45,10 +45,10 @@ namespace rptui
                            , public ::cppu::BaseMutex
                            , public ::comphelper::OPropertyChangeListener
    {
        VclPtr<Ruler>           m_aHRuler;
        ODesignView*            m_pView;
        OScrollWindowHelper*    m_pParent;
        VclPtr<OViewsWindow>    m_aViewsWindow;
        VclPtr<Ruler>                  m_aHRuler;
        VclPtr<ODesignView>            m_pView;
        VclPtr<OScrollWindowHelper>    m_pParent;
        VclPtr<OViewsWindow>           m_aViewsWindow;
        ::rtl::Reference< comphelper::OPropertyChangeMultiplexer>   m_pReportListener;
        ::std::unique_ptr<DlgEdFactory>
                                m_pObjFac;
diff --git a/reportdesign/source/ui/inc/ScrollHelper.hxx b/reportdesign/source/ui/inc/ScrollHelper.hxx
index 6f8152d..5ad8637 100644
--- a/reportdesign/source/ui/inc/ScrollHelper.hxx
+++ b/reportdesign/source/ui/inc/ScrollHelper.hxx
@@ -52,7 +52,7 @@ namespace rptui
        VclPtr<ScrollBar>           m_aVScroll;
        VclPtr<ScrollBarBox>        m_aCornerWin;       // window in the bottom right corner
        Size                        m_aTotalPixelSize;
        ODesignView*                m_pParent;
        VclPtr<ODesignView>         m_pParent;
        VclPtr<OReportWindow>       m_aReportWindow;
        ::rtl::Reference<comphelper::OPropertyChangeMultiplexer >
                                    m_pReportDefintionMultiPlexer; // listener for property changes
diff --git a/reportdesign/source/ui/inc/SectionView.hxx b/reportdesign/source/ui/inc/SectionView.hxx
index 14de81a..c8f14e2 100644
--- a/reportdesign/source/ui/inc/SectionView.hxx
+++ b/reportdesign/source/ui/inc/SectionView.hxx
@@ -34,8 +34,8 @@ class OReportSection;
class OSectionView : public SdrView
{
private:
    OReportWindow*      m_pReportWindow;
    OReportSection*     m_pSectionWindow;
    VclPtr<OReportWindow>      m_pReportWindow;
    VclPtr<OReportSection>     m_pSectionWindow;

    void ObjectRemovedInAliveMode( const SdrObject* pObject );
    OSectionView(const OSectionView&) SAL_DELETED_FUNCTION;
diff --git a/reportdesign/source/ui/inc/SectionWindow.hxx b/reportdesign/source/ui/inc/SectionWindow.hxx
index d8680fb..166c25c 100644
--- a/reportdesign/source/ui/inc/SectionWindow.hxx
+++ b/reportdesign/source/ui/inc/SectionWindow.hxx
@@ -47,7 +47,7 @@ namespace rptui
                            ,   public ::cppu::BaseMutex
                            ,   public ::comphelper::OPropertyChangeListener
    {
        OViewsWindow*           m_pParent;
        VclPtr<OViewsWindow>    m_pParent;
        VclPtr<OStartMarker>    m_aStartMarker;
        VclPtr<OReportSection>  m_aReportSection;
        VclPtr<Splitter>        m_aSplitter;
diff --git a/reportdesign/source/ui/inc/StartMarker.hxx b/reportdesign/source/ui/inc/StartMarker.hxx
index 5688b96..270939c 100644
--- a/reportdesign/source/ui/inc/StartMarker.hxx
+++ b/reportdesign/source/ui/inc/StartMarker.hxx
@@ -34,7 +34,7 @@ namespace rptui
        VclPtr<Ruler>               m_aVRuler;
        VclPtr<FixedText>           m_aText;
        VclPtr<FixedImage>          m_aImage;
        OSectionWindow*             m_pParent;
        VclPtr<OSectionWindow>      m_pParent;
        static Image*               s_pDefCollapsed;
        static Image*               s_pDefExpanded;
        static oslInterlockedCount  s_nImageRefCount; /// When 0 all static images will be destroyed
diff --git a/reportdesign/source/ui/inc/ViewsWindow.hxx b/reportdesign/source/ui/inc/ViewsWindow.hxx
index ec842fd..e8c1982 100644
--- a/reportdesign/source/ui/inc/ViewsWindow.hxx
+++ b/reportdesign/source/ui/inc/ViewsWindow.hxx
@@ -75,7 +75,7 @@ namespace rptui

    class OWindowPositionCorrector
    {
        ::std::vector< ::std::pair<vcl::Window*,Point> > m_aChildren;
        ::std::vector< ::std::pair<VclPtr<vcl::Window>,Point> > m_aChildren;
        long m_nDeltaX;
        long m_nDeltaY;
    public:
@@ -91,8 +91,8 @@ namespace rptui
        }
        ~OWindowPositionCorrector()
        {
            ::std::vector< ::std::pair<vcl::Window*,Point> >::iterator aIter = m_aChildren.begin();
            ::std::vector< ::std::pair<vcl::Window*,Point> >::iterator aEnd = m_aChildren.end();
            auto aIter = m_aChildren.begin();
            auto aEnd = m_aChildren.end();
            for (; aIter != aEnd; ++aIter)
            {
                const Point aPos = aIter->first->GetPosPixel();
@@ -127,9 +127,9 @@ namespace rptui
    private:
        TSectionsMap                            m_aSections;
        svtools::ColorConfig                    m_aColorConfig;
        OReportWindow*                          m_pParent;
        OUString                         m_sShapeType;
        bool                                m_bInUnmark;
        VclPtr<OReportWindow>                   m_pParent;
        OUString                                m_sShapeType;
        bool                                    m_bInUnmark;

        void ImplInitSettings();
        /** returns the iterator at pos _nPos or the end()
diff --git a/reportdesign/source/ui/inc/dlgedfunc.hxx b/reportdesign/source/ui/inc/dlgedfunc.hxx
index b9d0275..8f8938b 100644
--- a/reportdesign/source/ui/inc/dlgedfunc.hxx
+++ b/reportdesign/source/ui/inc/dlgedfunc.hxx
@@ -41,7 +41,7 @@ class DlgEdFunc /* : public LinkHdl */
    DlgEdFunc(const DlgEdFunc&) SAL_DELETED_FUNCTION;
    void operator =(const DlgEdFunc&) SAL_DELETED_FUNCTION;
protected:
    OReportSection* m_pParent;
    VclPtr<OReportSection> m_pParent;
    OSectionView&   m_rView;
    Timer           aScrollTimer;
    Point           m_aMDPos;
diff --git a/reportdesign/source/ui/inc/propbrw.hxx b/reportdesign/source/ui/inc/propbrw.hxx
index 4dcdc2b..67a48b2 100644
--- a/reportdesign/source/ui/inc/propbrw.hxx
+++ b/reportdesign/source/ui/inc/propbrw.hxx
@@ -58,7 +58,7 @@ private:
    ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>
                        m_xLastSection; /// is the previously displayed section
    OUString     m_sLastActivePage;
    ODesignView*        m_pDesignView;
    VclPtr<ODesignView>        m_pDesignView;
    OSectionView*       m_pView;
    bool            m_bInitialStateChange;

diff --git a/reportdesign/source/ui/report/DesignView.cxx b/reportdesign/source/ui/report/DesignView.cxx
index 8d17283..bcf3890 100644
--- a/reportdesign/source/ui/report/DesignView.cxx
+++ b/reportdesign/source/ui/report/DesignView.cxx
@@ -59,9 +59,11 @@ using namespace container;

class OTaskWindow : public vcl::Window
{
    PropBrw* m_pPropWin;
    VclPtr<PropBrw> m_pPropWin;
public:
    OTaskWindow(vcl::Window* _pParent) : Window(_pParent),m_pPropWin(NULL){}
    virtual ~OTaskWindow() { dispose(); }
    virtual void dispose() SAL_OVERRIDE { m_pPropWin.clear(); vcl::Window::dispose(); }

    inline void setPropertyBrowser(PropBrw* _pPropWin)
    {
@@ -163,6 +165,10 @@ void ODesignView::dispose()

    m_aSplitWin.disposeAndClear();
    m_aScrollWindow.disposeAndClear();
    m_pTaskPane.clear();
    m_pReportExplorer.clear();
    m_pPropWin.clear();
    m_pAddField.clear();
    dbaui::ODataView::dispose();
}

@@ -282,7 +288,7 @@ IMPL_LINK_NOARG(ODesignView, MarkTimeout)
        if ( xProp.is() )
        {
            m_pPropWin->Update(xProp);
            static_cast<OTaskWindow*>(m_pTaskPane)->Resize();
            static_cast<OTaskWindow*>(m_pTaskPane.get())->Resize();
        }
        Resize();
    }
@@ -446,7 +452,7 @@ void ODesignView::togglePropertyBrowser(bool _bToogleOn)
    {
        m_pPropWin = new PropBrw(getController().getORB(), m_pTaskPane,this);
        m_pPropWin->Invalidate();
        static_cast<OTaskWindow*>(m_pTaskPane)->setPropertyBrowser(m_pPropWin);
        static_cast<OTaskWindow*>(m_pTaskPane.get())->setPropertyBrowser(m_pPropWin);
        notifySystemWindow(this,m_pPropWin,::comphelper::mem_fun(&TaskPaneList::AddWindow));
    }
    if ( m_pPropWin && _bToogleOn != m_pPropWin->IsVisible() )
diff --git a/reportdesign/source/ui/report/ReportSection.cxx b/reportdesign/source/ui/report/ReportSection.cxx
index fffd3c9..b4716cb 100644
--- a/reportdesign/source/ui/report/ReportSection.cxx
+++ b/reportdesign/source/ui/report/ReportSection.cxx
@@ -130,6 +130,7 @@ void OReportSection::dispose()
            m_pView->EndListening( *m_pModel );
        m_pView = NULL;
    }
    m_pParent.clear();
    vcl::Window::dispose();
}

diff --git a/reportdesign/source/ui/report/ReportWindow.cxx b/reportdesign/source/ui/report/ReportWindow.cxx
index 42c3468..10b69e7 100644
--- a/reportdesign/source/ui/report/ReportWindow.cxx
+++ b/reportdesign/source/ui/report/ReportWindow.cxx
@@ -94,6 +94,8 @@ void OReportWindow::dispose()
        m_pReportListener->dispose();
    m_aHRuler.disposeAndClear();
    m_aViewsWindow.disposeAndClear();
    m_pView.clear();
    m_pParent.clear();
    vcl::Window::dispose();
}

diff --git a/reportdesign/source/ui/report/ScrollHelper.cxx b/reportdesign/source/ui/report/ScrollHelper.cxx
index d43068c..6641ad2 100644
--- a/reportdesign/source/ui/report/ScrollHelper.cxx
+++ b/reportdesign/source/ui/report/ScrollHelper.cxx
@@ -81,6 +81,7 @@ void OScrollWindowHelper::dispose()
    m_aVScroll.disposeAndClear();
    m_aCornerWin.disposeAndClear();
    m_aReportWindow.disposeAndClear();
    m_pParent.clear();
    OScrollWindowHelper_BASE::dispose();
}

diff --git a/reportdesign/source/ui/report/SectionWindow.cxx b/reportdesign/source/ui/report/SectionWindow.cxx
index 65827a1..8edd746 100644
--- a/reportdesign/source/ui/report/SectionWindow.cxx
+++ b/reportdesign/source/ui/report/SectionWindow.cxx
@@ -119,6 +119,7 @@ void OSectionWindow::dispose()
    m_aReportSection.disposeAndClear();
    m_aSplitter.disposeAndClear();
    m_aEndMarker.disposeAndClear();
    m_pParent.clear();
    vcl::Window::dispose();
}

diff --git a/reportdesign/source/ui/report/StartMarker.cxx b/reportdesign/source/ui/report/StartMarker.cxx
index 23caea3..1ada64e 100644
--- a/reportdesign/source/ui/report/StartMarker.cxx
+++ b/reportdesign/source/ui/report/StartMarker.cxx
@@ -93,6 +93,7 @@ void OStartMarker::dispose()
    m_aVRuler.disposeAndClear();
    m_aText.disposeAndClear();
    m_aImage.disposeAndClear();
    m_pParent.clear();
    OColorListener::dispose();
}

diff --git a/reportdesign/source/ui/report/ViewsWindow.cxx b/reportdesign/source/ui/report/ViewsWindow.cxx
index 803be1c..9ca2c79 100644
--- a/reportdesign/source/ui/report/ViewsWindow.cxx
+++ b/reportdesign/source/ui/report/ViewsWindow.cxx
@@ -192,6 +192,7 @@ void OViewsWindow::dispose()
{
    m_aColorConfig.RemoveListener(this);
    m_aSections.clear();
    m_pParent.clear();
    vcl::Window::dispose();
}

diff --git a/reportdesign/source/ui/report/propbrw.cxx b/reportdesign/source/ui/report/propbrw.cxx
index a7d195c..ef019a7 100644
--- a/reportdesign/source/ui/report/propbrw.cxx
+++ b/reportdesign/source/ui/report/propbrw.cxx
@@ -209,6 +209,7 @@ void PropBrw::dispose()
    {}

    ::rptui::notifySystemWindow(this,this,::comphelper::mem_fun(&TaskPaneList::RemoveWindow));
    m_pDesignView.clear();
    DockingWindow::dispose();
}

diff --git a/sc/inc/AccessibleFilterMenu.hxx b/sc/inc/AccessibleFilterMenu.hxx
index 65da10f..2fa0a38 100644
--- a/sc/inc/AccessibleFilterMenu.hxx
+++ b/sc/inc/AccessibleFilterMenu.hxx
@@ -27,6 +27,7 @@
#include <com/sun/star/accessibility/XAccessibleText.hpp>
#include <com/sun/star/accessibility/XAccessibleTextAttributes.hpp>
#include <com/sun/star/accessibility/TextSegment.hpp>
#include <vcl/vclptr.hxx>

#include <vector>

@@ -169,7 +170,7 @@ private:
    ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > mxStateSet;

    size_t mnMenuPos;
    ScMenuFloatingWindow* mpWindow;
    VclPtr<ScMenuFloatingWindow> mpWindow;

    bool mbEnabled:1;
};
diff --git a/sc/inc/AccessibleFilterMenuItem.hxx b/sc/inc/AccessibleFilterMenuItem.hxx
index dc723e7..7eb2e8a 100644
--- a/sc/inc/AccessibleFilterMenuItem.hxx
+++ b/sc/inc/AccessibleFilterMenuItem.hxx
@@ -24,6 +24,7 @@
#include <cppuhelper/implbase1.hxx>

#include <com/sun/star/accessibility/XAccessibleAction.hpp>
#include <vcl/vclptr.hxx>

class ScMenuFloatingWindow;

@@ -104,7 +105,7 @@ private:
private:
    ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > mxStateSet;

    ScMenuFloatingWindow* mpWindow;
    VclPtr<ScMenuFloatingWindow> mpWindow;
    size_t mnMenuPos;
    bool mbEnabled;
};
diff --git a/sc/inc/scmod.hxx b/sc/inc/scmod.hxx
index 2673e2f..c2c921c 100644
--- a/sc/inc/scmod.hxx
+++ b/sc/inc/scmod.hxx
@@ -112,8 +112,8 @@ class ScModule: public SfxModule, public SfxListener, utl::ConfigurationListener
    bool                mbIsInSharedDocLoading:1;
    bool                mbIsInSharedDocSaving:1;

    std::map<sal_uInt16, std::list<vcl::Window*> > m_mapRefWindow;
    std::stack<ScAnyRefModalDlg*> maAnyRefDlgStack;
    std::map<sal_uInt16, std::list<VclPtr<vcl::Window> > > m_mapRefWindow;
    std::stack<VclPtr<ScAnyRefModalDlg> > maAnyRefDlgStack;
public:
                    SFX_DECL_INTERFACE(SCID_APP)

diff --git a/sc/inc/scopetools.hxx b/sc/inc/scopetools.hxx
index f0b7bf6..c246fa9 100644
--- a/sc/inc/scopetools.hxx
+++ b/sc/inc/scopetools.hxx
@@ -11,6 +11,7 @@
#define INCLUDED_SC_INC_SCOPETOOLS_HXX

#include "scdllapi.h"
#include <vcl/vclptr.hxx>

class ScDocument;
namespace vcl { class Window; }
@@ -58,7 +59,7 @@ public:

class WaitPointerSwitch
{
    vcl::Window* mpFrameWin;
    VclPtr<vcl::Window> mpFrameWin;
public:
    WaitPointerSwitch(vcl::Window* pWin);
    ~WaitPointerSwitch();
diff --git a/sc/inc/waitoff.hxx b/sc/inc/waitoff.hxx
index 0e76720..6c8b5f9 100644
--- a/sc/inc/waitoff.hxx
+++ b/sc/inc/waitoff.hxx
@@ -27,7 +27,7 @@ namespace vcl { class Window; }
class ScWaitCursorOff
{
private:
    vcl::Window*                 pWin;
    VclPtr<vcl::Window>     pWin;
    sal_uInt32              nWaiters;
public:
                        ScWaitCursorOff( vcl::Window* pWin );
diff --git a/sc/source/ui/Accessibility/AccessibleText.cxx b/sc/source/ui/Accessibility/AccessibleText.cxx
index a11a730..c6ca6ad 100644
--- a/sc/source/ui/Accessibility/AccessibleText.cxx
+++ b/sc/source/ui/Accessibility/AccessibleText.cxx
@@ -142,9 +142,9 @@ void ScViewForwarder::SetInvalid()

class ScEditObjectViewForwarder : public SvxViewForwarder
{
    vcl::Window*             mpWindow;
    VclPtr<vcl::Window> mpWindow;
    // #i49561# EditView needed for access to its visible area.
    const EditView* mpEditView;
    const EditView*     mpEditView;
public:
                        ScEditObjectViewForwarder( vcl::Window* pWindow,
                                                   const EditView* _pEditView);
@@ -172,7 +172,7 @@ ScEditObjectViewForwarder::~ScEditObjectViewForwarder()

bool ScEditObjectViewForwarder::IsValid() const
{
    return (mpWindow != NULL);
    return (mpWindow != nullptr);
}

Rectangle ScEditObjectViewForwarder::GetVisArea() const
@@ -545,7 +545,7 @@ Rectangle ScPreviewNoteViewForwarder::GetVisArea() const
class ScEditViewForwarder : public SvxEditViewForwarder
{
    EditView*           mpEditView;
    vcl::Window*             mpWindow;
    VclPtr<vcl::Window> mpWindow;
public:
                        ScEditViewForwarder(EditView* pEditView, vcl::Window* pWin);
    virtual             ~ScEditViewForwarder();
@@ -1073,7 +1073,7 @@ ScAccessibleEditLineTextData::ScAccessibleEditLineTextData(EditView* pEditView, 

ScAccessibleEditLineTextData::~ScAccessibleEditLineTextData()
{
    ScTextWnd* pTxtWnd = dynamic_cast< ScTextWnd* >(mpWindow);
    ScTextWnd* pTxtWnd = dynamic_cast< ScTextWnd* >(mpWindow.get());

    if (pTxtWnd)
        pTxtWnd->RemoveAccessibleTextData( *this );
@@ -1094,7 +1094,7 @@ ScAccessibleEditLineTextData::~ScAccessibleEditLineTextData()

void ScAccessibleEditLineTextData::Dispose()
{
    ScTextWnd* pTxtWnd = dynamic_cast<ScTextWnd*>(mpWindow);
    ScTextWnd* pTxtWnd = dynamic_cast<ScTextWnd*>(mpWindow.get());

    if (pTxtWnd)
        pTxtWnd->RemoveAccessibleTextData( *this );
@@ -1110,7 +1110,7 @@ ScAccessibleTextData* ScAccessibleEditLineTextData::Clone() const

SvxTextForwarder* ScAccessibleEditLineTextData::GetTextForwarder()
{
    ScTextWnd* pTxtWnd = dynamic_cast<ScTextWnd*>(mpWindow);
    ScTextWnd* pTxtWnd = dynamic_cast<ScTextWnd*>(mpWindow.get());

    if (pTxtWnd)
    {
@@ -1156,7 +1156,7 @@ SvxTextForwarder* ScAccessibleEditLineTextData::GetTextForwarder()

SvxEditViewForwarder* ScAccessibleEditLineTextData::GetEditViewForwarder( bool bCreate )
{
    ScTextWnd* pTxtWnd = dynamic_cast<ScTextWnd*>(mpWindow);
    ScTextWnd* pTxtWnd = dynamic_cast<ScTextWnd*>(mpWindow.get());

    if (pTxtWnd)
    {
@@ -1178,7 +1178,7 @@ SvxEditViewForwarder* ScAccessibleEditLineTextData::GetEditViewForwarder( bool b

void ScAccessibleEditLineTextData::ResetEditMode()
{
    ScTextWnd* pTxtWnd = dynamic_cast<ScTextWnd*>(mpWindow);
    ScTextWnd* pTxtWnd = dynamic_cast<ScTextWnd*>(mpWindow.get());

    if (mbEditEngineCreated && mpEditEngine)
        delete mpEditEngine;
@@ -1196,7 +1196,7 @@ void ScAccessibleEditLineTextData::TextChanged()
{
    if (mbEditEngineCreated && mpEditEngine)
    {
        ScTextWnd* pTxtWnd = dynamic_cast<ScTextWnd*>(mpWindow);
        ScTextWnd* pTxtWnd = dynamic_cast<ScTextWnd*>(mpWindow.get());

        if (pTxtWnd)
            mpEditEngine->SetText(pTxtWnd->GetTextString());
@@ -1637,7 +1637,7 @@ SvxViewForwarder* ScAccessibleNoteTextData::GetViewForwarder()
class ScCsvViewForwarder : public SvxViewForwarder
{
    Rectangle                   maBoundBox;
    vcl::Window*                     mpWindow;
    VclPtr<vcl::Window>         mpWindow;

public:
    explicit                    ScCsvViewForwarder( vcl::Window* pWindow, const Rectangle& rBoundBox );
@@ -1658,7 +1658,7 @@ ScCsvViewForwarder::ScCsvViewForwarder( vcl::Window* pWindow, const Rectangle& r

bool ScCsvViewForwarder::IsValid() const
{
    return mpWindow != NULL;
    return mpWindow != nullptr;
}

Rectangle ScCsvViewForwarder::GetVisArea() const
diff --git a/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx b/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx
index 89e2fa4..16f3017 100644
--- a/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx
@@ -117,7 +117,18 @@ ScAnalysisOfVarianceDialog::ScAnalysisOfVarianceDialog(
}

ScAnalysisOfVarianceDialog::~ScAnalysisOfVarianceDialog()
{}
{
    dispose();
}

void ScAnalysisOfVarianceDialog::dispose()
{
    mpAlphaField.clear();
    mpSingleFactorRadio.clear();
    mpTwoFactorRadio.clear();
    mpRowsPerSampleField.clear();
    ScStatisticsInputOutputDialog::dispose();
}

bool ScAnalysisOfVarianceDialog::Close()
{
diff --git a/sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx b/sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx
index 8063b4a..5980b04 100644
--- a/sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx
@@ -37,7 +37,15 @@ ScExponentialSmoothingDialog::ScExponentialSmoothingDialog(
}

ScExponentialSmoothingDialog::~ScExponentialSmoothingDialog()
{}
{
    dispose();
}

void ScExponentialSmoothingDialog::dispose()
{
    mpSmoothingFactor.clear();
    ScStatisticsInputOutputDialog::dispose();
}

bool ScExponentialSmoothingDialog::Close()
{
diff --git a/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx b/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx
index 4a43e79..780434d 100644
--- a/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx
@@ -37,7 +37,15 @@ ScMovingAverageDialog::ScMovingAverageDialog(
}

ScMovingAverageDialog::~ScMovingAverageDialog()
{}
{
    dispose();
}

void ScMovingAverageDialog::dispose()
{
    mpIntervalSpin.clear();
    ScStatisticsInputOutputDialog::dispose();
}

bool ScMovingAverageDialog::Close()
{
diff --git a/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx b/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx
index ee906d4..8bc496b 100644
--- a/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx
@@ -81,6 +81,31 @@ ScRandomNumberGeneratorDialog::ScRandomNumberGeneratorDialog(
    GetRangeFromSelection();
}

ScRandomNumberGeneratorDialog::~ScRandomNumberGeneratorDialog()
{
    dispose();
}

void ScRandomNumberGeneratorDialog::dispose()
{
    mpInputRangeText.clear();
    mpInputRangeEdit.clear();
    mpInputRangeButton.clear();
    mpDistributionCombo.clear();
    mpParameter1Text.clear();
    mpParameter1Value.clear();
    mpParameter2Text.clear();
    mpParameter2Value.clear();
    mpSeed.clear();
    mpEnableSeed.clear();
    mpDecimalPlaces.clear();
    mpEnableRounding.clear();
    mpButtonApply.clear();
    mpButtonOk.clear();
    mpButtonClose.clear();
    ScAnyRefDlg::dispose();
}

void ScRandomNumberGeneratorDialog::Init()
{
    mpButtonOk->SetClickHdl( LINK( this, ScRandomNumberGeneratorDialog, OkClicked ) );
@@ -114,9 +139,6 @@ void ScRandomNumberGeneratorDialog::GetRangeFromSelection()
    mpInputRangeEdit->SetText( aCurrentString );
}

ScRandomNumberGeneratorDialog::~ScRandomNumberGeneratorDialog()
{}

void ScRandomNumberGeneratorDialog::SetActive()
{
    if ( mbDialogLostFocus )
diff --git a/sc/source/ui/StatisticsDialogs/SamplingDialog.cxx b/sc/source/ui/StatisticsDialogs/SamplingDialog.cxx
index a88faaf..4d1e7a5 100644
--- a/sc/source/ui/StatisticsDialogs/SamplingDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/SamplingDialog.cxx
@@ -60,6 +60,28 @@ ScSamplingDialog::ScSamplingDialog(
    GetRangeFromSelection();
}

ScSamplingDialog::~ScSamplingDialog()
{
    dispose();
}

void ScSamplingDialog::dispose()
{
    mpInputRangeLabel.clear();
    mpInputRangeEdit.clear();
    mpInputRangeButton.clear();
    mpOutputRangeLabel.clear();
    mpOutputRangeEdit.clear();
    mpOutputRangeButton.clear();
    mpSampleSize.clear();
    mpPeriod.clear();
    mpRandomMethodRadio.clear();
    mpPeriodicMethodRadio.clear();
    mpButtonOk.clear();
    mpActiveEdit.clear();
    ScAnyRefDlg::dispose();
}

void ScSamplingDialog::Init()
{
    mpButtonOk->SetClickHdl( LINK( this, ScSamplingDialog, OkClicked ) );
@@ -98,9 +120,6 @@ void ScSamplingDialog::GetRangeFromSelection()
    mpInputRangeEdit->SetText(aCurrentString);
}

ScSamplingDialog::~ScSamplingDialog()
{}

void ScSamplingDialog::SetActive()
{
    if ( mDialogLostFocus )
diff --git a/sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx b/sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx
index cb63821..a799364 100644
--- a/sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx
@@ -87,7 +87,24 @@ ScStatisticsInputOutputDialog::ScStatisticsInputOutputDialog(
}

ScStatisticsInputOutputDialog::~ScStatisticsInputOutputDialog()
{}
{
    dispose();
}

void ScStatisticsInputOutputDialog::dispose()
{
    mpInputRangeLabel.clear();
    mpInputRangeEdit.clear();
    mpInputRangeButton.clear();
    mpOutputRangeLabel.clear();
    mpOutputRangeEdit.clear();
    mpOutputRangeButton.clear();
    mpGroupByColumnsRadio.clear();
    mpGroupByRowsRadio.clear();
    mpButtonOk.clear();
    mpActiveEdit.clear();
    ScAnyRefDlg::dispose();
}

void ScStatisticsInputOutputDialog::Init()
{
diff --git a/sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx b/sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx
index 80da64a..9edd025 100644
--- a/sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx
@@ -65,7 +65,27 @@ ScStatisticsTwoVariableDialog::ScStatisticsTwoVariableDialog(
}

ScStatisticsTwoVariableDialog::~ScStatisticsTwoVariableDialog()
{}
{
    dispose();
}

void ScStatisticsTwoVariableDialog::dispose()
{
    mpVariable1RangeLabel.clear();
    mpVariable1RangeEdit.clear();
    mpVariable1RangeButton.clear();
    mpVariable2RangeLabel.clear();
    mpVariable2RangeEdit.clear();
    mpVariable2RangeButton.clear();
    mpOutputRangeLabel.clear();
    mpOutputRangeEdit.clear();
    mpOutputRangeButton.clear();
    mpButtonOk.clear();
    mpGroupByColumnsRadio.clear();
    mpGroupByRowsRadio.clear();
    mpActiveEdit.clear();
    ScAnyRefDlg::dispose();
}

void ScStatisticsTwoVariableDialog::Init()
{
@@ -141,7 +161,7 @@ void ScStatisticsTwoVariableDialog::SetActive()

void ScStatisticsTwoVariableDialog::SetReference( const ScRange& rReferenceRange, ScDocument* pDocument )
{
    if ( mpActiveEdit != NULL )
    if ( mpActiveEdit != nullptr )
    {
        if ( rReferenceRange.aStart != rReferenceRange.aEnd )
            RefInputStart( mpActiveEdit );
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index b1a1983..caf2c4a 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -1750,6 +1750,11 @@ void ScInputHandler::UpdateActiveView()
        pTopView = NULL;
}

void ScInputHandler::SetInputWindow(  ScInputWindow* pNew )
{
    pInputWin = pNew;
}

void ScInputHandler::StopInputWinEngine( bool bAll )
{
    if (pInputWin)
diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx
index 2115fec..0df1158 100644
--- a/sc/source/ui/app/scmod.cxx
+++ b/sc/source/ui/app/scmod.cxx
@@ -2218,7 +2218,7 @@ IMPL_LINK( ScModule, CalcFieldValueHdl, EditFieldInfo*, pInfo )

bool ScModule::RegisterRefWindow( sal_uInt16 nSlotId, vcl::Window *pWnd )
{
    std::list<vcl::Window*> & rlRefWindow = m_mapRefWindow[nSlotId];
    std::list<VclPtr<vcl::Window> > & rlRefWindow = m_mapRefWindow[nSlotId];

    if( std::find( rlRefWindow.begin(), rlRefWindow.end(), pWnd ) == rlRefWindow.end() )
    {
@@ -2231,14 +2231,14 @@ bool ScModule::RegisterRefWindow( sal_uInt16 nSlotId, vcl::Window *pWnd )

bool  ScModule::UnregisterRefWindow( sal_uInt16 nSlotId, vcl::Window *pWnd )
{
    std::map<sal_uInt16, std::list<vcl::Window*> >::iterator iSlot = m_mapRefWindow.find( nSlotId );
    auto iSlot = m_mapRefWindow.find( nSlotId );

    if( iSlot == m_mapRefWindow.end() )
        return false;

    std::list<vcl::Window*> & rlRefWindow = iSlot->second;
    std::list<VclPtr<vcl::Window> > & rlRefWindow = iSlot->second;

    std::list<vcl::Window*>::iterator i = std::find( rlRefWindow.begin(), rlRefWindow.end(), pWnd );
    auto i = std::find( rlRefWindow.begin(), rlRefWindow.end(), pWnd );

    if( i == rlRefWindow.end() )
        return false;
@@ -2256,16 +2256,16 @@ vcl::Window *  ScModule::Find1RefWindow( sal_uInt16 nSlotId, vcl::Window *pWndAn
    if (!pWndAncestor)
        return NULL;

    std::map<sal_uInt16, std::list<vcl::Window*> >::iterator iSlot = m_mapRefWindow.find( nSlotId );
    auto iSlot = m_mapRefWindow.find( nSlotId );

    if( iSlot == m_mapRefWindow.end() )
        return NULL;

    std::list<vcl::Window*> & rlRefWindow = iSlot->second;
    std::list<VclPtr<vcl::Window> > & rlRefWindow = iSlot->second;

    while( vcl::Window *pParent = pWndAncestor->GetParent() ) pWndAncestor = pParent;

    for( std::list<vcl::Window*>::iterator i = rlRefWindow.begin(); i!=rlRefWindow.end(); ++i )
    for( auto i = rlRefWindow.begin(); i!=rlRefWindow.end(); ++i )
        if ( pWndAncestor->IsWindowOrChild( *i, (*i)->IsSystemWindow() ) )
            return *i;

diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx b/sc/source/ui/attrdlg/scdlgfact.hxx
index 6e49339..958e194 100644
--- a/sc/source/ui/attrdlg/scdlgfact.hxx
+++ b/sc/source/ui/attrdlg/scdlgfact.hxx
@@ -58,7 +58,7 @@ class ScTextImportOptionsDlg;
class ScCondFormatManagerDlg;

#define DECL_ABSTDLG_BASE(Class,DialogClass)        \
    DialogClass*        pDlg;                       \
    VclPtr<DialogClass> pDlg;                       \
public:                                             \
                    Class( DialogClass* p)          \
                     : pDlg(p)                      \
@@ -67,7 +67,7 @@ public:                                             \
    virtual short   Execute() SAL_OVERRIDE ;

#define DECL_ABSTDLG2_BASE(Class,DialogClass)        \
    DialogClass*        pDlg;                       \
    VclPtr<DialogClass> pDlg;                       \
public:                                             \
                    Class( DialogClass* p)          \
                     : pDlg(p)                      \
@@ -79,7 +79,6 @@ public:                                             \
#define IMPL_ABSTDLG_BASE(Class)                    \
Class::~Class()                                     \
{                                                   \
    delete pDlg;                                    \
}                                                   \
short Class::Execute()                             \
{                                                   \
@@ -89,7 +88,6 @@ short Class::Execute()                             \
#define IMPL_ABSTDLG2_BASE(Class)                   \
Class::~Class()                                     \
{                                                   \
    delete pDlg;                                    \
}                                                   \
void Class::StartExecuteModal( const Link& rEndDialogHdl ) \
{                                                   \
diff --git a/sc/source/ui/attrdlg/scuiexp.cxx b/sc/source/ui/attrdlg/scuiexp.cxx
index f3e026f..374e8ad 100644
--- a/sc/source/ui/attrdlg/scuiexp.cxx
+++ b/sc/source/ui/attrdlg/scuiexp.cxx
@@ -20,6 +20,36 @@
#undef SC_DLLIMPLEMENTATION

#include "scdlgfact.hxx"
#include "corodlg.hxx"
#include "condformatmgr.hxx"
#include "dapitype.hxx"
#include "dapidata.hxx"
#include "datafdlg.hxx"
#include "delcodlg.hxx"
#include "delcldlg.hxx"
#include "dpgroupdlg.hxx"
#include "filldlg.hxx"
#include "groupdlg.hxx"
#include "linkarea.hxx"
#include "lbseldlg.hxx"
#include "inscldlg.hxx"
#include "instbdlg.hxx"
#include "inscodlg.hxx"
#include "mtrindlg.hxx"
#include "mvtabdlg.hxx"
#include "namecrea.hxx"
#include "namepast.hxx"
#include "pfiltdlg.hxx"
#include "pvfundlg.hxx"
#include "shtabdlg.hxx"
#include "scendlg.hxx"
#include "scuiasciiopt.hxx"
#include "scuiautofmt.hxx"
#include "scuiimoptdlg.hxx"
#include "sortdlg.hxx"
#include "strindlg.hxx"
#include "tabbgcolordlg.hxx"
#include "textimportoptions.hxx"
#include <sal/types.h>

namespace scui
diff --git a/sc/source/ui/attrdlg/tabpages.cxx b/sc/source/ui/attrdlg/tabpages.cxx
index ea485cb..90453a8 100644
--- a/sc/source/ui/attrdlg/tabpages.cxx
+++ b/sc/source/ui/attrdlg/tabpages.cxx
@@ -59,6 +59,20 @@ ScTabPageProtection::ScTabPageProtection(vcl::Window* pParent, const SfxItemSet&
    m_pBtnHidePrint->SetClickHdl(   LINK( this, ScTabPageProtection, ButtonClickHdl ) );
}

ScTabPageProtection::~ScTabPageProtection()
{
    dispose();
}

void ScTabPageProtection::dispose()
{
    m_pBtnHideCell.clear();
    m_pBtnProtect.clear();
    m_pBtnHideFormula.clear();
    m_pBtnHidePrint.clear();
    SfxTabPage::dispose();
}

SfxTabPage* ScTabPageProtection::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet )
{
    return ( new ScTabPageProtection( pParent, *rAttrSet ) );
diff --git a/sc/source/ui/cctrl/checklistmenu.cxx b/sc/source/ui/cctrl/checklistmenu.cxx
index df4cda8..80c513f 100644
--- a/sc/source/ui/cctrl/checklistmenu.cxx
+++ b/sc/source/ui/cctrl/checklistmenu.cxx
@@ -97,7 +97,14 @@ ScMenuFloatingWindow::ScMenuFloatingWindow(vcl::Window* pParent, ScDocument* pDo

ScMenuFloatingWindow::~ScMenuFloatingWindow()
{
    dispose();
}

void ScMenuFloatingWindow::dispose()
{
    EndPopupMode();
    mpParentMenu.clear();
    PopupMenuFloatingWindow::dispose();
}

void ScMenuFloatingWindow::PopupModeEnd()
@@ -848,6 +855,17 @@ ScCheckListMenuWindow::Member::Member()
ScCheckListMenuWindow::CancelButton::CancelButton(ScCheckListMenuWindow* pParent) :
    ::CancelButton(pParent), mpParent(pParent) {}

ScCheckListMenuWindow::CancelButton::~CancelButton()
{
    dispose();
}

void ScCheckListMenuWindow::CancelButton::dispose()
{
    mpParent.clear();
    ::CancelButton::dispose();
}

void ScCheckListMenuWindow::CancelButton::Click()
{
    mpParent->EndPopupMode();
diff --git a/sc/source/ui/condformat/colorformat.cxx b/sc/source/ui/condformat/colorformat.cxx
index f3ee36a..daaa3bd 100644
--- a/sc/source/ui/condformat/colorformat.cxx
+++ b/sc/source/ui/condformat/colorformat.cxx
@@ -123,6 +123,29 @@ ScDataBarSettingsDlg::ScDataBarSettingsDlg(vcl::Window* pWindow, const ScDataBar
    PosSelectHdl(NULL);
}

ScDataBarSettingsDlg::~ScDataBarSettingsDlg()
{
    dispose();
}

void ScDataBarSettingsDlg::dispose()
{
    mpBtnOk.clear();
    mpBtnCancel.clear();
    mpLbPos.clear();
    mpLbNeg.clear();
    mpLbAxisCol.clear();
    mpLbTypeMin.clear();
    mpLbTypeMax.clear();
    mpLbAxisPos.clear();
    mpEdMin.clear();
    mpEdMax.clear();
    mpLenMin.clear();
    mpLenMax.clear();
    mpCbOnlyBar.clear();
    ModalDialog::dispose();
}

void ScDataBarSettingsDlg::Init()
{
    SfxObjectShell*     pDocSh      = SfxObjectShell::Current();
diff --git a/sc/source/ui/condformat/condformatdlg.cxx b/sc/source/ui/condformat/condformatdlg.cxx
index ad260e4..f058aab 100644
--- a/sc/source/ui/condformat/condformatdlg.cxx
+++ b/sc/source/ui/condformat/condformatdlg.cxx
@@ -47,6 +47,17 @@ ScCondFormatList::ScCondFormatList(vcl::Window* pParent, WinBits nStyle)
    SetBackground(GetControlBackground());
}

ScCondFormatList::~ScCondFormatList()
{
    dispose();
}

void ScCondFormatList::dispose()
{
    mpDialogParent.clear();
    Control::dispose();
}

void ScCondFormatList::init(ScDocument* pDoc, ScCondFormatDlg* pDialogParent,
        const ScConditionalFormat* pFormat, const ScRangeList& rRanges,
        const ScAddress& rPos, condformat::dialog::ScCondFormatDialogType eType)
@@ -436,7 +447,20 @@ ScCondFormatDlg::ScCondFormatDlg(vcl::Window* pParent, ScDocument* pDoc,

ScCondFormatDlg::~ScCondFormatDlg()
{
    dispose();
}

void ScCondFormatDlg::dispose()
{
    SC_MOD()->PopAnyRefDlg();
    mpBtnAdd.clear();
    mpBtnRemove.clear();
    mpFtRange.clear();
    mpEdRange.clear();
    mpRbRange.clear();
    mpCondFormList.clear();
    mpLastEdit.clear();
    ScAnyRefModalDlg::dispose();
}

void ScCondFormatDlg::SetActive()
diff --git a/sc/source/ui/condformat/condformatmgr.cxx b/sc/source/ui/condformat/condformatmgr.cxx
index bbdba3b..2669dd5 100644
--- a/sc/source/ui/condformat/condformatmgr.cxx
+++ b/sc/source/ui/condformat/condformatmgr.cxx
@@ -138,8 +138,11 @@ ScCondFormatManagerDlg::~ScCondFormatManagerDlg()

void ScCondFormatManagerDlg::dispose()
{
    delete m_pCtrlManager;
    delete mpFormatList;
    m_pBtnAdd.clear();
    m_pBtnRemove.clear();
    m_pBtnEdit.clear();
    m_pCtrlManager.clear();
    ModalDialog::dispose();
}

diff --git a/sc/source/ui/dbgui/PivotLayoutDialog.cxx b/sc/source/ui/dbgui/PivotLayoutDialog.cxx
index c8087b3..4c1a1d0 100644
--- a/sc/source/ui/dbgui/PivotLayoutDialog.cxx
+++ b/sc/source/ui/dbgui/PivotLayoutDialog.cxx
@@ -184,7 +184,41 @@ ScPivotLayoutDialog::ScPivotLayoutDialog(
}

ScPivotLayoutDialog::~ScPivotLayoutDialog()
{}
{
    dispose();
}

void ScPivotLayoutDialog::dispose()
{
    mpPreviouslyFocusedListBox.clear();
    mpCurrentlyFocusedListBox.clear();
    mpListBoxField.clear();
    mpListBoxPage.clear();
    mpListBoxColumn.clear();
    mpListBoxRow.clear();
    mpListBoxData.clear();
    mpCheckIgnoreEmptyRows.clear();
    mpCheckTotalColumns.clear();
    mpCheckAddFilter.clear();
    mpCheckIdentifyCategories.clear();
    mpCheckTotalRows.clear();
    mpCheckDrillToDetail.clear();
    mpSourceRadioNamedRange.clear();
    mpSourceRadioSelection.clear();
    mpSourceListBox.clear();
    mpSourceEdit.clear();
    mpSourceButton.clear();
    mpDestinationRadioNewSheet.clear();
    mpDestinationRadioNamedRange.clear();
    mpDestinationRadioSelection.clear();
    mpDestinationListBox.clear();
    mpDestinationEdit.clear();
    mpDestinationButton.clear();
    mpBtnOK.clear();
    mpBtnCancel.clear();
    mpActiveEdit.clear();
    ScAnyRefDlg::dispose();
}

void ScPivotLayoutDialog::SetupSource()
{
@@ -314,7 +348,7 @@ void ScPivotLayoutDialog::SetActive()
    if (mbDialogLostFocus)
    {
        mbDialogLostFocus = false;
        if(mpActiveEdit != NULL)
        if(mpActiveEdit != nullptr)
        {
            mpActiveEdit->GrabFocus();
            if (mpActiveEdit == mpSourceEdit)
@@ -334,7 +368,7 @@ void ScPivotLayoutDialog::SetReference(const ScRange& rReferenceRange, ScDocumen
    if (!mbDialogLostFocus)
        return;

    if (mpActiveEdit == NULL)
    if (mpActiveEdit == nullptr)
        return;

    if (rReferenceRange.aStart != rReferenceRange.aEnd)
diff --git a/sc/source/ui/dbgui/PivotLayoutTreeListBase.cxx b/sc/source/ui/dbgui/PivotLayoutTreeListBase.cxx
index 0a54325..34b5fc8 100644
--- a/sc/source/ui/dbgui/PivotLayoutTreeListBase.cxx
+++ b/sc/source/ui/dbgui/PivotLayoutTreeListBase.cxx
@@ -28,7 +28,15 @@ ScPivotLayoutTreeListBase::ScPivotLayoutTreeListBase(vcl::Window* pParent, WinBi
}

ScPivotLayoutTreeListBase::~ScPivotLayoutTreeListBase()
{}
{
    dispose();
}

void ScPivotLayoutTreeListBase::dispose()
{
    mpParent.clear();
    SvTreeListBox::dispose();
}

void ScPivotLayoutTreeListBase::Setup(ScPivotLayoutDialog* pParent)
{
@@ -126,7 +134,7 @@ void ScPivotLayoutTreeListBase::GetFocus()
        if (pEntry)
            InsertEntryForSourceTarget(pEntry, NULL);

        if (mpParent->mpPreviouslyFocusedListBox != NULL)
        if (mpParent->mpPreviouslyFocusedListBox != nullptr)
            mpParent->mpPreviouslyFocusedListBox->GrabFocus();
    }

diff --git a/sc/source/ui/dbgui/PivotLayoutTreeListLabel.cxx b/sc/source/ui/dbgui/PivotLayoutTreeListLabel.cxx
index 3644f84..3595286c 100644
--- a/sc/source/ui/dbgui/PivotLayoutTreeListLabel.cxx
+++ b/sc/source/ui/dbgui/PivotLayoutTreeListLabel.cxx
@@ -59,7 +59,7 @@ void ScPivotLayoutTreeListLabel::FillLabelFields(ScDPLabelDataVector& rLabelVect

void ScPivotLayoutTreeListLabel::InsertEntryForSourceTarget(SvTreeListEntry* /*pSource*/, SvTreeListEntry* /*pTarget*/)
{
    if(mpParent->mpPreviouslyFocusedListBox != this)
    if(mpParent->mpPreviouslyFocusedListBox.get() != this)
        mpParent->mpPreviouslyFocusedListBox->RemoveSelection();
}

diff --git a/sc/source/ui/dbgui/consdlg.cxx b/sc/source/ui/dbgui/consdlg.cxx
index 835dada..48a1875 100644
--- a/sc/source/ui/dbgui/consdlg.cxx
+++ b/sc/source/ui/dbgui/consdlg.cxx
@@ -112,6 +112,23 @@ void ScConsolidateDlg::dispose()
{
    delete [] pAreaData;
    delete pRangeUtil;
    pLbFunc.clear();
    pLbConsAreas.clear();
    pLbDataArea.clear();
    pEdDataArea.clear();
    pRbDataArea.clear();
    pLbDestArea.clear();
    pEdDestArea.clear();
    pRbDestArea.clear();
    pExpander.clear();
    pBtnByRow.clear();
    pBtnByCol.clear();
    pBtnRefs.clear();
    pBtnOk.clear();
    pBtnCancel.clear();
    pBtnAdd.clear();
    pBtnRemove.clear();
    pRefInputEdit.clear();
    ScAnyRefDlg::dispose();
}

diff --git a/sc/source/ui/dbgui/dapidata.cxx b/sc/source/ui/dbgui/dapidata.cxx
index 5cf7260..5b8674d 100644
--- a/sc/source/ui/dbgui/dapidata.cxx
+++ b/sc/source/ui/dbgui/dapidata.cxx
@@ -82,6 +82,19 @@ ScDataPilotDatabaseDlg::ScDataPilotDatabaseDlg( vcl::Window* pParent ) :
    m_pLbType->SetSelectHdl( LINK( this, ScDataPilotDatabaseDlg, SelectHdl ) );
}

ScDataPilotDatabaseDlg::~ScDataPilotDatabaseDlg()
{
    dispose();
}

void ScDataPilotDatabaseDlg::dispose()
{
    m_pLbDatabase.clear();
    m_pCbObject.clear();
    m_pLbType.clear();
    ModalDialog::dispose();
}

void ScDataPilotDatabaseDlg::GetValues( ScImportSourceDesc& rDesc )
{
    sal_uInt16 nSelect = m_pLbType->GetSelectEntryPos();
diff --git a/sc/source/ui/dbgui/dapitype.cxx b/sc/source/ui/dbgui/dapitype.cxx
index f32ce2b..d2869f35 100644
--- a/sc/source/ui/dbgui/dapitype.cxx
+++ b/sc/source/ui/dbgui/dapitype.cxx
@@ -53,6 +53,17 @@ ScDataPilotSourceTypeDlg::ScDataPilotSourceTypeDlg(vcl::Window* pParent, bool bE

ScDataPilotSourceTypeDlg::~ScDataPilotSourceTypeDlg()
{
    dispose();
}

void ScDataPilotSourceTypeDlg::dispose()
{
    m_pBtnSelection.clear();
    m_pBtnNamedRange.clear();
    m_pBtnDatabase.clear();
    m_pBtnExternal.clear();
    m_pLbNamedRange.clear();
    ModalDialog::dispose();
}

bool ScDataPilotSourceTypeDlg::IsDatabase() const
@@ -115,8 +126,20 @@ ScDataPilotServiceDlg::ScDataPilotServiceDlg( vcl::Window* pParent,

ScDataPilotServiceDlg::~ScDataPilotServiceDlg()
{
    dispose();
}

void ScDataPilotServiceDlg::dispose()
{
    m_pLbService.clear();
    m_pEdSource.clear();
    m_pEdName.clear();
    m_pEdUser.clear();
    m_pEdPasswd.clear();
    ModalDialog::dispose();
}


OUString ScDataPilotServiceDlg::GetServiceName() const
{
    return m_pLbService->GetSelectEntry();
diff --git a/sc/source/ui/dbgui/dbnamdlg.cxx b/sc/source/ui/dbgui/dbnamdlg.cxx
index dca70c5..f78153e 100644
--- a/sc/source/ui/dbgui/dbnamdlg.cxx
+++ b/sc/source/ui/dbgui/dbnamdlg.cxx
@@ -164,6 +164,21 @@ ScDbNameDlg::~ScDbNameDlg()
void ScDbNameDlg::dispose()
{
    DELETEZ( pSaveObj );
    m_pEdName.clear();
    m_pAssignFrame.clear();
    m_pEdAssign.clear();
    m_pRbAssign.clear();
    m_pOptions.clear();
    m_pBtnHeader.clear();
    m_pBtnDoSize.clear();
    m_pBtnKeepFmt.clear();
    m_pBtnStripData.clear();
    m_pFTSource.clear();
    m_pFTOperations.clear();
    m_pBtnOk.clear();
    m_pBtnCancel.clear();
    m_pBtnAdd.clear();
    m_pBtnRemove.clear();
    ScAnyRefDlg::dispose();
}

diff --git a/sc/source/ui/dbgui/dpgroupdlg.cxx b/sc/source/ui/dbgui/dpgroupdlg.cxx
index 1749333..e584ef6 100644
--- a/sc/source/ui/dbgui/dpgroupdlg.cxx
+++ b/sc/source/ui/dbgui/dpgroupdlg.cxx
@@ -173,6 +173,24 @@ ScDPNumGroupDlg::ScDPNumGroupDlg( vcl::Window* pParent, const ScDPNumGroupInfo& 
        mpEdBy->GrabFocus();
}

ScDPNumGroupDlg::~ScDPNumGroupDlg()
{
    dispose();
}

void ScDPNumGroupDlg::dispose()
{
    mpRbAutoStart.clear();
    mpRbManStart.clear();
    mpEdStart.clear();
    mpRbAutoEnd.clear();
    mpRbManEnd.clear();
    mpEdEnd.clear();
    mpEdBy.clear();
    ModalDialog::dispose();
}


ScDPNumGroupInfo ScDPNumGroupDlg::GetGroupInfo() const
{
    ScDPNumGroupInfo aInfo;
@@ -259,6 +277,27 @@ ScDPDateGroupDlg::ScDPDateGroupDlg( vcl::Window* pParent,
    mpLbUnits->SetCheckButtonHdl( LINK( this, ScDPDateGroupDlg, CheckHdl ) );
}

ScDPDateGroupDlg::~ScDPDateGroupDlg()
{
    dispose();
}

void ScDPDateGroupDlg::dispose()
{
    mpRbAutoStart.clear();
    mpRbManStart.clear();
    mpEdStart.clear();
    mpRbAutoEnd.clear();
    mpRbManEnd.clear();
    mpEdEnd.clear();
    mpRbNumDays.clear();
    mpRbUnits.clear();
    mpEdNumDays.clear();
    mpLbUnits.clear();
    mpBtnOk.clear();
    ModalDialog::dispose();
}

ScDPNumGroupInfo ScDPDateGroupDlg::GetGroupInfo() const
{
    ScDPNumGroupInfo aInfo;
diff --git a/sc/source/ui/dbgui/filtdlg.cxx b/sc/source/ui/dbgui/filtdlg.cxx
index 40375c8..3ef4c4f 100644
--- a/sc/source/ui/dbgui/filtdlg.cxx
+++ b/sc/source/ui/dbgui/filtdlg.cxx
@@ -171,6 +171,38 @@ void ScFilterDlg::dispose()
    // Hack: RefInput control
    pTimer->Stop();
    delete pTimer;

    pLbConnect1.clear();
    pLbField1.clear();
    pLbCond1.clear();
    pEdVal1.clear();
    pLbConnect2.clear();
    pLbField2.clear();
    pLbCond2.clear();
    pEdVal2.clear();
    pLbConnect3.clear();
    pLbField3.clear();
    pLbCond3.clear();
    pEdVal3.clear();
    pLbConnect4.clear();
    pLbField4.clear();
    pLbCond4.clear();
    pEdVal4.clear();
    pScrollBar.clear();
    pExpander.clear();
    pBtnOk.clear();
    pBtnCancel.clear();
    pBtnCase.clear();
    pBtnRegExp.clear();
    pBtnHeader.clear();
    pBtnUnique.clear();
    pBtnCopyResult.clear();
    pLbCopyArea.clear();
    pEdCopyArea.clear();
    pRbCopyArea.clear();
    pBtnDestPers.clear();
    pFtDbAreaLabel.clear();
    pFtDbArea.clear();
    ScAnyRefDlg::dispose();
}

diff --git a/sc/source/ui/dbgui/pfiltdlg.cxx b/sc/source/ui/dbgui/pfiltdlg.cxx
index 6c566bc..eb5ade6 100644
--- a/sc/source/ui/dbgui/pfiltdlg.cxx
+++ b/sc/source/ui/dbgui/pfiltdlg.cxx
@@ -92,6 +92,24 @@ void ScPivotFilterDlg::dispose()
        delete pEntryLists[i];

    delete pOutItem;
    m_pLbField1.clear();
    m_pLbCond1.clear();
    m_pEdVal1.clear();
    m_pLbConnect1.clear();
    m_pLbField2.clear();
    m_pLbCond2.clear();
    m_pEdVal2.clear();
    m_pLbConnect2.clear();
    m_pLbField3.clear();
    m_pLbCond3.clear();
    m_pEdVal3.clear();
    m_pBtnCase.clear();
    m_pBtnRegExp.clear();
    m_pBtnUnique.clear();
    m_pFtDbArea.clear();
    for (auto a : aValueEdArr) a.clear();
    for (auto a : aFieldLbArr) a.clear();
    for (auto a : aCondLbArr) a.clear();
    ModalDialog::dispose();
}

diff --git a/sc/source/ui/dbgui/pvfundlg.cxx b/sc/source/ui/dbgui/pvfundlg.cxx
index 3f55a4b..a505986 100644
--- a/sc/source/ui/dbgui/pvfundlg.cxx
+++ b/sc/source/ui/dbgui/pvfundlg.cxx
@@ -214,6 +214,25 @@ ScDPFunctionDlg::ScDPFunctionDlg(
    Init( rLabelData, rFuncData );
}

ScDPFunctionDlg::~ScDPFunctionDlg()
{
    dispose();
}

void ScDPFunctionDlg::dispose()
{
    mpLbFunc.clear();
    mpFtName.clear();
    mpLbType.clear();
    mpFtBaseField.clear();
    mpLbBaseField.clear();
    mpFtBaseItem.clear();
    mpLbBaseItem.clear();
    mpBtnOk.clear();
    ModalDialog::dispose();
}


sal_uInt16 ScDPFunctionDlg::GetFuncMask() const
{
    return mpLbFunc->GetSelection();
@@ -431,6 +450,24 @@ ScDPSubtotalDlg::ScDPSubtotalDlg( vcl::Window* pParent, ScDPObject& rDPObj,
    Init( rLabelData, rFuncData );
}

ScDPSubtotalDlg::~ScDPSubtotalDlg()
{
    dispose();
}

void ScDPSubtotalDlg::dispose()
{
    mpRbNone.clear();
    mpRbAuto.clear();
    mpRbUser.clear();
    mpLbFunc.clear();
    mpFtName.clear();
    mpCbShowAll.clear();
    mpBtnOk.clear();
    mpBtnOptions.clear();
    ModalDialog::dispose();
}

sal_uInt16 ScDPSubtotalDlg::GetFuncMask() const
{
    sal_uInt16 nFuncMask = PIVOT_FUNC_NONE;
@@ -545,6 +582,35 @@ ScDPSubtotalOptDlg::ScDPSubtotalOptDlg( vcl::Window* pParent, ScDPObject& rDPObj
    Init( rDataFields, bEnableLayout );
}

ScDPSubtotalOptDlg::~ScDPSubtotalOptDlg()
{
    dispose();
}

void ScDPSubtotalOptDlg::dispose()
{
    m_pLbSortBy.clear();
    m_pRbSortAsc.clear();
    m_pRbSortDesc.clear();
    m_pRbSortMan.clear();
    m_pLayoutFrame.clear();
    m_pLbLayout.clear();
    m_pCbLayoutEmpty.clear();
    m_pCbRepeatItemLabels.clear();
    m_pCbShow.clear();
    m_pNfShow.clear();
    m_pFtShow.clear();
    m_pFtShowFrom.clear();
    m_pLbShowFrom.clear();
    m_pFtShowUsing.clear();
    m_pLbShowUsing.clear();
    m_pHideFrame.clear();
    m_pLbHide.clear();
    m_pFtHierarchy.clear();
    m_pLbHierarchy.clear();
    ModalDialog::dispose();
}

void ScDPSubtotalOptDlg::FillLabelData( ScDPLabelData& rLabelData ) const
{
    // *** SORTING ***
@@ -798,6 +864,18 @@ ScDPShowDetailDlg::ScDPShowDetailDlg( vcl::Window* pParent, ScDPObject& rDPObj, 
    mpLbDims->SetDoubleClickHdl( LINK( this, ScDPShowDetailDlg, DblClickHdl ) );
}

ScDPShowDetailDlg::~ScDPShowDetailDlg()
{
    dispose();
}

void ScDPShowDetailDlg::dispose()
{
    mpLbDims.clear();
    mpBtnOk.clear();
    ModalDialog::dispose();
}

short ScDPShowDetailDlg::Execute()
{
    return mpLbDims->GetEntryCount() ? ModalDialog::Execute() : static_cast<short>(RET_CANCEL);
diff --git a/sc/source/ui/dbgui/scendlg.cxx b/sc/source/ui/dbgui/scendlg.cxx
index cd2b3a7..c2d65c5 100644
--- a/sc/source/ui/dbgui/scendlg.cxx
+++ b/sc/source/ui/dbgui/scendlg.cxx
@@ -108,6 +108,24 @@ ScNewScenarioDlg::ScNewScenarioDlg( vcl::Window* pParent, const OUString& rName,
        m_pCbProtect->Enable(false);
}

ScNewScenarioDlg::~ScNewScenarioDlg()
{
    dispose();
}

void ScNewScenarioDlg::dispose()
{
    m_pEdName.clear();
    m_pEdComment.clear();
    m_pCbShowFrame.clear();
    m_pLbColor.clear();
    m_pCbTwoWay.clear();
    m_pCbCopyAll.clear();
    m_pCbProtect.clear();
    m_pBtnOk.clear();
    ModalDialog::dispose();
}

void ScNewScenarioDlg::GetScenarioData( OUString& rName, OUString& rComment,
                                        Color& rColor, sal_uInt16& rFlags ) const
{
diff --git a/sc/source/ui/dbgui/scuiasciiopt.cxx b/sc/source/ui/dbgui/scuiasciiopt.cxx
index 2abde83..3a6428a 100644
--- a/sc/source/ui/dbgui/scuiasciiopt.cxx
+++ b/sc/source/ui/dbgui/scuiasciiopt.cxx
@@ -470,6 +470,28 @@ ScImportAsciiDlg::~ScImportAsciiDlg()
void ScImportAsciiDlg::dispose()
{
    delete[] mpRowPosArray;
    pFtCharSet.clear();
    pLbCharSet.clear();
    pFtCustomLang.clear();
    pLbCustomLang.clear();
    pFtRow.clear();
    pNfRow.clear();
    pRbFixed.clear();
    pRbSeparated.clear();
    pCkbTab.clear();
    pCkbSemicolon.clear();
    pCkbComma.clear();
    pCkbSpace.clear();
    pCkbOther.clear();
    pEdOther.clear();
    pCkbAsOnce.clear();
    pFtTextSep.clear();
    pCbTextSep.clear();
    pCkbQuotedAsText.clear();
    pCkbDetectNumber.clear();
    pFtType.clear();
    pLbType.clear();
    mpTableBox.clear();
    ModalDialog::dispose();
}

diff --git a/sc/source/ui/dbgui/scuiimoptdlg.cxx b/sc/source/ui/dbgui/scuiimoptdlg.cxx
index 1cbb424..bcc2eb9 100644
--- a/sc/source/ui/dbgui/scuiimoptdlg.cxx
+++ b/sc/source/ui/dbgui/scuiimoptdlg.cxx
@@ -247,6 +247,18 @@ void ScImportOptionsDlg::dispose()
{
    delete pFieldSepTab;
    delete pTextSepTab;
    m_pFieldFrame.clear();
    m_pFtCharset.clear();
    m_pLbCharset.clear();
    m_pFtFieldSep.clear();
    m_pEdFieldSep.clear();
    m_pFtTextSep.clear();
    m_pEdTextSep.clear();
    m_pCbShown.clear();
    m_pCbFormulas.clear();
    m_pCbQuoteAll.clear();
    m_pCbFixed.clear();
    m_pBtnOk.clear();
    ModalDialog::dispose();
}

diff --git a/sc/source/ui/dbgui/sfiltdlg.cxx b/sc/source/ui/dbgui/sfiltdlg.cxx
index c872bb8..a78b6de 100644
--- a/sc/source/ui/dbgui/sfiltdlg.cxx
+++ b/sc/source/ui/dbgui/sfiltdlg.cxx
@@ -116,6 +116,25 @@ void ScSpecialFilterDlg::dispose()
    // Hack: RefInput-Kontrolle
    pIdle->Stop();
    delete pIdle;

    pLbFilterArea.clear();
    pEdFilterArea.clear();
    pRbFilterArea.clear();
    pExpander.clear();
    pBtnCase.clear();
    pBtnRegExp.clear();
    pBtnHeader.clear();
    pBtnUnique.clear();
    pBtnCopyResult.clear();
    pLbCopyArea.clear();
    pEdCopyArea.clear();
    pRbCopyArea.clear();
    pBtnDestPers.clear();
    pFtDbAreaLabel.clear();
    pFtDbArea.clear();
    pBtnOk.clear();
    pBtnCancel.clear();
    pRefInputEdit.clear();
    ScAnyRefDlg::dispose();
}

diff --git a/sc/source/ui/dbgui/sortdlg.cxx b/sc/source/ui/dbgui/sortdlg.cxx
index 97c6b98..0934193 100644
--- a/sc/source/ui/dbgui/sortdlg.cxx
+++ b/sc/source/ui/dbgui/sortdlg.cxx
@@ -50,6 +50,19 @@ ScSortWarningDlg::ScSortWarningDlg(vcl::Window* pParent,
    aBtnCurSort->SetClickHdl( LINK( this, ScSortWarningDlg, BtnHdl ) );
}

ScSortWarningDlg::~ScSortWarningDlg()
{
    dispose();
}

void ScSortWarningDlg::dispose()
{
    aFtText.clear();
    aBtnExtSort.clear();
    aBtnCurSort.clear();
    ModalDialog::dispose();
}

IMPL_LINK( ScSortWarningDlg, BtnHdl, PushButton*, pBtn )
{
    if ( pBtn == aBtnExtSort )
diff --git a/sc/source/ui/dbgui/subtdlg.cxx b/sc/source/ui/dbgui/subtdlg.cxx
index c4a718a..b34356d 100644
--- a/sc/source/ui/dbgui/subtdlg.cxx
+++ b/sc/source/ui/dbgui/subtdlg.cxx
@@ -36,6 +36,17 @@ ScSubTotalDlg::ScSubTotalDlg(vcl::Window* pParent, const SfxItemSet* pArgSet)
    m_pBtnRemove->SetClickHdl( LINK( this, ScSubTotalDlg, RemoveHdl ) );
}

ScSubTotalDlg::~ScSubTotalDlg()
{
    dispose();
}

void ScSubTotalDlg::dispose()
{
    m_pBtnRemove.clear();
    SfxTabDialog::dispose();
}

IMPL_LINK_INLINE_START( ScSubTotalDlg, RemoveHdl, PushButton *, pBtn )
{
    if (pBtn == m_pBtnRemove)
diff --git a/sc/source/ui/dbgui/textimportoptions.cxx b/sc/source/ui/dbgui/textimportoptions.cxx
index fb1b349..a90a35d 100644
--- a/sc/source/ui/dbgui/textimportoptions.cxx
+++ b/sc/source/ui/dbgui/textimportoptions.cxx
@@ -38,8 +38,20 @@ ScTextImportOptionsDlg::ScTextImportOptionsDlg(vcl::Window* pParent)

ScTextImportOptionsDlg::~ScTextImportOptionsDlg()
{
    dispose();
}

void ScTextImportOptionsDlg::dispose()
{
    m_pBtnOk.clear();
    m_pRbAutomatic.clear();
    m_pRbCustom.clear();
    m_pLbCustomLang.clear();
    m_pBtnConvertDate.clear();
    ModalDialog::dispose();
}


short ScTextImportOptionsDlg::Execute()
{
    return ModalDialog::Execute();
diff --git a/sc/source/ui/dbgui/tpsort.cxx b/sc/source/ui/dbgui/tpsort.cxx
index 8083c0e..ed21592 100644
--- a/sc/source/ui/dbgui/tpsort.cxx
+++ b/sc/source/ui/dbgui/tpsort.cxx
@@ -93,6 +93,17 @@ ScTabPageSortFields::ScTabPageSortFields(vcl::Window* pParent,
    SetExchangeSupport();
}

ScTabPageSortFields::~ScTabPageSortFields()
{
    dispose();
}

void ScTabPageSortFields::dispose()
{
    pDlg.clear();
    SfxTabPage::dispose();
}

void ScTabPageSortFields::SetPosSizePixel(const Point& rAllocPos, const Size& rAllocation)
{
    SfxTabPage::SetPosSizePixel(rAllocPos, rAllocation);
@@ -111,10 +122,6 @@ void ScTabPageSortFields::SetPosPixel(const Point& rAllocPos)
    maSortKeyCtrl.setScrollRange();
}

ScTabPageSortFields::~ScTabPageSortFields()
{
}

void ScTabPageSortFields::Init()
{
    const ScSortItem& rSortItem = static_cast<const ScSortItem&>(
@@ -528,6 +535,21 @@ void ScTabPageSortOptions::dispose()

    delete pColRes;
    delete pColWrap;        //! not if from document
    m_pBtnCase.clear();
    m_pBtnHeader.clear();
    m_pBtnFormats.clear();
    m_pBtnNaturalSort.clear();
    m_pBtnCopyResult.clear();
    m_pLbOutPos.clear();
    m_pEdOutPos.clear();
    m_pBtnSortUser.clear();
    m_pLbSortUser.clear();
    m_pLbLanguage.clear();
    m_pFtAlgorithm.clear();
    m_pLbAlgorithm.clear();
    m_pBtnTopDown.clear();
    m_pBtnLeftRight.clear();
    pDlg.clear();
    SfxTabPage::dispose();
}

diff --git a/sc/source/ui/dbgui/tpsubt.cxx b/sc/source/ui/dbgui/tpsubt.cxx
index a8b4c14e..a7f010b9 100644
--- a/sc/source/ui/dbgui/tpsubt.cxx
+++ b/sc/source/ui/dbgui/tpsubt.cxx
@@ -84,6 +84,9 @@ void ScTpSubTotalGroup::dispose()
            delete pData;
        }
    }
    mpLbGroup.clear();
    mpLbColumns.clear();
    mpLbFunctions.clear();
    SfxTabPage::dispose();
}

@@ -448,6 +451,21 @@ ScTpSubTotalOptions::ScTpSubTotalOptions( vcl::Window*               pParent,

ScTpSubTotalOptions::~ScTpSubTotalOptions()
{
    dispose();
}

void ScTpSubTotalOptions::dispose()
{
    pBtnPagebreak.clear();
    pBtnCase.clear();
    pBtnSort.clear();
    pFlSort.clear();
    pBtnAscending.clear();
    pBtnDescending.clear();
    pBtnFormats.clear();
    pBtnUserDef.clear();
    pLbUserDef.clear();
    SfxTabPage::dispose();
}

void ScTpSubTotalOptions::Init()
diff --git a/sc/source/ui/dbgui/validate.cxx b/sc/source/ui/dbgui/validate.cxx
index 5d52c71..27dd263 100644
--- a/sc/source/ui/dbgui/validate.cxx
+++ b/sc/source/ui/dbgui/validate.cxx
@@ -168,6 +168,17 @@ void ScTPValidationValue::RefInputDonePostHdl()
        m_pRefEdit->GrabFocus();
}

ScTPValidationValue::ScRefButtonEx::~ScRefButtonEx()
{
    dispose();
}

void ScTPValidationValue::ScRefButtonEx::dispose()
{
    m_pPage.clear();
    ::formula::RefButton::dispose();
}

namespace {

/** Converts the passed ScValidationMode to the position in the list box. */
@@ -346,6 +357,33 @@ ScTPValidationValue::ScTPValidationValue( vcl::Window* pParent, const SfxItemSet
    m_pBtnRef->Hide(); // cell range picker
}

ScTPValidationValue::~ScTPValidationValue()
{
    dispose();
}

void ScTPValidationValue::dispose()
{
    m_pLbAllow.clear();
    m_pCbAllow.clear();
    m_pCbShow.clear();
    m_pCbSort.clear();
    m_pFtValue.clear();
    m_pLbValue.clear();
    m_pFtMin.clear();
    m_pMinGrid.clear();
    m_pEdMin.clear();
    m_pEdList.clear();
    m_pFtMax.clear();
    m_pEdMax.clear();
    m_pFtHint.clear();
    m_pRefEdit.clear();
    m_pBtnRef.clear();
    m_pRefGrid.clear();
    SfxTabPage::dispose();
}


void ScTPValidationValue::Init()
{
    m_pLbAllow->SetSelectHdl( LINK( this, ScTPValidationValue, SelectHdl ) );
@@ -649,6 +687,15 @@ ScTPValidationHelp::ScTPValidationHelp( vcl::Window*         pParent,

ScTPValidationHelp::~ScTPValidationHelp()
{
    dispose();
}

void ScTPValidationHelp::dispose()
{
    pTsbHelp.clear();
    pEdtTitle.clear();
    pEdInputHelp.clear();
    SfxTabPage::dispose();
}

void ScTPValidationHelp::Init()
@@ -713,6 +760,18 @@ ScTPValidationError::ScTPValidationError( vcl::Window*           pParent,

ScTPValidationError::~ScTPValidationError()
{
    dispose();
}

void ScTPValidationError::dispose()
{
    m_pTsbShow.clear();
    m_pLbAction.clear();
    m_pBtnSearch.clear();
    m_pEdtTitle.clear();
    m_pFtError.clear();
    m_pEdError.clear();
    SfxTabPage::dispose();
}

void ScTPValidationError::Init()
diff --git a/sc/source/ui/dialogs/searchresults.cxx b/sc/source/ui/dialogs/searchresults.cxx
index b5be34b..984f193 100644
--- a/sc/source/ui/dialogs/searchresults.cxx
+++ b/sc/source/ui/dialogs/searchresults.cxx
@@ -46,7 +46,7 @@ SearchResultsDlg::~SearchResultsDlg()

void SearchResultsDlg::dispose()
{
    delete mpList;
    mpList.clear();
    ModelessDialog::dispose();
}

diff --git a/sc/source/ui/docshell/tablink.cxx b/sc/source/ui/docshell/tablink.cxx
index c669e6b..2d4e6be 100644
--- a/sc/source/ui/docshell/tablink.cxx
+++ b/sc/source/ui/docshell/tablink.cxx
@@ -47,9 +47,9 @@

struct TableLink_Impl
{
    ScDocShell* m_pDocSh;
    vcl::Window*     m_pOldParent;
    Link        m_aEndEditLink;
    ScDocShell*          m_pDocSh;
    VclPtr<vcl::Window>  m_pOldParent;
    Link                 m_aEndEditLink;

    TableLink_Impl() : m_pDocSh( NULL ), m_pOldParent( NULL ) {}
};
diff --git a/sc/source/ui/docshell/tpstat.cxx b/sc/source/ui/docshell/tpstat.cxx
index 7895be5..096c208 100644
--- a/sc/source/ui/docshell/tpstat.cxx
+++ b/sc/source/ui/docshell/tpstat.cxx
@@ -56,8 +56,18 @@ ScDocStatPage::ScDocStatPage( vcl::Window *pParent, const SfxItemSet& rSet )

ScDocStatPage::~ScDocStatPage()
{
    dispose();
}

void ScDocStatPage::dispose()
{
    m_pFtTables.clear();
    m_pFtCells.clear();
    m_pFtPages.clear();
    SfxTabPage::dispose();
}


bool ScDocStatPage::FillItemSet( SfxItemSet* /* rSet */ )
{
    return false;
diff --git a/sc/source/ui/drawfunc/fupoor.cxx b/sc/source/ui/drawfunc/fupoor.cxx
index 074987b..28bf18e 100644
--- a/sc/source/ui/drawfunc/fupoor.cxx
+++ b/sc/source/ui/drawfunc/fupoor.cxx
@@ -53,8 +53,6 @@ FuPoor::~FuPoor()
{
    aDragTimer.Stop();
    aScrollTimer.Stop();

    delete pDialog;
}

void FuPoor::Activate()
diff --git a/sc/source/ui/formdlg/dwfunctr.cxx b/sc/source/ui/formdlg/dwfunctr.cxx
index aac3e3c..099b2d3 100644
--- a/sc/source/ui/formdlg/dwfunctr.cxx
+++ b/sc/source/ui/formdlg/dwfunctr.cxx
@@ -181,6 +181,7 @@ void ScFunctionDockWin::dispose()
    aDDFuncList.disposeAndClear();
    aInsertButton.disposeAndClear();
    aFiFuncDesc.disposeAndClear();
    pAllFuncList.clear();
    SfxDockingWindow::dispose();
}

diff --git a/sc/source/ui/inc/AccessibleCsvControl.hxx b/sc/source/ui/inc/AccessibleCsvControl.hxx
index 7475339..a8f3180 100644
--- a/sc/source/ui/inc/AccessibleCsvControl.hxx
+++ b/sc/source/ui/inc/AccessibleCsvControl.hxx
@@ -29,6 +29,7 @@
#include <cppuhelper/implbase2.hxx>
#include <editeng/AccessibleStaticTextBase.hxx>
#include <comphelper/uno3.hxx>
#include <vcl/vclptr.hxx>
#include "AccessibleContextBase.hxx"

class ScCsvControl;
@@ -50,7 +51,7 @@ protected:
    typedef ::com::sun::star::awt::Rectangle    AwtRectangle;

private:
    ScCsvControl*               mpControl;          /// Pointer to the VCL control.
    VclPtr<ScCsvControl>               mpControl;          /// Pointer to the VCL control.

public:
    explicit                    ScAccessibleCsvControl(
diff --git a/sc/source/ui/inc/AccessibleEditObject.hxx b/sc/source/ui/inc/AccessibleEditObject.hxx
index b9c2fdf..e420180 100644
--- a/sc/source/ui/inc/AccessibleEditObject.hxx
+++ b/sc/source/ui/inc/AccessibleEditObject.hxx
@@ -188,7 +188,7 @@ public:
private:
    accessibility::AccessibleTextHelper* mpTextHelper;
    EditView*      mpEditView;
    vcl::Window*        mpWindow;
    VclPtr<vcl::Window>        mpWindow;
    EditObjectType meObjectType;
    bool           mbHasFocus;

diff --git a/sc/source/ui/inc/AccessibleText.hxx b/sc/source/ui/inc/AccessibleText.hxx
index 9be7342..2d4601b 100644
--- a/sc/source/ui/inc/AccessibleText.hxx
+++ b/sc/source/ui/inc/AccessibleText.hxx
@@ -134,7 +134,7 @@ protected:
    EditView*                  mpEditView;
    EditEngine*                mpEditEngine;
    SvxEditEngineForwarder*    mpForwarder;
    vcl::Window*                    mpWindow;
    VclPtr<vcl::Window>        mpWindow;
    bool                       mbIsCloned;
};

@@ -274,7 +274,7 @@ private:
    typedef ::std::unique_ptr< SvxTextForwarder > TextForwarderPtr;
    typedef ::std::unique_ptr< ScCsvViewForwarder > ViewForwarderPtr;

    vcl::Window*                     mpWindow;
    VclPtr<vcl::Window>         mpWindow;
    EditEngine*                 mpEditEngine;
    TextForwarderPtr            mpTextForwarder;
    ViewForwarderPtr            mpViewForwarder;
diff --git a/sc/source/ui/inc/AnalysisOfVarianceDialog.hxx b/sc/source/ui/inc/AnalysisOfVarianceDialog.hxx
index a6808a5..0b1d068 100644
--- a/sc/source/ui/inc/AnalysisOfVarianceDialog.hxx
+++ b/sc/source/ui/inc/AnalysisOfVarianceDialog.hxx
@@ -33,10 +33,10 @@ private:
        TWO_FACTOR
    };

    NumericField* mpAlphaField;
    RadioButton*  mpSingleFactorRadio;
    RadioButton*  mpTwoFactorRadio;
    NumericField* mpRowsPerSampleField;
    VclPtr<NumericField> mpAlphaField;
    VclPtr<RadioButton>  mpSingleFactorRadio;
    VclPtr<RadioButton>  mpTwoFactorRadio;
    VclPtr<NumericField> mpRowsPerSampleField;

    DECL_LINK(FactorChanged,   void*);

@@ -55,6 +55,7 @@ public:
        vcl::Window* pParent, ScViewData* pViewData );

    virtual ~ScAnalysisOfVarianceDialog();
    virtual void dispose() SAL_OVERRIDE;

    virtual bool Close() SAL_OVERRIDE;

diff --git a/sc/source/ui/inc/ExponentialSmoothingDialog.hxx b/sc/source/ui/inc/ExponentialSmoothingDialog.hxx
index 9012c67..0f186b4 100644
--- a/sc/source/ui/inc/ExponentialSmoothingDialog.hxx
+++ b/sc/source/ui/inc/ExponentialSmoothingDialog.hxx
@@ -24,7 +24,7 @@
class ScExponentialSmoothingDialog : public ScStatisticsInputOutputDialog
{
private:
    NumericField* mpSmoothingFactor;
    VclPtr<NumericField> mpSmoothingFactor;

public:
    ScExponentialSmoothingDialog(
@@ -32,6 +32,7 @@ public:
        vcl::Window* pParent, ScViewData* pViewData );

    virtual ~ScExponentialSmoothingDialog();
    virtual void dispose() SAL_OVERRIDE;

    virtual bool Close() SAL_OVERRIDE;

diff --git a/sc/source/ui/inc/MovingAverageDialog.hxx b/sc/source/ui/inc/MovingAverageDialog.hxx
index dab6acc..f6aa85eb 100644
--- a/sc/source/ui/inc/MovingAverageDialog.hxx
+++ b/sc/source/ui/inc/MovingAverageDialog.hxx
@@ -24,7 +24,7 @@
class ScMovingAverageDialog : public ScStatisticsInputOutputDialog
{
private:
    NumericField* mpIntervalSpin;
    VclPtr<NumericField> mpIntervalSpin;

public:
    ScMovingAverageDialog(
@@ -32,6 +32,7 @@ public:
        vcl::Window* pParent, ScViewData* pViewData );

    virtual ~ScMovingAverageDialog();
    virtual void dispose() SAL_OVERRIDE;

    virtual bool Close() SAL_OVERRIDE;

diff --git a/sc/source/ui/inc/PivotLayoutDialog.hxx b/sc/source/ui/inc/PivotLayoutDialog.hxx
index c806a8c..7659906 100644
--- a/sc/source/ui/inc/PivotLayoutDialog.hxx
+++ b/sc/source/ui/inc/PivotLayoutDialog.hxx
@@ -44,8 +44,8 @@ class ScPivotLayoutDialog : public ScAnyRefDlg
public:
    ScDPObject maPivotTableObject;

    ScPivotLayoutTreeListBase* mpPreviouslyFocusedListBox;
    ScPivotLayoutTreeListBase* mpCurrentlyFocusedListBox;
    VclPtr<ScPivotLayoutTreeListBase> mpPreviouslyFocusedListBox;
    VclPtr<ScPivotLayoutTreeListBase> mpCurrentlyFocusedListBox;

private:
    ScViewData* mpViewData;
@@ -53,38 +53,38 @@ private:

    bool mbNewPivotTable;

    ScPivotLayoutTreeListLabel* mpListBoxField;
    ScPivotLayoutTreeList*      mpListBoxPage;
    ScPivotLayoutTreeList*      mpListBoxColumn;
    ScPivotLayoutTreeList*      mpListBoxRow;
    ScPivotLayoutTreeListData*  mpListBoxData;
    VclPtr<ScPivotLayoutTreeListLabel> mpListBoxField;
    VclPtr<ScPivotLayoutTreeList>      mpListBoxPage;
    VclPtr<ScPivotLayoutTreeList>      mpListBoxColumn;
    VclPtr<ScPivotLayoutTreeList>      mpListBoxRow;
    VclPtr<ScPivotLayoutTreeListData>  mpListBoxData;

    CheckBox* mpCheckIgnoreEmptyRows;
    CheckBox* mpCheckTotalColumns;
    CheckBox* mpCheckAddFilter;
    CheckBox* mpCheckIdentifyCategories;
    CheckBox* mpCheckTotalRows;
    CheckBox* mpCheckDrillToDetail;
    VclPtr<CheckBox> mpCheckIgnoreEmptyRows;
    VclPtr<CheckBox> mpCheckTotalColumns;
    VclPtr<CheckBox> mpCheckAddFilter;
    VclPtr<CheckBox> mpCheckIdentifyCategories;
    VclPtr<CheckBox> mpCheckTotalRows;
    VclPtr<CheckBox> mpCheckDrillToDetail;

    RadioButton* mpSourceRadioNamedRange;
    RadioButton* mpSourceRadioSelection;
    VclPtr<RadioButton> mpSourceRadioNamedRange;
    VclPtr<RadioButton> mpSourceRadioSelection;

    ListBox*            mpSourceListBox;
    formula::RefEdit*   mpSourceEdit;
    formula::RefButton* mpSourceButton;
    VclPtr<ListBox>            mpSourceListBox;
    VclPtr<formula::RefEdit>   mpSourceEdit;
    VclPtr<formula::RefButton> mpSourceButton;

    RadioButton*        mpDestinationRadioNewSheet;
    RadioButton*        mpDestinationRadioNamedRange;
    RadioButton*        mpDestinationRadioSelection;
    VclPtr<RadioButton>        mpDestinationRadioNewSheet;
    VclPtr<RadioButton>        mpDestinationRadioNamedRange;
    VclPtr<RadioButton>        mpDestinationRadioSelection;

    ListBox*            mpDestinationListBox;
    formula::RefEdit*   mpDestinationEdit;
    formula::RefButton* mpDestinationButton;
    VclPtr<ListBox>            mpDestinationListBox;
    VclPtr<formula::RefEdit>   mpDestinationEdit;
    VclPtr<formula::RefButton> mpDestinationButton;

    PushButton*      mpBtnOK;
    CancelButton*     mpBtnCancel;
    VclPtr<PushButton>       mpBtnOK;
    VclPtr<CancelButton>     mpBtnCancel;

    formula::RefEdit*   mpActiveEdit;
    VclPtr<formula::RefEdit>   mpActiveEdit;
    ScAddress::Details  maAddressDetails;
    bool                mbDialogLostFocus;

@@ -111,6 +111,7 @@ public:
    ScPivotLayoutDialog(SfxBindings* pSfxBindings, SfxChildWindow* pChildWindow, vcl::Window* pParent,
                             ScViewData* pViewData, const ScDPObject* pPivotTableObject, bool bCreateNewPivotTable);
    virtual ~ScPivotLayoutDialog();
    virtual void dispose() SAL_OVERRIDE;

    virtual void SetReference(const ScRange& rReferenceRange, ScDocument* pDocument) SAL_OVERRIDE;
    virtual void SetActive() SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/PivotLayoutTreeListBase.hxx b/sc/source/ui/inc/PivotLayoutTreeListBase.hxx
index 7812674..4ce7740 100644
--- a/sc/source/ui/inc/PivotLayoutTreeListBase.hxx
+++ b/sc/source/ui/inc/PivotLayoutTreeListBase.hxx
@@ -35,13 +35,14 @@ public:

protected:
    SvPivotTreeListType meType;
    ScPivotLayoutDialog* mpParent;
    VclPtr<ScPivotLayoutDialog> mpParent;

public:
    void Setup(ScPivotLayoutDialog* pParent);

    ScPivotLayoutTreeListBase(vcl::Window* pParent, WinBits nBits, SvPivotTreeListType eType = UNDEFINED);
    virtual ~ScPivotLayoutTreeListBase();
    virtual void dispose() SAL_OVERRIDE;

    virtual sal_Int8 AcceptDrop(const AcceptDropEvent& rEvent) SAL_OVERRIDE;
    virtual bool NotifyAcceptDrop(SvTreeListEntry* pEntry) SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/RandomNumberGeneratorDialog.hxx b/sc/source/ui/inc/RandomNumberGeneratorDialog.hxx
index b1736b2..6d791c2 100644
--- a/sc/source/ui/inc/RandomNumberGeneratorDialog.hxx
+++ b/sc/source/ui/inc/RandomNumberGeneratorDialog.hxx
@@ -29,6 +29,7 @@ public:
        vcl::Window* pParent, ScViewData* pViewData );

    virtual ~ScRandomNumberGeneratorDialog();
    virtual void dispose() SAL_OVERRIDE;

    virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;
    virtual void SetActive() SAL_OVERRIDE;
@@ -36,21 +37,21 @@ public:

private:
    // Widgets
    FixedText*          mpInputRangeText;
    formula::RefEdit*   mpInputRangeEdit;
    formula::RefButton* mpInputRangeButton;
    ListBox*            mpDistributionCombo;
    FixedText*          mpParameter1Text;
    NumericField*       mpParameter1Value;
    FixedText*          mpParameter2Text;
    NumericField*       mpParameter2Value;
    NumericField*       mpSeed;
    CheckBox*           mpEnableSeed;
    NumericField*       mpDecimalPlaces;
    CheckBox*           mpEnableRounding;
    PushButton*         mpButtonApply;
    OKButton*           mpButtonOk;
    CloseButton*        mpButtonClose;
    VclPtr<FixedText>          mpInputRangeText;
    VclPtr<formula::RefEdit>   mpInputRangeEdit;
    VclPtr<formula::RefButton> mpInputRangeButton;
    VclPtr<ListBox>            mpDistributionCombo;
    VclPtr<FixedText>          mpParameter1Text;
    VclPtr<NumericField>       mpParameter1Value;
    VclPtr<FixedText>          mpParameter2Text;
    VclPtr<NumericField>       mpParameter2Value;
    VclPtr<NumericField>       mpSeed;
    VclPtr<CheckBox>           mpEnableSeed;
    VclPtr<NumericField>       mpDecimalPlaces;
    VclPtr<CheckBox>           mpEnableRounding;
    VclPtr<PushButton>         mpButtonApply;
    VclPtr<OKButton>           mpButtonOk;
    VclPtr<CloseButton>        mpButtonClose;

    // Data
    ScViewData*         mpViewData;
diff --git a/sc/source/ui/inc/SamplingDialog.hxx b/sc/source/ui/inc/SamplingDialog.hxx
index 022b5e80..6622ad9 100644
--- a/sc/source/ui/inc/SamplingDialog.hxx
+++ b/sc/source/ui/inc/SamplingDialog.hxx
@@ -27,30 +27,31 @@ public:
        vcl::Window* pParent, ScViewData* pViewData );

    virtual ~ScSamplingDialog();
    virtual void    dispose() SAL_OVERRIDE;

    virtual void        SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;
    virtual void        SetActive() SAL_OVERRIDE;
    virtual void    SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;
    virtual void    SetActive() SAL_OVERRIDE;
    virtual bool    Close() SAL_OVERRIDE;

private:
    // Widgets
    FixedText*          mpInputRangeLabel;
    formula::RefEdit*   mpInputRangeEdit;
    formula::RefButton* mpInputRangeButton;
    VclPtr<FixedText>          mpInputRangeLabel;
    VclPtr<formula::RefEdit>   mpInputRangeEdit;
    VclPtr<formula::RefButton> mpInputRangeButton;

    FixedText*          mpOutputRangeLabel;
    formula::RefEdit*   mpOutputRangeEdit;
    formula::RefButton* mpOutputRangeButton;
    VclPtr<FixedText>          mpOutputRangeLabel;
    VclPtr<formula::RefEdit>   mpOutputRangeEdit;
    VclPtr<formula::RefButton> mpOutputRangeButton;

    NumericField*       mpSampleSize;
    NumericField*       mpPeriod;
    VclPtr<NumericField>       mpSampleSize;
    VclPtr<NumericField>       mpPeriod;

    RadioButton*        mpRandomMethodRadio;
    RadioButton*        mpPeriodicMethodRadio;
    VclPtr<RadioButton>        mpRandomMethodRadio;
    VclPtr<RadioButton>        mpPeriodicMethodRadio;

    OKButton*           mpButtonOk;
    VclPtr<OKButton>           mpButtonOk;

    formula::RefEdit*   mpActiveEdit;
    VclPtr<formula::RefEdit>   mpActiveEdit;

    // Data
    ScViewData*         mViewData;
diff --git a/sc/source/ui/inc/StatisticsInputOutputDialog.hxx b/sc/source/ui/inc/StatisticsInputOutputDialog.hxx
index 520ec22..c18119c 100644
--- a/sc/source/ui/inc/StatisticsInputOutputDialog.hxx
+++ b/sc/source/ui/inc/StatisticsInputOutputDialog.hxx
@@ -33,6 +33,7 @@ public:
        const OUString& rID, const OUString& rUIXMLDescription );

    virtual ~ScStatisticsInputOutputDialog();
    virtual void        dispose() SAL_OVERRIDE;

    virtual void        SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;
    virtual void        SetActive() SAL_OVERRIDE;
@@ -44,16 +45,16 @@ protected:
    virtual sal_Int16 GetUndoNameId() = 0;

    // Widgets
    FixedText*          mpInputRangeLabel;
    formula::RefEdit*   mpInputRangeEdit;
    formula::RefButton* mpInputRangeButton;
    VclPtr<FixedText>          mpInputRangeLabel;
    VclPtr<formula::RefEdit>   mpInputRangeEdit;
    VclPtr<formula::RefButton> mpInputRangeButton;

    FixedText*          mpOutputRangeLabel;
    formula::RefEdit*   mpOutputRangeEdit;
    formula::RefButton* mpOutputRangeButton;
    VclPtr<FixedText>          mpOutputRangeLabel;
    VclPtr<formula::RefEdit>   mpOutputRangeEdit;
    VclPtr<formula::RefButton> mpOutputRangeButton;

    RadioButton*        mpGroupByColumnsRadio;
    RadioButton*        mpGroupByRowsRadio;
    VclPtr<RadioButton>        mpGroupByColumnsRadio;
    VclPtr<RadioButton>        mpGroupByRowsRadio;

    // Data
    ScViewData*         mViewData;
@@ -69,9 +70,9 @@ protected:

private:
    // Widgets
    OKButton*           mpButtonOk;
    VclPtr<OKButton>           mpButtonOk;

    formula::RefEdit*   mpActiveEdit;
    VclPtr<formula::RefEdit>   mpActiveEdit;
    ScAddress           mCurrentAddress;
    bool                mDialogLostFocus;

diff --git a/sc/source/ui/inc/StatisticsTwoVariableDialog.hxx b/sc/source/ui/inc/StatisticsTwoVariableDialog.hxx
index db4514a..b0a48e1 100644
--- a/sc/source/ui/inc/StatisticsTwoVariableDialog.hxx
+++ b/sc/source/ui/inc/StatisticsTwoVariableDialog.hxx
@@ -33,6 +33,7 @@ public:
        const OUString& rID, const OUString& rUIXMLDescription );

    virtual ~ScStatisticsTwoVariableDialog();
    virtual void        dispose() SAL_OVERRIDE;

    virtual void        SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;
    virtual void        SetActive() SAL_OVERRIDE;
@@ -44,17 +45,17 @@ protected:
    virtual sal_Int16 GetUndoNameId() = 0;

    // Widgets
    FixedText*          mpVariable1RangeLabel;
    formula::RefEdit*   mpVariable1RangeEdit;
    formula::RefButton* mpVariable1RangeButton;
    VclPtr<FixedText>          mpVariable1RangeLabel;
    VclPtr<formula::RefEdit>   mpVariable1RangeEdit;
    VclPtr<formula::RefButton> mpVariable1RangeButton;

    FixedText*          mpVariable2RangeLabel;
    formula::RefEdit*   mpVariable2RangeEdit;
    formula::RefButton* mpVariable2RangeButton;
    VclPtr<FixedText>          mpVariable2RangeLabel;
    VclPtr<formula::RefEdit>   mpVariable2RangeEdit;
    VclPtr<formula::RefButton> mpVariable2RangeButton;

    FixedText*          mpOutputRangeLabel;
    formula::RefEdit*   mpOutputRangeEdit;
    formula::RefButton* mpOutputRangeButton;
    VclPtr<FixedText>          mpOutputRangeLabel;
    VclPtr<formula::RefEdit>   mpOutputRangeEdit;
    VclPtr<formula::RefButton> mpOutputRangeButton;

    // Data
    ScViewData*         mViewData;
@@ -69,12 +70,12 @@ protected:

private:
    // Widgets
    OKButton*           mpButtonOk;
    VclPtr<OKButton>           mpButtonOk;

    RadioButton*        mpGroupByColumnsRadio;
    RadioButton*        mpGroupByRowsRadio;
    VclPtr<RadioButton>        mpGroupByColumnsRadio;
    VclPtr<RadioButton>        mpGroupByRowsRadio;

    formula::RefEdit*   mpActiveEdit;
    VclPtr<formula::RefEdit>   mpActiveEdit;
    ScAddress           mCurrentAddress;
    bool                mDialogLostFocus;

diff --git a/sc/source/ui/inc/acredlin.hxx b/sc/source/ui/inc/acredlin.hxx
index 0dd82d8..c8252fd 100644
--- a/sc/source/ui/inc/acredlin.hxx
+++ b/sc/source/ui/inc/acredlin.hxx
@@ -98,13 +98,13 @@ private:

    Idle                    aSelectionIdle;
    Idle                    aReOpenIdle;
    SvxAcceptChgCtr*        m_pAcceptChgCtr;
    VclPtr<SvxAcceptChgCtr> m_pAcceptChgCtr;
    ScViewData*             pViewData;
    ScDocument*             pDoc;
    ScRangeName             aLocalRangeName;
    SvxTPFilter*            pTPFilter;
    SvxTPView*              pTPView;
    SvxRedlinTable*         pTheView; // #i48648 now SvHeaderTabListBox
    VclPtr<SvxTPFilter>     pTPFilter;
    VclPtr<SvxTPView>       pTPView;
    VclPtr<SvxRedlinTable>  pTheView; // #i48648 now SvHeaderTabListBox
    ScRangeList             aRangeList;
    ScChangeViewSettings    aChangeViewSet;
    OUString           aStrInsertCols;
diff --git a/sc/source/ui/inc/anyrefdg.hxx b/sc/source/ui/inc/anyrefdg.hxx
index 4a7ee80..833b541 100644
--- a/sc/source/ui/inc/anyrefdg.hxx
+++ b/sc/source/ui/inc/anyrefdg.hxx
@@ -45,13 +45,13 @@ class ScFormulaReferenceHelper
{
    IAnyRefDialog*      m_pDlg;
    ::std::unique_ptr<ScCompiler>         pRefComp;
    formula::RefEdit*    pRefEdit;               // active input field
    formula::RefButton*  pRefBtn;                // associated button
    vcl::Window*             m_pWindow;
    VclPtr<formula::RefEdit>    pRefEdit;               // active input field
    VclPtr<formula::RefButton>  pRefBtn;                // associated button
    VclPtr<vcl::Window>         m_pWindow;
    SfxBindings*        m_pBindings;
    ::std::unique_ptr<Accelerator>
                        pAccel;                 // for Enter/Escape
    ::std::vector<vcl::Window*> m_aHiddenWidgets;    // vector of hidden Controls
    ::std::vector<VclPtr<vcl::Window> > m_aHiddenWidgets;    // vector of hidden Controls
    sal_Int32           m_nOldBorderWidth;      // border width for expanded dialog
    SCTAB               nRefTab;                // used for ShowReference

@@ -61,7 +61,7 @@ class ScFormulaReferenceHelper
    Size                aOldEditSize;           // Original size of the input field
    long                mnOldEditWidthReq;
    Point               aOldButtonPos;          // Original position of the button
    vcl::Window*             mpOldEditParent;        // Original parent of the edit field and the button
    VclPtr<vcl::Window> mpOldEditParent;        // Original parent of the edit field and the button
    bool                mbOldDlgLayoutEnabled;  // Original layout state of parent dialog
    bool                mbOldEditParentLayoutEnabled;  // Original layout state of edit widget parent

@@ -106,11 +106,11 @@ public:
class SC_DLLPUBLIC ScRefHandler :
                    public IAnyRefDialog
{
    vcl::Window &    m_rWindow;
    bool        m_bInRefMode;
    VclPtr<vcl::Window>  m_rWindow;
    bool                 m_bInRefMode;

public:
    operator vcl::Window *(){ return &m_rWindow; }
    operator vcl::Window *(){ return m_rWindow.get(); }
    vcl::Window* operator ->() { return static_cast<vcl::Window *>(*this); }
    friend class        formula::RefButton;
    friend class        formula::RefEdit;
@@ -120,7 +120,7 @@ private:
                        m_aHelper;
    SfxBindings*        pMyBindings;

    vcl::Window*        pActiveWin;
    VclPtr<vcl::Window> pActiveWin;
    Idle                aIdle;
    OUString            aDocName;               // document on which the dialog was opened

diff --git a/sc/source/ui/inc/areasdlg.hxx b/sc/source/ui/inc/areasdlg.hxx
index 4798db7..dbc09fa 100644
--- a/sc/source/ui/inc/areasdlg.hxx
+++ b/sc/source/ui/inc/areasdlg.hxx
@@ -46,23 +46,23 @@ public:
    virtual bool    Close() SAL_OVERRIDE;

private:
    ListBox*                 pLbPrintArea;
    formula::RefEdit*        pEdPrintArea;
    formula::RefButton*      pRbPrintArea;
    VclPtr<ListBox>                 pLbPrintArea;
    VclPtr<formula::RefEdit>        pEdPrintArea;
    VclPtr<formula::RefButton>      pRbPrintArea;

    ListBox*                 pLbRepeatRow;
    formula::RefEdit*        pEdRepeatRow;
    formula::RefButton*      pRbRepeatRow;
    VclPtr<ListBox>                 pLbRepeatRow;
    VclPtr<formula::RefEdit>        pEdRepeatRow;
    VclPtr<formula::RefButton>      pRbRepeatRow;

    ListBox*                 pLbRepeatCol;
    formula::RefEdit*        pEdRepeatCol;
    formula::RefButton*      pRbRepeatCol;
    VclPtr<ListBox>                 pLbRepeatCol;
    VclPtr<formula::RefEdit>        pEdRepeatCol;
    VclPtr<formula::RefButton>      pRbRepeatCol;

    OKButton*        pBtnOk;
    CancelButton*    pBtnCancel;
    VclPtr<OKButton>        pBtnOk;
    VclPtr<CancelButton>    pBtnCancel;

    bool            bDlgLostFocus;
    formula::RefEdit*       pRefInputEdit;
    VclPtr<formula::RefEdit>       pRefInputEdit;
    ScDocument*     pDoc;
    ScViewData*     pViewData;
    SCTAB           nCurTab;
diff --git a/sc/source/ui/inc/checklistmenu.hxx b/sc/source/ui/inc/checklistmenu.hxx
index 73fc1bd..739fd356 100644
--- a/sc/source/ui/inc/checklistmenu.hxx
+++ b/sc/source/ui/inc/checklistmenu.hxx
@@ -48,6 +48,7 @@ public:

    explicit ScMenuFloatingWindow(vcl::Window* pParent, ScDocument* pDoc, sal_uInt16 nMenuStackLevel = 0);
    virtual ~ScMenuFloatingWindow();
     void dispose() SAL_OVERRIDE;

    virtual void PopupModeEnd() SAL_OVERRIDE;
    virtual void MouseMove(const MouseEvent& rMEvt) SAL_OVERRIDE;
@@ -158,7 +159,7 @@ private:
    struct SubMenuItemData
    {
        Timer                   maTimer;
        ScMenuFloatingWindow*   mpSubMenu;
        VclPtr<ScMenuFloatingWindow>   mpSubMenu;
        size_t                  mnMenuPos;

        DECL_LINK( TimeoutHdl, void* );
@@ -167,7 +168,7 @@ private:
        void reset();

    private:
        ScMenuFloatingWindow* mpParent;
        VclPtr<ScMenuFloatingWindow> mpParent;
    };
    SubMenuItemData   maOpenTimer;
    SubMenuItemData   maCloseTimer;
@@ -184,7 +185,7 @@ private:

    ScDocument* mpDoc;

    ScMenuFloatingWindow* mpParentMenu;
    VclPtr<ScMenuFloatingWindow> mpParentMenu;
};

class ScCheckListBox : public SvTreeListBox
@@ -293,11 +294,13 @@ private:
    {
    public:
        CancelButton(ScCheckListMenuWindow* pParent);
        virtual ~CancelButton();
        virtual void dispose() SAL_OVERRIDE;

        virtual void Click() SAL_OVERRIDE;

    private:
        ScCheckListMenuWindow* mpParent;
        VclPtr<ScCheckListMenuWindow> mpParent;
    };

    enum SectionType {
@@ -341,7 +344,7 @@ private:
    VclPtr<OKButton>        maBtnOk;
    VclPtr<CancelButton>    maBtnCancel;

    ::std::vector<vcl::Window*>          maTabStopCtrls;
    ::std::vector<VclPtr<vcl::Window> >          maTabStopCtrls;
    size_t                          mnCurTabStop;

    ::std::vector<Member>           maMembers;
diff --git a/sc/source/ui/inc/colorformat.hxx b/sc/source/ui/inc/colorformat.hxx
index a300375..e5acc1d 100644
--- a/sc/source/ui/inc/colorformat.hxx
+++ b/sc/source/ui/inc/colorformat.hxx
@@ -23,24 +23,23 @@ class ScDocument;
class ScDataBarSettingsDlg : public ModalDialog
{
private:
    OKButton* mpBtnOk;
    CancelButton* mpBtnCancel;
    VclPtr<OKButton> mpBtnOk;
    VclPtr<CancelButton> mpBtnCancel;

    ColorListBox* mpLbPos;
    ColorListBox* mpLbNeg;
    ColorListBox* mpLbAxisCol;
    VclPtr<ColorListBox> mpLbPos;
    VclPtr<ColorListBox> mpLbNeg;
    VclPtr<ColorListBox> mpLbAxisCol;

    ListBox* mpLbTypeMin;
    ListBox* mpLbTypeMax;
    ListBox* mpLbFillType;
    ListBox* mpLbAxisPos;
    VclPtr<ListBox> mpLbTypeMin;
    VclPtr<ListBox> mpLbTypeMax;
    VclPtr<ListBox> mpLbAxisPos;

    Edit* mpEdMin;
    Edit* mpEdMax;
    Edit* mpLenMin;
    Edit* mpLenMax;
    VclPtr<Edit> mpEdMin;
    VclPtr<Edit> mpEdMax;
    VclPtr<Edit> mpLenMin;
    VclPtr<Edit> mpLenMax;

    CheckBox *mpCbOnlyBar;
    VclPtr<CheckBox> mpCbOnlyBar;

    OUString maStrWarnSameValue;
    SvNumberFormatter* mpNumberFormatter;
@@ -56,6 +55,8 @@ private:

public:
    ScDataBarSettingsDlg(vcl::Window* pParent, const ScDataBarFormatData& rData, ScDocument* pDoc, const ScAddress& rPos);
    virtual ~ScDataBarSettingsDlg();
    virtual void dispose() SAL_OVERRIDE;

    ScDataBarFormatData* GetData();
};
diff --git a/sc/source/ui/inc/condformatdlg.hxx b/sc/source/ui/inc/condformatdlg.hxx
index 6f6d2c0..7bd9c84 100644
--- a/sc/source/ui/inc/condformatdlg.hxx
+++ b/sc/source/ui/inc/condformatdlg.hxx
@@ -65,12 +65,14 @@ private:
    ScDocument* mpDoc;
    ScAddress maPos;
    ScRangeList maRanges;
    ScCondFormatDlg* mpDialogParent;
    VclPtr<ScCondFormatDlg> mpDialogParent;

    void DoScroll(long nDiff);

public:
    ScCondFormatList(vcl::Window* pParent, WinBits nStyle);
    virtual ~ScCondFormatList();
    virtual void dispose() SAL_OVERRIDE;

    void init(ScDocument* pDoc, ScCondFormatDlg* pDialogParent, const ScConditionalFormat* pFormat,
        const ScRangeList& rRanges, const ScAddress& rPos,
@@ -95,18 +97,18 @@ public:
class ScCondFormatDlg : public ScAnyRefModalDlg
{
private:
    PushButton* mpBtnAdd;
    PushButton* mpBtnRemove;
    FixedText* mpFtRange;
    formula::RefEdit* mpEdRange;
    formula::RefButton* mpRbRange;
    VclPtr<PushButton> mpBtnAdd;
    VclPtr<PushButton> mpBtnRemove;
    VclPtr<FixedText> mpFtRange;
    VclPtr<formula::RefEdit> mpEdRange;
    VclPtr<formula::RefButton> mpRbRange;

    ScCondFormatList* mpCondFormList;
    VclPtr<ScCondFormatList> mpCondFormList;

    ScAddress maPos;
    ScDocument* mpDoc;

    formula::RefEdit* mpLastEdit;
    VclPtr<formula::RefEdit> mpLastEdit;

    DECL_LINK( EdRangeModifyHdl, Edit* );
protected:
@@ -117,6 +119,7 @@ public:
    SC_DLLPUBLIC ScCondFormatDlg(vcl::Window* pWindow, ScDocument* pDoc, const ScConditionalFormat* pFormat,
            const ScRangeList& rRange, const ScAddress& rPos, condformat::dialog::ScCondFormatDialogType eType);
    virtual ~ScCondFormatDlg();
    virtual void dispose() SAL_OVERRIDE;

    SC_DLLPUBLIC ScConditionalFormat* GetConditionalFormat() const;

diff --git a/sc/source/ui/inc/condformatmgr.hxx b/sc/source/ui/inc/condformatmgr.hxx
index 31338a4..1d33988 100644
--- a/sc/source/ui/inc/condformatmgr.hxx
+++ b/sc/source/ui/inc/condformatmgr.hxx
@@ -57,11 +57,11 @@ public:
    bool CondFormatsChanged() { return mbModified;}

private:
    PushButton *m_pBtnAdd;
    PushButton *m_pBtnRemove;
    PushButton *m_pBtnEdit;
    VclPtr<PushButton> m_pBtnAdd;
    VclPtr<PushButton> m_pBtnRemove;
    VclPtr<PushButton> m_pBtnEdit;
    ScConditionalFormatList* mpFormatList;
    ScCondFormatManagerWindow *m_pCtrlManager;
    VclPtr<ScCondFormatManagerWindow> m_pCtrlManager;

    ScDocument* mpDoc;
    ScAddress maPos;
diff --git a/sc/source/ui/inc/conflictsdlg.hxx b/sc/source/ui/inc/conflictsdlg.hxx
index 3e9ebd6..94188c2 100644
--- a/sc/source/ui/inc/conflictsdlg.hxx
+++ b/sc/source/ui/inc/conflictsdlg.hxx
@@ -117,12 +117,12 @@ public:
class ScConflictsDlg : public ModalDialog
{
private:
    SvSimpleTableContainer *m_pLbConflictsContainer;
    VclPtr<SvSimpleTableContainer> m_pLbConflictsContainer;
    boost::scoped_ptr<SvxRedlinTable>    m_pLbConflicts;
    PushButton          *m_pBtnKeepMine;
    PushButton          *m_pBtnKeepOther;
    PushButton          *m_pBtnKeepAllMine;
    PushButton          *m_pBtnKeepAllOthers;
    VclPtr<PushButton>          m_pBtnKeepMine;
    VclPtr<PushButton>          m_pBtnKeepOther;
    VclPtr<PushButton>          m_pBtnKeepAllMine;
    VclPtr<PushButton>          m_pBtnKeepAllOthers;

    OUString            maStrTitleConflict;
    OUString            maStrTitleAuthor;
@@ -160,6 +160,7 @@ private:
public:
                        ScConflictsDlg( vcl::Window* pParent, ScViewData* pViewData, ScDocument* pSharedDoc, ScConflictsList& rConflictsList );
                        virtual ~ScConflictsDlg();
    virtual void        dispose() SAL_OVERRIDE;

    void                UpdateView();
};
diff --git a/sc/source/ui/inc/consdlg.hxx b/sc/source/ui/inc/consdlg.hxx
index c7f49fe..c71f7e9 100644
--- a/sc/source/ui/inc/consdlg.hxx
+++ b/sc/source/ui/inc/consdlg.hxx
@@ -52,27 +52,27 @@ protected:
    virtual void    Deactivate() SAL_OVERRIDE;

private:
    ListBox*         pLbFunc;
    ListBox*         pLbConsAreas;
    VclPtr<ListBox>         pLbFunc;
    VclPtr<ListBox>         pLbConsAreas;

    ListBox*         pLbDataArea;
    formula::RefEdit*        pEdDataArea;
    formula::RefButton*      pRbDataArea;
    VclPtr<ListBox>         pLbDataArea;
    VclPtr<formula::RefEdit>        pEdDataArea;
    VclPtr<formula::RefButton>      pRbDataArea;

    ListBox*         pLbDestArea;
    formula::RefEdit*        pEdDestArea;
    formula::RefButton*      pRbDestArea;
    VclPtr<ListBox>         pLbDestArea;
    VclPtr<formula::RefEdit>        pEdDestArea;
    VclPtr<formula::RefButton>      pRbDestArea;

    VclExpander*     pExpander;
    CheckBox*        pBtnByRow;
    CheckBox*        pBtnByCol;
    VclPtr<VclExpander>     pExpander;
    VclPtr<CheckBox>        pBtnByRow;
    VclPtr<CheckBox>        pBtnByCol;

    CheckBox*        pBtnRefs;
    VclPtr<CheckBox>        pBtnRefs;

    OKButton*        pBtnOk;
    CancelButton*    pBtnCancel;
    PushButton*      pBtnAdd;
    PushButton*      pBtnRemove;
    VclPtr<OKButton>        pBtnOk;
    VclPtr<CancelButton>    pBtnCancel;
    VclPtr<PushButton>      pBtnAdd;
    VclPtr<PushButton>      pBtnRemove;

    OUString         aStrUndefined;

@@ -84,7 +84,7 @@ private:
    size_t              nAreaDataCount;
    sal_uInt16          nWhichCons;

    formula::RefEdit*   pRefInputEdit;
    VclPtr<formula::RefEdit>   pRefInputEdit;
    bool                bDlgLostFocus;

    void Init               ();
diff --git a/sc/source/ui/inc/content.hxx b/sc/source/ui/inc/content.hxx
index d98bdb8..11ff605 100644
--- a/sc/source/ui/inc/content.hxx
+++ b/sc/source/ui/inc/content.hxx
@@ -46,7 +46,7 @@ const sal_uLong SC_CONTENT_NOCHILD  = ~0UL;

class ScContentTree : public SvTreeListBox
{
    ScNavigatorDlg*     pParentWindow;
    VclPtr<ScNavigatorDlg>  pParentWindow;
    ImageList           aEntryImages;
    SvTreeListEntry*        pRootNodes[SC_CONTENT_COUNT];
    sal_uInt16              nRootType;          // set as Root
@@ -124,6 +124,7 @@ protected:
public:
            ScContentTree( vcl::Window* pParent, const ResId& rResId );
            virtual ~ScContentTree();
    virtual void dispose() SAL_OVERRIDE;

    OUString getAltLongDescText(SvTreeListEntry* pEntry, bool isAltText) const;
    OUString GetEntryAltText( SvTreeListEntry* pEntry ) const SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/corodlg.hxx b/sc/source/ui/inc/corodlg.hxx
index 1f6de3d..6f6ebd4 100644
--- a/sc/source/ui/inc/corodlg.hxx
+++ b/sc/source/ui/inc/corodlg.hxx
@@ -37,13 +37,20 @@ public:
        m_pBtnCol->Check(bCol);
        m_pBtnRow->Check(bRow);
    }
    virtual ~ScColRowLabelDlg() { dispose(); }
    virtual void dispose() SAL_OVERRIDE
    {
        m_pBtnRow.clear();
        m_pBtnCol.clear();
        ModalDialog::dispose();
    }

    bool IsCol() const { return m_pBtnCol->IsChecked(); }
    bool IsRow() const { return m_pBtnRow->IsChecked(); }

private:
    CheckBox* m_pBtnRow;
    CheckBox* m_pBtnCol;
    VclPtr<CheckBox> m_pBtnRow;
    VclPtr<CheckBox> m_pBtnCol;
};

#endif
diff --git a/sc/source/ui/inc/crdlg.hxx b/sc/source/ui/inc/crdlg.hxx
index 571d04a..cc0b941 100644
--- a/sc/source/ui/inc/crdlg.hxx
+++ b/sc/source/ui/inc/crdlg.hxx
@@ -30,11 +30,13 @@ class ScColOrRowDlg : public ModalDialog
public:
    ScColOrRowDlg(vcl::Window* pParent, const OUString& rStrTitle,
        const OUString& rStrLabel, bool bColDefault = true);
    virtual ~ScColOrRowDlg();
    virtual void dispose() SAL_OVERRIDE;
private:
    VclFrame*       m_pFrame;
    RadioButton*    m_pBtnRows;
    RadioButton*    m_pBtnCols;
    OKButton*       m_pBtnOk;
    VclPtr<VclFrame>       m_pFrame;
    VclPtr<RadioButton>    m_pBtnRows;
    VclPtr<RadioButton>    m_pBtnCols;
    VclPtr<OKButton>       m_pBtnOk;

    DECL_LINK(OkHdl, void *);
};
diff --git a/sc/source/ui/inc/crnrdlg.hxx b/sc/source/ui/inc/crnrdlg.hxx
index b2d97ab..f23f5dd 100644
--- a/sc/source/ui/inc/crnrdlg.hxx
+++ b/sc/source/ui/inc/crnrdlg.hxx
@@ -36,6 +36,7 @@ public:
                    ScColRowNameRangesDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pParent,
                                 ScViewData*    ptrViewData );
                    virtual ~ScColRowNameRangesDlg();
    virtual void    dispose() SAL_OVERRIDE;

    virtual void    SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;

@@ -44,19 +45,19 @@ public:
    virtual bool    Close() SAL_OVERRIDE;

private:
    ListBox*         pLbRange;
    VclPtr<ListBox>         pLbRange;

    formula::RefEdit*        pEdAssign;
    formula::RefButton*      pRbAssign;
    RadioButton*     pBtnColHead;
    RadioButton*     pBtnRowHead;
    formula::RefEdit*        pEdAssign2;
    formula::RefButton*      pRbAssign2;
    VclPtr<formula::RefEdit>        pEdAssign;
    VclPtr<formula::RefButton>      pRbAssign;
    VclPtr<RadioButton>     pBtnColHead;
    VclPtr<RadioButton>     pBtnRowHead;
    VclPtr<formula::RefEdit>        pEdAssign2;
    VclPtr<formula::RefButton>      pRbAssign2;

    OKButton*        pBtnOk;
    CancelButton*    pBtnCancel;
    PushButton*      pBtnAdd;
    PushButton*      pBtnRemove;
    VclPtr<OKButton>        pBtnOk;
    VclPtr<CancelButton>    pBtnCancel;
    VclPtr<PushButton>      pBtnAdd;
    VclPtr<PushButton>      pBtnRemove;

    ScRange         theCurArea;
    ScRange         theCurData;
@@ -68,7 +69,7 @@ private:
    NameRangeMap    aRangeMap;
    ScViewData*     pViewData;
    ScDocument*     pDoc;
    formula::RefEdit*       pEdActive;
    VclPtr<formula::RefEdit>       pEdActive;
    bool            bDlgLostFocus;

    void Init               ();
diff --git a/sc/source/ui/inc/dapidata.hxx b/sc/source/ui/inc/dapidata.hxx
index b157c05..02c76e0 100644
--- a/sc/source/ui/inc/dapidata.hxx
+++ b/sc/source/ui/inc/dapidata.hxx
@@ -30,9 +30,9 @@ struct ScImportSourceDesc;
class ScDataPilotDatabaseDlg : public ModalDialog
{
private:
    ListBox*  m_pLbDatabase;
    ComboBox* m_pCbObject;
    ListBox*  m_pLbType;
    VclPtr<ListBox>  m_pLbDatabase;
    VclPtr<ComboBox> m_pCbObject;
    VclPtr<ListBox>  m_pLbType;

    void    FillObjects();

@@ -40,6 +40,8 @@ private:

public:
    ScDataPilotDatabaseDlg(vcl::Window* pParent);
    virtual ~ScDataPilotDatabaseDlg();
    virtual void dispose() SAL_OVERRIDE;

    void    GetValues( ScImportSourceDesc& rDesc );
};
diff --git a/sc/source/ui/inc/dapitype.hxx b/sc/source/ui/inc/dapitype.hxx
index e024ba3..fb85f0e 100644
--- a/sc/source/ui/inc/dapitype.hxx
+++ b/sc/source/ui/inc/dapitype.hxx
@@ -30,16 +30,16 @@
class ScDataPilotSourceTypeDlg : public ModalDialog
{
private:
    RadioButton* m_pBtnSelection;
    RadioButton* m_pBtnNamedRange;
    RadioButton* m_pBtnDatabase;
    RadioButton* m_pBtnExternal;
    ListBox*     m_pLbNamedRange;
    VclPtr<RadioButton> m_pBtnSelection;
    VclPtr<RadioButton> m_pBtnNamedRange;
    VclPtr<RadioButton> m_pBtnDatabase;
    VclPtr<RadioButton> m_pBtnExternal;
    VclPtr<ListBox>     m_pLbNamedRange;

public:
    ScDataPilotSourceTypeDlg(vcl::Window* pParent, bool bEnableExternal);
    virtual ~ScDataPilotSourceTypeDlg();

    virtual void dispose() SAL_OVERRIDE;
    bool IsDatabase() const;
    bool IsExternal() const;
    bool IsNamedRange() const;
@@ -53,16 +53,17 @@ private:
class ScDataPilotServiceDlg : public ModalDialog
{
private:
    ListBox         *m_pLbService;
    Edit            *m_pEdSource;
    Edit            *m_pEdName;
    Edit            *m_pEdUser;
    Edit            *m_pEdPasswd;
    VclPtr<ListBox>         m_pLbService;
    VclPtr<Edit>            m_pEdSource;
    VclPtr<Edit>            m_pEdName;
    VclPtr<Edit>            m_pEdUser;
    VclPtr<Edit>            m_pEdPasswd;

public:
            ScDataPilotServiceDlg( vcl::Window* pParent,
                    const com::sun::star::uno::Sequence<OUString>& rServices );
            virtual ~ScDataPilotServiceDlg();
    virtual void dispose() SAL_OVERRIDE;

    OUString  GetServiceName() const;
    OUString  GetParSource() const;
diff --git a/sc/source/ui/inc/datafdlg.hxx b/sc/source/ui/inc/datafdlg.hxx
index 00460ece..736c719 100644
--- a/sc/source/ui/inc/datafdlg.hxx
+++ b/sc/source/ui/inc/datafdlg.hxx
@@ -29,15 +29,15 @@ class ScDataFormDlg : public ModalDialog
{
private:

    PushButton*     m_pBtnNew;
    PushButton*     m_pBtnDelete;
    PushButton*     m_pBtnRestore;
    PushButton*     m_pBtnPrev;
    PushButton*     m_pBtnNext;
    PushButton*     m_pBtnClose;
    ScrollBar*      m_pSlider;
    VclGrid*        m_pGrid;
    FixedText*      m_pFixedText;
    VclPtr<PushButton>     m_pBtnNew;
    VclPtr<PushButton>     m_pBtnDelete;
    VclPtr<PushButton>     m_pBtnRestore;
    VclPtr<PushButton>     m_pBtnPrev;
    VclPtr<PushButton>     m_pBtnNext;
    VclPtr<PushButton>     m_pBtnClose;
    VclPtr<ScrollBar>      m_pSlider;
    VclPtr<VclGrid>        m_pGrid;
    VclPtr<FixedText>      m_pFixedText;
    OUString        sNewRecord;

    ScTabViewShell* pTabViewShell;
@@ -57,6 +57,7 @@ private:
public:
    ScDataFormDlg( vcl::Window* pParent, ScTabViewShell* pTabViewShell);
    virtual ~ScDataFormDlg();
    virtual void dispose() SAL_OVERRIDE;

    void FillCtrls(SCROW nCurrentRow);
private:
diff --git a/sc/source/ui/inc/datastreamdlg.hxx b/sc/source/ui/inc/datastreamdlg.hxx
index 09b461f..0b8bf8c 100644
--- a/sc/source/ui/inc/datastreamdlg.hxx
+++ b/sc/source/ui/inc/datastreamdlg.hxx
@@ -28,23 +28,23 @@ class DataStreamDlg : public ModalDialog
{
    ScDocShell *mpDocShell;

    SvtURLBox*      m_pCbUrl;
    PushButton*     m_pBtnBrowse;
    RadioButton*    m_pRBDirectData;
    RadioButton*    m_pRBScriptData;
    RadioButton*    m_pRBValuesInLine;
    RadioButton*    m_pRBAddressValue;
    CheckBox*       m_pCBRefreshOnEmpty;
    RadioButton*    m_pRBDataDown;
    RadioButton*    m_pRBRangeDown;
    RadioButton*    m_pRBNoMove;
    RadioButton*    m_pRBMaxLimit;
    RadioButton*    m_pRBUnlimited;
    Edit*           m_pEdRange;
    Edit*           m_pEdLimit;
    OKButton*       m_pBtnOk;
    VclFrame*       m_pVclFrameLimit;
    VclFrame*       m_pVclFrameMove;
    VclPtr<SvtURLBox>      m_pCbUrl;
    VclPtr<PushButton>     m_pBtnBrowse;
    VclPtr<RadioButton>    m_pRBDirectData;
    VclPtr<RadioButton>    m_pRBScriptData;
    VclPtr<RadioButton>    m_pRBValuesInLine;
    VclPtr<RadioButton>    m_pRBAddressValue;
    VclPtr<CheckBox>       m_pCBRefreshOnEmpty;
    VclPtr<RadioButton>    m_pRBDataDown;
    VclPtr<RadioButton>    m_pRBRangeDown;
    VclPtr<RadioButton>    m_pRBNoMove;
    VclPtr<RadioButton>    m_pRBMaxLimit;
    VclPtr<RadioButton>    m_pRBUnlimited;
    VclPtr<Edit>           m_pEdRange;
    VclPtr<Edit>           m_pEdLimit;
    VclPtr<OKButton>       m_pBtnOk;
    VclPtr<VclFrame>       m_pVclFrameLimit;
    VclPtr<VclFrame>       m_pVclFrameMove;

    DECL_LINK(UpdateHdl, void *);
    DECL_LINK(BrowseHdl, void *);
@@ -54,6 +54,8 @@ class DataStreamDlg : public ModalDialog

public:
    DataStreamDlg(ScDocShell *pDocShell, vcl::Window* pParent);
    virtual ~DataStreamDlg();
    virtual void dispose() SAL_OVERRIDE;

    void Init( const DataStream& rStrm );

diff --git a/sc/source/ui/inc/dbnamdlg.hxx b/sc/source/ui/inc/dbnamdlg.hxx
index ec2dfd6..032b8e9 100644
--- a/sc/source/ui/inc/dbnamdlg.hxx
+++ b/sc/source/ui/inc/dbnamdlg.hxx
@@ -47,24 +47,24 @@ public:
    virtual bool    Close() SAL_OVERRIDE;

private:
    ComboBox*           m_pEdName;
    VclPtr<ComboBox>           m_pEdName;

    VclFrame*           m_pAssignFrame;
    formula::RefEdit*   m_pEdAssign;
    formula::RefButton* m_pRbAssign;
    VclPtr<VclFrame>           m_pAssignFrame;
    VclPtr<formula::RefEdit>   m_pEdAssign;
    VclPtr<formula::RefButton> m_pRbAssign;

    VclContainer*       m_pOptions;
    CheckBox*           m_pBtnHeader;
    CheckBox*           m_pBtnDoSize;
    CheckBox*           m_pBtnKeepFmt;
    CheckBox*           m_pBtnStripData;
    FixedText*          m_pFTSource;
    FixedText*          m_pFTOperations;
    VclPtr<VclContainer>       m_pOptions;
    VclPtr<CheckBox>           m_pBtnHeader;
    VclPtr<CheckBox>           m_pBtnDoSize;
    VclPtr<CheckBox>           m_pBtnKeepFmt;
    VclPtr<CheckBox>           m_pBtnStripData;
    VclPtr<FixedText>          m_pFTSource;
    VclPtr<FixedText>          m_pFTOperations;

    OKButton*           m_pBtnOk;
    CancelButton*       m_pBtnCancel;
    PushButton*         m_pBtnAdd;
    PushButton*         m_pBtnRemove;
    VclPtr<OKButton>           m_pBtnOk;
    VclPtr<CancelButton>       m_pBtnCancel;
    VclPtr<PushButton>         m_pBtnAdd;
    VclPtr<PushButton>         m_pBtnRemove;

    bool            bSaved;

diff --git a/sc/source/ui/inc/delcldlg.hxx b/sc/source/ui/inc/delcldlg.hxx
index 6683fcb..676d93b 100644
--- a/sc/source/ui/inc/delcldlg.hxx
+++ b/sc/source/ui/inc/delcldlg.hxx
@@ -29,13 +29,15 @@
class ScDeleteCellDlg : public ModalDialog
{
private:
    RadioButton* m_pBtnCellsUp;
    RadioButton* m_pBtnCellsLeft;
    RadioButton* m_pBtnDelRows;
    RadioButton* m_pBtnDelCols;
    VclPtr<RadioButton> m_pBtnCellsUp;
    VclPtr<RadioButton> m_pBtnCellsLeft;
    VclPtr<RadioButton> m_pBtnDelRows;
    VclPtr<RadioButton> m_pBtnDelCols;

public:
    ScDeleteCellDlg(vcl::Window* pParent, bool bDisallowCellMove = false);
    virtual ~ScDeleteCellDlg();
    virtual void dispose() SAL_OVERRIDE;

    DelCellCmd GetDelCellCmd() const;
};
diff --git a/sc/source/ui/inc/delcodlg.hxx b/sc/source/ui/inc/delcodlg.hxx
index 6bc898a..a2741a6 100644
--- a/sc/source/ui/inc/delcodlg.hxx
+++ b/sc/source/ui/inc/delcodlg.hxx
@@ -27,15 +27,15 @@
class ScDeleteContentsDlg : public ModalDialog
{
private:
    CheckBox*        aBtnDelAll;
    CheckBox*        aBtnDelStrings;
    CheckBox*        aBtnDelNumbers;
    CheckBox*        aBtnDelDateTime;
    CheckBox*        aBtnDelFormulas;
    CheckBox*        aBtnDelNotes;
    CheckBox*        aBtnDelAttrs;
    CheckBox*        aBtnDelObjects;
    OKButton*        aBtnOk;
    VclPtr<CheckBox>        aBtnDelAll;
    VclPtr<CheckBox>        aBtnDelStrings;
    VclPtr<CheckBox>        aBtnDelNumbers;
    VclPtr<CheckBox>        aBtnDelDateTime;
    VclPtr<CheckBox>        aBtnDelFormulas;
    VclPtr<CheckBox>        aBtnDelNotes;
    VclPtr<CheckBox>        aBtnDelAttrs;
    VclPtr<CheckBox>        aBtnDelObjects;
    VclPtr<OKButton>        aBtnOk;

    bool             bObjectsDisabled;

@@ -49,6 +49,7 @@ public:
            ScDeleteContentsDlg( vcl::Window* pParent,
                                 InsertDeleteFlags nCheckDefaults = IDF_NONE );
            virtual ~ScDeleteContentsDlg();
    virtual void dispose() SAL_OVERRIDE;
    void    DisableObjects();

    InsertDeleteFlags GetDelContentsCmdBits() const;
diff --git a/sc/source/ui/inc/dpgroupdlg.hxx b/sc/source/ui/inc/dpgroupdlg.hxx
index 3066f41..3ba0db1 100644
--- a/sc/source/ui/inc/dpgroupdlg.hxx
+++ b/sc/source/ui/inc/dpgroupdlg.hxx
@@ -49,9 +49,9 @@ private:
    DECL_LINK( ClickHdl, RadioButton* );

private:
    RadioButton*        mpRbAuto;
    RadioButton*        mpRbMan;
    Edit*               mpEdValue;
    VclPtr<RadioButton>        mpRbAuto;
    VclPtr<RadioButton>        mpRbMan;
    VclPtr<Edit>               mpEdValue;
};

class ScDPNumGroupEditHelper : public ScDPGroupEditHelper
@@ -61,14 +61,13 @@ public:
                            RadioButton* pRbAuto, RadioButton* pRbMan,
                            ScDoubleField* pEdValue );

    virtual ~ScDPNumGroupEditHelper() {}

    virtual             ~ScDPNumGroupEditHelper() {}
private:
    virtual bool        ImplGetValue( double& rfValue ) const SAL_OVERRIDE;
    virtual void        ImplSetValue( double fValue ) SAL_OVERRIDE;

private:
    ScDoubleField*      mpEdValue;
    VclPtr<ScDoubleField>      mpEdValue;
};

class ScDPDateGroupEditHelper : public ScDPGroupEditHelper
@@ -85,7 +84,7 @@ private:
    virtual void        ImplSetValue( double fValue ) SAL_OVERRIDE;

private:
    DateField*          mpEdValue;
    VclPtr<DateField>          mpEdValue;
    Date                maNullDate;
};

@@ -93,17 +92,18 @@ class ScDPNumGroupDlg : public ModalDialog
{
public:
    explicit            ScDPNumGroupDlg( vcl::Window* pParent, const ScDPNumGroupInfo& rInfo );

    virtual             ~ScDPNumGroupDlg();
    virtual void        dispose() SAL_OVERRIDE;
    ScDPNumGroupInfo    GetGroupInfo() const;

private:
    RadioButton*         mpRbAutoStart;
    RadioButton*         mpRbManStart;
    ScDoubleField*       mpEdStart;
    RadioButton*         mpRbAutoEnd;
    RadioButton*         mpRbManEnd;
    ScDoubleField*       mpEdEnd;
    ScDoubleField*       mpEdBy;
    VclPtr<RadioButton>         mpRbAutoStart;
    VclPtr<RadioButton>         mpRbManStart;
    VclPtr<ScDoubleField>       mpEdStart;
    VclPtr<RadioButton>         mpRbAutoEnd;
    VclPtr<RadioButton>         mpRbManEnd;
    VclPtr<ScDoubleField>       mpEdEnd;
    VclPtr<ScDoubleField>       mpEdBy;
    ScDPNumGroupEditHelper maStartHelper;
    ScDPNumGroupEditHelper maEndHelper;
};
@@ -113,7 +113,8 @@ class ScDPDateGroupDlg : public ModalDialog
public:
    explicit            ScDPDateGroupDlg( vcl::Window* pParent, const ScDPNumGroupInfo& rInfo,
                            sal_Int32 nDatePart, const Date& rNullDate );

    virtual             ~ScDPDateGroupDlg();
    virtual void        dispose() SAL_OVERRIDE;
    ScDPNumGroupInfo    GetGroupInfo() const;
    sal_Int32           GetDatePart() const;

@@ -122,17 +123,17 @@ private:
    DECL_LINK( CheckHdl, SvxCheckListBox* );

private:
    RadioButton*         mpRbAutoStart;
    RadioButton*         mpRbManStart;
    DateField*           mpEdStart;
    RadioButton*         mpRbAutoEnd;
    RadioButton*         mpRbManEnd;
    DateField*           mpEdEnd;
    RadioButton*         mpRbNumDays;
    RadioButton*         mpRbUnits;
    NumericField*        mpEdNumDays;
    SvxCheckListBox*     mpLbUnits;
    OKButton*            mpBtnOk;
    VclPtr<RadioButton>         mpRbAutoStart;
    VclPtr<RadioButton>         mpRbManStart;
    VclPtr<DateField>           mpEdStart;
    VclPtr<RadioButton>         mpRbAutoEnd;
    VclPtr<RadioButton>         mpRbManEnd;
    VclPtr<DateField>           mpEdEnd;
    VclPtr<RadioButton>         mpRbNumDays;
    VclPtr<RadioButton>         mpRbUnits;
    VclPtr<NumericField>        mpEdNumDays;
    VclPtr<SvxCheckListBox>     mpLbUnits;
    VclPtr<OKButton>            mpBtnOk;
    ScDPDateGroupEditHelper maStartHelper;
    ScDPDateGroupEditHelper maEndHelper;
};
diff --git a/sc/source/ui/inc/dwfunctr.hxx b/sc/source/ui/inc/dwfunctr.hxx
index 28e8580..bef7009 100644
--- a/sc/source/ui/inc/dwfunctr.hxx
+++ b/sc/source/ui/inc/dwfunctr.hxx
@@ -51,7 +51,7 @@ private:
    VclPtr<ListBox>     aCatBox;
    VclPtr<ListBox>     aFuncList;
    VclPtr<ListBox>     aDDFuncList;
    ListBox*            pAllFuncList;
    VclPtr<ListBox>            pAllFuncList;

    SfxChildAlignment   eSfxNewAlignment;
    SfxChildAlignment   eSfxOldAlignment;
diff --git a/sc/source/ui/inc/filldlg.hxx b/sc/source/ui/inc/filldlg.hxx
index c68b604..70a2d08 100644
--- a/sc/source/ui/inc/filldlg.hxx
+++ b/sc/source/ui/inc/filldlg.hxx
@@ -43,6 +43,7 @@ public:
                             double         fMax,
                             sal_uInt16     nPossDir );
            virtual ~ScFillSeriesDlg();
    virtual void dispose() SAL_OVERRIDE;

    FillDir     GetFillDir() const          { return theFillDir; }
    FillCmd     GetFillCmd() const          { return theFillCmd; }
@@ -56,32 +57,32 @@ public:
    void SetEdStartValEnabled(bool bFlag = false);

private:
    FixedText* m_pFtStartVal;
    Edit* m_pEdStartVal;
    VclPtr<FixedText> m_pFtStartVal;
    VclPtr<Edit> m_pEdStartVal;
    const OUString aStartStrVal;

    FixedText* m_pFtEndVal;
    Edit* m_pEdEndVal;
    VclPtr<FixedText> m_pFtEndVal;
    VclPtr<Edit> m_pEdEndVal;

    FixedText* m_pFtIncrement;
    Edit* m_pEdIncrement;
    RadioButton* m_pBtnDown;
    RadioButton* m_pBtnRight;
    RadioButton* m_pBtnUp;
    RadioButton* m_pBtnLeft;
    VclPtr<FixedText> m_pFtIncrement;
    VclPtr<Edit> m_pEdIncrement;
    VclPtr<RadioButton> m_pBtnDown;
    VclPtr<RadioButton> m_pBtnRight;
    VclPtr<RadioButton> m_pBtnUp;
    VclPtr<RadioButton> m_pBtnLeft;

    RadioButton* m_pBtnArithmetic;
    RadioButton* m_pBtnGeometric;
    RadioButton* m_pBtnDate;
    RadioButton* m_pBtnAutoFill;
    VclPtr<RadioButton> m_pBtnArithmetic;
    VclPtr<RadioButton> m_pBtnGeometric;
    VclPtr<RadioButton> m_pBtnDate;
    VclPtr<RadioButton> m_pBtnAutoFill;

    FixedText* m_pFtTimeUnit;
    RadioButton* m_pBtnDay;
    RadioButton* m_pBtnDayOfWeek;
    RadioButton* m_pBtnMonth;
    RadioButton* m_pBtnYear;
    VclPtr<FixedText> m_pFtTimeUnit;
    VclPtr<RadioButton> m_pBtnDay;
    VclPtr<RadioButton> m_pBtnDayOfWeek;
    VclPtr<RadioButton> m_pBtnMonth;
    VclPtr<RadioButton> m_pBtnYear;

    OKButton* m_pBtnOk;
    VclPtr<OKButton> m_pBtnOk;

    const OUString aErrMsgInvalidVal;

diff --git a/sc/source/ui/inc/filtdlg.hxx b/sc/source/ui/inc/filtdlg.hxx
index 30b5399..44d48c2 100644
--- a/sc/source/ui/inc/filtdlg.hxx
+++ b/sc/source/ui/inc/filtdlg.hxx
@@ -69,43 +69,43 @@ public:
    void            RefreshEditRow( size_t nOffset );

private:
    ListBox*         pLbConnect1;
    ListBox*         pLbField1;
    ListBox*         pLbCond1;
    ComboBox*        pEdVal1;
    VclPtr<ListBox>         pLbConnect1;
    VclPtr<ListBox>         pLbField1;
    VclPtr<ListBox>         pLbCond1;
    VclPtr<ComboBox>        pEdVal1;

    ListBox*         pLbConnect2;
    ListBox*         pLbField2;
    ListBox*         pLbCond2;
    ComboBox*        pEdVal2;
    VclPtr<ListBox>         pLbConnect2;
    VclPtr<ListBox>         pLbField2;
    VclPtr<ListBox>         pLbCond2;
    VclPtr<ComboBox>        pEdVal2;

    ListBox*         pLbConnect3;
    ListBox*         pLbField3;
    ListBox*         pLbCond3;
    ComboBox*        pEdVal3;
    VclPtr<ListBox>         pLbConnect3;
    VclPtr<ListBox>         pLbField3;
    VclPtr<ListBox>         pLbCond3;
    VclPtr<ComboBox>        pEdVal3;

    ListBox*         pLbConnect4;
    ListBox*         pLbField4;
    ListBox*         pLbCond4;
    ComboBox*        pEdVal4;
    VclPtr<ListBox>         pLbConnect4;
    VclPtr<ListBox>         pLbField4;
    VclPtr<ListBox>         pLbCond4;
    VclPtr<ComboBox>        pEdVal4;

    ScrollBar*       pScrollBar;
    VclExpander*     pExpander;
    VclPtr<ScrollBar>       pScrollBar;
    VclPtr<VclExpander>     pExpander;

    OKButton*        pBtnOk;
    CancelButton*    pBtnCancel;
    VclPtr<OKButton>        pBtnOk;
    VclPtr<CancelButton>    pBtnCancel;

    CheckBox*        pBtnCase;
    CheckBox*        pBtnRegExp;
    CheckBox*        pBtnHeader;
    CheckBox*        pBtnUnique;
    CheckBox*        pBtnCopyResult;
    ListBox*         pLbCopyArea;
    formula::RefEdit* pEdCopyArea;
    formula::RefButton* pRbCopyArea;
    CheckBox*        pBtnDestPers;
    FixedText*       pFtDbAreaLabel;
    FixedText*       pFtDbArea;
    VclPtr<CheckBox>        pBtnCase;
    VclPtr<CheckBox>        pBtnRegExp;
    VclPtr<CheckBox>        pBtnHeader;
    VclPtr<CheckBox>        pBtnUnique;
    VclPtr<CheckBox>        pBtnCopyResult;
    VclPtr<ListBox>         pLbCopyArea;
    VclPtr<formula::RefEdit> pEdCopyArea;
    VclPtr<formula::RefButton> pRbCopyArea;
    VclPtr<CheckBox>        pBtnDestPers;
    VclPtr<FixedText>       pFtDbAreaLabel;
    VclPtr<FixedText>       pFtDbArea;
    const OUString aStrUndefined;
    const OUString aStrNone;

@@ -122,10 +122,10 @@ private:
    ScDocument*         pDoc;
    SCTAB               nSrcTab;

    std::vector<ComboBox*> maValueEdArr;
    std::vector<ListBox*>  maFieldLbArr;
    std::vector<ListBox*>  maCondLbArr;
    std::vector<ListBox*>  maConnLbArr;
    std::vector<VclPtr<ComboBox>> maValueEdArr;
    std::vector<VclPtr<ListBox>>  maFieldLbArr;
    std::vector<VclPtr<ListBox>>  maCondLbArr;
    std::vector<VclPtr<ListBox>>  maConnLbArr;

    std::deque<bool>   maHasDates;
    std::deque<bool>   maRefreshExceptQuery;
@@ -174,27 +174,27 @@ public:
    virtual bool    Close() SAL_OVERRIDE;

private:
    ListBox*         pLbFilterArea;
    formula::RefEdit*   pEdFilterArea;
    formula::RefButton* pRbFilterArea;
    VclPtr<ListBox>         pLbFilterArea;
    VclPtr<formula::RefEdit>   pEdFilterArea;
    VclPtr<formula::RefButton> pRbFilterArea;

    VclExpander*     pExpander;
    CheckBox*        pBtnCase;
    CheckBox*        pBtnRegExp;
    CheckBox*        pBtnHeader;
    CheckBox*        pBtnUnique;
    CheckBox*        pBtnCopyResult;
    ListBox*         pLbCopyArea;
    formula::RefEdit* pEdCopyArea;
    formula::RefButton* pRbCopyArea;
    CheckBox*        pBtnDestPers;
    FixedText*       pFtDbAreaLabel;
    FixedText*       pFtDbArea;
    VclPtr<VclExpander>     pExpander;
    VclPtr<CheckBox>        pBtnCase;
    VclPtr<CheckBox>        pBtnRegExp;
    VclPtr<CheckBox>        pBtnHeader;
    VclPtr<CheckBox>        pBtnUnique;
    VclPtr<CheckBox>        pBtnCopyResult;
    VclPtr<ListBox>         pLbCopyArea;
    VclPtr<formula::RefEdit> pEdCopyArea;
    VclPtr<formula::RefButton> pRbCopyArea;
    VclPtr<CheckBox>        pBtnDestPers;
    VclPtr<FixedText>       pFtDbAreaLabel;
    VclPtr<FixedText>       pFtDbArea;
    const OUString aStrUndefined;
    const OUString aStrNoName;

    OKButton*        pBtnOk;
    CancelButton*    pBtnCancel;
    VclPtr<OKButton>        pBtnOk;
    VclPtr<CancelButton>    pBtnCancel;

    ScFilterOptionsMgr* pOptionsMgr;

@@ -204,7 +204,7 @@ private:
    ScViewData*         pViewData;
    ScDocument*         pDoc;

    formula::RefEdit*   pRefInputEdit;
    VclPtr<formula::RefEdit>   pRefInputEdit;
    bool                bRefInputMode;

    // Hack: RefInput control
diff --git a/sc/source/ui/inc/foptmgr.hxx b/sc/source/ui/inc/foptmgr.hxx
index fae7f16..ee27b40f5 100644
--- a/sc/source/ui/inc/foptmgr.hxx
+++ b/sc/source/ui/inc/foptmgr.hxx
@@ -46,7 +46,7 @@ public:
                        CheckBox*           refBtnDestPers,
                        ListBox*            refLbCopyArea,
                        Edit*               refEdCopyArea,
                        formula::RefButton*     refRbCopyArea,
                        formula::RefButton* refRbCopyArea,
                        FixedText*          refFtDbAreaLabel,
                        FixedText*          refFtDbArea,
                        const OUString&       refStrUndefined );
@@ -57,17 +57,17 @@ private:
    ScViewData*     pViewData;
    ScDocument*     pDoc;

    CheckBox*       pBtnCase;
    CheckBox*       pBtnRegExp;
    CheckBox*       pBtnHeader;
    CheckBox*       pBtnUnique;
    CheckBox*       pBtnCopyResult;
    CheckBox*       pBtnDestPers;
    ListBox*        pLbCopyArea;
    Edit*           pEdCopyArea;
    formula::RefButton* pRbCopyArea;
    FixedText*      pFtDbAreaLabel;
    FixedText*      pFtDbArea;
    VclPtr<CheckBox>       pBtnCase;
    VclPtr<CheckBox>       pBtnRegExp;
    VclPtr<CheckBox>       pBtnHeader;
    VclPtr<CheckBox>       pBtnUnique;
    VclPtr<CheckBox>       pBtnCopyResult;
    VclPtr<CheckBox>       pBtnDestPers;
    VclPtr<ListBox>        pLbCopyArea;
    VclPtr<Edit>           pEdCopyArea;
    VclPtr<formula::RefButton> pRbCopyArea;
    VclPtr<FixedText>      pFtDbAreaLabel;
    VclPtr<FixedText>      pFtDbArea;

    const OUString&   rStrUndefined;

diff --git a/sc/source/ui/inc/fupoor.hxx b/sc/source/ui/inc/fupoor.hxx
index 131edf6..e38ca5c0 100644
--- a/sc/source/ui/inc/fupoor.hxx
+++ b/sc/source/ui/inc/fupoor.hxx
@@ -43,11 +43,11 @@ class FuPoor
protected:
    ScDrawView*     pView;
    ScTabViewShell* pViewShell;
    vcl::Window*         pWindow;
    VclPtr<vcl::Window>     pWindow;
    SdrModel*       pDrDoc;

    SfxRequest      aSfxRequest;
    Dialog*         pDialog;
    VclPtr<Dialog>          pDialog;

    Timer           aScrollTimer;           // for Autoscrolling
    DECL_LINK( ScrollHdl, void * );
diff --git a/sc/source/ui/inc/gridwin.hxx b/sc/source/ui/inc/gridwin.hxx
index f889098..8e7d47b 100644
--- a/sc/source/ui/inc/gridwin.hxx
+++ b/sc/source/ui/inc/gridwin.hxx
@@ -136,8 +136,8 @@ class ScGridWindow : public vcl::Window, public DropTargetHelper, public DragSou

    std::unique_ptr<ScNoteMarker> mpNoteMarker;

    std::unique_ptr<ScFilterListBox> mpFilterBox;
    std::unique_ptr<FloatingWindow> mpFilterFloat;
    VclPtr<ScFilterListBox>        pFilterBox;
    VclPtr<FloatingWindow>         pFilterFloat;
    std::unique_ptr<ScCheckListMenuWindow> mpAutoFilterPopup;
    std::unique_ptr<ScCheckListMenuWindow> mpDPFieldPopup;
    std::unique_ptr<ScDPFieldButton> mpFilterButton;
diff --git a/sc/source/ui/inc/groupdlg.hxx b/sc/source/ui/inc/groupdlg.hxx
index 04a98c6..2fdee6c 100644
--- a/sc/source/ui/inc/groupdlg.hxx
+++ b/sc/source/ui/inc/groupdlg.hxx
@@ -29,12 +29,12 @@ class ScGroupDlg : public ModalDialog
public:
    ScGroupDlg(vcl::Window* pParent, bool bUnGroup = false, bool bRows = true);
    virtual ~ScGroupDlg();

    virtual void dispose() SAL_OVERRIDE;
    bool GetColsChecked() const;

private:
    RadioButton* m_pBtnRows;
    RadioButton* m_pBtnCols;
    VclPtr<RadioButton> m_pBtnRows;
    VclPtr<RadioButton> m_pBtnCols;
};

#endif // INCLUDED_SC_SOURCE_UI_INC_GROUPDLG_HXX
diff --git a/sc/source/ui/inc/highred.hxx b/sc/source/ui/inc/highred.hxx
index b80a3b8..d384c1c 100644
--- a/sc/source/ui/inc/highred.hxx
+++ b/sc/source/ui/inc/highred.hxx
@@ -51,14 +51,14 @@ class ScDocument;
class ScHighlightChgDlg : public ScAnyRefDlg
{
private:
    CheckBox*               m_pHighlightBox;
    SvxTPFilter*            m_pFilterCtr;
    CheckBox*               m_pCbAccept;
    CheckBox*               m_pCbReject;
    OKButton*               m_pOkButton;
    VclPtr<CheckBox>               m_pHighlightBox;
    VclPtr<SvxTPFilter>            m_pFilterCtr;
    VclPtr<CheckBox>               m_pCbAccept;
    VclPtr<CheckBox>               m_pCbReject;
    VclPtr<OKButton>               m_pOkButton;

    formula::RefEdit*       m_pEdAssign;
    formula::RefButton*     m_pRbAssign;
    VclPtr<formula::RefEdit>       m_pEdAssign;
    VclPtr<formula::RefButton>     m_pRbAssign;

    ScViewData*             pViewData;
    ScDocument*             pDoc;
diff --git a/sc/source/ui/inc/inputhdl.hxx b/sc/source/ui/inc/inputhdl.hxx
index 829ec97..dfad789 100644
--- a/sc/source/ui/inc/inputhdl.hxx
+++ b/sc/source/ui/inc/inputhdl.hxx
@@ -28,6 +28,7 @@
#include <tools/gen.hxx>
#include <tools/link.hxx>
#include <vcl/vclevent.hxx>
#include <vcl/vclptr.hxx>
#include <editeng/svxenum.hxx>

#include <set>
@@ -54,7 +55,7 @@ struct ESelection;
class ScInputHandler : boost::noncopyable
{
private:
    ScInputWindow*          pInputWin;
    VclPtr<ScInputWindow>          pInputWin;

    ScEditEngineDefaulter*  pEngine;                    ///< Edited data in the sheet (when the user clicks into the sheet, and starts writing there).
    EditView*               pTableView;                 // associated active EditView
@@ -66,9 +67,9 @@ private:
    ScTypedCaseStrSet::const_iterator miAutoPosColumn;
    ScTypedCaseStrSet::const_iterator miAutoPosFormula;

    vcl::Window*                 pTipVisibleParent;
    VclPtr<vcl::Window>     pTipVisibleParent;
    sal_uLong               nTipVisible;
    vcl::Window*                 pTipVisibleSecParent;
    VclPtr<vcl::Window>     pTipVisibleSecParent;
    sal_uLong               nTipVisibleSec;
    OUString                aManualTip;
    OUString                aAutoSearch;
@@ -240,7 +241,7 @@ public:

    bool            IsFormulaMode() const                   { return bFormulaMode; }
    ScInputWindow*  GetInputWindow()                        { return pInputWin; }
    void            SetInputWindow( ScInputWindow* pNew )   { pInputWin = pNew; }
    void            SetInputWindow( ScInputWindow* pNew );
    void            StopInputWinEngine( bool bAll );

    bool            IsInEnterHandler() const                { return bInEnterHandler; }
diff --git a/sc/source/ui/inc/inscldlg.hxx b/sc/source/ui/inc/inscldlg.hxx
index dd9a250..e89d68d 100644
--- a/sc/source/ui/inc/inscldlg.hxx
+++ b/sc/source/ui/inc/inscldlg.hxx
@@ -29,14 +29,15 @@
class ScInsertCellDlg : public ModalDialog
{
private:
    RadioButton* m_pBtnCellsDown;
    RadioButton* m_pBtnCellsRight;
    RadioButton* m_pBtnInsRow;
    RadioButton* m_pBtnInsCol;
    VclPtr<RadioButton> m_pBtnCellsDown;
    VclPtr<RadioButton> m_pBtnCellsRight;
    VclPtr<RadioButton> m_pBtnInsRow;
    VclPtr<RadioButton> m_pBtnInsCol;

public:
            ScInsertCellDlg( vcl::Window* pParent,bool bDisallowCellMove = false );
            virtual ~ScInsertCellDlg();
    virtual void dispose() SAL_OVERRIDE;

    InsCellCmd GetInsCellCmd() const;
};
diff --git a/sc/source/ui/inc/inscodlg.hxx b/sc/source/ui/inc/inscodlg.hxx
index 255cfac0..65ea1d9 100644
--- a/sc/source/ui/inc/inscodlg.hxx
+++ b/sc/source/ui/inc/inscodlg.hxx
@@ -49,32 +49,32 @@ public:
    void    SetCellShiftDisabled( int nDisable );

private:
    CheckBox*        mpBtnInsAll;
    CheckBox*        mpBtnInsStrings;
    CheckBox*        mpBtnInsNumbers;
    CheckBox*        mpBtnInsDateTime;
    CheckBox*        mpBtnInsFormulas;
    CheckBox*        mpBtnInsNotes;
    CheckBox*        mpBtnInsAttrs;
    CheckBox*        mpBtnInsObjects;
    VclPtr<CheckBox>        mpBtnInsAll;
    VclPtr<CheckBox>        mpBtnInsStrings;
    VclPtr<CheckBox>        mpBtnInsNumbers;
    VclPtr<CheckBox>        mpBtnInsDateTime;
    VclPtr<CheckBox>        mpBtnInsFormulas;
    VclPtr<CheckBox>        mpBtnInsNotes;
    VclPtr<CheckBox>        mpBtnInsAttrs;
    VclPtr<CheckBox>        mpBtnInsObjects;

    CheckBox*        mpBtnSkipEmptyCells;
    CheckBox*        mpBtnTranspose;
    CheckBox*        mpBtnLink;
    VclPtr<CheckBox>        mpBtnSkipEmptyCells;
    VclPtr<CheckBox>        mpBtnTranspose;
    VclPtr<CheckBox>        mpBtnLink;

    RadioButton*     mpRbNoOp;
    RadioButton*     mpRbAdd;
    RadioButton*     mpRbSub;
    RadioButton*     mpRbMul;
    RadioButton*     mpRbDiv;
    VclPtr<RadioButton>     mpRbNoOp;
    VclPtr<RadioButton>     mpRbAdd;
    VclPtr<RadioButton>     mpRbSub;
    VclPtr<RadioButton>     mpRbMul;
    VclPtr<RadioButton>     mpRbDiv;

    RadioButton*     mpRbMoveNone;
    RadioButton*     mpRbMoveDown;
    RadioButton*     mpRbMoveRight;
    VclPtr<RadioButton>     mpRbMoveNone;
    VclPtr<RadioButton>     mpRbMoveDown;
    VclPtr<RadioButton>     mpRbMoveRight;

    PushButton*      mpBtnShortCutPasteValuesOnly;
    PushButton*      mpBtnShortCutPasteValuesFormats;
    PushButton*      mpBtnShortCutPasteTranspose;
    VclPtr<PushButton>      mpBtnShortCutPasteValuesOnly;
    VclPtr<PushButton>      mpBtnShortCutPasteValuesFormats;
    VclPtr<PushButton>      mpBtnShortCutPasteTranspose;

    bool              bOtherDoc;
    bool              bFillMode;
diff --git a/sc/source/ui/inc/instbdlg.hxx b/sc/source/ui/inc/instbdlg.hxx
index ad03e94..64bc24f 100644
--- a/sc/source/ui/inc/instbdlg.hxx
+++ b/sc/source/ui/inc/instbdlg.hxx
@@ -58,19 +58,19 @@ public:
    SCTAB           GetTableCount() const { return nTableCount;}

private:
    RadioButton*            m_pBtnBefore;
    RadioButton*            m_pBtnBehind;
    RadioButton*            m_pBtnNew;
    RadioButton*            m_pBtnFromFile;
    FixedText*              m_pFtCount;
    NumericField*           m_pNfCount;
    FixedText*              m_pFtName;
    Edit*                   m_pEdName;
    ListBox*                m_pLbTables;
    FixedText*              m_pFtPath;
    PushButton*             m_pBtnBrowse;
    CheckBox*               m_pBtnLink;
    OKButton*               m_pBtnOk;
    VclPtr<RadioButton>            m_pBtnBefore;
    VclPtr<RadioButton>            m_pBtnBehind;
    VclPtr<RadioButton>            m_pBtnNew;
    VclPtr<RadioButton>            m_pBtnFromFile;
    VclPtr<FixedText>              m_pFtCount;
    VclPtr<NumericField>           m_pNfCount;
    VclPtr<FixedText>              m_pFtName;
    VclPtr<Edit>                   m_pEdName;
    VclPtr<ListBox>                m_pLbTables;
    VclPtr<FixedText>              m_pFtPath;
    VclPtr<PushButton>             m_pBtnBrowse;
    VclPtr<CheckBox>               m_pBtnLink;
    VclPtr<OKButton>               m_pBtnOk;

    Timer                   aBrowseTimer;
    ScViewData&             rViewData;
diff --git a/sc/source/ui/inc/lbseldlg.hxx b/sc/source/ui/inc/lbseldlg.hxx
index 39c2fd6..ab52b76 100644
--- a/sc/source/ui/inc/lbseldlg.hxx
+++ b/sc/source/ui/inc/lbseldlg.hxx
@@ -30,12 +30,14 @@
class ScSelEntryDlg : public ModalDialog
{
private:
    ListBox* m_pLb;
    VclPtr<ListBox> m_pLb;

    DECL_LINK( DblClkHdl, void * );

public:
    ScSelEntryDlg(vcl::Window* pParent, const std::vector<OUString> &rEntryList);
    virtual ~ScSelEntryDlg();
    virtual void dispose() SAL_OVERRIDE;

    OUString GetSelectEntry() const;
};
diff --git a/sc/source/ui/inc/linkarea.hxx b/sc/source/ui/inc/linkarea.hxx
index 6c11b2f..d88b17d 100644
--- a/sc/source/ui/inc/linkarea.hxx
+++ b/sc/source/ui/inc/linkarea.hxx
@@ -37,13 +37,13 @@ class ScDocShell;
class ScLinkedAreaDlg : public ModalDialog
{
private:
    SvtURLBox*    m_pCbUrl;
    PushButton*   m_pBtnBrowse;
    ListBox*      m_pLbRanges;
    CheckBox*     m_pBtnReload;
    NumericField* m_pNfDelay;
    FixedText*    m_pFtSeconds;
    OKButton*     m_pBtnOk;
    VclPtr<SvtURLBox>    m_pCbUrl;
    VclPtr<PushButton>   m_pBtnBrowse;
    VclPtr<ListBox>      m_pLbRanges;
    VclPtr<CheckBox>     m_pBtnReload;
    VclPtr<NumericField> m_pNfDelay;
    VclPtr<FixedText>    m_pFtSeconds;
    VclPtr<OKButton>     m_pBtnOk;

    ScDocShell*             pSourceShell;
    sfx2::DocumentInserter* pDocInserter;
@@ -64,6 +64,7 @@ private:
public:
            ScLinkedAreaDlg( vcl::Window* pParent );
            virtual ~ScLinkedAreaDlg();
    virtual void dispose() SAL_OVERRIDE;

    void            InitFromOldLink( const OUString& rFile, const OUString& rFilter,
                                        const OUString& rOptions, const OUString& rSource,
diff --git a/sc/source/ui/inc/mtrindlg.hxx b/sc/source/ui/inc/mtrindlg.hxx
index ab422cf..72b106f 100644
--- a/sc/source/ui/inc/mtrindlg.hxx
+++ b/sc/source/ui/inc/mtrindlg.hxx
@@ -38,12 +38,14 @@ public:
                      long           nMinimum  = 0,
                      long           nFirst    = 1,
                      long           nLast     = 100 );
    virtual ~ScMetricInputDlg();
    virtual void dispose() SAL_OVERRIDE;

    long GetInputValue( FieldUnit eUnit = FUNIT_TWIP ) const;

private:
    MetricField*    m_pEdValue;
    CheckBox*       m_pBtnDefVal;
    VclPtr<MetricField>    m_pEdValue;
    VclPtr<CheckBox>       m_pBtnDefVal;
    long            nDefaultValue;
    long            nCurrentValue;

diff --git a/sc/source/ui/inc/mvtabdlg.hxx b/sc/source/ui/inc/mvtabdlg.hxx
index 0087e429..cef3d5f 100644
--- a/sc/source/ui/inc/mvtabdlg.hxx
+++ b/sc/source/ui/inc/mvtabdlg.hxx
@@ -32,6 +32,7 @@ class ScMoveTableDlg : public ModalDialog
public:
    ScMoveTableDlg(vcl::Window* pParent, const OUString& rDefault);
    virtual ~ScMoveTableDlg();
    virtual void dispose() SAL_OVERRIDE;

    sal_uInt16  GetSelectedDocument     () const { return nDocument; }
    SCTAB   GetSelectedTable        () const { return nTable; }
@@ -49,13 +50,13 @@ private:
    bool IsCurrentDocSelected() const;

private:
    RadioButton*     pBtnMove;
    RadioButton*     pBtnCopy;
    ListBox*         pLbDoc;
    ListBox*         pLbTable;
    Edit*            pEdTabName;
    FixedText*       pFtWarn;
    OKButton*        pBtnOk;
    VclPtr<RadioButton>     pBtnMove;
    VclPtr<RadioButton>     pBtnCopy;
    VclPtr<ListBox>         pLbDoc;
    VclPtr<ListBox>         pLbTable;
    VclPtr<Edit>            pEdTabName;
    VclPtr<FixedText>       pFtWarn;
    VclPtr<OKButton>        pBtnOk;

    OUString   msCurrentDoc;
    OUString   msNewDoc;
diff --git a/sc/source/ui/inc/namecrea.hxx b/sc/source/ui/inc/namecrea.hxx
index ef87626..7a53cd8 100644
--- a/sc/source/ui/inc/namecrea.hxx
+++ b/sc/source/ui/inc/namecrea.hxx
@@ -28,13 +28,14 @@
class ScNameCreateDlg : public ModalDialog
{
protected:
    CheckBox* m_pTopBox;
    CheckBox* m_pLeftBox;
    CheckBox* m_pBottomBox;
    CheckBox* m_pRightBox;
    VclPtr<CheckBox> m_pTopBox;
    VclPtr<CheckBox> m_pLeftBox;
    VclPtr<CheckBox> m_pBottomBox;
    VclPtr<CheckBox> m_pRightBox;
public:
    ScNameCreateDlg( vcl::Window * pParent, sal_uInt16 nFlags );

    virtual ~ScNameCreateDlg();
    virtual void dispose() SAL_OVERRIDE;
    sal_uInt16          GetFlags() const;
};

diff --git a/sc/source/ui/inc/namedefdlg.hxx b/sc/source/ui/inc/namedefdlg.hxx
index b21a0be..acdb9ed 100644
--- a/sc/source/ui/inc/namedefdlg.hxx
+++ b/sc/source/ui/inc/namedefdlg.hxx
@@ -26,21 +26,21 @@ class ScViewData;
class ScNameDefDlg : public ScAnyRefDlg
{
private:
    Edit* m_pEdName;
    VclPtr<Edit> m_pEdName;

    formula::RefEdit* m_pEdRange;
    formula::RefButton* m_pRbRange;
    VclPtr<formula::RefEdit> m_pEdRange;
    VclPtr<formula::RefButton> m_pRbRange;

    ListBox* m_pLbScope;
    VclPtr<ListBox> m_pLbScope;

    CheckBox* m_pBtnRowHeader;
    CheckBox* m_pBtnColHeader;
    CheckBox* m_pBtnPrintArea;
    CheckBox* m_pBtnCriteria;
    VclPtr<CheckBox> m_pBtnRowHeader;
    VclPtr<CheckBox> m_pBtnColHeader;
    VclPtr<CheckBox> m_pBtnPrintArea;
    VclPtr<CheckBox> m_pBtnCriteria;

    PushButton* m_pBtnAdd;
    PushButton* m_pBtnCancel;
    FixedText* m_pFtInfo;
    VclPtr<PushButton> m_pBtnAdd;
    VclPtr<PushButton> m_pBtnCancel;
    VclPtr<FixedText> m_pFtInfo;

    bool mbUndo; //if true we need to add an undo action after creating a range name
    ScDocument* mpDoc;
@@ -77,7 +77,8 @@ public:
                    ScViewData* pViewData, const std::map<OUString, ScRangeName*>& aRangeMap,
                    const ScAddress& aCursorPos, const bool bUndo);

    virtual ~ScNameDefDlg() {};
    virtual ~ScNameDefDlg();
    virtual void    dispose() SAL_OVERRIDE;

    virtual void    SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;
    virtual bool    IsRefInputMode() const SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/namedlg.hxx b/sc/source/ui/inc/namedlg.hxx
index fa3316f..cad2f9d 100644
--- a/sc/source/ui/inc/namedlg.hxx
+++ b/sc/source/ui/inc/namedlg.hxx
@@ -43,24 +43,24 @@ class ScDocument;
class ScNameDlg : public ScAnyRefDlg, public ScRangeManagerTable::InitListener
{
private:
    Edit*               m_pEdName;
    formula::RefEdit*   m_pEdAssign;
    formula::RefButton* m_pRbAssign;
    ListBox*            m_pLbScope;
    VclPtr<Edit>               m_pEdName;
    VclPtr<formula::RefEdit>   m_pEdAssign;
    VclPtr<formula::RefButton> m_pRbAssign;
    VclPtr<ListBox>            m_pLbScope;

    CheckBox*           m_pBtnPrintArea;
    CheckBox*           m_pBtnColHeader;
    CheckBox*           m_pBtnCriteria;
    CheckBox*           m_pBtnRowHeader;
    VclPtr<CheckBox>           m_pBtnPrintArea;
    VclPtr<CheckBox>           m_pBtnColHeader;
    VclPtr<CheckBox>           m_pBtnCriteria;
    VclPtr<CheckBox>           m_pBtnRowHeader;

    PushButton*         m_pBtnAdd;
    PushButton*         m_pBtnDelete;
    PushButton*         m_pBtnOk;
    PushButton*         m_pBtnCancel;
    VclPtr<PushButton>         m_pBtnAdd;
    VclPtr<PushButton>         m_pBtnDelete;
    VclPtr<PushButton>         m_pBtnOk;
    VclPtr<PushButton>         m_pBtnCancel;

    FixedText*          m_pFtInfo;
    VclPtr<FixedText>          m_pFtInfo;

    ScRangeManagerTable* m_pRangeManagerTable;
    VclPtr<ScRangeManagerTable> m_pRangeManagerTable;

    const OUString maGlobalNameStr;
    const OUString maErrInvalidNameStr;
diff --git a/sc/source/ui/inc/namepast.hxx b/sc/source/ui/inc/namepast.hxx
index 0ee6fa6..a71a95b 100644
--- a/sc/source/ui/inc/namepast.hxx
+++ b/sc/source/ui/inc/namepast.hxx
@@ -37,11 +37,11 @@ class ScNamePasteDlg : public ModalDialog
    DECL_LINK( ButtonHdl, Button * );

private:
    PushButton* m_pBtnPasteAll;
    PushButton* m_pBtnPaste;
    PushButton* m_pBtnClose;
    VclPtr<PushButton> m_pBtnPasteAll;
    VclPtr<PushButton> m_pBtnPaste;
    VclPtr<PushButton> m_pBtnClose;

    ScRangeManagerTable* mpTable;
    VclPtr<ScRangeManagerTable> mpTable;

    std::vector<OUString> maSelectedNames;
    boost::ptr_map<OUString, ScRangeName> maRangeMap;
diff --git a/sc/source/ui/inc/navipi.hxx b/sc/source/ui/inc/navipi.hxx
index 7e7fb92..8445a09 100644
--- a/sc/source/ui/inc/navipi.hxx
+++ b/sc/source/ui/inc/navipi.hxx
@@ -331,7 +331,7 @@ public:
    virtual void    Resizing( Size& rSize ) SAL_OVERRIDE;

private:
    ScNavigatorDlg* pNavigator;
    VclPtr<ScNavigatorDlg> pNavigator;
};

#endif // INCLUDED_SC_SOURCE_UI_INC_NAVIPI_HXX
diff --git a/sc/source/ui/inc/notemark.hxx b/sc/source/ui/inc/notemark.hxx
index 537837a..ee8af56 100644
--- a/sc/source/ui/inc/notemark.hxx
+++ b/sc/source/ui/inc/notemark.hxx
@@ -31,10 +31,10 @@ class SdrObject;
class ScNoteMarker
{
private:
    vcl::Window*     pWindow;
    vcl::Window*     pRightWin;
    vcl::Window*     pBottomWin;
    vcl::Window*     pDiagWin;
    VclPtr<vcl::Window>     pWindow;
    VclPtr<vcl::Window>     pRightWin;
    VclPtr<vcl::Window>     pBottomWin;
    VclPtr<vcl::Window>     pDiagWin;
    ScDocument* pDoc;
    ScAddress   aDocPos;
    OUString    aUserText;
diff --git a/sc/source/ui/inc/opredlin.hxx b/sc/source/ui/inc/opredlin.hxx
index 0e5e07c..8b3ad3d 100644
--- a/sc/source/ui/inc/opredlin.hxx
+++ b/sc/source/ui/inc/opredlin.hxx
@@ -36,10 +36,10 @@

class ScRedlineOptionsTabPage : public SfxTabPage
{
    ColorListBox*       m_pContentColorLB;
    ColorListBox*       m_pRemoveColorLB;
    ColorListBox*       m_pInsertColorLB;
    ColorListBox*       m_pMoveColorLB;
    VclPtr<ColorListBox>       m_pContentColorLB;
    VclPtr<ColorListBox>       m_pRemoveColorLB;
    VclPtr<ColorListBox>       m_pInsertColorLB;
    VclPtr<ColorListBox>       m_pMoveColorLB;
    OUString            aAuthorStr;
    DECL_LINK(ColorHdl, void *);

@@ -47,7 +47,7 @@ public:

    ScRedlineOptionsTabPage( vcl::Window* pParent, const SfxItemSet& rSet );
    virtual ~ScRedlineOptionsTabPage();

    virtual void dispose() SAL_OVERRIDE;
    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rAttrSet );

    virtual bool        FillItemSet( SfxItemSet* rSet ) SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/optsolver.hxx b/sc/source/ui/inc/optsolver.hxx
index 6d1fd0f..8a7d1cec 100644
--- a/sc/source/ui/inc/optsolver.hxx
+++ b/sc/source/ui/inc/optsolver.hxx
@@ -96,6 +96,7 @@ public:
                    ScOptSolverDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pParent,
                                 ScDocShell* pDocSh, ScAddress aCursorPos );
                    virtual ~ScOptSolverDlg();
    virtual void    dispose() SAL_OVERRIDE;

    virtual void    SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;
    virtual bool    IsRefInputMode() const SAL_OVERRIDE;
@@ -103,56 +104,56 @@ public:
    virtual bool    Close() SAL_OVERRIDE;

private:
    FixedText*       m_pFtObjectiveCell;
    formula::RefEdit*    m_pEdObjectiveCell;
    formula::RefButton*  m_pRBObjectiveCell;
    VclPtr<FixedText>       m_pFtObjectiveCell;
    VclPtr<formula::RefEdit>    m_pEdObjectiveCell;
    VclPtr<formula::RefButton>  m_pRBObjectiveCell;

    RadioButton*     m_pRbMax;
    RadioButton*     m_pRbMin;
    RadioButton*     m_pRbValue;
    formula::RefEdit*   m_pEdTargetValue;
    formula::RefButton* m_pRBTargetValue;
    VclPtr<RadioButton>     m_pRbMax;
    VclPtr<RadioButton>     m_pRbMin;
    VclPtr<RadioButton>     m_pRbValue;
    VclPtr<formula::RefEdit>   m_pEdTargetValue;
    VclPtr<formula::RefButton> m_pRBTargetValue;

    FixedText*       m_pFtVariableCells;
    formula::RefEdit*   m_pEdVariableCells;
    formula::RefButton* m_pRBVariableCells;
    VclPtr<FixedText>       m_pFtVariableCells;
    VclPtr<formula::RefEdit>   m_pEdVariableCells;
    VclPtr<formula::RefButton> m_pRBVariableCells;

    FixedText*       m_pFtCellRef; // labels are together with controls for the first row
    ScCursorRefEdit* m_pEdLeft1;
    formula::RefButton* m_pRBLeft1;
    FixedText*       m_pFtOperator;
    ListBox*         m_pLbOp1;
    FixedText*       m_pFtConstraint;
    ScCursorRefEdit* m_pEdRight1;
    formula::RefButton* m_pRBRight1;
    PushButton*      m_pBtnDel1;
    VclPtr<FixedText>       m_pFtCellRef; // labels are together with controls for the first row
    VclPtr<ScCursorRefEdit> m_pEdLeft1;
    VclPtr<formula::RefButton> m_pRBLeft1;
    VclPtr<FixedText>       m_pFtOperator;
    VclPtr<ListBox>         m_pLbOp1;
    VclPtr<FixedText>       m_pFtConstraint;
    VclPtr<ScCursorRefEdit> m_pEdRight1;
    VclPtr<formula::RefButton> m_pRBRight1;
    VclPtr<PushButton>      m_pBtnDel1;

    ScCursorRefEdit* m_pEdLeft2;
    formula::RefButton* m_pRBLeft2;
    ListBox*         m_pLbOp2;
    ScCursorRefEdit* m_pEdRight2;
    formula::RefButton* m_pRBRight2;
    PushButton*      m_pBtnDel2;
    VclPtr<ScCursorRefEdit> m_pEdLeft2;
    VclPtr<formula::RefButton> m_pRBLeft2;
    VclPtr<ListBox>         m_pLbOp2;
    VclPtr<ScCursorRefEdit> m_pEdRight2;
    VclPtr<formula::RefButton> m_pRBRight2;
    VclPtr<PushButton>      m_pBtnDel2;

    ScCursorRefEdit* m_pEdLeft3;
    formula::RefButton* m_pRBLeft3;
    ListBox*         m_pLbOp3;
    ScCursorRefEdit* m_pEdRight3;
    formula::RefButton* m_pRBRight3;
    PushButton*      m_pBtnDel3;
    VclPtr<ScCursorRefEdit> m_pEdLeft3;
    VclPtr<formula::RefButton> m_pRBLeft3;
    VclPtr<ListBox>         m_pLbOp3;
    VclPtr<ScCursorRefEdit> m_pEdRight3;
    VclPtr<formula::RefButton> m_pRBRight3;
    VclPtr<PushButton>      m_pBtnDel3;

    ScCursorRefEdit* m_pEdLeft4;
    formula::RefButton* m_pRBLeft4;
    ListBox*         m_pLbOp4;
    ScCursorRefEdit* m_pEdRight4;
    formula::RefButton* m_pRBRight4;
    PushButton*      m_pBtnDel4;
    VclPtr<ScCursorRefEdit> m_pEdLeft4;
    VclPtr<formula::RefButton> m_pRBLeft4;
    VclPtr<ListBox>         m_pLbOp4;
    VclPtr<ScCursorRefEdit> m_pEdRight4;
    VclPtr<formula::RefButton> m_pRBRight4;
    VclPtr<PushButton>      m_pBtnDel4;

    ScrollBar*       m_pScrollBar;
    VclPtr<ScrollBar>       m_pScrollBar;

    PushButton*      m_pBtnOpt;
    PushButton*      m_pBtnCancel;
    PushButton*      m_pBtnSolve;
    VclPtr<PushButton>      m_pBtnOpt;
    VclPtr<PushButton>      m_pBtnCancel;
    VclPtr<PushButton>      m_pBtnSolve;

    OUString        maInputError;
    OUString        maConditionError;
@@ -160,16 +161,16 @@ private:
    ScDocShell*     mpDocShell;
    ScDocument&     mrDoc;
    const SCTAB     mnCurTab;
    formula::RefEdit*      mpEdActive;
    VclPtr<formula::RefEdit>      mpEdActive;
    bool            mbDlgLostFocus;

    static const sal_uInt16 EDIT_ROW_COUNT = 4;
    ScCursorRefEdit* mpLeftEdit[EDIT_ROW_COUNT];
    formula::RefButton*     mpLeftButton[EDIT_ROW_COUNT];
    VclPtr<formula::RefButton>     mpLeftButton[EDIT_ROW_COUNT];
    ScCursorRefEdit* mpRightEdit[EDIT_ROW_COUNT];
    formula::RefButton*     mpRightButton[EDIT_ROW_COUNT];
    ListBox*         mpOperator[EDIT_ROW_COUNT];
    PushButton*      mpDelButton[EDIT_ROW_COUNT];
    VclPtr<formula::RefButton>     mpRightButton[EDIT_ROW_COUNT];
    VclPtr<ListBox>         mpOperator[EDIT_ROW_COUNT];
    VclPtr<PushButton>      mpDelButton[EDIT_ROW_COUNT];

    std::vector<ScOptConditionRow> maConditions;
    long            nScrollPos;
@@ -202,10 +203,12 @@ private:

class ScSolverProgressDialog : public ModelessDialog
{
    FixedText* m_pFtTime;
    VclPtr<FixedText> m_pFtTime;

public:
    ScSolverProgressDialog( vcl::Window* pParent );
    virtual ~ScSolverProgressDialog();
    virtual void dispose() SAL_OVERRIDE;

    void    HideTimeLimit();
    void    SetTimeLimit( sal_Int32 nSeconds );
@@ -213,22 +216,26 @@ public:

class ScSolverNoSolutionDialog : public ModalDialog
{
    FixedText* m_pFtErrorText;
    VclPtr<FixedText> m_pFtErrorText;

public:
    ScSolverNoSolutionDialog(vcl::Window* pParent, const OUString& rErrorText);
    virtual ~ScSolverNoSolutionDialog();
    virtual void dispose() SAL_OVERRIDE;
};

class ScSolverSuccessDialog : public ModalDialog
{
    FixedText* m_pFtResult;
    PushButton* m_pBtnOk;
    PushButton* m_pBtnCancel;
    VclPtr<FixedText> m_pFtResult;
    VclPtr<PushButton> m_pBtnOk;
    VclPtr<PushButton> m_pBtnCancel;

    DECL_LINK(ClickHdl, PushButton*);

public:
    ScSolverSuccessDialog( vcl::Window* pParent, const OUString& rSolution );
    virtual ~ScSolverSuccessDialog();
    virtual void dispose() SAL_OVERRIDE;
};

#endif
diff --git a/sc/source/ui/inc/pfiltdlg.hxx b/sc/source/ui/inc/pfiltdlg.hxx
index 4253fa8..c2272b3 100644
--- a/sc/source/ui/inc/pfiltdlg.hxx
+++ b/sc/source/ui/inc/pfiltdlg.hxx
@@ -45,24 +45,24 @@ public:
    const ScQueryItem&  GetOutputItem();

private:
    ListBox*        m_pLbField1;
    ListBox*        m_pLbCond1;
    ComboBox*       m_pEdVal1;
    VclPtr<ListBox>        m_pLbField1;
    VclPtr<ListBox>        m_pLbCond1;
    VclPtr<ComboBox>       m_pEdVal1;

    ListBox*        m_pLbConnect1;
    ListBox*        m_pLbField2;
    ListBox*        m_pLbCond2;
    ComboBox*       m_pEdVal2;
    VclPtr<ListBox>        m_pLbConnect1;
    VclPtr<ListBox>        m_pLbField2;
    VclPtr<ListBox>        m_pLbCond2;
    VclPtr<ComboBox>       m_pEdVal2;

    ListBox*        m_pLbConnect2;
    ListBox*        m_pLbField3;
    ListBox*        m_pLbCond3;
    ComboBox*       m_pEdVal3;
    VclPtr<ListBox>        m_pLbConnect2;
    VclPtr<ListBox>        m_pLbField3;
    VclPtr<ListBox>        m_pLbCond3;
    VclPtr<ComboBox>       m_pEdVal3;

    CheckBox*       m_pBtnCase;
    CheckBox*       m_pBtnRegExp;
    CheckBox*       m_pBtnUnique;
    FixedText*      m_pFtDbArea;
    VclPtr<CheckBox>       m_pBtnCase;
    VclPtr<CheckBox>       m_pBtnRegExp;
    VclPtr<CheckBox>       m_pBtnUnique;
    VclPtr<FixedText>      m_pFtDbArea;
    const OUString aStrNone;
    const OUString aStrEmpty;
    const OUString aStrNotEmpty;
@@ -76,9 +76,9 @@ private:
    SCTAB               nSrcTab;

    sal_uInt16              nFieldCount;
    ComboBox*           aValueEdArr[3];
    ListBox*            aFieldLbArr[3];
    ListBox*            aCondLbArr[3];
    VclPtr<ComboBox>           aValueEdArr[3];
    VclPtr<ListBox>            aFieldLbArr[3];
    VclPtr<ListBox>            aCondLbArr[3];

    std::vector<ScTypedStrData>* pEntryLists[MAXCOLCOUNT];

diff --git a/sc/source/ui/inc/prevwsh.hxx b/sc/source/ui/inc/prevwsh.hxx
index d8bec53..66c041f 100644
--- a/sc/source/ui/inc/prevwsh.hxx
+++ b/sc/source/ui/inc/prevwsh.hxx
@@ -40,11 +40,11 @@ class ScPreviewShell: public SfxViewShell
{
    ScDocShell*     pDocShell;

    SystemWindow*   mpFrameWindow;
    ScPreview*      pPreview;               // Output window
    ScrollBar*      pHorScroll;
    ScrollBar*      pVerScroll;
    vcl::Window*         pCorner;
    VclPtr<SystemWindow>   mpFrameWindow;
    VclPtr<ScPreview>      pPreview;               // Output window
    VclPtr<ScrollBar>      pHorScroll;
    VclPtr<ScrollBar>      pVerScroll;
    VclPtr<vcl::Window>    pCorner;

    ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > aSourceData;  // ViewData
    sal_uInt8           nSourceDesignMode;      // form design mode from TabView
diff --git a/sc/source/ui/inc/protectiondlg.hxx b/sc/source/ui/inc/protectiondlg.hxx
index 812b402..32a0b72 100644
--- a/sc/source/ui/inc/protectiondlg.hxx
+++ b/sc/source/ui/inc/protectiondlg.hxx
@@ -35,6 +35,7 @@ class ScTableProtectionDlg : public ModalDialog
public:
    explicit ScTableProtectionDlg(vcl::Window* pParent);
    virtual ~ScTableProtectionDlg();
    virtual void dispose() SAL_OVERRIDE;

    virtual short Execute() SAL_OVERRIDE;

@@ -49,16 +50,16 @@ private:

    void EnableOptionalWidgets(bool bEnable = true);

    CheckBox*        m_pBtnProtect;
    VclPtr<CheckBox>        m_pBtnProtect;

    VclContainer*    m_pPasswords;
    VclContainer*    m_pOptions;
    Edit*            m_pPassword1Edit;
    Edit*            m_pPassword2Edit;
    VclPtr<VclContainer>    m_pPasswords;
    VclPtr<VclContainer>    m_pOptions;
    VclPtr<Edit>            m_pPassword1Edit;
    VclPtr<Edit>            m_pPassword2Edit;

    SvxCheckListBox* m_pOptionsListBox;
    VclPtr<SvxCheckListBox> m_pOptionsListBox;

    OKButton*        m_pBtnOk;
    VclPtr<OKButton>        m_pBtnOk;

    OUString         m_aSelectLockedCells;
    OUString         m_aSelectUnlockedCells;
diff --git a/sc/source/ui/inc/pvfundlg.hxx b/sc/source/ui/inc/pvfundlg.hxx
index 4718e5e..bfebea6 100644
--- a/sc/source/ui/inc/pvfundlg.hxx
+++ b/sc/source/ui/inc/pvfundlg.hxx
@@ -60,7 +60,8 @@ class ScDPFunctionDlg : public ModalDialog
public:
    explicit            ScDPFunctionDlg( vcl::Window* pParent, const ScDPLabelDataVector& rLabelVec,
                            const ScDPLabelData& rLabelData, const ScPivotFuncData& rFuncData );

    virtual ~ScDPFunctionDlg();
    virtual void            dispose() SAL_OVERRIDE;
    sal_uInt16              GetFuncMask() const;
    ::com::sun::star::sheet::DataPilotFieldReference GetFieldRef() const;

@@ -77,14 +78,14 @@ private:
    DECL_LINK( DblClickHdl, void* );

private:
    ScDPFunctionListBox* mpLbFunc;
    FixedText*           mpFtName;
    ListBox*             mpLbType;
    FixedText*           mpFtBaseField;
    ListBox*             mpLbBaseField;
    FixedText*           mpFtBaseItem;
    ListBox*             mpLbBaseItem;
    OKButton*            mpBtnOk;
    VclPtr<ScDPFunctionListBox> mpLbFunc;
    VclPtr<FixedText>           mpFtName;
    VclPtr<ListBox>             mpLbType;
    VclPtr<FixedText>           mpFtBaseField;
    VclPtr<ListBox>             mpLbBaseField;
    VclPtr<FixedText>           mpFtBaseItem;
    VclPtr<ListBox>             mpLbBaseItem;
    VclPtr<OKButton>            mpBtnOk;

    NameMapType          maBaseFieldNameMap; // cache for base field display -> original name.
    NameMapType          maBaseItemNameMap;  // cache for base item display -> original name.
@@ -101,8 +102,9 @@ public:
    explicit            ScDPSubtotalDlg( vcl::Window* pParent, ScDPObject& rDPObj,
                            const ScDPLabelData& rLabelData, const ScPivotFuncData& rFuncData,
                            const ScDPNameVec& rDataFields, bool bEnableLayout );

    sal_uInt16              GetFuncMask() const;
    virtual             ~ScDPSubtotalDlg();
    virtual void        dispose() SAL_OVERRIDE;
    sal_uInt16          GetFuncMask() const;

    void                FillLabelData( ScDPLabelData& rLabelData ) const;

@@ -114,14 +116,14 @@ private:
    DECL_LINK( ClickHdl, PushButton* );

private:
    RadioButton*         mpRbNone;
    RadioButton*         mpRbAuto;
    RadioButton*         mpRbUser;
    ScDPFunctionListBox* mpLbFunc;
    FixedText*           mpFtName;
    CheckBox*            mpCbShowAll;
    OKButton*            mpBtnOk;
    PushButton*          mpBtnOptions;
    VclPtr<RadioButton>         mpRbNone;
    VclPtr<RadioButton>         mpRbAuto;
    VclPtr<RadioButton>         mpRbUser;
    VclPtr<ScDPFunctionListBox> mpLbFunc;
    VclPtr<FixedText>           mpFtName;
    VclPtr<CheckBox>            mpCbShowAll;
    VclPtr<OKButton>            mpBtnOk;
    VclPtr<PushButton>          mpBtnOptions;

    ScDPObject&          mrDPObj;            /// The DataPilot object (for member names).
    const ScDPNameVec&   mrDataFields;       /// The list of all data field names.
@@ -136,7 +138,8 @@ public:
    explicit            ScDPSubtotalOptDlg( vcl::Window* pParent, ScDPObject& rDPObj,
                            const ScDPLabelData& rLabelData, const ScDPNameVec& rDataFields,
                            bool bEnableLayout );

    virtual              ~ScDPSubtotalOptDlg();
    virtual void        dispose() SAL_OVERRIDE;
    void                FillLabelData( ScDPLabelData& rLabelData ) const;

private:
@@ -153,25 +156,25 @@ private:
    DECL_LINK( SelectHdl, ListBox* );

private:
    ListBox*            m_pLbSortBy;
    RadioButton*        m_pRbSortAsc;
    RadioButton*        m_pRbSortDesc;
    RadioButton*        m_pRbSortMan;
    VclContainer*       m_pLayoutFrame;
    ListBox*            m_pLbLayout;
    CheckBox*           m_pCbLayoutEmpty;
    CheckBox*           m_pCbRepeatItemLabels;
    CheckBox*           m_pCbShow;
    NumericField*       m_pNfShow;
    FixedText*          m_pFtShow;
    FixedText*          m_pFtShowFrom;
    ListBox*            m_pLbShowFrom;
    FixedText*          m_pFtShowUsing;
    ListBox*            m_pLbShowUsing;
    VclContainer*       m_pHideFrame;
    SvxCheckListBox*    m_pLbHide;
    FixedText*          m_pFtHierarchy;
    ListBox*            m_pLbHierarchy;
    VclPtr<ListBox>            m_pLbSortBy;
    VclPtr<RadioButton>        m_pRbSortAsc;
    VclPtr<RadioButton>        m_pRbSortDesc;
    VclPtr<RadioButton>        m_pRbSortMan;
    VclPtr<VclContainer>       m_pLayoutFrame;
    VclPtr<ListBox>            m_pLbLayout;
    VclPtr<CheckBox>           m_pCbLayoutEmpty;
    VclPtr<CheckBox>           m_pCbRepeatItemLabels;
    VclPtr<CheckBox>           m_pCbShow;
    VclPtr<NumericField>       m_pNfShow;
    VclPtr<FixedText>          m_pFtShow;
    VclPtr<FixedText>          m_pFtShowFrom;
    VclPtr<ListBox>            m_pLbShowFrom;
    VclPtr<FixedText>          m_pFtShowUsing;
    VclPtr<ListBox>            m_pLbShowUsing;
    VclPtr<VclContainer>       m_pHideFrame;
    VclPtr<SvxCheckListBox>    m_pLbHide;
    VclPtr<FixedText>          m_pFtHierarchy;
    VclPtr<ListBox>            m_pLbHierarchy;

    boost::scoped_ptr<ScDPListBoxWrapper> m_xLbLayoutWrp;      /// Wrapper for direct usage of API constants.
    boost::scoped_ptr<ScDPListBoxWrapper> m_xLbShowFromWrp;    /// Wrapper for direct usage of API constants.
@@ -187,7 +190,8 @@ class ScDPShowDetailDlg : public ModalDialog
{
public:
    explicit            ScDPShowDetailDlg( vcl::Window* pParent, ScDPObject& rDPObj, sal_uInt16 nOrient );

    virtual             ~ScDPShowDetailDlg();
    virtual void        dispose() SAL_OVERRIDE;
    virtual short       Execute() SAL_OVERRIDE;

    /**
@@ -201,8 +205,8 @@ private:
    DECL_LINK( DblClickHdl, ListBox* );

private:
    ListBox*            mpLbDims;
    OKButton*           mpBtnOk;
    VclPtr<ListBox>            mpLbDims;
    VclPtr<OKButton>           mpBtnOk;

    typedef std::unordered_map<OUString, long, OUStringHash> DimNameIndexMap;
    DimNameIndexMap     maNameIndexMap;
diff --git a/sc/source/ui/inc/reffact.hxx b/sc/source/ui/inc/reffact.hxx
index 1388bde..650ac84 100644
--- a/sc/source/ui/inc/reffact.hxx
+++ b/sc/source/ui/inc/reffact.hxx
@@ -173,7 +173,7 @@ class SC_DLLPUBLIC ScValidityRefChildWin : public SfxChildWindow
{
    bool    m_bVisibleLock:1;
    bool    m_bFreeWindowLock:1;
    vcl::Window * m_pSavedWndParent;
    VclPtr<vcl::Window> m_pSavedWndParent;
public:
    ScValidityRefChildWin( vcl::Window*, sal_uInt16, SfxBindings*, SfxChildWinInfo* );
    SFX_DECL_CHILDWINDOW_WITHID(ScValidityRefChildWin);
diff --git a/sc/source/ui/inc/retypepassdlg.hxx b/sc/source/ui/inc/retypepassdlg.hxx
index 2763202..8c746c1 100644
--- a/sc/source/ui/inc/retypepassdlg.hxx
+++ b/sc/source/ui/inc/retypepassdlg.hxx
@@ -46,6 +46,7 @@ public:

    explicit ScRetypePassDlg(vcl::Window* pParent);
    virtual ~ScRetypePassDlg();
    virtual void dispose() SAL_OVERRIDE;

    virtual short Execute() SAL_OVERRIDE;

@@ -71,12 +72,12 @@ private:
    void DeleteSheets();

private:
    OKButton*       mpBtnOk;
    FixedText*      mpTextDocStatus;
    PushButton*     mpBtnRetypeDoc;
    VclVBox*        mpSheetsBox;
    VclPtr<OKButton>       mpBtnOk;
    VclPtr<FixedText>      mpTextDocStatus;
    VclPtr<PushButton>     mpBtnRetypeDoc;
    VclPtr<VclVBox>        mpSheetsBox;

    std::vector<VclHBox*> maSheets;
    std::vector<VclPtr<VclHBox>> maSheets;

    OUString        maTextNotProtected;
    OUString        maTextNotPassProtected;
@@ -104,6 +105,7 @@ class ScRetypePassInputDlg : public ModalDialog
public:
    explicit ScRetypePassInputDlg(vcl::Window* pParent, ScPassHashProtectable* pProtected);
    virtual ~ScRetypePassInputDlg();
    virtual void dispose() SAL_OVERRIDE;

    virtual short Execute() SAL_OVERRIDE;

@@ -117,17 +119,17 @@ private:
    void CheckPasswordInput();

private:
    OKButton*       m_pBtnOk;
    VclPtr<OKButton>       m_pBtnOk;

    RadioButton*    m_pBtnRetypePassword;
    VclPtr<RadioButton>    m_pBtnRetypePassword;

    VclContainer*   m_pPasswordGrid;
    Edit*           m_pPassword1Edit;
    Edit*           m_pPassword2Edit;
    VclPtr<VclContainer>   m_pPasswordGrid;
    VclPtr<Edit>           m_pPassword1Edit;
    VclPtr<Edit>           m_pPassword2Edit;

    CheckBox*       m_pBtnMatchOldPass;
    VclPtr<CheckBox>       m_pBtnMatchOldPass;

    RadioButton*    m_pBtnRemovePassword;
    VclPtr<RadioButton>    m_pBtnRemovePassword;

    DECL_LINK( OKHdl, void* );
    DECL_LINK( RadioBtnHdl, RadioButton* );
diff --git a/sc/source/ui/inc/scendlg.hxx b/sc/source/ui/inc/scendlg.hxx
index 2675f3b..96bc48d 100644
--- a/sc/source/ui/inc/scendlg.hxx
+++ b/sc/source/ui/inc/scendlg.hxx
@@ -31,7 +31,8 @@ class ScNewScenarioDlg : public ModalDialog
{
public:
    ScNewScenarioDlg(vcl::Window* pParent, const OUString& rName, bool bEdit = false, bool bSheetProtected = false);

    virtual ~ScNewScenarioDlg();
    virtual void dispose() SAL_OVERRIDE;
    void SetScenarioData( const OUString& rName, const OUString& rComment,
                          const Color& rColor, sal_uInt16 nFlags );

@@ -39,14 +40,14 @@ public:
                          Color& rColor, sal_uInt16& rFlags ) const;

private:
    Edit*               m_pEdName;
    VclMultiLineEdit*   m_pEdComment;
    CheckBox*           m_pCbShowFrame;
    ColorListBox*       m_pLbColor;
    CheckBox*           m_pCbTwoWay;
    CheckBox*           m_pCbCopyAll;
    CheckBox*           m_pCbProtect;
    OKButton*           m_pBtnOk;
    VclPtr<Edit>               m_pEdName;
    VclPtr<VclMultiLineEdit>   m_pEdComment;
    VclPtr<CheckBox>           m_pCbShowFrame;
    VclPtr<ColorListBox>       m_pLbColor;
    VclPtr<CheckBox>           m_pCbTwoWay;
    VclPtr<CheckBox>           m_pCbCopyAll;
    VclPtr<CheckBox>           m_pCbProtect;
    VclPtr<OKButton>           m_pBtnOk;
    const OUString      aDefScenarioName;
    bool                bIsEdit;

diff --git a/sc/source/ui/inc/scuiasciiopt.hxx b/sc/source/ui/inc/scuiasciiopt.hxx
index ed01e23b..c05237a 100644
--- a/sc/source/ui/inc/scuiasciiopt.hxx
+++ b/sc/source/ui/inc/scuiasciiopt.hxx
@@ -32,38 +32,38 @@ class ScImportAsciiDlg : public ModalDialog

    OUString               maPreviewLine[ CSV_PREVIEW_LINES ];

    FixedText*                  pFtCharSet;
    VclPtr<FixedText>                  pFtCharSet;

    SvxTextEncodingBox*         pLbCharSet;
    VclPtr<SvxTextEncodingBox>         pLbCharSet;

    FixedText*                  pFtCustomLang;
    VclPtr<FixedText>                  pFtCustomLang;

    SvxLanguageBox*             pLbCustomLang;
    VclPtr<SvxLanguageBox>             pLbCustomLang;

    FixedText*                  pFtRow;
    NumericField*               pNfRow;
    VclPtr<FixedText>                  pFtRow;
    VclPtr<NumericField>               pNfRow;

    RadioButton*                pRbFixed;
    RadioButton*                pRbSeparated;
    VclPtr<RadioButton>                pRbFixed;
    VclPtr<RadioButton>                pRbSeparated;

    CheckBox*                   pCkbTab;
    CheckBox*                   pCkbSemicolon;
    CheckBox*                   pCkbComma;
    CheckBox*                   pCkbSpace;
    CheckBox*                   pCkbOther;
    Edit*                       pEdOther;
    CheckBox*                   pCkbAsOnce;
    VclPtr<CheckBox>                   pCkbTab;
    VclPtr<CheckBox>                   pCkbSemicolon;
    VclPtr<CheckBox>                   pCkbComma;
    VclPtr<CheckBox>                   pCkbSpace;
    VclPtr<CheckBox>                   pCkbOther;
    VclPtr<Edit>                       pEdOther;
    VclPtr<CheckBox>                   pCkbAsOnce;

    FixedText*                  pFtTextSep;
    ComboBox*                   pCbTextSep;
    VclPtr<FixedText>                  pFtTextSep;
    VclPtr<ComboBox>                   pCbTextSep;

    CheckBox*                   pCkbQuotedAsText;
    CheckBox*                   pCkbDetectNumber;
    VclPtr<CheckBox>                   pCkbQuotedAsText;
    VclPtr<CheckBox>                   pCkbDetectNumber;

    FixedText*                  pFtType;
    ListBox*                    pLbType;
    VclPtr<FixedText>                  pFtType;
    VclPtr<ListBox>                    pLbType;

    ScCsvTableBox*               mpTableBox;
    VclPtr<ScCsvTableBox>              mpTableBox;

    OUString                    aCharSetUser;
    OUString                    aColumnUser;
diff --git a/sc/source/ui/inc/scuiautofmt.hxx b/sc/source/ui/inc/scuiautofmt.hxx
index b0460bb..10bfe1f 100644
--- a/sc/source/ui/inc/scuiautofmt.hxx
+++ b/sc/source/ui/inc/scuiautofmt.hxx
@@ -27,24 +27,26 @@ public:
                    ScAutoFormat* pAutoFormat,
                    const ScAutoFormatData* pSelFormatData,
                    ScViewData *pViewData);
    virtual ~ScAutoFormatDlg();
    virtual void dispose() SAL_OVERRIDE;

    sal_uInt16 GetIndex() const { return nIndex; }
    OUString GetCurrFormatName();

private:
    ListBox*        m_pLbFormat;
    ScAutoFmtPreview* m_pWndPreview;
    OKButton*       m_pBtnOk;
    CancelButton*   m_pBtnCancel;
    PushButton*     m_pBtnAdd;
    PushButton*     m_pBtnRemove;
    PushButton*     m_pBtnRename;
    CheckBox*       m_pBtnNumFormat;
    CheckBox*       m_pBtnBorder;
    CheckBox*       m_pBtnFont;
    CheckBox*       m_pBtnPattern;
    CheckBox*       m_pBtnAlignment;
    CheckBox*       m_pBtnAdjust;
    VclPtr<ListBox>        m_pLbFormat;
    VclPtr<ScAutoFmtPreview> m_pWndPreview;
    VclPtr<OKButton>       m_pBtnOk;
    VclPtr<CancelButton>   m_pBtnCancel;
    VclPtr<PushButton>     m_pBtnAdd;
    VclPtr<PushButton>     m_pBtnRemove;
    VclPtr<PushButton>     m_pBtnRename;
    VclPtr<CheckBox>       m_pBtnNumFormat;
    VclPtr<CheckBox>       m_pBtnBorder;
    VclPtr<CheckBox>       m_pBtnFont;
    VclPtr<CheckBox>       m_pBtnPattern;
    VclPtr<CheckBox>       m_pBtnAlignment;
    VclPtr<CheckBox>       m_pBtnAdjust;
    OUString        aStrTitle;
    OUString        aStrLabel;
    OUString        aStrClose;
diff --git a/sc/source/ui/inc/scuiimoptdlg.hxx b/sc/source/ui/inc/scuiimoptdlg.hxx
index 95ca0cf..348d278 100644
--- a/sc/source/ui/inc/scuiimoptdlg.hxx
+++ b/sc/source/ui/inc/scuiimoptdlg.hxx
@@ -42,18 +42,18 @@ public:
    void GetImportOptions( ScImportOptions& rOptions ) const;

private:
    VclFrame*           m_pFieldFrame;
    FixedText*          m_pFtCharset;
    SvxTextEncodingBox* m_pLbCharset;
    FixedText*          m_pFtFieldSep;
    ComboBox*           m_pEdFieldSep;
    FixedText*          m_pFtTextSep;
    ComboBox*           m_pEdTextSep;
    CheckBox*           m_pCbShown;
    CheckBox*           m_pCbFormulas;
    CheckBox*           m_pCbQuoteAll;
    CheckBox*           m_pCbFixed;
    OKButton*           m_pBtnOk;
    VclPtr<VclFrame>           m_pFieldFrame;
    VclPtr<FixedText>          m_pFtCharset;
    VclPtr<SvxTextEncodingBox> m_pLbCharset;
    VclPtr<FixedText>          m_pFtFieldSep;
    VclPtr<ComboBox>           m_pEdFieldSep;
    VclPtr<FixedText>          m_pFtTextSep;
    VclPtr<ComboBox>           m_pEdTextSep;
    VclPtr<CheckBox>           m_pCbShown;
    VclPtr<CheckBox>           m_pCbFormulas;
    VclPtr<CheckBox>           m_pCbQuoteAll;
    VclPtr<CheckBox>           m_pCbFixed;
    VclPtr<OKButton>           m_pBtnOk;

    ScDelimiterTable*   pFieldSepTab;
    ScDelimiterTable*   pTextSepTab;
diff --git a/sc/source/ui/inc/scuitphfedit.hxx b/sc/source/ui/inc/scuitphfedit.hxx
index b2d133c..846ba51 100644
--- a/sc/source/ui/inc/scuitphfedit.hxx
+++ b/sc/source/ui/inc/scuitphfedit.hxx
@@ -57,29 +57,30 @@ protected:
                              sal_uInt16        nWhich,
                              bool              bHeader );
    virtual     ~ScHFEditPage();
    virtual void dispose() SAL_OVERRIDE;

private:
    ScEditWindow*    m_pWndLeft;
    ScEditWindow*    m_pWndCenter;
    ScEditWindow*    m_pWndRight;
    FixedText*       m_pFtDefinedHF;
    ListBox*         m_pLbDefined;
    FixedText*       m_pFtCustomHF;
    PushButton*      m_pBtnText;
    ScExtIButton*    m_pBtnFile;
    PushButton*      m_pBtnTable;
    PushButton*      m_pBtnPage;
    PushButton*      m_pBtnLastPage;
    PushButton*      m_pBtnDate;
    PushButton*      m_pBtnTime;
    VclPtr<ScEditWindow>    m_pWndLeft;
    VclPtr<ScEditWindow>    m_pWndCenter;
    VclPtr<ScEditWindow>    m_pWndRight;
    VclPtr<FixedText>       m_pFtDefinedHF;
    VclPtr<ListBox>         m_pLbDefined;
    VclPtr<FixedText>       m_pFtCustomHF;
    VclPtr<PushButton>      m_pBtnText;
    VclPtr<ScExtIButton>    m_pBtnFile;
    VclPtr<PushButton>      m_pBtnTable;
    VclPtr<PushButton>      m_pBtnPage;
    VclPtr<PushButton>      m_pBtnLastPage;
    VclPtr<PushButton>      m_pBtnDate;
    VclPtr<PushButton>      m_pBtnTime;

    FixedText*       m_pFtConfidential;
    FixedText*       m_pFtPage;
    FixedText*       m_pFtOfQuestion;
    FixedText*       m_pFtOf;
    FixedText*       m_pFtNone;
    FixedText*       m_pFtCreatedBy;
    FixedText*       m_pFtCustomized;
    VclPtr<FixedText>       m_pFtConfidential;
    VclPtr<FixedText>       m_pFtPage;
    VclPtr<FixedText>       m_pFtOfQuestion;
    VclPtr<FixedText>       m_pFtOf;
    VclPtr<FixedText>       m_pFtNone;
    VclPtr<FixedText>       m_pFtCreatedBy;
    VclPtr<FixedText>       m_pFtCustomized;

    sal_uInt16       nWhich;
    OUString         aCmdArr[6];
diff --git a/sc/source/ui/inc/searchresults.hxx b/sc/source/ui/inc/searchresults.hxx
index 5c69ab7..22af429 100644
--- a/sc/source/ui/inc/searchresults.hxx
+++ b/sc/source/ui/inc/searchresults.hxx
@@ -21,7 +21,7 @@ namespace sc {

class SearchResultsDlg : public ModelessDialog
{
    SvSimpleTable *mpList;
    VclPtr<SvSimpleTable> mpList;
    SfxBindings* mpBindings;
    ScDocument* mpDoc;

diff --git a/sc/source/ui/inc/sharedocdlg.hxx b/sc/source/ui/inc/sharedocdlg.hxx
index 8356d0e..41f5311 100644
--- a/sc/source/ui/inc/sharedocdlg.hxx
+++ b/sc/source/ui/inc/sharedocdlg.hxx
@@ -33,9 +33,9 @@ class ScDocShell;
class ScShareDocumentDlg : public ModalDialog
{
private:
    CheckBox*           m_pCbShare;
    FixedText*          m_pFtWarning;
    SvSimpleTable*      m_pLbUsers;
    VclPtr<CheckBox>           m_pCbShare;
    VclPtr<FixedText>          m_pFtWarning;
    VclPtr<SvSimpleTable>      m_pLbUsers;

    OUString            m_aStrNoUserData;
    OUString            m_aStrUnknownUser;
diff --git a/sc/source/ui/inc/shtabdlg.hxx b/sc/source/ui/inc/shtabdlg.hxx
index 6c55a64..d0109a2 100644
--- a/sc/source/ui/inc/shtabdlg.hxx
+++ b/sc/source/ui/inc/shtabdlg.hxx
@@ -28,13 +28,15 @@
class ScShowTabDlg : public ModalDialog
{
private:
    VclFrame* m_pFrame;
    ListBox* m_pLb;
    VclPtr<VclFrame> m_pFrame;
    VclPtr<ListBox> m_pLb;

    DECL_LINK( DblClkHdl, void * );

public:
    ScShowTabDlg( vcl::Window* pParent );
    virtual ~ScShowTabDlg();
    virtual void dispose() SAL_OVERRIDE;

    /** Sets dialog title, fixed text for listbox and help IDs. */
    void    SetDescription(
diff --git a/sc/source/ui/inc/simpref.hxx b/sc/source/ui/inc/simpref.hxx
index a78a9e1..9a4d66c 100644
--- a/sc/source/ui/inc/simpref.hxx
+++ b/sc/source/ui/inc/simpref.hxx
@@ -40,12 +40,12 @@ private:
    Link            aAbortedHdl;
    Link            aChangeHdl;

    FixedText* m_pFtAssign;
    formula::RefEdit* m_pEdAssign;
    formula::RefButton* m_pRbAssign;
    VclPtr<FixedText> m_pFtAssign;
    VclPtr<formula::RefEdit> m_pEdAssign;
    VclPtr<formula::RefButton> m_pRbAssign;

    OKButton*       m_pBtnOk;
    CancelButton*   m_pBtnCancel;
    VclPtr<OKButton>       m_pBtnOk;
    VclPtr<CancelButton>   m_pBtnCancel;

    ScRange         theCurArea;
    bool            bCloseFlag;
@@ -66,6 +66,7 @@ protected:
public:
                    ScSimpleRefDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pParent);
                    virtual ~ScSimpleRefDlg();
    virtual void    dispose() SAL_OVERRIDE;

    virtual void    SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;

diff --git a/sc/source/ui/inc/solveroptions.hxx b/sc/source/ui/inc/solveroptions.hxx
index 31607f4..28e557e 100644
--- a/sc/source/ui/inc/solveroptions.hxx
+++ b/sc/source/ui/inc/solveroptions.hxx
@@ -35,9 +35,9 @@ namespace com { namespace sun { namespace star {

class ScSolverOptionsDialog : public ModalDialog
{
    ListBox* m_pLbEngine;
    SvxCheckListBox* m_pLbSettings;
    PushButton* m_pBtnEdit;
    VclPtr<ListBox> m_pLbEngine;
    VclPtr<SvxCheckListBox> m_pLbSettings;
    VclPtr<PushButton> m_pBtnEdit;

    SvLBoxButtonData* mpCheckButtonData;
    com::sun::star::uno::Sequence<OUString> maImplNames;
@@ -70,11 +70,13 @@ public:

class ScSolverIntegerDialog : public ModalDialog
{
    VclFrame*     m_pFrame;
    NumericField* m_pNfValue;
    VclPtr<VclFrame>     m_pFrame;
    VclPtr<NumericField> m_pNfValue;

public:
    ScSolverIntegerDialog( vcl::Window * pParent );
    virtual ~ScSolverIntegerDialog();
    virtual void dispose() SAL_OVERRIDE;

    void        SetOptionName( const OUString& rName );
    void        SetValue( sal_Int32 nValue );
@@ -83,11 +85,13 @@ public:

class ScSolverValueDialog : public ModalDialog
{
    VclFrame*   m_pFrame;
    Edit*       m_pEdValue;
    VclPtr<VclFrame>   m_pFrame;
    VclPtr<Edit>       m_pEdValue;

public:
    ScSolverValueDialog( vcl::Window * pParent );
    virtual ~ScSolverValueDialog();
    virtual void dispose() SAL_OVERRIDE;

    void        SetOptionName( const OUString& rName );
    void        SetValue( double fValue );
diff --git a/sc/source/ui/inc/solvrdlg.hxx b/sc/source/ui/inc/solvrdlg.hxx
index 2799c58..253067a 100644
--- a/sc/source/ui/inc/solvrdlg.hxx
+++ b/sc/source/ui/inc/solvrdlg.hxx
@@ -42,6 +42,7 @@ public:
                                 ScDocument* pDocument,
                                 ScAddress aCursorPos );
                    virtual ~ScSolverDlg();
    virtual void    dispose() SAL_OVERRIDE;

    virtual void    SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;
    virtual bool    IsRefInputMode() const SAL_OVERRIDE;
@@ -49,18 +50,18 @@ public:
    virtual bool    Close() SAL_OVERRIDE;

private:
    FixedText*      m_pFtFormulaCell;
    formula::RefEdit*   m_pEdFormulaCell;
    formula::RefButton* m_pRBFormulaCell;
    VclPtr<FixedText>      m_pFtFormulaCell;
    VclPtr<formula::RefEdit>   m_pEdFormulaCell;
    VclPtr<formula::RefButton> m_pRBFormulaCell;

    Edit*           m_pEdTargetVal;
    VclPtr<Edit>           m_pEdTargetVal;

    FixedText*      m_pFtVariableCell;
    formula::RefEdit*   m_pEdVariableCell;
    formula::RefButton* m_pRBVariableCell;
    VclPtr<FixedText>      m_pFtVariableCell;
    VclPtr<formula::RefEdit>   m_pEdVariableCell;
    VclPtr<formula::RefButton> m_pRBVariableCell;

    OKButton*       m_pBtnOk;
    CancelButton*   m_pBtnCancel;
    VclPtr<OKButton>       m_pBtnOk;
    VclPtr<CancelButton>   m_pBtnCancel;

    ScAddress       theFormulaCell;
    ScAddress       theVariableCell;
@@ -68,7 +69,7 @@ private:

    ScDocument*     pDoc;
    const SCTAB     nCurTab;
    formula::RefEdit*       pEdActive;
    VclPtr<formula::RefEdit>       pEdActive;
    bool            bDlgLostFocus;
    const OUString  errMsgInvalidVar;
    const OUString  errMsgInvalidForm;
diff --git a/sc/source/ui/inc/sortdlg.hxx b/sc/source/ui/inc/sortdlg.hxx
index d627f02..c514aaf 100644
--- a/sc/source/ui/inc/sortdlg.hxx
+++ b/sc/source/ui/inc/sortdlg.hxx
@@ -45,11 +45,13 @@ class ScSortWarningDlg : public ModalDialog
{
public:
    ScSortWarningDlg( vcl::Window* pParent, const OUString& rExtendText,const OUString& rCurrentText );
    virtual ~ScSortWarningDlg();
    virtual void dispose() SAL_OVERRIDE;
    DECL_LINK( BtnHdl, PushButton* );
private:
    FixedText*       aFtText;
    PushButton*      aBtnExtSort;
    PushButton*      aBtnCurSort;
    VclPtr<FixedText>       aFtText;
    VclPtr<PushButton>      aBtnExtSort;
    VclPtr<PushButton>      aBtnCurSort;
};

#endif // INCLUDED_SC_SOURCE_UI_INC_SORTDLG_HXX
diff --git a/sc/source/ui/inc/sortkeydlg.hxx b/sc/source/ui/inc/sortkeydlg.hxx
index 5c9c1fa..a0a027c 100644
--- a/sc/source/ui/inc/sortkeydlg.hxx
+++ b/sc/source/ui/inc/sortkeydlg.hxx
@@ -25,11 +25,11 @@

struct ScSortKeyItem : public VclBuilderContainer
{
    VclFrame*       m_pFrame;
    FixedText*      m_pFlSort;
    ListBox*        m_pLbSort;
    RadioButton*    m_pBtnUp;
    RadioButton*    m_pBtnDown;
    VclPtr<VclFrame>       m_pFrame;
    VclPtr<FixedText>      m_pFlSort;
    VclPtr<ListBox>        m_pLbSort;
    VclPtr<RadioButton>    m_pBtnUp;
    VclPtr<RadioButton>    m_pBtnDown;

    ScSortKeyItem(vcl::Window* pParent);

@@ -44,7 +44,7 @@ typedef boost::ptr_vector<ScSortKeyItem> ScSortKeyItems;
class ScSortKeyWindow
{
private:
    VclBox*         m_pBox;
    VclPtr<VclBox>         m_pBox;
    sal_Int32       nItemHeight;

    ScSortKeyItems& mrSortKeyItems;
diff --git a/sc/source/ui/inc/strindlg.hxx b/sc/source/ui/inc/strindlg.hxx
index 367d32d..18638692 100644
--- a/sc/source/ui/inc/strindlg.hxx
+++ b/sc/source/ui/inc/strindlg.hxx
@@ -32,15 +32,16 @@ public:
        const OUString& rEditTitle,
        const OUString& rDefault,
        const OString& sHelpId, const OString& sEditHelpId);

    virtual ~ScStringInputDlg();
    virtual void dispose() SAL_OVERRIDE;
    OUString GetInputString() const
    {
        return m_pEdInput->GetText();
    }

private:
    FixedText* m_pFtEditTitle;
    Edit*      m_pEdInput;
    VclPtr<FixedText> m_pFtEditTitle;
    VclPtr<Edit>      m_pEdInput;
};

#endif // INCLUDED_SC_SOURCE_UI_INC_STRINDLG_HXX
diff --git a/sc/source/ui/inc/subtdlg.hxx b/sc/source/ui/inc/subtdlg.hxx
index 6496689..749e9d9 100644
--- a/sc/source/ui/inc/subtdlg.hxx
+++ b/sc/source/ui/inc/subtdlg.hxx
@@ -28,8 +28,10 @@ class ScSubTotalDlg : public SfxTabDialog
{
public:
    ScSubTotalDlg(vcl::Window* pParent, const SfxItemSet* pArgSet);
    virtual ~ScSubTotalDlg();
    virtual void dispose() SAL_OVERRIDE;
private:
    PushButton* m_pBtnRemove;
    VclPtr<PushButton> m_pBtnRemove;
    DECL_LINK( RemoveHdl, PushButton * );
};

diff --git a/sc/source/ui/inc/tabbgcolordlg.hxx b/sc/source/ui/inc/tabbgcolordlg.hxx
index 40dcca1..122f112 100644
--- a/sc/source/ui/inc/tabbgcolordlg.hxx
+++ b/sc/source/ui/inc/tabbgcolordlg.hxx
@@ -33,6 +33,8 @@ public:
                     const OUString& rTabBgColorNoColorText,
                     const Color& rDefaultColor,
                     const OString& nHelpId );
    virtual ~ScTabBgColorDlg();
    virtual void dispose() SAL_OVERRIDE;

    void GetSelectedColor( Color& rColor ) const;

@@ -40,6 +42,9 @@ public:
    {
    public:
        ScTabBgColorValueSet(vcl::Window* pParent, WinBits nStyle);
        virtual ~ScTabBgColorValueSet();
        virtual void dispose() SAL_OVERRIDE;

        void SetDialog(ScTabBgColorDlg* pTabBgColorDlg)
        {
            m_pTabBgColorDlg = pTabBgColorDlg;
@@ -47,12 +52,12 @@ public:

        virtual void KeyInput( const KeyEvent& rKEvt ) SAL_OVERRIDE;
    private:
        ScTabBgColorDlg* m_pTabBgColorDlg;
        VclPtr<ScTabBgColorDlg> m_pTabBgColorDlg;
    };

private:
    ScTabBgColorValueSet*   m_pTabBgColorSet;
    OKButton*               m_pBtnOk;
    VclPtr<ScTabBgColorValueSet>   m_pTabBgColorSet;
    VclPtr<OKButton>               m_pBtnOk;
    Color                   m_aTabBgColor;
    const OUString          m_aTabBgColorNoColorText;

diff --git a/sc/source/ui/inc/tabopdlg.hxx b/sc/source/ui/inc/tabopdlg.hxx
index a1806c1..33c247f 100644
--- a/sc/source/ui/inc/tabopdlg.hxx
+++ b/sc/source/ui/inc/tabopdlg.hxx
@@ -44,6 +44,7 @@ public:
                                ScDocument*     pDocument,
                                const ScRefAddress& rCursorPos );
                    virtual ~ScTabOpDlg();
    virtual void    dispose() SAL_OVERRIDE;

    virtual void    SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;
    virtual bool    IsRefInputMode() const SAL_OVERRIDE { return true; }
@@ -52,20 +53,20 @@ public:
    virtual bool    Close() SAL_OVERRIDE;

private:
    FixedText* m_pFtFormulaRange;
    formula::RefEdit* m_pEdFormulaRange;
    formula::RefButton* m_pRBFormulaRange;
    VclPtr<FixedText> m_pFtFormulaRange;
    VclPtr<formula::RefEdit> m_pEdFormulaRange;
    VclPtr<formula::RefButton> m_pRBFormulaRange;

    FixedText* m_pFtRowCell;
    formula::RefEdit* m_pEdRowCell;
    formula::RefButton* m_pRBRowCell;
    VclPtr<FixedText> m_pFtRowCell;
    VclPtr<formula::RefEdit> m_pEdRowCell;
    VclPtr<formula::RefButton> m_pRBRowCell;

    FixedText* m_pFtColCell;
    formula::RefEdit* m_pEdColCell;
    formula::RefButton* m_pRBColCell;
    VclPtr<FixedText> m_pFtColCell;
    VclPtr<formula::RefEdit> m_pEdColCell;
    VclPtr<formula::RefButton> m_pRBColCell;

    OKButton*       m_pBtnOk;
    CancelButton*   m_pBtnCancel;
    VclPtr<OKButton>       m_pBtnOk;
    VclPtr<CancelButton>   m_pBtnCancel;

    ScRefAddress    theFormulaCell;
    ScRefAddress    theFormulaEnd;
@@ -74,7 +75,7 @@ private:

    ScDocument*         pDoc;
    const SCTAB         nCurTab;
    formula::RefEdit*   pEdActive;
    VclPtr<formula::RefEdit>   pEdActive;
    bool                bDlgLostFocus;
    const OUString      errMsgNoFormula;
    const OUString      errMsgNoColRow;
diff --git a/sc/source/ui/inc/tabpages.hxx b/sc/source/ui/inc/tabpages.hxx
index 95423203..f31f93a 100644
--- a/sc/source/ui/inc/tabpages.hxx
+++ b/sc/source/ui/inc/tabpages.hxx
@@ -34,6 +34,9 @@ public:
    virtual bool        FillItemSet     ( SfxItemSet* rCoreAttrs ) SAL_OVERRIDE;
    virtual void        Reset           ( const SfxItemSet* ) SAL_OVERRIDE;

    virtual ~ScTabPageProtection();
    virtual void dispose() SAL_OVERRIDE;

protected:
    using SfxTabPage::DeactivatePage;
    virtual int         DeactivatePage  ( SfxItemSet* pSet = NULL ) SAL_OVERRIDE;
@@ -42,10 +45,10 @@ private:
                ScTabPageProtection( vcl::Window*            pParent,
                                     const SfxItemSet&  rCoreAttrs );
private:
    TriStateBox*    m_pBtnHideCell;
    TriStateBox*    m_pBtnProtect;
    TriStateBox*    m_pBtnHideFormula;
    TriStateBox*    m_pBtnHidePrint;
    VclPtr<TriStateBox>    m_pBtnHideCell;
    VclPtr<TriStateBox>    m_pBtnProtect;
    VclPtr<TriStateBox>    m_pBtnHideFormula;
    VclPtr<TriStateBox>    m_pBtnHidePrint;
                                        // current status:
    bool            bTriEnabled;        //  if before - DontCare
    bool            bDontCare;          //  all in  TriState
diff --git a/sc/source/ui/inc/tabview.hxx b/sc/source/ui/inc/tabview.hxx
index 4de0a1f..37aed55 100644
--- a/sc/source/ui/inc/tabview.hxx
+++ b/sc/source/ui/inc/tabview.hxx
@@ -87,7 +87,7 @@ class ScTabView : boost::noncopyable
private:
    enum BlockMode { None = 0, Normal = 1, Own = 2 };

    vcl::Window*             pFrameWin;              // First !!!
    VclPtr<vcl::Window>             pFrameWin;              // First !!!
    ScViewData          aViewData;              // must be at the front !

    ScViewSelectionEngine*  pSelEngine;
@@ -109,9 +109,9 @@ private:
    ScRowBar*           pRowBar[2];
    ScOutlineWindow*    pColOutline[2];
    ScOutlineWindow*    pRowOutline[2];
    ScTabSplitter*      pHSplitter;
    ScTabSplitter*      pVSplitter;
    ScTabControl*       pTabControl;
    VclPtr<ScTabSplitter>       pHSplitter;
    VclPtr<ScTabSplitter>       pVSplitter;
    VclPtr<ScTabControl>        pTabControl;
    VclPtr<ScrollBar>           aVScrollTop;
    VclPtr<ScrollBar>           aVScrollBottom;         // initially visible
    VclPtr<ScrollBar>           aHScrollLeft;           // initially visible
@@ -129,7 +129,7 @@ private:
    SfxItemSet*         pDrawBrushSet;          // drawing object attributes for paint brush

    Timer               aScrollTimer;
    ScGridWindow*       pTimerWindow;
    VclPtr<ScGridWindow>       pTimerWindow;
    MouseEvent          aTimerMEvt;

    sal_uLong               nTipVisible;
diff --git a/sc/source/ui/inc/textimportoptions.hxx b/sc/source/ui/inc/textimportoptions.hxx
index b944ce1..d7c8a5d 100644
--- a/sc/source/ui/inc/textimportoptions.hxx
+++ b/sc/source/ui/inc/textimportoptions.hxx
@@ -31,7 +31,7 @@ class ScTextImportOptionsDlg : public ModalDialog
public:
    ScTextImportOptionsDlg(vcl::Window* pParent);
    virtual ~ScTextImportOptionsDlg();

    virtual void dispose() SAL_OVERRIDE;
    virtual short Execute() SAL_OVERRIDE;

    LanguageType getLanguageType() const;
@@ -41,14 +41,14 @@ private:
    void init();

private:
    OKButton*       m_pBtnOk;
    VclPtr<OKButton>       m_pBtnOk;

    RadioButton*    m_pRbAutomatic;
    RadioButton*    m_pRbCustom;
    VclPtr<RadioButton>    m_pRbAutomatic;
    VclPtr<RadioButton>    m_pRbCustom;

    SvxLanguageBox* m_pLbCustomLang;
    VclPtr<SvxLanguageBox> m_pLbCustomLang;

    CheckBox*       m_pBtnConvertDate;
    VclPtr<CheckBox>       m_pBtnConvertDate;

    DECL_LINK(OKHdl, void *);

diff --git a/sc/source/ui/inc/tpcalc.hxx b/sc/source/ui/inc/tpcalc.hxx
index 9727b1c..0de929a8 100644
--- a/sc/source/ui/inc/tpcalc.hxx
+++ b/sc/source/ui/inc/tpcalc.hxx
@@ -46,25 +46,25 @@ private:
    virtual void dispose() SAL_OVERRIDE;

private:
    CheckBox*       m_pBtnIterate;
    FixedText*      m_pFtSteps;
    NumericField*   m_pEdSteps;
    FixedText*      m_pFtEps;
    ScDoubleField*  m_pEdEps;
    VclPtr<CheckBox>       m_pBtnIterate;
    VclPtr<FixedText>      m_pFtSteps;
    VclPtr<NumericField>   m_pEdSteps;
    VclPtr<FixedText>      m_pFtEps;
    VclPtr<ScDoubleField>  m_pEdEps;

    RadioButton*    m_pBtnDateStd;
    RadioButton*    m_pBtnDateSc10;
    RadioButton*    m_pBtnDate1904;
    VclPtr<RadioButton>    m_pBtnDateStd;
    VclPtr<RadioButton>    m_pBtnDateSc10;
    VclPtr<RadioButton>    m_pBtnDate1904;

    CheckBox*       m_pBtnCase;
    CheckBox*       m_pBtnCalc;
    CheckBox*       m_pBtnMatch;
    CheckBox*       m_pBtnRegex;
    CheckBox*       m_pBtnLookUp;
    CheckBox*       m_pBtnGeneralPrec;
    VclPtr<CheckBox>       m_pBtnCase;
    VclPtr<CheckBox>       m_pBtnCalc;
    VclPtr<CheckBox>       m_pBtnMatch;
    VclPtr<CheckBox>       m_pBtnRegex;
    VclPtr<CheckBox>       m_pBtnLookUp;
    VclPtr<CheckBox>       m_pBtnGeneralPrec;

    FixedText*      m_pFtPrec;
    NumericField*   m_pEdPrec;
    VclPtr<FixedText>      m_pFtPrec;
    VclPtr<NumericField>   m_pEdPrec;

    ScDocOptions*   pOldOptions;
    ScDocOptions*   pLocalOptions;
diff --git a/sc/source/ui/inc/tpcompatibility.hxx b/sc/source/ui/inc/tpcompatibility.hxx
index 6ddeeec..f0050aa 100644
--- a/sc/source/ui/inc/tpcompatibility.hxx
+++ b/sc/source/ui/inc/tpcompatibility.hxx
@@ -25,12 +25,12 @@ public:
    virtual void Reset(const SfxItemSet* rCoreAttrs) SAL_OVERRIDE;
    virtual int DeactivatePage(SfxItemSet* pSet = NULL) SAL_OVERRIDE;

    virtual ~ScTpCompatOptions();
    virtual void dispose() SAL_OVERRIDE;
private:
    explicit ScTpCompatOptions(vcl::Window* pParent, const SfxItemSet& rCoreAttrs);
    virtual ~ScTpCompatOptions();

private:
    ListBox*   m_pLbKeyBindings;
    VclPtr<ListBox>   m_pLbKeyBindings;
};

#endif
diff --git a/sc/source/ui/inc/tpdefaults.hxx b/sc/source/ui/inc/tpdefaults.hxx
index 251c367..2651711 100644
--- a/sc/source/ui/inc/tpdefaults.hxx
+++ b/sc/source/ui/inc/tpdefaults.hxx
@@ -28,6 +28,7 @@ public:
private:
    explicit ScTpDefaultsOptions(vcl::Window* pParent, const SfxItemSet& rCoreSet);
    virtual ~ScTpDefaultsOptions();
    virtual void dispose() SAL_OVERRIDE;

    void CheckNumSheets();
    void CheckPrefix(Edit* pEdit);
@@ -38,8 +39,8 @@ private:
    DECL_LINK( PrefixEditOnFocusHdl, Edit* );

private:
    NumericField* m_pEdNSheets;
    Edit*         m_pEdSheetPrefix;
    VclPtr<NumericField> m_pEdNSheets;
    VclPtr<Edit>         m_pEdSheetPrefix;

    // Stores old Sheet Prefix
    OUString maOldPrefixValue;
diff --git a/sc/source/ui/inc/tpformula.hxx b/sc/source/ui/inc/tpformula.hxx
index adf1c64..489c0af 100644
--- a/sc/source/ui/inc/tpformula.hxx
+++ b/sc/source/ui/inc/tpformula.hxx
@@ -42,7 +42,7 @@ public:
private:
    explicit ScTpFormulaOptions(vcl::Window* pParent, const SfxItemSet& rCoreSet);
    virtual ~ScTpFormulaOptions();

    virtual void dispose() SAL_OVERRIDE;
    void ResetSeparators();
    void OnFocusSeparatorInput(Edit* pEdit);
    void UpdateCustomCalcRadioButtons(bool bDefault);
@@ -56,20 +56,20 @@ private:
    DECL_LINK( SepEditOnFocusHdl, Edit* );

private:
    ListBox*     mpLbFormulaSyntax;
    CheckBox*    mpCbEnglishFuncName;
    VclPtr<ListBox>     mpLbFormulaSyntax;
    VclPtr<CheckBox>    mpCbEnglishFuncName;

    RadioButton* mpBtnCustomCalcDefault;
    RadioButton* mpBtnCustomCalcCustom;
    PushButton*  mpBtnCustomCalcDetails;
    VclPtr<RadioButton> mpBtnCustomCalcDefault;
    VclPtr<RadioButton> mpBtnCustomCalcCustom;
    VclPtr<PushButton>  mpBtnCustomCalcDetails;

    Edit*        mpEdSepFuncArg;
    Edit*        mpEdSepArrayCol;
    Edit*        mpEdSepArrayRow;
    PushButton*  mpBtnSepReset;
    VclPtr<Edit>        mpEdSepFuncArg;
    VclPtr<Edit>        mpEdSepArrayCol;
    VclPtr<Edit>        mpEdSepArrayRow;
    VclPtr<PushButton>  mpBtnSepReset;

    ListBox*     mpLbOOXMLRecalcOptions;
    ListBox*     mpLbODFRecalcOptions;
    VclPtr<ListBox>     mpLbOOXMLRecalcOptions;
    VclPtr<ListBox>     mpLbODFRecalcOptions;

    /** Stores old separator value of currently focused separator edit box.
        This value is used to revert undesired value change. */
diff --git a/sc/source/ui/inc/tphf.hxx b/sc/source/ui/inc/tphf.hxx
index 526aad0..2ffb018 100644
--- a/sc/source/ui/inc/tphf.hxx
+++ b/sc/source/ui/inc/tphf.hxx
@@ -28,12 +28,13 @@ class ScHFPage : public SvxHFPage
{
public:
    virtual         ~ScHFPage();
    virtual void    dispose() SAL_OVERRIDE;

    virtual void    Reset( const SfxItemSet* rSet ) SAL_OVERRIDE;
    virtual bool    FillItemSet( SfxItemSet* rOutSet ) SAL_OVERRIDE;

    void            SetPageStyle( const OUString& rName )    { aStrPageStyle = rName; }
    void            SetStyleDlg ( const ScStyleDlg* pDlg ) { pStyleDlg = pDlg; }
    void            SetStyleDlg ( ScStyleDlg* pDlg ) { pStyleDlg = pDlg; }

protected:
                    ScHFPage( vcl::Window* pParent,
@@ -46,11 +47,11 @@ protected:
    virtual int     DeactivatePage( SfxItemSet* pSet = 0 ) SAL_OVERRIDE;

private:
    PushButton*         m_pBtnEdit;
    SfxItemSet          aDataSet;
    OUString            aStrPageStyle;
    sal_uInt16          nPageUsage;
    const ScStyleDlg*   pStyleDlg;
    VclPtr<PushButton>   m_pBtnEdit;
    SfxItemSet           aDataSet;
    OUString             aStrPageStyle;
    sal_uInt16           nPageUsage;
    VclPtr<ScStyleDlg>   pStyleDlg;

    DECL_LINK(BtnHdl, void *);
    DECL_LINK( HFEditHdl, void* );
diff --git a/sc/source/ui/inc/tpprint.hxx b/sc/source/ui/inc/tpprint.hxx
index cc987a9..8959438 100644
--- a/sc/source/ui/inc/tpprint.hxx
+++ b/sc/source/ui/inc/tpprint.hxx
@@ -25,14 +25,14 @@

class ScTpPrintOptions : public SfxTabPage
{
    CheckBox*       m_pSkipEmptyPagesCB;
    CheckBox*       m_pSelectedSheetsCB;
    CheckBox*       m_pForceBreaksCB;
    VclPtr<CheckBox>       m_pSkipEmptyPagesCB;
    VclPtr<CheckBox>       m_pSelectedSheetsCB;
    VclPtr<CheckBox>       m_pForceBreaksCB;

            ScTpPrintOptions( vcl::Window* pParent, const SfxItemSet& rCoreSet );
            virtual ~ScTpPrintOptions();

public:
    virtual ~ScTpPrintOptions();
    virtual void dispose() SAL_OVERRIDE;
    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rCoreSet );
    virtual bool        FillItemSet( SfxItemSet* rCoreSet ) SAL_OVERRIDE;
    virtual void        Reset( const SfxItemSet* rCoreSet ) SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/tpsort.hxx b/sc/source/ui/inc/tpsort.hxx
index 6994439..9dc03c5 100644
--- a/sc/source/ui/inc/tpsort.hxx
+++ b/sc/source/ui/inc/tpsort.hxx
@@ -50,7 +50,7 @@ public:
    ScTabPageSortFields( vcl::Window*             pParent,
            const SfxItemSet&   rArgSet );
    virtual ~ScTabPageSortFields();

    virtual void        dispose() SAL_OVERRIDE;
    static  SfxTabPage* Create      ( vcl::Window*               pParent,
                                      const SfxItemSet*     rArgSet );
    virtual bool        FillItemSet ( SfxItemSet* rArgSet ) SAL_OVERRIDE;
@@ -72,7 +72,7 @@ private:
    OUString            aStrRow;

    const sal_uInt16    nWhichSort;
    ScSortDlg*          pDlg;
    VclPtr<ScSortDlg>          pDlg;
    ScViewData*         pViewData;
    ScSortParam         aSortData;
    std::vector<SCCOLROW>  nFieldArr;
@@ -126,24 +126,24 @@ protected:

private:

    CheckBox*           m_pBtnCase;
    CheckBox*           m_pBtnHeader;
    CheckBox*           m_pBtnFormats;
    CheckBox*           m_pBtnNaturalSort;
    VclPtr<CheckBox>           m_pBtnCase;
    VclPtr<CheckBox>           m_pBtnHeader;
    VclPtr<CheckBox>           m_pBtnFormats;
    VclPtr<CheckBox>           m_pBtnNaturalSort;

    CheckBox*           m_pBtnCopyResult;
    ListBox*            m_pLbOutPos;
    Edit*               m_pEdOutPos;
    VclPtr<CheckBox>           m_pBtnCopyResult;
    VclPtr<ListBox>            m_pLbOutPos;
    VclPtr<Edit>               m_pEdOutPos;

    CheckBox*           m_pBtnSortUser;
    ListBox*            m_pLbSortUser;
    VclPtr<CheckBox>           m_pBtnSortUser;
    VclPtr<ListBox>            m_pLbSortUser;

    SvxLanguageBox*     m_pLbLanguage;
    FixedText*          m_pFtAlgorithm;
    ListBox*            m_pLbAlgorithm;
    VclPtr<SvxLanguageBox>     m_pLbLanguage;
    VclPtr<FixedText>          m_pFtAlgorithm;
    VclPtr<ListBox>            m_pLbAlgorithm;

    RadioButton*        m_pBtnTopDown;
    RadioButton*        m_pBtnLeftRight;
    VclPtr<RadioButton>        m_pBtnTopDown;
    VclPtr<RadioButton>        m_pBtnLeftRight;

    OUString            aStrRowLabel;
    OUString            aStrColLabel;
@@ -154,7 +154,7 @@ private:
    ScSortParam         aSortData;
    ScViewData*         pViewData;
    ScDocument*         pDoc;
    ScSortDlg*          pDlg;
    VclPtr<ScSortDlg>          pDlg;
    ScAddress           theOutPos;

    CollatorResource*  pColRes;
diff --git a/sc/source/ui/inc/tpstat.hxx b/sc/source/ui/inc/tpstat.hxx
index 96f141f..70bd439 100644
--- a/sc/source/ui/inc/tpstat.hxx
+++ b/sc/source/ui/inc/tpstat.hxx
@@ -28,19 +28,19 @@ class ScDocStatPage: public SfxTabPage
{
public:
    static SfxTabPage* Create( vcl::Window* pParent, const SfxItemSet* rSet );
    virtual         ~ScDocStatPage();
    virtual void    dispose() SAL_OVERRIDE;

private:
            ScDocStatPage( vcl::Window *pParent, const SfxItemSet& rSet );
            virtual ~ScDocStatPage();

protected:
    virtual bool    FillItemSet( SfxItemSet* rSet ) SAL_OVERRIDE;
    virtual void    Reset      ( const SfxItemSet* rSet ) SAL_OVERRIDE;

private:
    FixedText*       m_pFtTables;
    FixedText*       m_pFtCells;
    FixedText*       m_pFtPages;
    VclPtr<FixedText>       m_pFtTables;
    VclPtr<FixedText>       m_pFtCells;
    VclPtr<FixedText>       m_pFtPages;
};

#endif
diff --git a/sc/source/ui/inc/tpsubt.hxx b/sc/source/ui/inc/tpsubt.hxx
index daf0f53..df47101 100644
--- a/sc/source/ui/inc/tpsubt.hxx
+++ b/sc/source/ui/inc/tpsubt.hxx
@@ -48,9 +48,9 @@ public:
    bool            DoFillItemSet   ( sal_uInt16        nGroupNo,
                                      SfxItemSet&   rArgSet  );
protected:
    ListBox*        mpLbGroup;
    SvxCheckListBox* mpLbColumns;
    ListBox*         mpLbFunctions;
    VclPtr<ListBox>        mpLbGroup;
    VclPtr<SvxCheckListBox> mpLbColumns;
    VclPtr<ListBox>         mpLbFunctions;
    const OUString    aStrNone;
    const OUString    aStrColumn;

@@ -127,22 +127,22 @@ protected:

public:
    virtual ~ScTpSubTotalOptions();

    virtual void        dispose() SAL_OVERRIDE;
    static SfxTabPage*  Create      ( vcl::Window*               pParent,
                                      const SfxItemSet*     rArgSet );
    virtual bool        FillItemSet ( SfxItemSet* rArgSet ) SAL_OVERRIDE;
    virtual void        Reset       ( const SfxItemSet* rArgSet ) SAL_OVERRIDE;

private:
    CheckBox*    pBtnPagebreak;
    CheckBox*    pBtnCase;
    CheckBox*    pBtnSort;
    FixedText*   pFlSort;
    RadioButton* pBtnAscending;
    RadioButton* pBtnDescending;
    CheckBox*    pBtnFormats;
    CheckBox*    pBtnUserDef;
    ListBox*     pLbUserDef;
    VclPtr<CheckBox>    pBtnPagebreak;
    VclPtr<CheckBox>    pBtnCase;
    VclPtr<CheckBox>    pBtnSort;
    VclPtr<FixedText>   pFlSort;
    VclPtr<RadioButton> pBtnAscending;
    VclPtr<RadioButton> pBtnDescending;
    VclPtr<CheckBox>    pBtnFormats;
    VclPtr<CheckBox>    pBtnUserDef;
    VclPtr<ListBox>     pLbUserDef;

    ScViewData*             pViewData;
    ScDocument*             pDoc;
diff --git a/sc/source/ui/inc/tptable.hxx b/sc/source/ui/inc/tptable.hxx
index 8c9aada..26701d6 100644
--- a/sc/source/ui/inc/tptable.hxx
+++ b/sc/source/ui/inc/tptable.hxx
@@ -38,42 +38,42 @@ public:
    virtual int         DeactivatePage  ( SfxItemSet* pSet = NULL ) SAL_OVERRIDE;
    virtual void        DataChanged     ( const DataChangedEvent& rDCEvt ) SAL_OVERRIDE;

    virtual         ~ScTablePage();
    virtual void    dispose() SAL_OVERRIDE;
private:
                    ScTablePage( vcl::Window* pParent, const SfxItemSet& rCoreSet );
    virtual         ~ScTablePage();

    void            ShowImage();

private:
    RadioButton*     m_pBtnTopDown;
    RadioButton*     m_pBtnLeftRight;
    FixedImage*      m_pBmpPageDir;
    CheckBox*        m_pBtnPageNo;
    NumericField*    m_pEdPageNo;
    VclPtr<RadioButton>     m_pBtnTopDown;
    VclPtr<RadioButton>     m_pBtnLeftRight;
    VclPtr<FixedImage>      m_pBmpPageDir;
    VclPtr<CheckBox>        m_pBtnPageNo;
    VclPtr<NumericField>    m_pEdPageNo;

    CheckBox*        m_pBtnHeaders;
    CheckBox*        m_pBtnGrid;
    CheckBox*        m_pBtnNotes;
    CheckBox*        m_pBtnObjects;
    CheckBox*        m_pBtnCharts;
    CheckBox*        m_pBtnDrawings;
    CheckBox*        m_pBtnFormulas;
    CheckBox*        m_pBtnNullVals;
    VclPtr<CheckBox>        m_pBtnHeaders;
    VclPtr<CheckBox>        m_pBtnGrid;
    VclPtr<CheckBox>        m_pBtnNotes;
    VclPtr<CheckBox>        m_pBtnObjects;
    VclPtr<CheckBox>        m_pBtnCharts;
    VclPtr<CheckBox>        m_pBtnDrawings;
    VclPtr<CheckBox>        m_pBtnFormulas;
    VclPtr<CheckBox>        m_pBtnNullVals;

    ListBox*             m_pLbScaleMode;
    VclHBox*             m_pBxScaleAll;
    MetricField*         m_pEdScaleAll;
    VclGrid*             m_pGrHeightWidth;
    NumericField*        m_pEdScalePageWidth;
    NumericField*        m_pEdScalePageHeight;
    VclHBox*             m_pBxScalePageNum;
    NumericField*        m_pEdScalePageNum;
    VclPtr<ListBox>             m_pLbScaleMode;
    VclPtr<VclHBox>             m_pBxScaleAll;
    VclPtr<MetricField>         m_pEdScaleAll;
    VclPtr<VclGrid>             m_pGrHeightWidth;
    VclPtr<NumericField>        m_pEdScalePageWidth;
    VclPtr<NumericField>        m_pEdScalePageHeight;
    VclPtr<VclHBox>             m_pBxScalePageNum;
    VclPtr<NumericField>        m_pEdScalePageNum;

private:

    // Handler:
    DECL_LINK(PageDirHdl, void *);
    DECL_LINK( PageNoHdl,       CheckBox* );
    DECL_LINK( PageNoHdl, CheckBox* );
    DECL_LINK(ScaleHdl, void *);
};

diff --git a/sc/source/ui/inc/tpusrlst.hxx b/sc/source/ui/inc/tpusrlst.hxx
index fa0a154..c9833dc 100644
--- a/sc/source/ui/inc/tpusrlst.hxx
+++ b/sc/source/ui/inc/tpusrlst.hxx
@@ -47,22 +47,22 @@ private:
    virtual void dispose() SAL_OVERRIDE;

private:
    FixedText*          mpFtLists;
    ListBox*            mpLbLists;
    FixedText*          mpFtEntries;
    VclMultiLineEdit*   mpEdEntries;
    FixedText*          mpFtCopyFrom;
    Edit*               mpEdCopyFrom;
    VclPtr<FixedText>          mpFtLists;
    VclPtr<ListBox>            mpLbLists;
    VclPtr<FixedText>          mpFtEntries;
    VclPtr<VclMultiLineEdit>   mpEdEntries;
    VclPtr<FixedText>          mpFtCopyFrom;
    VclPtr<Edit>               mpEdCopyFrom;

    PushButton*         mpBtnNew;
    PushButton*         mpBtnDiscard;
    VclPtr<PushButton>         mpBtnNew;
    VclPtr<PushButton>         mpBtnDiscard;

    PushButton*         mpBtnAdd;
    PushButton*         mpBtnModify;
    VclPtr<PushButton>         mpBtnAdd;
    VclPtr<PushButton>         mpBtnModify;

    PushButton*         mpBtnRemove;
    VclPtr<PushButton>         mpBtnRemove;

    PushButton*         mpBtnCopy;
    VclPtr<PushButton>         mpBtnCopy;

    const OUString      aStrQueryRemove;
    const OUString      aStrCopyList;
diff --git a/sc/source/ui/inc/tpview.hxx b/sc/source/ui/inc/tpview.hxx
index 50981d1..0112b39 100644
--- a/sc/source/ui/inc/tpview.hxx
+++ b/sc/source/ui/inc/tpview.hxx
@@ -31,31 +31,31 @@ class ScViewOptions;

class ScTpContentOptions : public SfxTabPage
{
    ListBox*         pGridLB;
    FixedText*       pColorFT;
    ColorListBox*    pColorLB;
    CheckBox*        pBreakCB;
    CheckBox*        pGuideLineCB;
    VclPtr<ListBox>         pGridLB;
    VclPtr<FixedText>       pColorFT;
    VclPtr<ColorListBox>    pColorLB;
    VclPtr<CheckBox>        pBreakCB;
    VclPtr<CheckBox>        pGuideLineCB;

    CheckBox*        pFormulaCB;
    CheckBox*        pNilCB;
    CheckBox*        pAnnotCB;
    CheckBox*        pValueCB;
    CheckBox*        pAnchorCB;
    CheckBox*        pClipMarkCB;
    CheckBox*        pRangeFindCB;
    VclPtr<CheckBox>        pFormulaCB;
    VclPtr<CheckBox>        pNilCB;
    VclPtr<CheckBox>        pAnnotCB;
    VclPtr<CheckBox>        pValueCB;
    VclPtr<CheckBox>        pAnchorCB;
    VclPtr<CheckBox>        pClipMarkCB;
    VclPtr<CheckBox>        pRangeFindCB;

    ListBox*         pObjGrfLB;
    ListBox*         pDiagramLB;
    ListBox*         pDrawLB;
    VclPtr<ListBox>         pObjGrfLB;
    VclPtr<ListBox>         pDiagramLB;
    VclPtr<ListBox>         pDrawLB;

    CheckBox*        pSyncZoomCB;
    VclPtr<CheckBox>        pSyncZoomCB;

    CheckBox*        pRowColHeaderCB;
    CheckBox*        pHScrollCB;
    CheckBox*        pVScrollCB;
    CheckBox*        pTblRegCB;
    CheckBox*        pOutlineCB;
    VclPtr<CheckBox>        pRowColHeaderCB;
    VclPtr<CheckBox>        pHScrollCB;
    VclPtr<CheckBox>        pVScrollCB;
    VclPtr<CheckBox>        pTblRegCB;
    VclPtr<CheckBox>        pOutlineCB;

    ScViewOptions*  pLocalOptions;

@@ -84,23 +84,23 @@ public:
class ScDocument;
class ScTpLayoutOptions : public SfxTabPage
{
    ListBox*        m_pUnitLB;
    MetricField*    m_pTabMF;
    VclPtr<ListBox>        m_pUnitLB;
    VclPtr<MetricField>    m_pTabMF;

    RadioButton*    m_pAlwaysRB;
    RadioButton*    m_pRequestRB;
    RadioButton*    m_pNeverRB;
    VclPtr<RadioButton>    m_pAlwaysRB;
    VclPtr<RadioButton>    m_pRequestRB;
    VclPtr<RadioButton>    m_pNeverRB;

    CheckBox*       m_pAlignCB;
    ListBox*        m_pAlignLB;
    CheckBox*       m_pEditModeCB;
    CheckBox*       m_pFormatCB;
    CheckBox*       m_pExpRefCB;
    CheckBox*       m_pSortRefUpdateCB;
    CheckBox*       m_pMarkHdrCB;
    CheckBox*       m_pTextFmtCB;
    CheckBox*       m_pReplWarnCB;
    CheckBox*       m_pLegacyCellSelectionCB;
    VclPtr<CheckBox>       m_pAlignCB;
    VclPtr<ListBox>        m_pAlignLB;
    VclPtr<CheckBox>       m_pEditModeCB;
    VclPtr<CheckBox>       m_pFormatCB;
    VclPtr<CheckBox>       m_pExpRefCB;
    VclPtr<CheckBox>       m_pSortRefUpdateCB;
    VclPtr<CheckBox>       m_pMarkHdrCB;
    VclPtr<CheckBox>       m_pTextFmtCB;
    VclPtr<CheckBox>       m_pReplWarnCB;
    VclPtr<CheckBox>       m_pLegacyCellSelectionCB;

    SvxStringArray  aUnitArr;

@@ -115,9 +115,9 @@ class ScTpLayoutOptions : public SfxTabPage

            ScTpLayoutOptions( vcl::Window*          pParent,
                             const SfxItemSet&  rArgSet );
            virtual ~ScTpLayoutOptions();

public:
    virtual ~ScTpLayoutOptions();
    virtual void        dispose() SAL_OVERRIDE;
    static  SfxTabPage* Create          ( vcl::Window*               pParent,
                                          const SfxItemSet*     rCoreSet );
    virtual bool        FillItemSet     ( SfxItemSet* rCoreSet ) SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/validate.hxx b/sc/source/ui/inc/validate.hxx
index 4da82e8..cd6a5ae 100644
--- a/sc/source/ui/inc/validate.hxx
+++ b/sc/source/ui/inc/validate.hxx
@@ -85,7 +85,8 @@ class ScTPValidationValue : public ScRefHandlerCaller, public SfxTabPage
    static const sal_uInt16 pValueRanges[];
public:
    explicit                    ScTPValidationValue( vcl::Window* pParent, const SfxItemSet& rArgSet );

    virtual                     ~ScTPValidationValue();
    virtual void                dispose() SAL_OVERRIDE;
    static SfxTabPage*          Create( vcl::Window* pParent, const SfxItemSet* rArgSet );
    static const sal_uInt16*    GetRanges() { return pValueRanges; }

@@ -104,19 +105,19 @@ private:
                                DECL_LINK(SelectHdl, void *);
                                DECL_LINK(CheckHdl, void *);

    ListBox*                    m_pLbAllow;
    CheckBox*                   m_pCbAllow;      /// Allow blank cells.
    CheckBox*                   m_pCbShow;       /// Show selection list in cell.
    CheckBox*                   m_pCbSort;       /// Sort selection list in cell.
    FixedText*                  m_pFtValue;
    ListBox*                    m_pLbValue;
    FixedText*                  m_pFtMin;
    VclContainer*               m_pMinGrid;
    formula::RefEdit*           m_pEdMin;
    VclMultiLineEdit*           m_pEdList;       /// Entries for explicit list
    FixedText*                  m_pFtMax;
    formula::RefEdit*           m_pEdMax;
    FixedText*                  m_pFtHint;       /// Hint text for cell range validity.
    VclPtr<ListBox>                    m_pLbAllow;
    VclPtr<CheckBox>                   m_pCbAllow;      /// Allow blank cells.
    VclPtr<CheckBox>                   m_pCbShow;       /// Show selection list in cell.
    VclPtr<CheckBox>                   m_pCbSort;       /// Sort selection list in cell.
    VclPtr<FixedText>                  m_pFtValue;
    VclPtr<ListBox>                    m_pLbValue;
    VclPtr<FixedText>                  m_pFtMin;
    VclPtr<VclContainer>               m_pMinGrid;
    VclPtr<formula::RefEdit>           m_pEdMin;
    VclPtr<VclMultiLineEdit>           m_pEdList;       /// Entries for explicit list
    VclPtr<FixedText>                  m_pFtMax;
    VclPtr<formula::RefEdit>           m_pEdMax;
    VclPtr<FixedText>                  m_pFtHint;       /// Hint text for cell range validity.

    OUString                    maStrMin;
    OUString                    maStrMax;
@@ -128,11 +129,11 @@ private:
    DECL_LINK(EditSetFocusHdl, void *);
    DECL_LINK( KillFocusHdl, vcl::Window *);
    void    OnClick( Button *pBtn );
    formula::RefEdit*           m_pRefEdit;
    VclPtr<formula::RefEdit>           m_pRefEdit;
public:
    class ScRefButtonEx : public ::formula::RefButton
    {
        ScTPValidationValue* m_pPage;
        VclPtr<ScTPValidationValue> m_pPage;
        virtual void Click() SAL_OVERRIDE;
    public:
        ScRefButtonEx(vcl::Window* pParent, WinBits nStyle)
@@ -140,6 +141,8 @@ public:
            , m_pPage(NULL)
        {
        }
        virtual ~ScRefButtonEx();
        virtual void dispose() SAL_OVERRIDE;
        void SetParentPage(ScTPValidationValue *pPage)
        {
            m_pPage = pPage;
@@ -150,8 +153,8 @@ public:
        }
    };
private:
    ScRefButtonEx*              m_pBtnRef;
    VclContainer*               m_pRefGrid;
    VclPtr<ScRefButtonEx>              m_pBtnRef;
    VclPtr<VclContainer>               m_pRefGrid;
    friend class ScRefButtonEx;
    void            SetReferenceHdl( const ScRange& , ScDocument* );
    void            SetActiveHdl();
@@ -175,7 +178,7 @@ class ScValidationDlg
    DECL_LINK( OkHdl, Button * );

    ScTabViewShell *m_pTabVwSh;
    VclHBox* m_pHBox;
    VclPtr<VclHBox> m_pHBox;
    sal_uInt16 m_nValuePageId;
    bool    m_bOwnRefHdlr:1;
    bool    m_bRefInputting:1;
@@ -190,6 +193,7 @@ public:
    {
        if( m_bOwnRefHdlr )
            RemoveRefDlg( false );
        m_pHBox.clear();
        ScRefHdlrImpl<ScValidationDlg, SfxTabDialog, false>::dispose();
    }
    static ScValidationDlg * Find1AliveObject( vcl::Window *pAncestor )
@@ -278,9 +282,9 @@ public:
class ScTPValidationHelp : public SfxTabPage
{
private:
    TriStateBox*      pTsbHelp;
    Edit*             pEdtTitle;
    VclMultiLineEdit* pEdInputHelp;
    VclPtr<TriStateBox>      pTsbHelp;
    VclPtr<Edit>             pEdtTitle;
    VclPtr<VclMultiLineEdit> pEdInputHelp;

    void    Init();

@@ -290,6 +294,7 @@ private:
public:
            ScTPValidationHelp( vcl::Window* pParent, const SfxItemSet& rArgSet );
            virtual ~ScTPValidationHelp();
    virtual void dispose() SAL_OVERRIDE;

    static  SfxTabPage* Create      ( vcl::Window* pParent, const SfxItemSet* rArgSet );
    virtual bool        FillItemSet ( SfxItemSet* rArgSet ) SAL_OVERRIDE;
@@ -299,12 +304,12 @@ public:
class ScTPValidationError : public SfxTabPage
{
private:
    TriStateBox* m_pTsbShow;
    ListBox* m_pLbAction;
    PushButton* m_pBtnSearch;
    Edit* m_pEdtTitle;
    FixedText* m_pFtError;
    VclMultiLineEdit* m_pEdError;
    VclPtr<TriStateBox> m_pTsbShow;
    VclPtr<ListBox> m_pLbAction;
    VclPtr<PushButton> m_pBtnSearch;
    VclPtr<Edit> m_pEdtTitle;
    VclPtr<FixedText> m_pFtError;
    VclPtr<VclMultiLineEdit> m_pEdError;

    void    Init();

@@ -315,6 +320,7 @@ private:
public:
            ScTPValidationError( vcl::Window* pParent, const SfxItemSet& rArgSet );
            virtual ~ScTPValidationError();
    virtual void dispose() SAL_OVERRIDE;

    static  SfxTabPage* Create      ( vcl::Window* pParent, const SfxItemSet* rArgSet );
    virtual bool        FillItemSet ( SfxItemSet* rArgSet ) SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/xmlsourcedlg.hxx b/sc/source/ui/inc/xmlsourcedlg.hxx
index efabb35..1bc0c37 100644
--- a/sc/source/ui/inc/xmlsourcedlg.hxx
+++ b/sc/source/ui/inc/xmlsourcedlg.hxx
@@ -28,17 +28,17 @@ class ScOrcusXMLContext;

class ScXMLSourceDlg : public ScAnyRefDlg
{
    PushButton* mpBtnSelectSource;
    FixedText* mpFtSourceFile;
    VclPtr<PushButton> mpBtnSelectSource;
    VclPtr<FixedText> mpFtSourceFile;

    VclContainer* mpMapGrid;
    VclPtr<VclContainer> mpMapGrid;

    SvTreeListBox* mpLbTree;
    formula::RefEdit* mpRefEdit;
    formula::RefButton* mpRefBtn;
    VclPtr<SvTreeListBox> mpLbTree;
    VclPtr<formula::RefEdit> mpRefEdit;
    VclPtr<formula::RefButton> mpRefBtn;

    PushButton* mpBtnOk;
    CancelButton* mpBtnCancel;
    VclPtr<PushButton> mpBtnOk;
    VclPtr<CancelButton> mpBtnCancel;

    OUString maSrcPath;

@@ -51,12 +51,14 @@ class ScXMLSourceDlg : public ScAnyRefDlg

    ScDocument* mpDoc;

    formula::RefEdit* mpActiveEdit;
    VclPtr<formula::RefEdit> mpActiveEdit;
    bool mbDlgLostFocus;

public:
    ScXMLSourceDlg(
        SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pParent, ScDocument* pDoc);
    virtual ~ScXMLSourceDlg();
    virtual void dispose() SAL_OVERRIDE;

    virtual bool IsRefInputMode() const SAL_OVERRIDE;
    virtual void SetReference(const ScRange& rRange, ScDocument* pDoc) SAL_OVERRIDE;
diff --git a/sc/source/ui/miscdlgs/acredlin.cxx b/sc/source/ui/miscdlgs/acredlin.cxx
index 1e6b481..2b5d035 100644
--- a/sc/source/ui/miscdlgs/acredlin.cxx
+++ b/sc/source/ui/miscdlgs/acredlin.cxx
@@ -168,7 +168,10 @@ void ScAcceptChgDlg::dispose()
        pChanges->SetModifiedLink(aLink);
    }

    delete m_pAcceptChgCtr;
    m_pAcceptChgCtr.clear();
    pTPFilter.clear();
    pTPView.clear();
    pTheView.clear();
    SfxModelessDialog::dispose();
}

diff --git a/sc/source/ui/miscdlgs/anyrefdg.cxx b/sc/source/ui/miscdlgs/anyrefdg.cxx
index fc0d82c..d2084b4 100644
--- a/sc/source/ui/miscdlgs/anyrefdg.cxx
+++ b/sc/source/ui/miscdlgs/anyrefdg.cxx
@@ -344,8 +344,6 @@ IMPL_LINK( ScFormulaReferenceHelper, AccelSelectHdl, Accelerator *, pSelAccel )
    return long(true);
}

typedef std::vector<vcl::Window*> winvec;

void ScFormulaReferenceHelper::RefInputDone( bool bForced )
{
    if ( CanInputDone( bForced ) )
@@ -394,7 +392,7 @@ void ScFormulaReferenceHelper::RefInputDone( bool bForced )
            pRefBtn->SetStartImage();

        // All others: Show();
        for (winvec::iterator aI = m_aHiddenWidgets.begin(); aI != m_aHiddenWidgets.end(); ++aI)
        for (auto aI = m_aHiddenWidgets.begin(); aI != m_aHiddenWidgets.end(); ++aI)
        {
            vcl::Window *pWindow = *aI;
            pWindow->Show();
@@ -416,12 +414,12 @@ void ScFormulaReferenceHelper::RefInputDone( bool bForced )
    }
}

typedef std::set<vcl::Window*> winset;
typedef std::set<VclPtr<vcl::Window> > winset;

namespace
{
    void hideUnless(vcl::Window *pTop, const winset& rVisibleWidgets,
        winvec &rWasVisibleWidgets)
        std::vector<VclPtr<vcl::Window> > &rWasVisibleWidgets)
    {
        for (vcl::Window* pChild = pTop->GetWindow(WINDOW_FIRSTCHILD); pChild;
            pChild = pChild->GetWindow(WINDOW_NEXT))
@@ -759,14 +757,14 @@ static void lcl_HideAllReferences()
//  class ScRefHandler

ScRefHandler::ScRefHandler( vcl::Window &rWindow, SfxBindings* pB, bool bBindRef ):
        m_rWindow( rWindow ),
        m_rWindow( &rWindow ),
        m_bInRefMode( false ),
        m_aHelper(this,pB),
        pMyBindings( pB ),
        pActiveWin(NULL)
{
    m_aHelper.SetWindow(&m_rWindow);
    reverseUniqueHelpIdHack(m_rWindow);
    m_aHelper.SetWindow(m_rWindow.get());
    reverseUniqueHelpIdHack(*m_rWindow.get());
    aIdle.SetPriority(SchedulerPriority::LOWER);
    aIdle.SetIdleHdl(LINK( this, ScRefHandler, UpdateFocusHdl));

@@ -889,7 +887,7 @@ bool ScRefHandler::IsDocAllowed(SfxObjectShell* pDocSh) const   // pDocSh may be

bool ScRefHandler::IsRefInputMode() const
{
    return m_rWindow.IsVisible(); // references can only be input to visible windows
    return m_rWindow->IsVisible(); // references can only be input to visible windows
}

bool ScRefHandler::DoClose( sal_uInt16 nId )
@@ -951,7 +949,7 @@ void ScRefHandler::stateChanged(const StateChangedType nStateChange, const bool 

    if(nStateChange == StateChangedType::VISIBLE)
    {
        if(m_rWindow.IsVisible())
        if(m_rWindow->IsVisible())
        {
            ScFormulaReferenceHelper::enableInput( false );
            m_aHelper.EnableSpreadsheets();
diff --git a/sc/source/ui/miscdlgs/conflictsdlg.cxx b/sc/source/ui/miscdlgs/conflictsdlg.cxx
index 02d3a31..0229df8 100644
--- a/sc/source/ui/miscdlgs/conflictsdlg.cxx
+++ b/sc/source/ui/miscdlgs/conflictsdlg.cxx
@@ -442,6 +442,17 @@ ScConflictsDlg::ScConflictsDlg( vcl::Window* pParent, ScViewData* pViewData, ScD

ScConflictsDlg::~ScConflictsDlg()
{
    dispose();
}

void ScConflictsDlg::dispose()
{
    m_pLbConflictsContainer.clear();
    m_pBtnKeepMine.clear();
    m_pBtnKeepOther.clear();
    m_pBtnKeepAllMine.clear();
    m_pBtnKeepAllOthers.clear();
    ModalDialog::dispose();
}

OUString ScConflictsDlg::GetConflictString( const ScConflictsListEntry& rConflictEntry )
diff --git a/sc/source/ui/miscdlgs/crdlg.cxx b/sc/source/ui/miscdlgs/crdlg.cxx
index 5d5e833..643ffdc 100644
--- a/sc/source/ui/miscdlgs/crdlg.cxx
+++ b/sc/source/ui/miscdlgs/crdlg.cxx
@@ -44,6 +44,21 @@ ScColOrRowDlg::ScColOrRowDlg(vcl::Window* pParent, const OUString& rStrTitle,
    m_pBtnOk->SetClickHdl( LINK( this, ScColOrRowDlg, OkHdl ) );
}

ScColOrRowDlg::~ScColOrRowDlg()
{
    dispose();
}

void ScColOrRowDlg::dispose()
{
    m_pFrame.clear();
    m_pBtnRows.clear();
    m_pBtnCols.clear();
    m_pBtnOk.clear();
    ModalDialog::dispose();
}


IMPL_LINK_NOARG_INLINE_START(ScColOrRowDlg, OkHdl)
{
    EndDialog( m_pBtnCols->IsChecked() ? SCRET_COLS : SCRET_ROWS );
diff --git a/sc/source/ui/miscdlgs/crnrdlg.cxx b/sc/source/ui/miscdlgs/crnrdlg.cxx
index 6510dc1..8560a88 100644
--- a/sc/source/ui/miscdlgs/crnrdlg.cxx
+++ b/sc/source/ui/miscdlgs/crnrdlg.cxx
@@ -74,6 +74,24 @@ ScColRowNameRangesDlg::ScColRowNameRangesDlg( SfxBindings* pB,

ScColRowNameRangesDlg::~ScColRowNameRangesDlg()
{
    dispose();
}

void ScColRowNameRangesDlg::dispose()
{
    pLbRange.clear();
    pEdAssign.clear();
    pRbAssign.clear();
    pBtnColHead.clear();
    pBtnRowHead.clear();
    pEdAssign2.clear();
    pRbAssign2.clear();
    pBtnOk.clear();
    pBtnCancel.clear();
    pBtnAdd.clear();
    pBtnRemove.clear();
    pEdActive.clear();
    ScAnyRefDlg::dispose();
}

// initialises event handlers and start parameters in the dialog
@@ -475,7 +493,7 @@ void ScColRowNameRangesDlg::UpdateRangeData( const ScRange& rRange, bool bColNam

bool ScColRowNameRangesDlg::IsRefInputMode() const
{
    return (pEdActive != NULL);
    return (pEdActive != nullptr);
}

// Handler:
diff --git a/sc/source/ui/miscdlgs/datafdlg.cxx b/sc/source/ui/miscdlgs/datafdlg.cxx
index 0d3f58d..0c88495 100644
--- a/sc/source/ui/miscdlgs/datafdlg.cxx
+++ b/sc/source/ui/miscdlgs/datafdlg.cxx
@@ -204,7 +204,21 @@ ScDataFormDlg::ScDataFormDlg(vcl::Window* pParent, ScTabViewShell* pTabViewShell

ScDataFormDlg::~ScDataFormDlg()
{
    dispose();
}

void ScDataFormDlg::dispose()
{
    m_pBtnNew.clear();
    m_pBtnDelete.clear();
    m_pBtnRestore.clear();
    m_pBtnPrev.clear();
    m_pBtnNext.clear();
    m_pBtnClose.clear();
    m_pSlider.clear();
    m_pGrid.clear();
    m_pFixedText.clear();
    ModalDialog::dispose();
}

void ScDataFormDlg::FillCtrls(SCROW /*nCurrentRow*/)
diff --git a/sc/source/ui/miscdlgs/datastreamdlg.cxx b/sc/source/ui/miscdlgs/datastreamdlg.cxx
index 345293b..fac0e65 100644
--- a/sc/source/ui/miscdlgs/datastreamdlg.cxx
+++ b/sc/source/ui/miscdlgs/datastreamdlg.cxx
@@ -52,6 +52,33 @@ DataStreamDlg::DataStreamDlg(ScDocShell *pDocShell, vcl::Window* pParent)
    UpdateEnable();
}

DataStreamDlg::~DataStreamDlg()
{
    dispose();
}

void DataStreamDlg::dispose()
{
    m_pCbUrl.clear();
    m_pBtnBrowse.clear();
    m_pRBDirectData.clear();
    m_pRBScriptData.clear();
    m_pRBValuesInLine.clear();
    m_pRBAddressValue.clear();
    m_pCBRefreshOnEmpty.clear();
    m_pRBDataDown.clear();
    m_pRBRangeDown.clear();
    m_pRBNoMove.clear();
    m_pRBMaxLimit.clear();
    m_pRBUnlimited.clear();
    m_pEdRange.clear();
    m_pEdLimit.clear();
    m_pBtnOk.clear();
    m_pVclFrameLimit.clear();
    m_pVclFrameMove.clear();
    ModalDialog::dispose();
}

IMPL_LINK_NOARG(DataStreamDlg, BrowseHdl)
{
    sfx2::FileDialogHelper aFileDialog(0, 0);
diff --git a/sc/source/ui/miscdlgs/delcldlg.cxx b/sc/source/ui/miscdlgs/delcldlg.cxx
index 06e43a4..a838bfc 100644
--- a/sc/source/ui/miscdlgs/delcldlg.cxx
+++ b/sc/source/ui/miscdlgs/delcldlg.cxx
@@ -57,6 +57,21 @@ ScDeleteCellDlg::ScDeleteCellDlg(vcl::Window* pParent, bool bDisallowCellMove)
    }
}

ScDeleteCellDlg::~ScDeleteCellDlg()
{
    dispose();
}

void ScDeleteCellDlg::dispose()
{
    m_pBtnCellsUp.clear();
    m_pBtnCellsLeft.clear();
    m_pBtnDelRows.clear();
    m_pBtnDelCols.clear();
    ModalDialog::dispose();
}


DelCellCmd ScDeleteCellDlg::GetDelCellCmd() const
{
    DelCellCmd nReturn = DEL_NONE;
diff --git a/sc/source/ui/miscdlgs/delcodlg.cxx b/sc/source/ui/miscdlgs/delcodlg.cxx
index 21eccac..10e92b7 100644
--- a/sc/source/ui/miscdlgs/delcodlg.cxx
+++ b/sc/source/ui/miscdlgs/delcodlg.cxx
@@ -71,6 +71,25 @@ ScDeleteContentsDlg::ScDeleteContentsDlg( vcl::Window* pParent,
    aBtnDelAll->SetClickHdl( LINK( this, ScDeleteContentsDlg, DelAllHdl ) );
}

ScDeleteContentsDlg::~ScDeleteContentsDlg()
{
    dispose();
}

void ScDeleteContentsDlg::dispose()
{
    aBtnDelAll.clear();
    aBtnDelStrings.clear();
    aBtnDelNumbers.clear();
    aBtnDelDateTime.clear();
    aBtnDelFormulas.clear();
    aBtnDelNotes.clear();
    aBtnDelAttrs.clear();
    aBtnDelObjects.clear();
    aBtnOk.clear();
    ModalDialog::dispose();
}

InsertDeleteFlags ScDeleteContentsDlg::GetDelContentsCmdBits() const
{
    ScDeleteContentsDlg::nPreviousChecks = IDF_NONE;
@@ -139,8 +158,4 @@ IMPL_LINK_NOARG_INLINE_START(ScDeleteContentsDlg, DelAllHdl)
}
IMPL_LINK_NOARG_INLINE_END(ScDeleteContentsDlg, DelAllHdl)

ScDeleteContentsDlg::~ScDeleteContentsDlg()
{
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/miscdlgs/filldlg.cxx b/sc/source/ui/miscdlgs/filldlg.cxx
index 9067a15..6709c2d 100644
--- a/sc/source/ui/miscdlgs/filldlg.cxx
+++ b/sc/source/ui/miscdlgs/filldlg.cxx
@@ -76,6 +76,32 @@ ScFillSeriesDlg::ScFillSeriesDlg( vcl::Window*       pParent,

ScFillSeriesDlg::~ScFillSeriesDlg()
{
    dispose();
}

void ScFillSeriesDlg::dispose()
{
    m_pFtStartVal.clear();
    m_pEdStartVal.clear();
    m_pFtEndVal.clear();
    m_pEdEndVal.clear();
    m_pFtIncrement.clear();
    m_pEdIncrement.clear();
    m_pBtnDown.clear();
    m_pBtnRight.clear();
    m_pBtnUp.clear();
    m_pBtnLeft.clear();
    m_pBtnArithmetic.clear();
    m_pBtnGeometric.clear();
    m_pBtnDate.clear();
    m_pBtnAutoFill.clear();
    m_pFtTimeUnit.clear();
    m_pBtnDay.clear();
    m_pBtnDayOfWeek.clear();
    m_pBtnMonth.clear();
    m_pBtnYear.clear();
    m_pBtnOk.clear();
    ModalDialog::dispose();
}

void ScFillSeriesDlg::SetEdStartValEnabled(bool bFlag)
diff --git a/sc/source/ui/miscdlgs/groupdlg.cxx b/sc/source/ui/miscdlgs/groupdlg.cxx
index 62b726b..255e116 100644
--- a/sc/source/ui/miscdlgs/groupdlg.cxx
+++ b/sc/source/ui/miscdlgs/groupdlg.cxx
@@ -42,13 +42,21 @@ ScGroupDlg::ScGroupDlg(vcl::Window* pParent, bool bUngroup, bool bRows)
    m_pBtnRows->GrabFocus();
}

ScGroupDlg::~ScGroupDlg()
{
    dispose();
}

void ScGroupDlg::dispose()
{
    m_pBtnRows.clear();
    m_pBtnCols.clear();
    ModalDialog::dispose();
}

bool ScGroupDlg::GetColsChecked() const
{
    return m_pBtnCols->IsChecked();
}

ScGroupDlg::~ScGroupDlg()
{
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/miscdlgs/highred.cxx b/sc/source/ui/miscdlgs/highred.cxx
index c0b7094..05a194f 100644
--- a/sc/source/ui/miscdlgs/highred.cxx
+++ b/sc/source/ui/miscdlgs/highred.cxx
@@ -75,7 +75,13 @@ ScHighlightChgDlg::~ScHighlightChgDlg()
void ScHighlightChgDlg::dispose()
{
    SetDispatcherLock( false );
    delete m_pFilterCtr;
    m_pFilterCtr.clear();
    m_pHighlightBox.clear();
    m_pCbAccept.clear();
    m_pCbReject.clear();
    m_pOkButton.clear();
    m_pEdAssign.clear();
    m_pRbAssign.clear();
    ScAnyRefDlg::dispose();
}

diff --git a/sc/source/ui/miscdlgs/inscldlg.cxx b/sc/source/ui/miscdlgs/inscldlg.cxx
index b2f8059..264b9f5 100644
--- a/sc/source/ui/miscdlgs/inscldlg.cxx
+++ b/sc/source/ui/miscdlgs/inscldlg.cxx
@@ -58,6 +58,20 @@ ScInsertCellDlg::ScInsertCellDlg( vcl::Window* pParent,bool bDisallowCellMove) :
    }
}

ScInsertCellDlg::~ScInsertCellDlg()
{
    dispose();
}

void ScInsertCellDlg::dispose()
{
    m_pBtnCellsDown.clear();
    m_pBtnCellsRight.clear();
    m_pBtnInsRow.clear();
    m_pBtnInsCol.clear();
    ModalDialog::dispose();
}

InsCellCmd ScInsertCellDlg::GetInsCellCmd() const
{
    InsCellCmd nReturn = INS_NONE;
@@ -86,8 +100,4 @@ InsCellCmd ScInsertCellDlg::GetInsCellCmd() const
    return nReturn;
}

ScInsertCellDlg::~ScInsertCellDlg()
{
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/miscdlgs/inscodlg.cxx b/sc/source/ui/miscdlgs/inscodlg.cxx
index 30ec894..0a4c858 100644
--- a/sc/source/ui/miscdlgs/inscodlg.cxx
+++ b/sc/source/ui/miscdlgs/inscodlg.cxx
@@ -383,6 +383,28 @@ void ScInsertContentsDlg::dispose()
        else if ( mpRbMoveRight->IsChecked() )
            ScInsertContentsDlg::nPreviousMoveMode = INS_CELLSRIGHT;
    }
    mpBtnInsAll.clear();
    mpBtnInsStrings.clear();
    mpBtnInsNumbers.clear();
    mpBtnInsDateTime.clear();
    mpBtnInsFormulas.clear();
    mpBtnInsNotes.clear();
    mpBtnInsAttrs.clear();
    mpBtnInsObjects.clear();
    mpBtnSkipEmptyCells.clear();
    mpBtnTranspose.clear();
    mpBtnLink.clear();
    mpRbNoOp.clear();
    mpRbAdd.clear();
    mpRbSub.clear();
    mpRbMul.clear();
    mpRbDiv.clear();
    mpRbMoveNone.clear();
    mpRbMoveDown.clear();
    mpRbMoveRight.clear();
    mpBtnShortCutPasteValuesOnly.clear();
    mpBtnShortCutPasteValuesFormats.clear();
    mpBtnShortCutPasteTranspose.clear();
    ModalDialog::dispose();
}

diff --git a/sc/source/ui/miscdlgs/instbdlg.cxx b/sc/source/ui/miscdlgs/instbdlg.cxx
index a596385..328db1ce 100644
--- a/sc/source/ui/miscdlgs/instbdlg.cxx
+++ b/sc/source/ui/miscdlgs/instbdlg.cxx
@@ -72,6 +72,19 @@ void ScInsertTableDlg::dispose()
    if (pDocShTables)
        pDocShTables->DoClose();
    delete pDocInserter;
    m_pBtnBefore.clear();
    m_pBtnBehind.clear();
    m_pBtnNew.clear();
    m_pBtnFromFile.clear();
    m_pFtCount.clear();
    m_pNfCount.clear();
    m_pFtName.clear();
    m_pEdName.clear();
    m_pLbTables.clear();
    m_pFtPath.clear();
    m_pBtnBrowse.clear();
    m_pBtnLink.clear();
    m_pBtnOk.clear();
    ModalDialog::dispose();
}

diff --git a/sc/source/ui/miscdlgs/lbseldlg.cxx b/sc/source/ui/miscdlgs/lbseldlg.cxx
index 9fd2f57..f7347c2 100644
--- a/sc/source/ui/miscdlgs/lbseldlg.cxx
+++ b/sc/source/ui/miscdlgs/lbseldlg.cxx
@@ -41,6 +41,18 @@ ScSelEntryDlg::ScSelEntryDlg(vcl::Window*  pParent, const std::vector<OUString> 
        m_pLb->SelectEntryPos( 0 );
}

ScSelEntryDlg::~ScSelEntryDlg()
{
    dispose();
}

void ScSelEntryDlg::dispose()
{
    m_pLb.clear();
    ModalDialog::dispose();
}


OUString ScSelEntryDlg::GetSelectEntry() const
{
    return m_pLb->GetSelectEntry();
diff --git a/sc/source/ui/miscdlgs/linkarea.cxx b/sc/source/ui/miscdlgs/linkarea.cxx
index cf09932..f163e03 100644
--- a/sc/source/ui/miscdlgs/linkarea.cxx
+++ b/sc/source/ui/miscdlgs/linkarea.cxx
@@ -62,7 +62,20 @@ ScLinkedAreaDlg::ScLinkedAreaDlg(vcl::Window* pParent)

ScLinkedAreaDlg::~ScLinkedAreaDlg()
{
    dispose();
}

void ScLinkedAreaDlg::dispose()
{
    // pSourceShell is deleted by aSourceRef
    m_pCbUrl.clear();
    m_pBtnBrowse.clear();
    m_pLbRanges.clear();
    m_pBtnReload.clear();
    m_pNfDelay.clear();
    m_pFtSeconds.clear();
    m_pBtnOk.clear();
    ModalDialog::dispose();
}

short ScLinkedAreaDlg::Execute()
diff --git a/sc/source/ui/miscdlgs/mtrindlg.cxx b/sc/source/ui/miscdlgs/mtrindlg.cxx
index 7651d83..67379ac 100644
--- a/sc/source/ui/miscdlgs/mtrindlg.cxx
+++ b/sc/source/ui/miscdlgs/mtrindlg.cxx
@@ -58,6 +58,18 @@ ScMetricInputDlg::ScMetricInputDlg( vcl::Window*         pParent,
    m_pBtnDefVal->Check( nCurrentValue == nDefaultValue );
}

ScMetricInputDlg::~ScMetricInputDlg()
{
    dispose();
}

void ScMetricInputDlg::dispose()
{
    m_pEdValue.clear();
    m_pBtnDefVal.clear();
    ModalDialog::dispose();
}

long ScMetricInputDlg::GetInputValue( FieldUnit eUnit ) const
{
/*
diff --git a/sc/source/ui/miscdlgs/mvtabdlg.cxx b/sc/source/ui/miscdlgs/mvtabdlg.cxx
index 32d997b..62fc953 100644
--- a/sc/source/ui/miscdlgs/mvtabdlg.cxx
+++ b/sc/source/ui/miscdlgs/mvtabdlg.cxx
@@ -65,6 +65,19 @@ ScMoveTableDlg::ScMoveTableDlg(vcl::Window* pParent, const OUString& rDefault)

ScMoveTableDlg::~ScMoveTableDlg()
{
    dispose();
}

void ScMoveTableDlg::dispose()
{
    pBtnMove.clear();
    pBtnCopy.clear();
    pLbDoc.clear();
    pLbTable.clear();
    pEdTabName.clear();
    pFtWarn.clear();
    pBtnOk.clear();
    ModalDialog::dispose();
}

void ScMoveTableDlg::GetTabNameString( OUString& rString ) const
diff --git a/sc/source/ui/miscdlgs/namecrea.cxx b/sc/source/ui/miscdlgs/namecrea.cxx
index fa876ba..7becdb5 100644
--- a/sc/source/ui/miscdlgs/namecrea.cxx
+++ b/sc/source/ui/miscdlgs/namecrea.cxx
@@ -35,6 +35,20 @@ ScNameCreateDlg::ScNameCreateDlg( vcl::Window * pParent, sal_uInt16 nFlags )
    m_pRightBox->Check ( (nFlags & NAME_RIGHT) ? true : false );
}

ScNameCreateDlg::~ScNameCreateDlg()
{
    dispose();
}

void ScNameCreateDlg::dispose()
{
    m_pTopBox.clear();
    m_pLeftBox.clear();
    m_pBottomBox.clear();
    m_pRightBox.clear();
    ModalDialog::dispose();
}

sal_uInt16 ScNameCreateDlg::GetFlags() const
{
    sal_uInt16  nResult = 0;
diff --git a/sc/source/ui/miscdlgs/optsolver.cxx b/sc/source/ui/miscdlgs/optsolver.cxx
index f55c867..067fd2d 100644
--- a/sc/source/ui/miscdlgs/optsolver.cxx
+++ b/sc/source/ui/miscdlgs/optsolver.cxx
@@ -53,6 +53,18 @@ ScSolverProgressDialog::ScSolverProgressDialog(vcl::Window* pParent)
    get(m_pFtTime, "progress");
}

ScSolverProgressDialog::~ScSolverProgressDialog()
{
    dispose();
}

void ScSolverProgressDialog::dispose()
{
    m_pFtTime.clear();
    ModelessDialog::dispose();
}


void ScSolverProgressDialog::HideTimeLimit()
{
    m_pFtTime->Hide();
@@ -72,6 +84,17 @@ ScSolverNoSolutionDialog::ScSolverNoSolutionDialog( vcl::Window* pParent, const 
    m_pFtErrorText->SetText(rErrorText);
}

ScSolverNoSolutionDialog::~ScSolverNoSolutionDialog()
{
    dispose();
}

void ScSolverNoSolutionDialog::dispose()
{
    m_pFtErrorText.clear();
    ModalDialog::dispose();
}

ScSolverSuccessDialog::ScSolverSuccessDialog( vcl::Window* pParent, const OUString& rSolution )
    : ModalDialog(pParent, "SolverSuccessDialog", "modules/scalc/ui/solversuccessdialog.ui")
{
@@ -84,6 +107,19 @@ ScSolverSuccessDialog::ScSolverSuccessDialog( vcl::Window* pParent, const OUStri
    m_pFtResult->SetText(aMessage);
}

ScSolverSuccessDialog::~ScSolverSuccessDialog()
{
    dispose();
}

void ScSolverSuccessDialog::dispose()
{
    m_pFtResult.clear();
    m_pBtnOk.clear();
    m_pBtnCancel.clear();
    ModalDialog::dispose();
}

IMPL_LINK( ScSolverSuccessDialog, ClickHdl, PushButton*, pBtn )
{
    if (pBtn == m_pBtnOk)
@@ -267,6 +303,63 @@ ScOptSolverDlg::ScOptSolverDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Windo

ScOptSolverDlg::~ScOptSolverDlg()
{
    dispose();
}

void ScOptSolverDlg::dispose()
{
    m_pFtObjectiveCell.clear();
    m_pEdObjectiveCell.clear();
    m_pRBObjectiveCell.clear();
    m_pRbMax.clear();
    m_pRbMin.clear();
    m_pRbValue.clear();
    m_pEdTargetValue.clear();
    m_pRBTargetValue.clear();
    m_pFtVariableCells.clear();
    m_pEdVariableCells.clear();
    m_pRBVariableCells.clear();
    m_pFtCellRef.clear();
    m_pEdLeft1.clear();
    m_pRBLeft1.clear();
    m_pFtOperator.clear();
    m_pLbOp1.clear();
    m_pFtConstraint.clear();
    m_pEdRight1.clear();
    m_pRBRight1.clear();
    m_pBtnDel1.clear();
    m_pEdLeft2.clear();
    m_pRBLeft2.clear();
    m_pLbOp2.clear();
    m_pEdRight2.clear();
    m_pRBRight2.clear();
    m_pBtnDel2.clear();
    m_pEdLeft3.clear();
    m_pRBLeft3.clear();
    m_pLbOp3.clear();
    m_pEdRight3.clear();
    m_pRBRight3.clear();
    m_pBtnDel3.clear();
    m_pEdLeft4.clear();
    m_pRBLeft4.clear();
    m_pLbOp4.clear();
    m_pEdRight4.clear();
    m_pRBRight4.clear();
    m_pBtnDel4.clear();
    m_pScrollBar.clear();
    m_pBtnOpt.clear();
    m_pBtnCancel.clear();
    m_pBtnSolve.clear();
    mpEdActive.clear();
    for (auto p : mpLeftButton)
        p.clear();
    for (auto p : mpRightButton)
        p.clear();
    for (auto p : mpOperator)
        p.clear();
    for (auto p : mpDelButton)
        p.clear();
    ScAnyRefDlg::dispose();
}

void ScOptSolverDlg::Init(const ScAddress& rCursorPos)
@@ -506,7 +599,7 @@ void ScOptSolverDlg::SetReference( const ScRange& rRef, ScDocument* pDocP )

bool ScOptSolverDlg::IsRefInputMode() const
{
    return mpEdActive != NULL;
    return mpEdActive != nullptr;
}

// Handler:
diff --git a/sc/source/ui/miscdlgs/protectiondlg.cxx b/sc/source/ui/miscdlgs/protectiondlg.cxx
index 5c2e895..96f0c40 100644
--- a/sc/source/ui/miscdlgs/protectiondlg.cxx
+++ b/sc/source/ui/miscdlgs/protectiondlg.cxx
@@ -50,6 +50,19 @@ ScTableProtectionDlg::ScTableProtectionDlg(vcl::Window* pParent)

ScTableProtectionDlg::~ScTableProtectionDlg()
{
    dispose();
}

void ScTableProtectionDlg::dispose()
{
    m_pBtnProtect.clear();
    m_pPasswords.clear();
    m_pOptions.clear();
    m_pPassword1Edit.clear();
    m_pPassword2Edit.clear();
    m_pOptionsListBox.clear();
    m_pBtnOk.clear();
    ModalDialog::dispose();
}

short ScTableProtectionDlg::Execute()
diff --git a/sc/source/ui/miscdlgs/retypepassdlg.cxx b/sc/source/ui/miscdlgs/retypepassdlg.cxx
index df764de..b968cb1 100644
--- a/sc/source/ui/miscdlgs/retypepassdlg.cxx
+++ b/sc/source/ui/miscdlgs/retypepassdlg.cxx
@@ -54,12 +54,22 @@ ScRetypePassDlg::ScRetypePassDlg(vcl::Window* pParent) :

ScRetypePassDlg::~ScRetypePassDlg()
{
    dispose();
}

void ScRetypePassDlg::dispose()
{
    DeleteSheets();
    mpBtnOk.clear();
    mpTextDocStatus.clear();
    mpBtnRetypeDoc.clear();
    mpSheetsBox.clear();
    ModalDialog::dispose();
}

void ScRetypePassDlg::DeleteSheets()
{
    for(std::vector<VclHBox*>::iterator it = maSheets.begin(); it != maSheets.end(); ++it)
    for(auto it = maSheets.begin(); it != maSheets.end(); ++it)
    {
        vcl::Window *pWindow = (*it);
        vcl::Window *pChild = pWindow->GetWindow(WINDOW_FIRSTCHILD);
@@ -323,6 +333,19 @@ ScRetypePassInputDlg::ScRetypePassInputDlg(vcl::Window* pParent, ScPassHashProte

ScRetypePassInputDlg::~ScRetypePassInputDlg()
{
    dispose();
}

void ScRetypePassInputDlg::dispose()
{
    m_pBtnOk.clear();
    m_pBtnRetypePassword.clear();
    m_pPasswordGrid.clear();
    m_pPassword1Edit.clear();
    m_pPassword2Edit.clear();
    m_pBtnMatchOldPass.clear();
    m_pBtnRemovePassword.clear();
    ModalDialog::dispose();
}

short ScRetypePassInputDlg::Execute()
diff --git a/sc/source/ui/miscdlgs/scuiautofmt.cxx b/sc/source/ui/miscdlgs/scuiautofmt.cxx
index b55b722..0f05a5b 100644
--- a/sc/source/ui/miscdlgs/scuiautofmt.cxx
+++ b/sc/source/ui/miscdlgs/scuiautofmt.cxx
@@ -88,6 +88,29 @@ ScAutoFormatDlg::ScAutoFormatDlg(vcl::Window* pParent,
    m_pWndPreview->NotifyChange(it->second);
}

ScAutoFormatDlg::~ScAutoFormatDlg()
{
    dispose();
}

void ScAutoFormatDlg::dispose()
{
    m_pLbFormat.clear();
    m_pWndPreview.clear();
    m_pBtnOk.clear();
    m_pBtnCancel.clear();
    m_pBtnAdd.clear();
    m_pBtnRemove.clear();
    m_pBtnRename.clear();
    m_pBtnNumFormat.clear();
    m_pBtnBorder.clear();
    m_pBtnFont.clear();
    m_pBtnPattern.clear();
    m_pBtnAlignment.clear();
    m_pBtnAdjust.clear();
    ModalDialog::dispose();
}

void ScAutoFormatDlg::Init()
{
    m_pLbFormat->SetSelectHdl( LINK( this, ScAutoFormatDlg, SelFmtHdl ) );
diff --git a/sc/source/ui/miscdlgs/sharedocdlg.cxx b/sc/source/ui/miscdlgs/sharedocdlg.cxx
index 3bfb5d9..5b04a22 100644
--- a/sc/source/ui/miscdlgs/sharedocdlg.cxx
+++ b/sc/source/ui/miscdlgs/sharedocdlg.cxx
@@ -113,7 +113,9 @@ ScShareDocumentDlg::~ScShareDocumentDlg()

void ScShareDocumentDlg::dispose()
{
    delete m_pLbUsers;
    m_pLbUsers.clear();
    m_pCbShare.clear();
    m_pFtWarning.clear();
    ModalDialog::dispose();
}

diff --git a/sc/source/ui/miscdlgs/shtabdlg.cxx b/sc/source/ui/miscdlgs/shtabdlg.cxx
index 48ed2c9..e941059 100644
--- a/sc/source/ui/miscdlgs/shtabdlg.cxx
+++ b/sc/source/ui/miscdlgs/shtabdlg.cxx
@@ -37,6 +37,18 @@ ScShowTabDlg::ScShowTabDlg(vcl::Window* pParent)
    m_pLb->SetDoubleClickHdl( LINK( this, ScShowTabDlg, DblClkHdl ) );
}

ScShowTabDlg::~ScShowTabDlg()
{
    dispose();
}

void ScShowTabDlg::dispose()
{
    m_pFrame.clear();
    m_pLb.clear();
    ModalDialog::dispose();
}

void ScShowTabDlg::SetDescription(
        const OUString& rTitle, const OUString& rFixedText,
        const OString& rDlgHelpId, const OString& sLbHelpId )
diff --git a/sc/source/ui/miscdlgs/simpref.cxx b/sc/source/ui/miscdlgs/simpref.cxx
index 93cb3e0..e6f27a9 100644
--- a/sc/source/ui/miscdlgs/simpref.cxx
+++ b/sc/source/ui/miscdlgs/simpref.cxx
@@ -59,7 +59,18 @@ ScSimpleRefDlg::ScSimpleRefDlg(SfxBindings* pB, SfxChildWindow* pCW, vcl::Window

ScSimpleRefDlg::~ScSimpleRefDlg()
{
    dispose();
}

void ScSimpleRefDlg::dispose()
{
    SetDispatcherLock( false ); // deactivate modal mode
    m_pFtAssign.clear();
    m_pEdAssign.clear();
    m_pRbAssign.clear();
    m_pBtnOk.clear();
    m_pBtnCancel.clear();
    ScAnyRefDlg::dispose();
}

void ScSimpleRefDlg::FillInfo(SfxChildWinInfo& rWinInfo) const
diff --git a/sc/source/ui/miscdlgs/solveroptions.cxx b/sc/source/ui/miscdlgs/solveroptions.cxx
index 6e5660c..c3514c5 100644
--- a/sc/source/ui/miscdlgs/solveroptions.cxx
+++ b/sc/source/ui/miscdlgs/solveroptions.cxx
@@ -165,6 +165,9 @@ ScSolverOptionsDialog::~ScSolverOptionsDialog()
void ScSolverOptionsDialog::dispose()
{
    delete mpCheckButtonData;
    m_pLbEngine.clear();
    m_pLbSettings.clear();
    m_pBtnEdit.clear();
    ModalDialog::dispose();
}

@@ -394,6 +397,18 @@ ScSolverIntegerDialog::ScSolverIntegerDialog(vcl::Window * pParent)
    get(m_pNfValue, "value");
}

ScSolverIntegerDialog::~ScSolverIntegerDialog()
{
    dispose();
}

void ScSolverIntegerDialog::dispose()
{
    m_pFrame.clear();
    m_pNfValue.clear();
    ModalDialog::dispose();
}

void ScSolverIntegerDialog::SetOptionName( const OUString& rName )
{
    m_pFrame->set_label(rName);
@@ -422,6 +437,18 @@ ScSolverValueDialog::ScSolverValueDialog( vcl::Window * pParent )
    get(m_pEdValue, "value");
}

ScSolverValueDialog::~ScSolverValueDialog()
{
    dispose();
}

void ScSolverValueDialog::dispose()
{
    m_pFrame.clear();
    m_pEdValue.clear();
    ModalDialog::dispose();
}

void ScSolverValueDialog::SetOptionName( const OUString& rName )
{
    m_pFrame->set_label(rName);
diff --git a/sc/source/ui/miscdlgs/solvrdlg.cxx b/sc/source/ui/miscdlgs/solvrdlg.cxx
index 10ffbfa..b841c26 100644
--- a/sc/source/ui/miscdlgs/solvrdlg.cxx
+++ b/sc/source/ui/miscdlgs/solvrdlg.cxx
@@ -73,6 +73,22 @@ ScSolverDlg::ScSolverDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pPa

ScSolverDlg::~ScSolverDlg()
{
    dispose();
}

void ScSolverDlg::dispose()
{
    m_pFtFormulaCell.clear();
    m_pEdFormulaCell.clear();
    m_pRBFormulaCell.clear();
    m_pEdTargetVal.clear();
    m_pFtVariableCell.clear();
    m_pEdVariableCell.clear();
    m_pRBVariableCell.clear();
    m_pBtnOk.clear();
    m_pBtnCancel.clear();
    pEdActive.clear();
    ScAnyRefDlg::dispose();
}

void ScSolverDlg::Init()
@@ -170,7 +186,7 @@ void ScSolverDlg::RaiseError( ScSolverErr eError )

bool ScSolverDlg::IsRefInputMode() const
{
    return pEdActive != NULL;
    return pEdActive != nullptr;
}

bool ScSolverDlg::CheckTargetValue( const OUString& rStrVal )
diff --git a/sc/source/ui/miscdlgs/strindlg.cxx b/sc/source/ui/miscdlgs/strindlg.cxx
index c053016..a2f1b36 100644
--- a/sc/source/ui/miscdlgs/strindlg.cxx
+++ b/sc/source/ui/miscdlgs/strindlg.cxx
@@ -39,4 +39,16 @@ ScStringInputDlg::ScStringInputDlg( vcl::Window*         pParent,
    m_pEdInput->SetHelpId( sEditHelpId );
}

ScStringInputDlg::~ScStringInputDlg()
{
    dispose();
}

void ScStringInputDlg::dispose()
{
    m_pFtEditTitle.clear();
    m_pEdInput.clear();
    ModalDialog::dispose();
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/miscdlgs/tabbgcolordlg.cxx b/sc/source/ui/miscdlgs/tabbgcolordlg.cxx
index 985821e..710c5c6 100644
--- a/sc/source/ui/miscdlgs/tabbgcolordlg.cxx
+++ b/sc/source/ui/miscdlgs/tabbgcolordlg.cxx
@@ -59,6 +59,18 @@ ScTabBgColorDlg::ScTabBgColorDlg(vcl::Window* pParent, const OUString& rTitle,
    m_pBtnOk->SetClickHdl( HDL(TabBgColorOKHdl_Impl) );
}

ScTabBgColorDlg::~ScTabBgColorDlg()
{
    dispose();
}

void ScTabBgColorDlg::dispose()
{
    m_pTabBgColorSet.clear();
    m_pBtnOk.clear();
    ModalDialog::dispose();
}

void ScTabBgColorDlg::GetSelectedColor( Color& rColor ) const
{
    rColor = this->m_aTabBgColor;
@@ -135,6 +147,17 @@ ScTabBgColorDlg::ScTabBgColorValueSet::ScTabBgColorValueSet(vcl::Window* pParent
{
}

ScTabBgColorDlg::ScTabBgColorValueSet::~ScTabBgColorValueSet()
{
    dispose();
}

void ScTabBgColorDlg::ScTabBgColorValueSet::dispose()
{
    m_pTabBgColorDlg.clear();
    SvxColorValueSet::dispose();
}

extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeScTabBgColorValueSet(vcl::Window *pParent, VclBuilder::stringmap &rMap)
{
    WinBits nWinBits = WB_TABSTOP;
diff --git a/sc/source/ui/miscdlgs/tabopdlg.cxx b/sc/source/ui/miscdlgs/tabopdlg.cxx
index cbfeca1..9b49e34e 100644
--- a/sc/source/ui/miscdlgs/tabopdlg.cxx
+++ b/sc/source/ui/miscdlgs/tabopdlg.cxx
@@ -76,9 +76,28 @@ ScTabOpDlg::ScTabOpDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pPare

ScTabOpDlg::~ScTabOpDlg()
{
    Hide();
    dispose();
}

void ScTabOpDlg::dispose()
{
    Hide();
    m_pFtFormulaRange.clear();
    m_pEdFormulaRange.clear();
    m_pRBFormulaRange.clear();
    m_pFtRowCell.clear();
    m_pEdRowCell.clear();
    m_pRBRowCell.clear();
    m_pFtColCell.clear();
    m_pEdColCell.clear();
    m_pRBColCell.clear();
    m_pBtnOk.clear();
    m_pBtnCancel.clear();
    pEdActive.clear();
    ScAnyRefDlg::dispose();
}


void ScTabOpDlg::Init()
{
    m_pBtnOk->SetClickHdl     ( LINK( this, ScTabOpDlg, BtnHdl ) );
diff --git a/sc/source/ui/namedlg/namedefdlg.cxx b/sc/source/ui/namedlg/namedefdlg.cxx
index b784e93..42ab802 100644
--- a/sc/source/ui/namedlg/namedefdlg.cxx
+++ b/sc/source/ui/namedlg/namedefdlg.cxx
@@ -93,6 +93,27 @@ ScNameDefDlg::ScNameDefDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* p
    m_pEdName->SetSelection( aCurSel );
}

ScNameDefDlg::~ScNameDefDlg()
{
    dispose();
}

void ScNameDefDlg::dispose()
{
    m_pEdName.clear();
    m_pEdRange.clear();
    m_pRbRange.clear();
    m_pLbScope.clear();
    m_pBtnRowHeader.clear();
    m_pBtnColHeader.clear();
    m_pBtnPrintArea.clear();
    m_pBtnCriteria.clear();
    m_pBtnAdd.clear();
    m_pBtnCancel.clear();
    m_pFtInfo.clear();
    ScAnyRefDlg::dispose();
}

void ScNameDefDlg::CancelPushed()
{
    if (mbUndo)
diff --git a/sc/source/ui/namedlg/namedlg.cxx b/sc/source/ui/namedlg/namedlg.cxx
index abf323d..33e4cbd 100644
--- a/sc/source/ui/namedlg/namedlg.cxx
+++ b/sc/source/ui/namedlg/namedlg.cxx
@@ -107,7 +107,20 @@ ScNameDlg::~ScNameDlg()

void ScNameDlg::dispose()
{
    delete m_pRangeManagerTable;
    m_pRangeManagerTable.clear();
    m_pEdName.clear();
    m_pEdAssign.clear();
    m_pRbAssign.clear();
    m_pLbScope.clear();
    m_pBtnPrintArea.clear();
    m_pBtnColHeader.clear();
    m_pBtnCriteria.clear();
    m_pBtnRowHeader.clear();
    m_pBtnAdd.clear();
    m_pBtnDelete.clear();
    m_pBtnOk.clear();
    m_pBtnCancel.clear();
    m_pFtInfo.clear();
    ScAnyRefDlg::dispose();
}

diff --git a/sc/source/ui/namedlg/namepast.cxx b/sc/source/ui/namedlg/namepast.cxx
index f508d32e..daf2b8e 100644
--- a/sc/source/ui/namedlg/namepast.cxx
+++ b/sc/source/ui/namedlg/namepast.cxx
@@ -70,7 +70,10 @@ ScNamePasteDlg::~ScNamePasteDlg()

void ScNamePasteDlg::dispose()
{
    delete mpTable;
    m_pBtnPasteAll.clear();
    m_pBtnPaste.clear();
    m_pBtnClose.clear();
    mpTable.clear();
    ModalDialog::dispose();
}

diff --git a/sc/source/ui/navipi/content.cxx b/sc/source/ui/navipi/content.cxx
index ddbde5f..fd69e7a 100644
--- a/sc/source/ui/navipi/content.cxx
+++ b/sc/source/ui/navipi/content.cxx
@@ -142,6 +142,13 @@ ScContentTree::ScContentTree( vcl::Window* pParent, const ResId& rResId ) :

ScContentTree::~ScContentTree()
{
    dispose();
}

void ScContentTree::dispose()
{
    pParentWindow.clear();
    SvTreeListBox::dispose();
}

// helper function for  GetEntryAltText and GetEntryLongDescription
diff --git a/sc/source/ui/optdlg/calcoptionsdlg.cxx b/sc/source/ui/optdlg/calcoptionsdlg.cxx
index af06513..a5b4d1d 100644
--- a/sc/source/ui/optdlg/calcoptionsdlg.cxx
+++ b/sc/source/ui/optdlg/calcoptionsdlg.cxx
@@ -109,7 +109,27 @@ ScCalcOptionsDialog::ScCalcOptionsDialog(vcl::Window* pParent, const ScCalcConfi
    mpTestButton->SetClickHdl(LINK(this, ScCalcOptionsDialog, TestClickHdl));
}

ScCalcOptionsDialog::~ScCalcOptionsDialog() {}
ScCalcOptionsDialog::~ScCalcOptionsDialog()
{
    dispose();
}

void ScCalcOptionsDialog::dispose()
{
    mpLbOptionEdit.clear();

    mpUseOpenCL.clear();
    mpSpinButton.clear();
    mpEditField.clear();
    mpTestButton.clear();
    mpFtFrequency.clear();
    mpFtComputeUnits.clear();
    mpFtMemory.clear();
    mpOpenclInfoList.clear();
    mpBtnAutomaticSelectionTrue.clear();
    mpBtnAutomaticSelectionFalse.clear();
    ModalDialog::dispose();
}

void ScCalcOptionsDialog::OpenCLAutomaticSelectionChanged()
{
diff --git a/sc/source/ui/optdlg/calcoptionsdlg.hxx b/sc/source/ui/optdlg/calcoptionsdlg.hxx
index 08fad6cf..254a18c 100644
--- a/sc/source/ui/optdlg/calcoptionsdlg.hxx
+++ b/sc/source/ui/optdlg/calcoptionsdlg.hxx
@@ -36,6 +36,7 @@ class ScCalcOptionsDialog : public ModalDialog
public:
    ScCalcOptionsDialog(vcl::Window* pParent, const ScCalcConfig& rConfig);
    virtual ~ScCalcOptionsDialog();
    virtual void dispose() SAL_OVERRIDE;

    DECL_LINK( BtnAutomaticSelectHdl, void* );
    DECL_LINK( DeviceSelHdl, void* );
@@ -62,22 +63,22 @@ private:
#endif

private:
    VclPtr<CheckBox> mpEmptyAsZero;
    VclPtr<ListBox> mpConversion;
    VclPtr<ListBox> mpSyntax;

    CheckBox*     mpEmptyAsZero;
    ListBox*      mpConversion;
    ListBox*      mpSyntax;
    CheckBox*     mpUseOpenCL;
    NumericField* mpSpinButton;
    VclMultiLineEdit* mpEditField;
    PushButton* mpTestButton;
    VclPtr<CheckBox> mpUseOpenCL;
    VclPtr<NumericField> mpSpinButton;
    VclPtr<VclMultiLineEdit> mpEditField;
    VclPtr<PushButton> mpTestButton;

    FixedText* mpFtFrequency;
    FixedText* mpFtComputeUnits;
    FixedText* mpFtMemory;
    VclPtr<FixedText> mpFtFrequency;
    VclPtr<FixedText> mpFtComputeUnits;
    VclPtr<FixedText> mpFtMemory;

    SvTreeListBox* mpOpenclInfoList;
    RadioButton* mpBtnAutomaticSelectionTrue;
    RadioButton* mpBtnAutomaticSelectionFalse;
    VclPtr<SvTreeListBox> mpOpenclInfoList;
    VclPtr<RadioButton> mpBtnAutomaticSelectionTrue;
    VclPtr<RadioButton> mpBtnAutomaticSelectionFalse;

    OUString maSoftware;

diff --git a/sc/source/ui/optdlg/opredlin.cxx b/sc/source/ui/optdlg/opredlin.cxx
index b19eac98..f38124c 100644
--- a/sc/source/ui/optdlg/opredlin.cxx
+++ b/sc/source/ui/optdlg/opredlin.cxx
@@ -57,6 +57,16 @@ ScRedlineOptionsTabPage::ScRedlineOptionsTabPage( vcl::Window* pParent,

ScRedlineOptionsTabPage::~ScRedlineOptionsTabPage()
{
    dispose();
}

void ScRedlineOptionsTabPage::dispose()
{
    m_pContentColorLB.clear();
    m_pRemoveColorLB.clear();
    m_pInsertColorLB.clear();
    m_pMoveColorLB.clear();
    SfxTabPage::dispose();
}

SfxTabPage* ScRedlineOptionsTabPage::Create( vcl::Window* pParent, const SfxItemSet* rSet )
diff --git a/sc/source/ui/optdlg/tpcalc.cxx b/sc/source/ui/optdlg/tpcalc.cxx
index eaa0d37..cd11950 100644
--- a/sc/source/ui/optdlg/tpcalc.cxx
+++ b/sc/source/ui/optdlg/tpcalc.cxx
@@ -73,6 +73,22 @@ void ScTpCalcOptions::dispose()
{
    delete pOldOptions;
    delete pLocalOptions;
    m_pBtnIterate.clear();
    m_pFtSteps.clear();
    m_pEdSteps.clear();
    m_pFtEps.clear();
    m_pEdEps.clear();
    m_pBtnDateStd.clear();
    m_pBtnDateSc10.clear();
    m_pBtnDate1904.clear();
    m_pBtnCase.clear();
    m_pBtnCalc.clear();
    m_pBtnMatch.clear();
    m_pBtnRegex.clear();
    m_pBtnLookUp.clear();
    m_pBtnGeneralPrec.clear();
    m_pFtPrec.clear();
    m_pEdPrec.clear();
    SfxTabPage::dispose();
}

diff --git a/sc/source/ui/optdlg/tpcompatibility.cxx b/sc/source/ui/optdlg/tpcompatibility.cxx
index 10dc87b..bb81ab2f 100644
--- a/sc/source/ui/optdlg/tpcompatibility.cxx
+++ b/sc/source/ui/optdlg/tpcompatibility.cxx
@@ -23,6 +23,13 @@ ScTpCompatOptions::ScTpCompatOptions(vcl::Window *pParent, const SfxItemSet &rCo

ScTpCompatOptions::~ScTpCompatOptions()
{
    dispose();
}

void ScTpCompatOptions::dispose()
{
    m_pLbKeyBindings.clear();
    SfxTabPage::dispose();
}

SfxTabPage* ScTpCompatOptions::Create(vcl::Window *pParent, const SfxItemSet *rCoreAttrs)
diff --git a/sc/source/ui/optdlg/tpdefaults.cxx b/sc/source/ui/optdlg/tpdefaults.cxx
index fc8cd2b..bb3bea8 100644
--- a/sc/source/ui/optdlg/tpdefaults.cxx
+++ b/sc/source/ui/optdlg/tpdefaults.cxx
@@ -30,6 +30,14 @@ ScTpDefaultsOptions::ScTpDefaultsOptions(vcl::Window *pParent, const SfxItemSet 

ScTpDefaultsOptions::~ScTpDefaultsOptions()
{
    dispose();
}

void ScTpDefaultsOptions::dispose()
{
    m_pEdNSheets.clear();
    m_pEdSheetPrefix.clear();
    SfxTabPage::dispose();
}

SfxTabPage* ScTpDefaultsOptions::Create(vcl::Window *pParent, const SfxItemSet *rCoreAttrs)
diff --git a/sc/source/ui/optdlg/tpformula.cxx b/sc/source/ui/optdlg/tpformula.cxx
index 325cad6..2f3afe6 100644
--- a/sc/source/ui/optdlg/tpformula.cxx
+++ b/sc/source/ui/optdlg/tpformula.cxx
@@ -81,6 +81,23 @@ ScTpFormulaOptions::ScTpFormulaOptions(vcl::Window* pParent, const SfxItemSet& r

ScTpFormulaOptions::~ScTpFormulaOptions()
{
    dispose();
}

void ScTpFormulaOptions::dispose()
{
    mpLbFormulaSyntax.clear();
    mpCbEnglishFuncName.clear();
    mpBtnCustomCalcDefault.clear();
    mpBtnCustomCalcCustom.clear();
    mpBtnCustomCalcDetails.clear();
    mpEdSepFuncArg.clear();
    mpEdSepArrayCol.clear();
    mpEdSepArrayRow.clear();
    mpBtnSepReset.clear();
    mpLbOOXMLRecalcOptions.clear();
    mpLbODFRecalcOptions.clear();
    SfxTabPage::dispose();
}

void ScTpFormulaOptions::ResetSeparators()
diff --git a/sc/source/ui/optdlg/tpprint.cxx b/sc/source/ui/optdlg/tpprint.cxx
index ae2d9de..67fe07e 100644
--- a/sc/source/ui/optdlg/tpprint.cxx
+++ b/sc/source/ui/optdlg/tpprint.cxx
@@ -41,6 +41,15 @@ ScTpPrintOptions::ScTpPrintOptions( vcl::Window*           pParent,

ScTpPrintOptions::~ScTpPrintOptions()
{
    dispose();
}

void ScTpPrintOptions::dispose()
{
    m_pSkipEmptyPagesCB.clear();
    m_pSelectedSheetsCB.clear();
    m_pForceBreaksCB.clear();
    SfxTabPage::dispose();
}

SfxTabPage* ScTpPrintOptions::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet )
diff --git a/sc/source/ui/optdlg/tpusrlst.cxx b/sc/source/ui/optdlg/tpusrlst.cxx
index 490a2fc9..4e3a990 100644
--- a/sc/source/ui/optdlg/tpusrlst.cxx
+++ b/sc/source/ui/optdlg/tpusrlst.cxx
@@ -91,6 +91,18 @@ void ScTpUserLists::dispose()
{
    delete pUserLists;
    delete pRangeUtil;
    mpFtLists.clear();
    mpLbLists.clear();
    mpFtEntries.clear();
    mpEdEntries.clear();
    mpFtCopyFrom.clear();
    mpEdCopyFrom.clear();
    mpBtnNew.clear();
    mpBtnDiscard.clear();
    mpBtnAdd.clear();
    mpBtnModify.clear();
    mpBtnRemove.clear();
    mpBtnCopy.clear();
    SfxTabPage::dispose();
}

diff --git a/sc/source/ui/optdlg/tpview.cxx b/sc/source/ui/optdlg/tpview.cxx
index 82cf00b..40571f2 100644
--- a/sc/source/ui/optdlg/tpview.cxx
+++ b/sc/source/ui/optdlg/tpview.cxx
@@ -101,6 +101,27 @@ ScTpContentOptions::~ScTpContentOptions()
void ScTpContentOptions::dispose()
{
    delete pLocalOptions;
    pGridLB.clear();
    pColorFT.clear();
    pColorLB.clear();
    pBreakCB.clear();
    pGuideLineCB.clear();
    pFormulaCB.clear();
    pNilCB.clear();
    pAnnotCB.clear();
    pValueCB.clear();
    pAnchorCB.clear();
    pClipMarkCB.clear();
    pRangeFindCB.clear();
    pObjGrfLB.clear();
    pDiagramLB.clear();
    pDrawLB.clear();
    pSyncZoomCB.clear();
    pRowColHeaderCB.clear();
    pHScrollCB.clear();
    pVScrollCB.clear();
    pTblRegCB.clear();
    pOutlineCB.clear();
    SfxTabPage::dispose();
}

@@ -412,8 +433,30 @@ ScTpLayoutOptions::ScTpLayoutOptions(   vcl::Window* pParent,

ScTpLayoutOptions::~ScTpLayoutOptions()
{
    dispose();
}

void ScTpLayoutOptions::dispose()
{
    m_pUnitLB.clear();
    m_pTabMF.clear();
    m_pAlwaysRB.clear();
    m_pRequestRB.clear();
    m_pNeverRB.clear();
    m_pAlignCB.clear();
    m_pAlignLB.clear();
    m_pEditModeCB.clear();
    m_pFormatCB.clear();
    m_pExpRefCB.clear();
    m_pSortRefUpdateCB.clear();
    m_pMarkHdrCB.clear();
    m_pTextFmtCB.clear();
    m_pReplWarnCB.clear();
    m_pLegacyCellSelectionCB.clear();
    SfxTabPage::dispose();
}


SfxTabPage* ScTpLayoutOptions::Create( vcl::Window*          pParent,
                                    const SfxItemSet*   rCoreSet )
{
diff --git a/sc/source/ui/pagedlg/areasdlg.cxx b/sc/source/ui/pagedlg/areasdlg.cxx
index 36471e6..9f778e3 100644
--- a/sc/source/ui/pagedlg/areasdlg.cxx
+++ b/sc/source/ui/pagedlg/areasdlg.cxx
@@ -150,6 +150,18 @@ void ScPrintAreasDlg::dispose()
        for ( sal_uInt16 j=0; j<nCount; j++ )
            delete static_cast<OUString*>(aLb[i]->GetEntryData(j));
    }
    pLbPrintArea.clear();
    pEdPrintArea.clear();
    pRbPrintArea.clear();
    pLbRepeatRow.clear();
    pEdRepeatRow.clear();
    pRbRepeatRow.clear();
    pLbRepeatCol.clear();
    pEdRepeatCol.clear();
    pRbRepeatCol.clear();
    pBtnOk.clear();
    pBtnCancel.clear();
    pRefInputEdit.clear();
    ScAnyRefDlg::dispose();
}

diff --git a/sc/source/ui/pagedlg/scuitphfedit.cxx b/sc/source/ui/pagedlg/scuitphfedit.cxx
index dcac934..bb7cfda 100644
--- a/sc/source/ui/pagedlg/scuitphfedit.cxx
+++ b/sc/source/ui/pagedlg/scuitphfedit.cxx
@@ -152,6 +152,32 @@ IMPL_LINK( ScHFEditPage, ObjectSelectHdl, ScEditWindow*, pEdit )

ScHFEditPage::~ScHFEditPage()
{
    dispose();
}

void ScHFEditPage::dispose()
{
    m_pWndLeft.clear();
    m_pWndCenter.clear();
    m_pWndRight.clear();
    m_pFtDefinedHF.clear();
    m_pLbDefined.clear();
    m_pFtCustomHF.clear();
    m_pBtnText.clear();
    m_pBtnFile.clear();
    m_pBtnTable.clear();
    m_pBtnPage.clear();
    m_pBtnLastPage.clear();
    m_pBtnDate.clear();
    m_pBtnTime.clear();
    m_pFtConfidential.clear();
    m_pFtPage.clear();
    m_pFtOfQuestion.clear();
    m_pFtOf.clear();
    m_pFtNone.clear();
    m_pFtCreatedBy.clear();
    m_pFtCustomized.clear();
    SfxTabPage::dispose();
}

void ScHFEditPage::SetNumType(SvxNumType eNumType)
diff --git a/sc/source/ui/pagedlg/tphf.cxx b/sc/source/ui/pagedlg/tphf.cxx
index 994067e..3f2bc30 100644
--- a/sc/source/ui/pagedlg/tphf.cxx
+++ b/sc/source/ui/pagedlg/tphf.cxx
@@ -78,6 +78,14 @@ ScHFPage::ScHFPage( vcl::Window* pParent, const SfxItemSet& rSet, sal_uInt16 nSe

ScHFPage::~ScHFPage()
{
    dispose();
}

void ScHFPage::dispose()
{
    m_pBtnEdit.clear();
    pStyleDlg.clear();
    SvxHFPage::dispose();
}

void ScHFPage::Reset( const SfxItemSet* rSet )
diff --git a/sc/source/ui/pagedlg/tptable.cxx b/sc/source/ui/pagedlg/tptable.cxx
index ed56d2e..80663da 100644
--- a/sc/source/ui/pagedlg/tptable.cxx
+++ b/sc/source/ui/pagedlg/tptable.cxx
@@ -125,6 +125,33 @@ void ScTablePage::ShowImage()

ScTablePage::~ScTablePage()
{
    dispose();
}

void ScTablePage::dispose()
{
    m_pBtnTopDown.clear();
    m_pBtnLeftRight.clear();
    m_pBmpPageDir.clear();
    m_pBtnPageNo.clear();
    m_pEdPageNo.clear();
    m_pBtnHeaders.clear();
    m_pBtnGrid.clear();
    m_pBtnNotes.clear();
    m_pBtnObjects.clear();
    m_pBtnCharts.clear();
    m_pBtnDrawings.clear();
    m_pBtnFormulas.clear();
    m_pBtnNullVals.clear();
    m_pLbScaleMode.clear();
    m_pBxScaleAll.clear();
    m_pEdScaleAll.clear();
    m_pGrHeightWidth.clear();
    m_pEdScalePageWidth.clear();
    m_pEdScalePageHeight.clear();
    m_pBxScalePageNum.clear();
    m_pEdScalePageNum.clear();
    SfxTabPage::dispose();
}

SfxTabPage* ScTablePage::Create( vcl::Window* pParent, const SfxItemSet* rCoreSet )
diff --git a/sc/source/ui/sidebar/AlignmentPropertyPanel.cxx b/sc/source/ui/sidebar/AlignmentPropertyPanel.cxx
index e10b538..2cacee3 100644
--- a/sc/source/ui/sidebar/AlignmentPropertyPanel.cxx
+++ b/sc/source/ui/sidebar/AlignmentPropertyPanel.cxx
@@ -68,6 +68,20 @@ AlignmentPropertyPanel::AlignmentPropertyPanel(

AlignmentPropertyPanel::~AlignmentPropertyPanel()
{
    dispose();
}

void AlignmentPropertyPanel::dispose()
{
    mpFTLeftIndent.clear();
    mpMFLeftIndent.clear();
    mpCBXWrapText.clear();
    mpCBXMergeCell.clear();
    mpFtRotate.clear();
    mpCtrlDial.clear();
    mpMtrAngle.clear();
    mpCbStacked.clear();
    PanelLayout::dispose();
}

void AlignmentPropertyPanel::Initialize()
diff --git a/sc/source/ui/sidebar/AlignmentPropertyPanel.hxx b/sc/source/ui/sidebar/AlignmentPropertyPanel.hxx
index 050c79d4..e41aab3 100644
--- a/sc/source/ui/sidebar/AlignmentPropertyPanel.hxx
+++ b/sc/source/ui/sidebar/AlignmentPropertyPanel.hxx
@@ -58,16 +58,19 @@ public:

    SfxBindings* GetBindings() { return mpBindings;}

    virtual ~AlignmentPropertyPanel();
    virtual void dispose() SAL_OVERRIDE;

private:
    //ui controls
    FixedText*                                  mpFTLeftIndent;
    MetricField*                                mpMFLeftIndent;
    CheckBox*                                   mpCBXWrapText;
    CheckBox*                                   mpCBXMergeCell;
    FixedText*                                  mpFtRotate;
    svx::sidebar::SidebarDialControl*           mpCtrlDial;
    MetricBox*                                  mpMtrAngle;
    CheckBox*                                   mpCbStacked;
    VclPtr<FixedText>                                  mpFTLeftIndent;
    VclPtr<MetricField>                                mpMFLeftIndent;
    VclPtr<CheckBox>                                   mpCBXWrapText;
    VclPtr<CheckBox>                                   mpCBXMergeCell;
    VclPtr<FixedText>                                  mpFtRotate;
    VclPtr<svx::sidebar::SidebarDialControl>           mpCtrlDial;
    VclPtr<MetricBox>                                  mpMtrAngle;
    VclPtr<CheckBox>                                   mpCbStacked;

    ::sfx2::sidebar::ControllerItem             maAlignHorControl;
    ::sfx2::sidebar::ControllerItem             maLeftIndentControl;
@@ -95,7 +98,6 @@ private:
        vcl::Window* pParent,
        const css::uno::Reference<css::frame::XFrame>& rxFrame,
        SfxBindings* pBindings);
    virtual ~AlignmentPropertyPanel();

    void Initialize();
    void FormatDegrees(double& dTmp);
diff --git a/sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx b/sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx
index af0bfe8..b79e4fb 100644
--- a/sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx
+++ b/sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx
@@ -142,6 +142,16 @@ CellAppearancePropertyPanel::CellAppearancePropertyPanel(

CellAppearancePropertyPanel::~CellAppearancePropertyPanel()
{
    dispose();
}

void CellAppearancePropertyPanel::dispose()
{
    mpTBCellBorder.clear();
    mpTBLineStyle.clear();
    mpTBLineColor.clear();
    mpCBXShowGrid.clear();
    PanelLayout::dispose();
}

void CellAppearancePropertyPanel::Initialize()
diff --git a/sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx b/sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx
index f8da7a5..d31b0e2 100644
--- a/sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx
+++ b/sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx
@@ -69,14 +69,17 @@ public:

    SfxBindings* GetBindings() { return mpBindings;}

    virtual ~CellAppearancePropertyPanel();
    virtual void dispose() SAL_OVERRIDE;

private:
    //ui controls

    ToolBox*                                mpTBCellBorder;
    ToolBox*                                mpTBLineStyle;
    ToolBox*                                mpTBLineColor;
    VclPtr<ToolBox>                                mpTBCellBorder;
    VclPtr<ToolBox>                                mpTBLineStyle;
    VclPtr<ToolBox>                                mpTBLineColor;
    ::boost::scoped_ptr< CellBorderUpdater > mpCellBorderUpdater;
    CheckBox*                               mpCBXShowGrid;
    VclPtr<CheckBox>                               mpCBXShowGrid;

    ::sfx2::sidebar::ControllerItem         maLineStyleControl;
    ::sfx2::sidebar::ControllerItem         maBorderOuterControl;
@@ -150,7 +153,6 @@ private:
        vcl::Window* pParent,
        const css::uno::Reference<css::frame::XFrame>& rxFrame,
        SfxBindings* pBindings);
    virtual ~CellAppearancePropertyPanel();

    void Initialize();
    void SetStyleIcon();
diff --git a/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx b/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx
index c37fc11..ba600e2 100644
--- a/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx
+++ b/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx
@@ -70,6 +70,18 @@ NumberFormatPropertyPanel::NumberFormatPropertyPanel(

NumberFormatPropertyPanel::~NumberFormatPropertyPanel()
{
    dispose();
}

void NumberFormatPropertyPanel::dispose()
{
    mpLbCategory.clear();
    mpTBCategory.clear();
    mpEdDecimals.clear();
    mpEdLeadZeroes.clear();
    mpBtnNegRed.clear();
    mpBtnThousand.clear();
    PanelLayout::dispose();
}

void NumberFormatPropertyPanel::Initialize()
diff --git a/sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx b/sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx
index 5fe5df1..8747f2d 100644
--- a/sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx
+++ b/sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx
@@ -56,14 +56,16 @@ public:

    SfxBindings* GetBindings() { return mpBindings;}

    virtual ~NumberFormatPropertyPanel();
    virtual void dispose() SAL_OVERRIDE;
private:
    //ui controls
    ListBox*                                mpLbCategory;
    ToolBox*                                mpTBCategory;
    NumericField*                           mpEdDecimals;
    NumericField*                           mpEdLeadZeroes;
    CheckBox*                               mpBtnNegRed;
    CheckBox*                               mpBtnThousand;
    VclPtr<ListBox>                                mpLbCategory;
    VclPtr<ToolBox>                                mpTBCategory;
    VclPtr<NumericField>                           mpEdDecimals;
    VclPtr<NumericField>                           mpEdLeadZeroes;
    VclPtr<CheckBox>                               mpBtnNegRed;
    VclPtr<CheckBox>                               mpBtnThousand;

    ::sfx2::sidebar::ControllerItem         maNumFormatControl;
    ::sfx2::sidebar::ControllerItem         maFormatControl;
@@ -83,7 +85,6 @@ private:
        vcl::Window* pParent,
        const css::uno::Reference<css::frame::XFrame>& rxFrame,
        SfxBindings* pBindings);
    virtual ~NumberFormatPropertyPanel();

    void Initialize();
};
diff --git a/sc/source/ui/vba/vbaeventshelper.cxx b/sc/source/ui/vba/vbaeventshelper.cxx
index 0c8eaf4..078060d 100644
--- a/sc/source/ui/vba/vbaeventshelper.cxx
+++ b/sc/source/ui/vba/vbaeventshelper.cxx
@@ -162,14 +162,14 @@ private:
    DECL_LINK( processWindowResizeEvent, vcl::Window* );

private:
    typedef ::std::map< vcl::Window*, uno::Reference< frame::XController > > WindowControllerMap;
    typedef ::std::map< VclPtr<vcl::Window>, uno::Reference< frame::XController > > WindowControllerMap;

    ::osl::Mutex        maMutex;
    ScVbaEventsHelper&  mrVbaEvents;
    uno::Reference< frame::XModel > mxModel;
    ScDocShell*         mpDocShell;
    WindowControllerMap maControllers;          /// Maps VCL top windows to their controllers.
    vcl::Window*             mpActiveWindow;         /// Currently activated window, to prevent multiple (de)activation.
    VclPtr<vcl::Window>            mpActiveWindow;         /// Currently activated window, to prevent multiple (de)activation.
    bool                mbWindowResized;        /// True = window resize system event processed.
    bool                mbBorderChanged;        /// True = borders changed system event processed.
    bool                mbDisposed;
@@ -274,7 +274,7 @@ void SAL_CALL ScVbaEventListener::windowActivated( const lang::EventObject& rEve
    {
        uno::Reference< awt::XWindow > xWindow( rEvent.Source, uno::UNO_QUERY );
        vcl::Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
        OSL_TRACE( "ScVbaEventListener::windowActivated - pWindow = 0x%p, mpActiveWindow = 0x%p", pWindow, mpActiveWindow );
        OSL_TRACE( "ScVbaEventListener::windowActivated - pWindow = 0x%p, mpActiveWindow = 0x%p", pWindow, mpActiveWindow.get() );
        // do not fire activation event multiple time for the same window
        if( pWindow && (pWindow != mpActiveWindow) )
        {
@@ -296,7 +296,7 @@ void SAL_CALL ScVbaEventListener::windowDeactivated( const lang::EventObject& rE
    {
        uno::Reference< awt::XWindow > xWindow( rEvent.Source, uno::UNO_QUERY );
        vcl::Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
        OSL_TRACE( "ScVbaEventListener::windowDeactivated - pWindow = 0x%p, mpActiveWindow = 0x%p", pWindow, mpActiveWindow );
        OSL_TRACE( "ScVbaEventListener::windowDeactivated - pWindow = 0x%p, mpActiveWindow = 0x%p", pWindow, mpActiveWindow.get() );
        // do not fire the deactivation event, if the window is not active (prevent multiple deactivation)
        if( pWindow && (pWindow == mpActiveWindow) )
            processWindowActivateEvent( pWindow, false );
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index ea3a10b..783c3ad 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -205,7 +205,7 @@ bool ScGridWindow::VisibleRange::set(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCRO
class ScFilterListBox : public ListBox
{
private:
    ScGridWindow*   pGridWin;
    VclPtr<ScGridWindow>   pGridWin;
    SCCOL           nCol;
    SCROW           nRow;
    bool            bButtonDown;
@@ -266,6 +266,7 @@ void ScFilterListBox::dispose()
{
    if (IsMouseCaptured())
        ReleaseMouse();
    pGridWin.clear();
    ListBox::dispose();
}

@@ -537,8 +538,8 @@ void ScGridWindow::dispose()
    // #114409#
    ImpDestroyOverlayObjects();

    delete pFilterBox;
    delete pFilterFloat;
    pFilterBox.clear();
    pFilterFloat.clear();
    delete pNoteMarker;
    vcl::Window::dispose();
}
@@ -554,8 +555,8 @@ void ScGridWindow::ClickExtern()
        {
            break;
        }
        mpFilterBox.reset();
        mpFilterFloat.reset();
        mpFilterBox.disposeAndClear();
        mpFilterFloat.disposeAndClear();
    }
    while (false);

@@ -631,7 +632,7 @@ struct AutoFilterData : public ScCheckListMenuWindow::ExtendedData

class AutoFilterAction : public ScMenuFloatingWindow::Action
{
    ScGridWindow* mpWindow;
    VclPtr<ScGridWindow> mpWindow;
    ScGridWindow::AutoFilterMode meMode;
public:
    AutoFilterAction(ScGridWindow* p, ScGridWindow::AutoFilterMode eMode) :
@@ -644,7 +645,7 @@ public:

class AutoFilterPopupEndAction : public ScMenuFloatingWindow::Action
{
    ScGridWindow* mpWindow;
    VclPtr<ScGridWindow> mpWindow;
    ScAddress maPos;
public:
    AutoFilterPopupEndAction(ScGridWindow* p, const ScAddress& rPos) :
@@ -952,8 +953,8 @@ void ScGridWindow::LaunchDPFieldMenu( SCCOL nCol, SCROW nRow )

void ScGridWindow::DoScenarioMenu( const ScRange& rScenRange )
{
    mpFilterBox.reset();
    mpFilterFloat.reset();
    mpFilterBox.disposeAndClear();
    mpFilterFloat.disposeAndClear();

    SCCOL nCol = rScenRange.aEnd.Col();     // Zelle unterhalb des Buttons
    SCROW nRow = rScenRange.aStart.Row();
@@ -1088,8 +1089,8 @@ void ScGridWindow::DoScenarioMenu( const ScRange& rScenRange )

void ScGridWindow::LaunchDataSelectMenu( SCCOL nCol, SCROW nRow, bool bDataSelect )
{
    mpFilterBox.reset();
    mpFilterFloat.reset();
    mpFilterBox.disposeAndClear();
    mpFilterFloat.disposeAndClear();

    sal_uInt16 i;
    ScDocument* pDoc = pViewData->GetDocument();
@@ -1324,8 +1325,8 @@ void ScGridWindow::LaunchDataSelectMenu( SCCOL nCol, SCROW nRow, bool bDataSelec

    if ( bEmpty )
    {
        mpFilterBox.reset();
        mpFilterFloat.reset();
        mpFilterBox.disposeAndClear();
        mpFilterFloat.disposeAndClear();
    }
    else
    {
diff --git a/sc/source/ui/view/gridwin2.cxx b/sc/source/ui/view/gridwin2.cxx
index 60b27ac..3200a0e 100644
--- a/sc/source/ui/view/gridwin2.cxx
+++ b/sc/source/ui/view/gridwin2.cxx
@@ -395,7 +395,7 @@ public:
        mpGridWindow->UpdateDPFromFieldPopupMenu();
    }
private:
    ScGridWindow* mpGridWindow;
    VclPtr<ScGridWindow> mpGridWindow;
};

class PopupSortAction : public ScMenuFloatingWindow::Action
diff --git a/sc/source/ui/view/prevwsh.cxx b/sc/source/ui/view/prevwsh.cxx
index 29398d4..d94b6f5 100644
--- a/sc/source/ui/view/prevwsh.cxx
+++ b/sc/source/ui/view/prevwsh.cxx
@@ -196,10 +196,10 @@ ScPreviewShell::~ScPreviewShell()
    EndListening(*pDocShell);

    SetWindow(0);
    delete pPreview;
    delete pHorScroll;
    delete pVerScroll;
    delete pCorner;
    pPreview.clear();
    pHorScroll.clear();
    pVerScroll.clear();
    pCorner.clear();

    //  normal mode of operation is switching back to default view in the same frame,
    //  so there's no need to activate any other window here anymore
diff --git a/sc/source/ui/view/reffact.cxx b/sc/source/ui/view/reffact.cxx
index d6a1258..c378987 100644
--- a/sc/source/ui/view/reffact.cxx
+++ b/sc/source/ui/view/reffact.cxx
@@ -187,42 +187,42 @@ void ScSimpleRefDlgWrapper::SetAutoReOpen(bool bFlag)

void ScSimpleRefDlgWrapper::SetRefString(const OUString& rStr)
{
    if(pWindow!=NULL)
    if(pWindow!=nullptr)
    {
        static_cast<ScSimpleRefDlg*>(pWindow)->SetRefString(rStr);
        static_cast<ScSimpleRefDlg*>(pWindow.get())->SetRefString(rStr);
    }
}

void ScSimpleRefDlgWrapper::SetCloseHdl( const Link& rLink )
{
    if(pWindow!=NULL)
    if(pWindow!=nullptr)
    {
        static_cast<ScSimpleRefDlg*>(pWindow)->SetCloseHdl( rLink );
        static_cast<ScSimpleRefDlg*>(pWindow.get())->SetCloseHdl( rLink );
    }
}

void ScSimpleRefDlgWrapper::SetUnoLinks( const Link& rDone,
                    const Link& rAbort, const Link& rChange )
{
    if(pWindow!=NULL)
    if(pWindow!=nullptr)
    {
        static_cast<ScSimpleRefDlg*>(pWindow)->SetUnoLinks( rDone, rAbort, rChange );
        static_cast<ScSimpleRefDlg*>(pWindow.get())->SetUnoLinks( rDone, rAbort, rChange );
    }
}

void ScSimpleRefDlgWrapper::SetFlags( bool bCloseOnButtonUp, bool bSingleCell, bool bMultiSelection )
{
    if(pWindow!=NULL)
    if(pWindow!=nullptr)
    {
        static_cast<ScSimpleRefDlg*>(pWindow)->SetFlags( bCloseOnButtonUp, bSingleCell, bMultiSelection );
        static_cast<ScSimpleRefDlg*>(pWindow.get())->SetFlags( bCloseOnButtonUp, bSingleCell, bMultiSelection );
    }
}

void ScSimpleRefDlgWrapper::StartRefInput()
{
    if(pWindow!=NULL)
    if(pWindow!=nullptr)
    {
        static_cast<ScSimpleRefDlg*>(pWindow)->StartRefInput();
        static_cast<ScSimpleRefDlg*>(pWindow.get())->StartRefInput();
    }
}

@@ -240,9 +240,9 @@ ScAcceptChgDlgWrapper::ScAcceptChgDlgWrapper(   vcl::Window* pParentP,
        pWindow = pViewShell ?
            new ScAcceptChgDlg( pBindings, this, pParentP, &pViewShell->GetViewData() ) :
            NULL;
        if(pWindow!=NULL)
        if(pWindow!=nullptr)
        {
            static_cast<ScAcceptChgDlg*>(pWindow)->Initialize( pInfo );
            static_cast<ScAcceptChgDlg*>(pWindow.get())->Initialize( pInfo );
        }
        if (pViewShell && !pWindow)
            pViewShell->GetViewFrame()->SetChildWindow( nId, false );
@@ -254,9 +254,9 @@ void ScAcceptChgDlgWrapper::ReInitDlg()
        PTR_CAST( ScTabViewShell, SfxViewShell::Current() );
    OSL_ENSURE( pViewShell, "missing view shell :-(" );

    if(pWindow!=NULL && pViewShell)
    if(pWindow!=nullptr && pViewShell)
    {
        static_cast<ScAcceptChgDlg*>(pWindow)->ReInit(&pViewShell->GetViewData());
        static_cast<ScAcceptChgDlg*>(pWindow.get())->ReInit(&pViewShell->GetViewData());
    }
}

@@ -289,7 +289,7 @@ ScValidityRefChildWin::ScValidityRefChildWin( vcl::Window*               pParent
{
    SetWantsFocus( false );
    ScTabViewShell* pViewShell =
        NULL != ( pWindow =  ScValidationDlg::Find1AliveObject( pParentP ) ) ? static_cast<ScValidationDlg*>(pWindow)->GetTabViewShell() :
        nullptr != ( pWindow = ScValidationDlg::Find1AliveObject( pParentP ) ) ? static_cast<ScValidationDlg*>(pWindow.get())->GetTabViewShell() :
        lcl_GetTabViewShell( p );
    if (!pViewShell)
        pViewShell = PTR_CAST( ScTabViewShell, SfxViewShell::Current() );
diff --git a/sc/source/ui/view/tabview.cxx b/sc/source/ui/view/tabview.cxx
index 9cf9fb3..57536ed 100644
--- a/sc/source/ui/view/tabview.cxx
+++ b/sc/source/ui/view/tabview.cxx
@@ -2229,7 +2229,7 @@ void ScTabView::EnableRefInput(bool bFlag)

    // ab hier dynamisch angelegte

    if(pTabControl!=NULL) pTabControl->EnableInput(bFlag,true);
    if(pTabControl!=nullptr) pTabControl->EnableInput(bFlag,true);

    if(pGridWin[SC_SPLIT_BOTTOMLEFT]!=NULL)
        pGridWin[SC_SPLIT_BOTTOMLEFT]->EnableInput(bFlag,false);
diff --git a/sc/source/ui/view/tabview5.cxx b/sc/source/ui/view/tabview5.cxx
index 19ff7e61..fd6a6c6 100644
--- a/sc/source/ui/view/tabview5.cxx
+++ b/sc/source/ui/view/tabview5.cxx
@@ -190,10 +190,9 @@ ScTabView::~ScTabView()
        delete pRowOutline[i];
    }

    delete pHSplitter;
    delete pVSplitter;

    delete pTabControl;
    pHSplitter.clear();
    pVSplitter.clear();
    pTabControl.clear();
}

void ScTabView::MakeDrawView( sal_uInt8 nForceDesignMode )
diff --git a/sc/source/ui/xmlsource/xmlsourcedlg.cxx b/sc/source/ui/xmlsource/xmlsourcedlg.cxx
index e789276..ef26087 100644
--- a/sc/source/ui/xmlsource/xmlsourcedlg.cxx
+++ b/sc/source/ui/xmlsource/xmlsourcedlg.cxx
@@ -115,9 +115,28 @@ ScXMLSourceDlg::ScXMLSourceDlg(
    mpBtnSelectSource->GrabFocus(); // Initial focus is on the select source button.
}

ScXMLSourceDlg::~ScXMLSourceDlg()
{
    dispose();
}

void ScXMLSourceDlg::dispose()
{
    mpBtnSelectSource.clear();
    mpFtSourceFile.clear();
    mpMapGrid.clear();
    mpLbTree.clear();
    mpRefEdit.clear();
    mpRefBtn.clear();
    mpBtnOk.clear();
    mpBtnCancel.clear();
    mpActiveEdit.clear();
    ScAnyRefDlg::dispose();
}

bool ScXMLSourceDlg::IsRefInputMode() const
{
    return mpActiveEdit != NULL && mpActiveEdit->IsEnabled();
    return mpActiveEdit != nullptr && mpActiveEdit->IsEnabled();
}

void ScXMLSourceDlg::SetReference(const ScRange& rRange, ScDocument* pDoc)
diff --git a/sd/inc/Outliner.hxx b/sd/inc/Outliner.hxx
index 4999b48..acd6dd9 100644
--- a/sd/inc/Outliner.hxx
+++ b/sd/inc/Outliner.hxx
@@ -190,7 +190,7 @@ private:
    */
    ::boost::weak_ptr<ViewShell> mpWeakViewShell;
    /// This window contains the view.
    ::sd::Window* mpWindow;
    VclPtr<::sd::Window> mpWindow;
    /// The document on whose objects and pages this class operates.
    SdDrawDocument* mpDrawDocument;

diff --git a/sd/source/filter/html/pubdlg.cxx b/sd/source/filter/html/pubdlg.cxx
index 4a36503..200e62b 100644
--- a/sd/source/filter/html/pubdlg.cxx
+++ b/sd/source/filter/html/pubdlg.cxx
@@ -347,12 +347,13 @@ SvStream& WriteSdPublishingDesign(SvStream& rOut, const SdPublishingDesign& rDes
class SdDesignNameDlg : public ModalDialog
{
private:
    Edit*           m_pEdit;
    OKButton*       m_pBtnOK;
    VclPtr<Edit>           m_pEdit;
    VclPtr<OKButton>       m_pBtnOK;

public:
    SdDesignNameDlg(vcl::Window* pWindow, const OUString& aName );

    virtual ~SdDesignNameDlg();
    virtual void dispose() SAL_OVERRIDE;
    OUString GetDesignName();
    DECL_LINK(ModifyHdl, void *);
};
@@ -483,8 +484,97 @@ SdPublishingDlg::SdPublishingDlg(vcl::Window* pWindow, DocumentType eDocType)

SdPublishingDlg::~SdPublishingDlg()
{
    dispose();
}

void SdPublishingDlg::dispose()
{
    pPage1.clear();
    pPage1_Titel.clear();
    pPage1_NewDesign.clear();
    pPage1_OldDesign.clear();
    pPage1_Designs.clear();
    pPage1_DelDesign.clear();
    pPage1_Desc.clear();
    pPage2.clear();
    pPage2Frame2.clear();
    pPage2Frame3.clear();
    pPage2Frame4.clear();
    pPage2_Titel.clear();
    pPage2_Standard.clear();
    pPage2_Frames.clear();
    pPage2_SingleDocument.clear();
    pPage2_Kiosk.clear();
    pPage2_WebCast.clear();
    pPage2_Standard_FB.clear();
    pPage2_Frames_FB.clear();
    pPage2_Kiosk_FB.clear();
    pPage2_WebCast_FB.clear();
    pPage2_Titel_Html.clear();
    pPage2_Content.clear();
    pPage2_Notes.clear();
    pPage2_Titel_WebCast.clear();
    pPage2_ASP.clear();
    pPage2_PERL.clear();
    pPage2_URL_txt.clear();
    pPage2_URL.clear();
    pPage2_CGI_txt.clear();
    pPage2_CGI.clear();
    pPage2_Index_txt.clear();
    pPage2_Index.clear();
    pPage2_Titel_Kiosk.clear();
    pPage2_ChgDefault.clear();
    pPage2_ChgAuto.clear();
    pPage2_Duration_txt.clear();
    pPage2_Duration.clear();
    pPage2_Endless.clear();
    pPage3.clear();
    pPage3_Titel1.clear();
    pPage3_Png.clear();
    pPage3_Gif.clear();
    pPage3_Jpg.clear();
    pPage3_Quality_txt.clear();
    pPage3_Quality.clear();
    pPage3_Titel2.clear();
    pPage3_Resolution_1.clear();
    pPage3_Resolution_2.clear();
    pPage3_Resolution_3.clear();
    pPage3_Titel3.clear();
    pPage3_SldSound.clear();
    pPage3_HiddenSlides.clear();
    pPage4.clear();
    pPage4_Titel1.clear();
    pPage4_Author_txt.clear();
    pPage4_Author.clear();
    pPage4_Email_txt.clear();
    pPage4_Email.clear();
    pPage4_WWW_txt.clear();
    pPage4_WWW.clear();
    pPage4_Titel2.clear();
    pPage4_Misc.clear();
    pPage4_Download.clear();
    pPage5.clear();
    pPage5_Titel.clear();
    pPage5_TextOnly.clear();
    pPage5_Buttons.clear();
    pPage6.clear();
    pPage6_Titel.clear();
    pPage6_Default.clear();
    pPage6_User.clear();
    pPage6_Back.clear();
    pPage6_Text.clear();
    pPage6_Link.clear();
    pPage6_VLink.clear();
    pPage6_ALink.clear();
    pPage6_DocColors.clear();
    pPage6_Preview.clear();
    pLastPageButton.clear();
    pNextPageButton.clear();
    pFinishButton.clear();
    ModalDialog::dispose();
}


// Generate dialog controls and embed them in the pages
void SdPublishingDlg::CreatePages()
{
@@ -1542,6 +1632,18 @@ SdDesignNameDlg::SdDesignNameDlg(vcl::Window* pWindow, const OUString& aName)
    m_pBtnOK->Enable(!aName.isEmpty());
}

SdDesignNameDlg::~SdDesignNameDlg()
{
    dispose();
}

void SdDesignNameDlg::dispose()
{
    m_pEdit.clear();
    m_pBtnOK.clear();
    ModalDialog::dispose();
}

OUString SdDesignNameDlg::GetDesignName()
{
    return m_pEdit->GetText();
diff --git a/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx b/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
index 8d04f48..dc6aa03 100644
--- a/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
+++ b/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
@@ -96,7 +96,7 @@ private:
    sal_Int32 mnFirstVisibleChild;
    sal_Int32 mnLastVisibleChild;
    bool mbListeningToDocument;
    vcl::Window* mpWindow;
    VclPtr<vcl::Window> mpWindow;
    sal_Int32 mnFocusedIndex;
    bool mbModelChangeLocked;
    ImplSVEvent * mnUpdateChildrenUserEventId;
@@ -221,7 +221,7 @@ Reference<XAccessible > SAL_CALL AccessibleSlideSorterView::getAccessibleParent 
    const SolarMutexGuard aSolarGuard;
    Reference<XAccessible> xParent;

    if (mpContentWindow != NULL)
    if (mpContentWindow != nullptr)
    {
        vcl::Window* pParent = mpContentWindow->GetAccessibleParentWindow();
        if (pParent != NULL)
@@ -302,7 +302,7 @@ Reference<XAccessibleStateSet > SAL_CALL
    pStateSet->AddState(AccessibleStateType::ACTIVE);
    pStateSet->AddState(AccessibleStateType::MULTI_SELECTABLE);
    pStateSet->AddState(AccessibleStateType::OPAQUE);
    if (mpContentWindow!=NULL)
    if (mpContentWindow!=nullptr)
    {
        if (mpContentWindow->IsVisible())
            pStateSet->AddState(AccessibleStateType::VISIBLE);
@@ -416,7 +416,7 @@ awt::Rectangle SAL_CALL AccessibleSlideSorterView::getBounds (void)
    const SolarMutexGuard aSolarGuard;
    awt::Rectangle aBBox;

    if (mpContentWindow != NULL)
    if (mpContentWindow != nullptr)
    {
        const Point aPosition (mpContentWindow->GetPosPixel());
        const Size aSize (mpContentWindow->GetOutputSizePixel());
@@ -436,7 +436,7 @@ awt::Point SAL_CALL AccessibleSlideSorterView::getLocation (void)
    ThrowIfDisposed();
    awt::Point aLocation;

    if (mpContentWindow != NULL)
    if (mpContentWindow != nullptr)
    {
        const Point aPosition (mpContentWindow->GetPosPixel());
        aLocation.X = aPosition.X();
@@ -478,7 +478,7 @@ awt::Size SAL_CALL AccessibleSlideSorterView::getSize (void)
    ThrowIfDisposed();
    awt::Size aSize;

    if (mpContentWindow != NULL)
    if (mpContentWindow != nullptr)
    {
        const Size aOutputSize (mpContentWindow->GetOutputSizePixel());
        aSize.Width = aOutputSize.Width();
@@ -813,7 +813,7 @@ void AccessibleSlideSorterView::Implementation::ConnectListeners (void)
        StartListening (*mrSlideSorter.GetViewShell());
    mbListeningToDocument = true;

    if (mpWindow != NULL)
    if (mpWindow != nullptr)
        mpWindow->AddEventListener(
            LINK(this,AccessibleSlideSorterView::Implementation,WindowEventListener));

@@ -834,7 +834,7 @@ void AccessibleSlideSorterView::Implementation::ReleaseListeners (void)
    mrSlideSorter.GetView().RemoveVisibilityChangeListener(
        LINK(this,AccessibleSlideSorterView::Implementation,VisibilityChangeListener));

    if (mpWindow != NULL)
    if (mpWindow != nullptr)
        mpWindow->RemoveEventListener(
            LINK(this,AccessibleSlideSorterView::Implementation,WindowEventListener));

diff --git a/sd/source/ui/animations/CustomAnimationCreateDialog.cxx b/sd/source/ui/animations/CustomAnimationCreateDialog.cxx
index 5e7c988..358ce07 100644
--- a/sd/source/ui/animations/CustomAnimationCreateDialog.cxx
+++ b/sd/source/ui/animations/CustomAnimationCreateDialog.cxx
@@ -165,6 +165,7 @@ class CustomAnimationCreateTabPage : public TabPage
public:
    CustomAnimationCreateTabPage( vcl::Window* pParent, CustomAnimationCreateDialog* pDialogParent, sal_uInt16 nTabId, const PresetCategoryList& rCategoryList, bool bHasText, bool bIsMotionPath = false );
    virtual ~CustomAnimationCreateTabPage();
    virtual void dispose() SAL_OVERRIDE;

    PathKind getCreatePathKind() const;
    CustomAnimationPresetPtr getSelectedPreset() const;
@@ -187,12 +188,12 @@ private:
    void clearEffects();

private:
    CategoryListBox*    mpLBEffects;
    FixedText*  mpFTSpeed;
    ListBox*    mpCBSpeed;
    CheckBox*   mpCBXPReview;
    VclPtr<CategoryListBox>    mpLBEffects;
    VclPtr<FixedText>  mpFTSpeed;
    VclPtr<ListBox>    mpCBSpeed;
    VclPtr<CheckBox>   mpCBXPReview;

    CustomAnimationCreateDialog*        mpParent;
    VclPtr<CustomAnimationCreateDialog>        mpParent;

    sal_uInt16 mnId;

@@ -296,7 +297,18 @@ CustomAnimationCreateTabPage::CustomAnimationCreateTabPage( vcl::Window* pParent

CustomAnimationCreateTabPage::~CustomAnimationCreateTabPage()
{
    dispose();
}

void CustomAnimationCreateTabPage::dispose()
{
    clearEffects();
    mpLBEffects.clear();
    mpFTSpeed.clear();
    mpCBSpeed.clear();
    mpCBXPReview.clear();
    mpParent.clear();
    TabPage::dispose();
}

IMPL_LINK( CustomAnimationCreateTabPage, implSelectHdl, Control*, pControl )
@@ -548,6 +560,8 @@ void CustomAnimationCreateDialog::dispose()
    delete mpTabPages[MOTIONPATH];
    delete mpTabPages[MISCEFFECTS];

    mpTabControl.clear();
    mpPane.clear();
    TabDialog::dispose();
}

diff --git a/sd/source/ui/animations/CustomAnimationCreateDialog.hxx b/sd/source/ui/animations/CustomAnimationCreateDialog.hxx
index 7ae2ec7..974b3f3 100644
--- a/sd/source/ui/animations/CustomAnimationCreateDialog.hxx
+++ b/sd/source/ui/animations/CustomAnimationCreateDialog.hxx
@@ -57,13 +57,13 @@ private:
    DECL_LINK(implDeactivatePagekHdl, void *);

private:
    CustomAnimationPane* mpPane;
    VclPtr<CustomAnimationPane> mpPane;
    const std::vector< ::com::sun::star::uno::Any >& mrTargets;

    double mfDuration;
    bool mbIsPreview;

    TabControl* mpTabControl;
    VclPtr<TabControl> mpTabControl;

    CustomAnimationCreateTabPage* mpTabPages[5];
    sal_uInt16 mnEntranceId, mnEmphasisId, mnExitId, mnMPathId, mnMiscId;
diff --git a/sd/source/ui/animations/CustomAnimationDialog.cxx b/sd/source/ui/animations/CustomAnimationDialog.cxx
index c5e3a2e..ce65a00 100644
--- a/sd/source/ui/animations/CustomAnimationDialog.cxx
+++ b/sd/source/ui/animations/CustomAnimationDialog.cxx
@@ -107,7 +107,7 @@ public:

private:
    std::map< sal_uInt16, OUString > maPropertyValues;
    ListBox* mpControl;
    VclPtr<ListBox> mpControl;
};

PresetPropertyBox::PresetPropertyBox( sal_Int32 nControlType, vcl::Window* pParent, const Any& rValue, const OUString& aPresetId, const Link& rModifyHdl )
@@ -159,7 +159,7 @@ void PresetPropertyBox::setValue( const Any& rValue, const OUString& rPresetId )

PresetPropertyBox::~PresetPropertyBox()
{
    delete mpControl;
    mpControl.clear();
}

Any PresetPropertyBox::getValue()
@@ -183,7 +183,7 @@ public:
    virtual Control* getControl() SAL_OVERRIDE;

private:
    ColorListBox* mpControl;
    VclPtr<ColorListBox> mpControl;
};

ColorPropertyBox::ColorPropertyBox( sal_Int32 nControlType, vcl::Window* pParent, const Any& rValue, const Link& rModifyHdl )
@@ -219,7 +219,7 @@ ColorPropertyBox::ColorPropertyBox( sal_Int32 nControlType, vcl::Window* pParent

ColorPropertyBox::~ColorPropertyBox()
{
    delete mpControl;
    mpControl.clear();
}

void ColorPropertyBox::setValue( const Any& rValue, const OUString& )
@@ -256,7 +256,7 @@ public:
    virtual Control* getControl() SAL_OVERRIDE;

private:
    FontNameBox* mpControl;
    VclPtr<FontNameBox> mpControl;
};

FontPropertyBox::FontPropertyBox( sal_Int32 nControlType, vcl::Window* pParent, const Any& rValue, const Link& rModifyHdl )
@@ -303,7 +303,7 @@ void FontPropertyBox::setValue( const Any& rValue, const OUString& )

FontPropertyBox::~FontPropertyBox()
{
    delete mpControl;
    mpControl.clear();
}

Any FontPropertyBox::getValue()
@@ -331,7 +331,7 @@ public:

private:
    VclPtr<Edit> mpSubControl;
    MenuButton*  mpDropdownButton;
    VclPtr<MenuButton>  mpDropdownButton;
    PopupMenu*   mpMenu;
};

@@ -356,8 +356,8 @@ DropdownMenuBox::~DropdownMenuBox()

void DropdownMenuBox::dispose()
{
    SetSubEdit(VclPtr<Edit>());
    delete mpDropdownButton;
    SetSubEdit(nullptr);
    mpDropdownButton.clear();
    delete mpMenu;
    mpSubControl.disposeAndClear();
    Edit::dispose();
@@ -412,7 +412,7 @@ public:
    DECL_LINK( implMenuSelectHdl, MenuButton* );

private:
    DropdownMenuBox* mpControl;
    VclPtr<DropdownMenuBox> mpControl;
    PopupMenu* mpMenu;
    VclPtr<MetricField> mpMetric;
};
@@ -437,7 +437,7 @@ CharHeightPropertyBox::CharHeightPropertyBox( sal_Int32 nControlType, vcl::Windo

CharHeightPropertyBox::~CharHeightPropertyBox()
{
    delete mpControl;
    mpControl.clear();
}

IMPL_LINK( CharHeightPropertyBox, implMenuSelectHdl, MenuButton*, pPb )
@@ -492,7 +492,7 @@ public:
    void updateMenu();

private:
    DropdownMenuBox* mpControl;
    VclPtr<DropdownMenuBox> mpControl;
    PopupMenu* mpMenu;
    VclPtr<MetricField> mpMetric;
    Link maModifyHdl;
@@ -528,7 +528,7 @@ TransparencyPropertyBox::TransparencyPropertyBox( sal_Int32 nControlType, vcl::W

TransparencyPropertyBox::~TransparencyPropertyBox()
{
    delete mpControl;
    mpControl.clear();
}

void TransparencyPropertyBox::updateMenu()
@@ -596,7 +596,7 @@ public:
    void updateMenu();

private:
    DropdownMenuBox* mpControl;
    VclPtr<DropdownMenuBox> mpControl;
    PopupMenu* mpMenu;
    VclPtr<MetricField> mpMetric;
    Link maModifyHdl;
@@ -626,7 +626,7 @@ RotationPropertyBox::RotationPropertyBox( sal_Int32 nControlType, vcl::Window* p

RotationPropertyBox::~RotationPropertyBox()
{
    delete mpControl;
    mpControl.clear();
}

void RotationPropertyBox::updateMenu()
@@ -721,7 +721,7 @@ public:
    void updateMenu();

private:
    DropdownMenuBox* mpControl;
    VclPtr<DropdownMenuBox> mpControl;
    PopupMenu* mpMenu;
    VclPtr<MetricField> mpMetric;
    Link maModifyHdl;
@@ -751,7 +751,7 @@ ScalePropertyBox::ScalePropertyBox( sal_Int32 nControlType, vcl::Window* pParent

ScalePropertyBox::~ScalePropertyBox()
{
    delete mpControl;
    mpControl.clear();
}

void ScalePropertyBox::updateMenu()
@@ -883,7 +883,7 @@ public:
    void update();

private:
    DropdownMenuBox* mpControl;
    VclPtr<DropdownMenuBox> mpControl;
    PopupMenu* mpMenu;
    VclPtr<Edit> mpEdit;
    Link maModifyHdl;
@@ -911,7 +911,7 @@ FontStylePropertyBox::FontStylePropertyBox( sal_Int32 nControlType, vcl::Window*

FontStylePropertyBox::~FontStylePropertyBox()
{
    delete mpControl;
    mpControl.clear();
}

void FontStylePropertyBox::update()
@@ -993,6 +993,7 @@ class CustomAnimationEffectTabPage : public TabPage
public:
    CustomAnimationEffectTabPage( vcl::Window* pParent, const STLPropertySet* pSet );
    virtual ~CustomAnimationEffectTabPage();
    virtual void dispose() SAL_OVERRIDE;

    void update( STLPropertySet* pSet );
    DECL_LINK( implSelectHdl, Control* );
@@ -1010,24 +1011,24 @@ private:
    bool mbHasText;
    const STLPropertySet* mpSet;

    VclFrame*       mpSettings;
    FixedText*      mpFTProperty1;
    PropertyControl* mpLBProperty1;
    VclHBox*        mpPlaceholderBox;
    CheckBox*       mpCBSmoothStart;
    CheckBox*       mpCBSmoothEnd;
    VclPtr<VclFrame>       mpSettings;
    VclPtr<FixedText>      mpFTProperty1;
    VclPtr<PropertyControl> mpLBProperty1;
    VclPtr<VclHBox>        mpPlaceholderBox;
    VclPtr<CheckBox>       mpCBSmoothStart;
    VclPtr<CheckBox>       mpCBSmoothEnd;

    FixedText*      mpFTSound;
    ListBox*        mpLBSound;
    PushButton*     mpPBSoundPreview;
    FixedText*      mpFTAfterEffect;
    ListBox*        mpLBAfterEffect;
    FixedText*      mpFTDimColor;
    ColorListBox*   mpCLBDimColor;
    FixedText*      mpFTTextAnim;
    ListBox*        mpLBTextAnim;
    MetricField*    mpMFTextDelay;
    FixedText*      mpFTTextDelay;
    VclPtr<FixedText>      mpFTSound;
    VclPtr<ListBox>        mpLBSound;
    VclPtr<PushButton>     mpPBSoundPreview;
    VclPtr<FixedText>      mpFTAfterEffect;
    VclPtr<ListBox>        mpLBAfterEffect;
    VclPtr<FixedText>      mpFTDimColor;
    VclPtr<ColorListBox>   mpCLBDimColor;
    VclPtr<FixedText>      mpFTTextAnim;
    VclPtr<ListBox>        mpLBTextAnim;
    VclPtr<MetricField>    mpMFTextDelay;
    VclPtr<FixedText>      mpFTTextDelay;

    ::com::sun::star::uno::Reference< ::com::sun::star::media::XPlayer > mxPlayer;
};
@@ -1262,7 +1263,30 @@ CustomAnimationEffectTabPage::CustomAnimationEffectTabPage( vcl::Window* pParent

CustomAnimationEffectTabPage::~CustomAnimationEffectTabPage()
{
    dispose();
}

void CustomAnimationEffectTabPage::dispose()
{
    clearSoundListBox();
    mpSettings.clear();
    mpFTProperty1.clear();
    mpLBProperty1.clear();
    mpPlaceholderBox.clear();
    mpCBSmoothStart.clear();
    mpCBSmoothEnd.clear();
    mpFTSound.clear();
    mpLBSound.clear();
    mpPBSoundPreview.clear();
    mpFTAfterEffect.clear();
    mpLBAfterEffect.clear();
    mpFTDimColor.clear();
    mpCLBDimColor.clear();
    mpFTTextAnim.clear();
    mpLBTextAnim.clear();
    mpMFTextDelay.clear();
    mpFTTextDelay.clear();
    TabPage::dispose();
}

void CustomAnimationEffectTabPage::updateControlStates()
@@ -1565,6 +1589,7 @@ class CustomAnimationDurationTabPage : public TabPage
public:
    CustomAnimationDurationTabPage( vcl::Window* pParent, const STLPropertySet* pSet );
    virtual ~CustomAnimationDurationTabPage();
    virtual void dispose() SAL_OVERRIDE;

    void update( STLPropertySet* pSet );

@@ -1573,18 +1598,18 @@ public:
private:
    const STLPropertySet* mpSet;

    FixedText* mpFTStart;
    ListBox* mpLBStart;
    FixedText* mpFTStartDelay;
    MetricField* mpMFStartDelay;
    FixedText* mpFTDuration;
    ListBox* mpCBDuration;
    FixedText* mpFTRepeat;
    ListBox* mpCBRepeat;
    CheckBox* mpCBXRewind;
    RadioButton* mpRBClickSequence;
    RadioButton* mpRBInteractive;
    ListBox* mpLBTrigger;
    VclPtr<FixedText> mpFTStart;
    VclPtr<ListBox> mpLBStart;
    VclPtr<FixedText> mpFTStartDelay;
    VclPtr<MetricField> mpMFStartDelay;
    VclPtr<FixedText> mpFTDuration;
    VclPtr<ListBox> mpCBDuration;
    VclPtr<FixedText> mpFTRepeat;
    VclPtr<ListBox> mpCBRepeat;
    VclPtr<CheckBox> mpCBXRewind;
    VclPtr<RadioButton> mpRBClickSequence;
    VclPtr<RadioButton> mpRBInteractive;
    VclPtr<ListBox> mpLBTrigger;
};

CustomAnimationDurationTabPage::CustomAnimationDurationTabPage(vcl::Window* pParent, const STLPropertySet* pSet)
@@ -1762,6 +1787,24 @@ CustomAnimationDurationTabPage::CustomAnimationDurationTabPage(vcl::Window* pPar

CustomAnimationDurationTabPage::~CustomAnimationDurationTabPage()
{
    dispose();
}

void CustomAnimationDurationTabPage::dispose()
{
    mpFTStart.clear();
    mpLBStart.clear();
    mpFTStartDelay.clear();
    mpMFStartDelay.clear();
    mpFTDuration.clear();
    mpCBDuration.clear();
    mpFTRepeat.clear();
    mpCBRepeat.clear();
    mpCBXRewind.clear();
    mpRBClickSequence.clear();
    mpRBInteractive.clear();
    mpLBTrigger.clear();
    TabPage::dispose();
}

IMPL_LINK( CustomAnimationDurationTabPage, implControlHdl, Control*, pControl )
@@ -1931,6 +1974,8 @@ class CustomAnimationTextAnimTabPage : public TabPage
{
public:
    CustomAnimationTextAnimTabPage( vcl::Window* pParent, const STLPropertySet* pSet );
    virtual ~CustomAnimationTextAnimTabPage();
    virtual void dispose() SAL_OVERRIDE;

    void update( STLPropertySet* pSet );

@@ -1938,12 +1983,12 @@ public:
    DECL_LINK(implSelectHdl, void *);

private:
    FixedText*   maFTGroupText;
    ListBox*     maLBGroupText;
    CheckBox*    maCBXGroupAuto;
    MetricField* maMFGroupAuto;
    CheckBox*    maCBXAnimateForm;
    CheckBox*    maCBXReverse;
    VclPtr<FixedText>   maFTGroupText;
    VclPtr<ListBox>     maLBGroupText;
    VclPtr<CheckBox>    maCBXGroupAuto;
    VclPtr<MetricField> maMFGroupAuto;
    VclPtr<CheckBox>    maCBXAnimateForm;
    VclPtr<CheckBox>    maCBXReverse;

    const STLPropertySet* mpSet;

@@ -2030,6 +2075,22 @@ CustomAnimationTextAnimTabPage::CustomAnimationTextAnimTabPage(vcl::Window* pPar
    updateControlStates();
}

CustomAnimationTextAnimTabPage::~CustomAnimationTextAnimTabPage()
{
    dispose();
}

void CustomAnimationTextAnimTabPage::dispose()
{
    maFTGroupText.clear();
    maLBGroupText.clear();
    maCBXGroupAuto.clear();
    maMFGroupAuto.clear();
    maCBXAnimateForm.clear();
    maCBXReverse.clear();
    TabPage::dispose();
}

void CustomAnimationTextAnimTabPage::update( STLPropertySet* pSet )
{
    sal_Int32 nPos = maLBGroupText->GetSelectEntryPos();
@@ -2151,13 +2212,14 @@ CustomAnimationDialog::~CustomAnimationDialog()

void CustomAnimationDialog::dispose()
{
    delete mpEffectTabPage;
    delete mpDurationTabPage;
    delete mpTextAnimTabPage;
    mpEffectTabPage.clear();
    mpDurationTabPage.clear();
    mpTextAnimTabPage.clear();

    delete mpSet;
    delete mpResultSet;

    mpTabControl.clear();
    TabDialog::dispose();
}

diff --git a/sd/source/ui/animations/CustomAnimationDialog.hxx b/sd/source/ui/animations/CustomAnimationDialog.hxx
index 897a229..3754d93 100644
--- a/sd/source/ui/animations/CustomAnimationDialog.hxx
+++ b/sd/source/ui/animations/CustomAnimationDialog.hxx
@@ -156,11 +156,11 @@ private:
    STLPropertySet* mpResultSet;

    CustomAnimationEffectPtr mpEffect;
    TabControl* mpTabControl;
    VclPtr<TabControl> mpTabControl;

    CustomAnimationDurationTabPage* mpDurationTabPage;
    CustomAnimationEffectTabPage* mpEffectTabPage;
    CustomAnimationTextAnimTabPage* mpTextAnimTabPage;
    VclPtr<CustomAnimationDurationTabPage> mpDurationTabPage;
    VclPtr<CustomAnimationEffectTabPage> mpEffectTabPage;
    VclPtr<CustomAnimationTextAnimTabPage> mpTextAnimTabPage;
};

}
diff --git a/sd/source/ui/animations/CustomAnimationList.cxx b/sd/source/ui/animations/CustomAnimationList.cxx
index 43f3c34..24bf4e8 100644
--- a/sd/source/ui/animations/CustomAnimationList.cxx
+++ b/sd/source/ui/animations/CustomAnimationList.cxx
@@ -210,7 +210,7 @@ public:
    virtual void Paint(
        const Point&, SvTreeListBox& rDev, const SvViewDataEntry* pView,const SvTreeListEntry* pEntry) SAL_OVERRIDE;
private:
    CustomAnimationList* mpParent;
    VclPtr<CustomAnimationList> mpParent;
    OUString        maDescription;
    CustomAnimationEffectPtr mpEffect;
};
diff --git a/sd/source/ui/animations/CustomAnimationPane.cxx b/sd/source/ui/animations/CustomAnimationPane.cxx
index c64a1f2..c83dc71 100644
--- a/sd/source/ui/animations/CustomAnimationPane.cxx
+++ b/sd/source/ui/animations/CustomAnimationPane.cxx
@@ -240,6 +240,23 @@ void CustomAnimationPane::dispose()
    for( aIter = aTags.begin(); aIter != aTags.end(); ++aIter )
        (*aIter)->Dispose();

    mpPBAddEffect.clear();
    mpPBChangeEffect.clear();
    mpPBRemoveEffect.clear();
    mpFTEffect.clear();
    mpFTStart.clear();
    mpLBStart.clear();
    mpFTProperty.clear();
    mpPlaceholderBox.clear();
    mpLBProperty.clear();
    mpPBPropertyMore.clear();
    mpFTSpeed.clear();
    mpCBSpeed.clear();
    mpCustomAnimationList.clear();
    mpPBMoveUp.clear();
    mpPBMoveDown.clear();
    mpPBPlay.clear();
    mpCBAutoPreview.clear();
    PanelLayout::dispose();
}

@@ -815,11 +832,11 @@ void CustomAnimationPane::UpdateLook (void)
        ::sfx2::sidebar::Theme::GetWallpaper(
            ::sfx2::sidebar::Theme::Paint_PanelBackground));
    SetBackground(aBackground);
    if (mpFTStart != NULL)
    if (mpFTStart != nullptr)
        mpFTStart->SetBackground(aBackground);
    if (mpFTProperty != NULL)
    if (mpFTProperty != nullptr)
        mpFTProperty->SetBackground(aBackground);
    if (mpFTSpeed != NULL)
    if (mpFTSpeed != nullptr)
        mpFTSpeed->SetBackground(aBackground);
}

diff --git a/sd/source/ui/animations/CustomAnimationPane.hxx b/sd/source/ui/animations/CustomAnimationPane.hxx
index bdf29dd..f1e75d3 100644
--- a/sd/source/ui/animations/CustomAnimationPane.hxx
+++ b/sd/source/ui/animations/CustomAnimationPane.hxx
@@ -126,23 +126,23 @@ private:

    const CustomAnimationPresets* mpCustomAnimationPresets;

    PushButton* mpPBAddEffect;
    PushButton* mpPBChangeEffect;
    PushButton* mpPBRemoveEffect;
    FixedText*  mpFTEffect;
    FixedText*  mpFTStart;
    ListBox*    mpLBStart;
    FixedText*  mpFTProperty;
    VclHBox*    mpPlaceholderBox;
    PropertyControl*    mpLBProperty;
    PushButton* mpPBPropertyMore;
    FixedText*  mpFTSpeed;
    ListBox*   mpCBSpeed;
    CustomAnimationList*    mpCustomAnimationList;
    PushButton* mpPBMoveUp;
    PushButton* mpPBMoveDown;
    PushButton* mpPBPlay;
    CheckBox*   mpCBAutoPreview;
    VclPtr<PushButton> mpPBAddEffect;
    VclPtr<PushButton> mpPBChangeEffect;
    VclPtr<PushButton> mpPBRemoveEffect;
    VclPtr<FixedText>  mpFTEffect;
    VclPtr<FixedText>  mpFTStart;
    VclPtr<ListBox>    mpLBStart;
    VclPtr<FixedText>  mpFTProperty;
    VclPtr<VclHBox>    mpPlaceholderBox;
    VclPtr<PropertyControl>    mpLBProperty;
    VclPtr<PushButton> mpPBPropertyMore;
    VclPtr<FixedText>  mpFTSpeed;
    VclPtr<ListBox>   mpCBSpeed;
    VclPtr<CustomAnimationList>    mpCustomAnimationList;
    VclPtr<PushButton> mpPBMoveUp;
    VclPtr<PushButton> mpPBMoveDown;
    VclPtr<PushButton> mpPBPlay;
    VclPtr<CheckBox>   mpCBAutoPreview;

    OUString    maStrModify;
    OUString    maStrProperty;
diff --git a/sd/source/ui/animations/SlideTransitionPane.cxx b/sd/source/ui/animations/SlideTransitionPane.cxx
index 5d5682b..ce7e187 100644
--- a/sd/source/ui/animations/SlideTransitionPane.cxx
+++ b/sd/source/ui/animations/SlideTransitionPane.cxx
@@ -386,7 +386,7 @@ struct lcl_AppendSoundToListBox : public ::std::unary_function< OUString, void >
    }

private:
    ListBox*  mrListBox;
    VclPtr<ListBox>  mrListBox;
};

void lcl_FillSoundListBox(
@@ -490,6 +490,19 @@ void SlideTransitionPane::dispose()
{
    maLateInitTimer.Stop();
    removeListener();
    mpLB_SLIDE_TRANSITIONS.clear();
    mpFT_SPEED.clear();
    mpLB_SPEED.clear();
    mpFT_SOUND.clear();
    mpLB_SOUND.clear();
    mpCB_LOOP_SOUND.clear();
    mpRB_ADVANCE_ON_MOUSE.clear();
    mpRB_ADVANCE_AUTO.clear();
    mpMF_ADVANCE_AUTO_AFTER.clear();
    mpPB_APPLY_TO_ALL.clear();
    mpPB_PLAY.clear();
    mpPB_SLIDE_SHOW.clear();
    mpCB_AUTO_PREVIEW.clear();
    PanelLayout::dispose();
}

diff --git a/sd/source/ui/animations/SlideTransitionPane.hxx b/sd/source/ui/animations/SlideTransitionPane.hxx
index 1cf2254..00642e6 100644
--- a/sd/source/ui/animations/SlideTransitionPane.hxx
+++ b/sd/source/ui/animations/SlideTransitionPane.hxx
@@ -105,19 +105,19 @@ private:
    SdDrawDocument *  mpDrawDoc;
    Size              maMinSize;

    ListBox*      mpLB_SLIDE_TRANSITIONS;
    FixedText*    mpFT_SPEED;
    ListBox*      mpLB_SPEED;
    FixedText*    mpFT_SOUND;
    ListBox*      mpLB_SOUND;
    CheckBox*     mpCB_LOOP_SOUND;
    RadioButton*  mpRB_ADVANCE_ON_MOUSE;
    RadioButton*  mpRB_ADVANCE_AUTO;
    MetricField*  mpMF_ADVANCE_AUTO_AFTER;
    PushButton*   mpPB_APPLY_TO_ALL;
    PushButton*   mpPB_PLAY;
    PushButton*   mpPB_SLIDE_SHOW;
    CheckBox*     mpCB_AUTO_PREVIEW;
    VclPtr<ListBox>      mpLB_SLIDE_TRANSITIONS;
    VclPtr<FixedText>    mpFT_SPEED;
    VclPtr<ListBox>      mpLB_SPEED;
    VclPtr<FixedText>    mpFT_SOUND;
    VclPtr<ListBox>      mpLB_SOUND;
    VclPtr<CheckBox>     mpCB_LOOP_SOUND;
    VclPtr<RadioButton>  mpRB_ADVANCE_ON_MOUSE;
    VclPtr<RadioButton>  mpRB_ADVANCE_AUTO;
    VclPtr<MetricField>  mpMF_ADVANCE_AUTO_AFTER;
    VclPtr<PushButton>   mpPB_APPLY_TO_ALL;
    VclPtr<PushButton>   mpPB_PLAY;
    VclPtr<PushButton>   mpPB_SLIDE_SHOW;
    VclPtr<CheckBox>     mpCB_AUTO_PREVIEW;

    ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawView >             mxView;
    ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >                  mxModel;
diff --git a/sd/source/ui/annotations/annotationtag.hxx b/sd/source/ui/annotations/annotationtag.hxx
index 96085f2..3464527 100644
--- a/sd/source/ui/annotations/annotationtag.hxx
+++ b/sd/source/ui/annotations/annotationtag.hxx
@@ -85,7 +85,7 @@ private:
    const ::vcl::Font&                              mrFont;
    Size                                            maSize;
    ImplSVEvent *                                   mnClosePopupEvent;
    vcl::Window*                                       mpListenWindow;
    VclPtr<vcl::Window>                             mpListenWindow;
    Point                                           maMouseDownPos;
};

diff --git a/sd/source/ui/annotations/annotationwindow.cxx b/sd/source/ui/annotations/annotationwindow.cxx
index 491142f..f17151d 100644
--- a/sd/source/ui/annotations/annotationwindow.cxx
+++ b/sd/source/ui/annotations/annotationwindow.cxx
@@ -118,6 +118,13 @@ AnnotationTextWindow::AnnotationTextWindow( AnnotationWindow* pParent, WinBits n

AnnotationTextWindow::~AnnotationTextWindow()
{
    dispose();
}

void AnnotationTextWindow::dispose()
{
    mpAnnotationWindow.clear();
    Control::dispose();
}

void AnnotationTextWindow::Paint( const Rectangle& rRect)
@@ -289,11 +296,11 @@ AnnotationWindow::~AnnotationWindow()

void AnnotationWindow::dispose()
{
    delete mpMeta;
    mpMeta.clear();
    delete mpOutlinerView;
    delete mpOutliner;
    delete mpVScrollbar;
    delete mpTextWindow;
    mpVScrollbar.clear();
    mpTextWindow.clear();
    FloatingWindow::dispose();
}

diff --git a/sd/source/ui/annotations/annotationwindow.hxx b/sd/source/ui/annotations/annotationwindow.hxx
index a29ca42..54334b1 100644
--- a/sd/source/ui/annotations/annotationwindow.hxx
+++ b/sd/source/ui/annotations/annotationwindow.hxx
@@ -50,7 +50,7 @@ class AnnotationTextWindow : public Control
{
private:
    OutlinerView*       mpOutlinerView;
    AnnotationWindow*   mpAnnotationWindow;
    VclPtr<AnnotationWindow>   mpAnnotationWindow;

protected:
    virtual void    Paint( const Rectangle& rRect) SAL_OVERRIDE;
@@ -64,6 +64,7 @@ protected:
public:
    AnnotationTextWindow( AnnotationWindow* pParent, WinBits nBits );
    virtual ~AnnotationTextWindow();
    virtual void dispose() SAL_OVERRIDE;

    void SetOutlinerView( OutlinerView* pOutlinerView ) { mpOutlinerView = pOutlinerView; }

@@ -83,13 +84,13 @@ class AnnotationWindow : public FloatingWindow

        OutlinerView*           mpOutlinerView;
        Outliner*               mpOutliner;
        ScrollBar*              mpVScrollbar;
        VclPtr<ScrollBar>              mpVScrollbar;
        ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotation > mxAnnotation;
        bool                    mbReadonly;
        bool                    mbProtected;
        bool                    mbMouseOverButton;
        AnnotationTextWindow*   mpTextWindow;
        MultiLineEdit*          mpMeta;
        VclPtr<AnnotationTextWindow>   mpTextWindow;
        VclPtr<MultiLineEdit>          mpMeta;
        Rectangle               maRectMetaButton;
        basegfx::B2DPolygon     maPopupTriangle;

diff --git a/sd/source/ui/controller/slidelayoutcontroller.cxx b/sd/source/ui/controller/slidelayoutcontroller.cxx
index 7c8d02a..53a7d6d 100644
--- a/sd/source/ui/controller/slidelayoutcontroller.cxx
+++ b/sd/source/ui/controller/slidelayoutcontroller.cxx
@@ -67,6 +67,7 @@ class LayoutToolbarMenu : public svtools::ToolbarMenu
public:
    LayoutToolbarMenu( SlideLayoutController& rController, const Reference< XFrame >& xFrame, vcl::Window* pParent, const bool bInsertPage );
    virtual ~LayoutToolbarMenu();
    virtual void dispose() SAL_OVERRIDE;

protected:
    DECL_LINK( SelectHdl, void * );
@@ -75,8 +76,8 @@ private:
    SlideLayoutController& mrController;
    Reference< XFrame > mxFrame;
    bool mbInsertPage;
    ValueSet* mpLayoutSet1;
    ValueSet* mpLayoutSet2;
    VclPtr<ValueSet> mpLayoutSet1;
    VclPtr<ValueSet> mpLayoutSet2;
};

struct snewfoil_value_info
@@ -256,6 +257,14 @@ LayoutToolbarMenu::LayoutToolbarMenu( SlideLayoutController& rController, const 

LayoutToolbarMenu::~LayoutToolbarMenu()
{
    dispose();
}

void LayoutToolbarMenu::dispose()
{
    mpLayoutSet1.clear();
    mpLayoutSet2.clear();
    svtools::ToolbarMenu::dispose();
}

IMPL_LINK( LayoutToolbarMenu, SelectHdl, void *, pControl )
diff --git a/sd/source/ui/dlg/PaneChildWindows.cxx b/sd/source/ui/dlg/PaneChildWindows.cxx
index 1590846..26606bc 100644
--- a/sd/source/ui/dlg/PaneChildWindows.cxx
+++ b/sd/source/ui/dlg/PaneChildWindows.cxx
@@ -62,7 +62,7 @@ PaneChildWindow::PaneChildWindow (
        pParentWindow,
        SD_RESSTR(nTitleBarResId));
    eChildAlignment = eAlignment;
    static_cast<SfxDockingWindow*>(pWindow)->Initialize(pInfo);
    static_cast<SfxDockingWindow*>(pWindow.get())->Initialize(pInfo);
    SetHideNotDelete(true);

    ViewShellBase* pBase = ViewShellBase::GetViewShellBase(pBindings->GetDispatcher()->GetFrame());
@@ -75,7 +75,7 @@ PaneChildWindow::PaneChildWindow (
PaneChildWindow::~PaneChildWindow (void)
{
    ViewShellBase* pBase = NULL;
    PaneDockingWindow* pDockingWindow = dynamic_cast<PaneDockingWindow*>(pWindow);
    PaneDockingWindow* pDockingWindow = dynamic_cast<PaneDockingWindow*>(pWindow.get());
    if (pDockingWindow != NULL)
        pBase = ViewShellBase::GetViewShellBase(
            pDockingWindow->GetBindings().GetDispatcher()->GetFrame());
diff --git a/sd/source/ui/dlg/PhotoAlbumDialog.cxx b/sd/source/ui/dlg/PhotoAlbumDialog.cxx
index 4d75e6c8..5a81ddc 100644
--- a/sd/source/ui/dlg/PhotoAlbumDialog.cxx
+++ b/sd/source/ui/dlg/PhotoAlbumDialog.cxx
@@ -76,6 +76,23 @@ SdPhotoAlbumDialog::SdPhotoAlbumDialog(vcl::Window* pWindow, SdDrawDocument* pAc

SdPhotoAlbumDialog::~SdPhotoAlbumDialog()
{
    dispose();
}

void SdPhotoAlbumDialog::dispose()
{
    pCancelBtn.clear();
    pCreateBtn.clear();
    pAddBtn.clear();
    pUpBtn.clear();
    pDownBtn.clear();
    pRemoveBtn.clear();
    pImagesLst.clear();
    pImg.clear();
    pInsTypeCombo.clear();
    pASRCheck.clear();
    pCapCheck.clear();
    ModalDialog::dispose();
}

IMPL_LINK_NOARG(SdPhotoAlbumDialog, CancelHdl)
diff --git a/sd/source/ui/dlg/PhotoAlbumDialog.hxx b/sd/source/ui/dlg/PhotoAlbumDialog.hxx
index c7d12e4..44b1f5c 100644
--- a/sd/source/ui/dlg/PhotoAlbumDialog.hxx
+++ b/sd/source/ui/dlg/PhotoAlbumDialog.hxx
@@ -46,25 +46,27 @@ class SdPhotoAlbumDialog : public ModalDialog
public:
    SdPhotoAlbumDialog(vcl::Window* pWindow, SdDrawDocument* pActDoc);
    virtual ~SdPhotoAlbumDialog();
    virtual void dispose() SAL_OVERRIDE;

    virtual short Execute() SAL_OVERRIDE;

private:
    static OUString sDirUrl;
    CancelButton*   pCancelBtn;
    PushButton*     pCreateBtn;
    VclPtr<CancelButton>   pCancelBtn;
    VclPtr<PushButton>     pCreateBtn;

    PushButton*     pAddBtn;
    PushButton*     pUpBtn;
    PushButton*     pDownBtn;
    PushButton*     pRemoveBtn;
    VclPtr<PushButton>     pAddBtn;
    VclPtr<PushButton>     pUpBtn;
    VclPtr<PushButton>     pDownBtn;
    VclPtr<PushButton>     pRemoveBtn;

    ListBox*        pImagesLst;
    FixedImage*     pImg;
    VclPtr<ListBox>        pImagesLst;
    VclPtr<FixedImage>     pImg;

    ListBox*    pInsTypeCombo;
    CheckBox*   pASRCheck;
    CheckBox*   pCapCheck;
    VclPtr<ListBox>    pInsTypeCombo;
    VclPtr<CheckBox>   pASRCheck;
    VclPtr<CheckBox>   pCapCheck;

    SdDrawDocument* pDoc;
    GraphicFilter* mpGraphicFilter;

diff --git a/sd/source/ui/dlg/RemoteDialog.cxx b/sd/source/ui/dlg/RemoteDialog.cxx
index f9cd67c..625cc04 100644
--- a/sd/source/ui/dlg/RemoteDialog.cxx
+++ b/sd/source/ui/dlg/RemoteDialog.cxx
@@ -30,6 +30,19 @@ RemoteDialog::RemoteDialog( vcl::Window *pWindow )
    m_pButtonClose->SetClickHdl( LINK( this, RemoteDialog, CloseHdl ) );
}

RemoteDialog::~RemoteDialog()
{
    dispose();
}

void RemoteDialog::dispose()
{
    m_pButtonConnect.clear();
    m_pButtonClose.clear();
    m_pClientBox.clear();
    ModalDialog::dispose();
}

IMPL_LINK_NOARG(RemoteDialog, HandleConnectButton)
{
//     setBusy( true );
diff --git a/sd/source/ui/dlg/RemoteDialog.hxx b/sd/source/ui/dlg/RemoteDialog.hxx
index 7334c4b..3c936eb 100644
--- a/sd/source/ui/dlg/RemoteDialog.hxx
+++ b/sd/source/ui/dlg/RemoteDialog.hxx
@@ -24,14 +24,16 @@ namespace sd
class RemoteDialog : public ModalDialog
{
private:
    PushButton*     m_pButtonConnect;
    CloseButton*    m_pButtonClose;
    ClientBox*      m_pClientBox;
    VclPtr<PushButton>     m_pButtonConnect;
    VclPtr<CloseButton>    m_pButtonClose;
    VclPtr<ClientBox>      m_pClientBox;

    DECL_DLLPRIVATE_LINK( HandleConnectButton, void * );
    DECL_LINK( CloseHdl, void * );
public:
    RemoteDialog( vcl::Window* pWindow );
    virtual ~RemoteDialog();
    virtual void dispose() SAL_OVERRIDE;
};

}
diff --git a/sd/source/ui/dlg/RemoteDialogClientBox.hxx b/sd/source/ui/dlg/RemoteDialogClientBox.hxx
index c40ac96..63bf2db 100644
--- a/sd/source/ui/dlg/RemoteDialogClientBox.hxx
+++ b/sd/source/ui/dlg/RemoteDialogClientBox.hxx
@@ -69,7 +69,7 @@ class ClientBox;

class ClientRemovedListener : public ::cppu::WeakImplHelper1< ::com::sun::star::lang::XEventListener >
{
    ClientBox   *m_pParent;
    VclPtr<ClientBox>   m_pParent;

public:

diff --git a/sd/source/ui/dlg/animobjs.cxx b/sd/source/ui/dlg/animobjs.cxx
index a84cfd9..c7bba27 100644
--- a/sd/source/ui/dlg/animobjs.cxx
+++ b/sd/source/ui/dlg/animobjs.cxx
@@ -224,8 +224,26 @@ void AnimationWindow::dispose()
    // delete the clones
    delete pMyDoc;

    delete m_pCtlDisplay;

    m_pCtlDisplay.clear();
    m_pBtnFirst.clear();
    m_pBtnReverse.clear();
    m_pBtnStop.clear();
    m_pBtnPlay.clear();
    m_pBtnLast.clear();
    m_pNumFldBitmap.clear();
    m_pTimeField.clear();
    m_pLbLoopCount.clear();
    m_pBtnGetOneObject.clear();
    m_pBtnGetAllObjects.clear();
    m_pBtnRemoveBitmap.clear();
    m_pBtnRemoveAll.clear();
    m_pFiCount.clear();
    m_pRbtGroup.clear();
    m_pRbtBitmap.clear();
    m_pFtAdjustment.clear();
    m_pLbAdjustment.clear();
    m_pBtnCreateGroup.clear();
    pWin.clear();
    SfxDockingWindow::dispose();
}

diff --git a/sd/source/ui/dlg/brkdlg.cxx b/sd/source/ui/dlg/brkdlg.cxx
index 92c83ea..bd6cad5 100644
--- a/sd/source/ui/dlg/brkdlg.cxx
+++ b/sd/source/ui/dlg/brkdlg.cxx
@@ -72,8 +72,10 @@ BreakDlg::~BreakDlg()

void BreakDlg::dispose()
{
    delete mpProgress;
    delete pProgrInfo;
    m_pFiObjInfo.clear();
    m_pFiActInfo.clear();
    m_pFiInsInfo.clear();
    m_pBtnCancel.clear();
    SfxModalDialog::dispose();
}

diff --git a/sd/source/ui/dlg/copydlg.cxx b/sd/source/ui/dlg/copydlg.cxx
index a66d6a0..7fcd278 100644
--- a/sd/source/ui/dlg/copydlg.cxx
+++ b/sd/source/ui/dlg/copydlg.cxx
@@ -89,31 +89,17 @@ CopyDlg::~CopyDlg()

void CopyDlg::dispose()
{
    OUString& rStr = GetExtraData();

    rStr = OUString::number(m_pNumFldCopies->GetValue());
    rStr += OUString(TOKEN);

    rStr += OUString::number(m_pMtrFldMoveX->GetValue());
    rStr += OUString( TOKEN );

    rStr += OUString::number(m_pMtrFldMoveY->GetValue());
    rStr += OUString( TOKEN );

    rStr += OUString::number(m_pMtrFldAngle->GetValue());
    rStr += OUString( TOKEN );

    rStr += OUString::number(m_pMtrFldWidth->GetValue());
    rStr += OUString( TOKEN );

    rStr += OUString::number(m_pMtrFldHeight->GetValue());
    rStr += OUString( TOKEN );

    rStr += OUString::number( m_pLbStartColor->GetSelectEntryColor().GetColor() );
    rStr += OUString( TOKEN );

    rStr += OUString::number( m_pLbEndColor->GetSelectEntryColor().GetColor() );

    m_pNumFldCopies.clear();
    m_pBtnSetViewData.clear();
    m_pMtrFldMoveX.clear();
    m_pMtrFldMoveY.clear();
    m_pMtrFldAngle.clear();
    m_pMtrFldWidth.clear();
    m_pMtrFldHeight.clear();
    m_pLbStartColor.clear();
    m_pFtEndColor.clear();
    m_pLbEndColor.clear();
    m_pBtnSetDefault.clear();
    SfxModalDialog::dispose();
}

diff --git a/sd/source/ui/dlg/custsdlg.cxx b/sd/source/ui/dlg/custsdlg.cxx
index 8cfd56d..95132d4 100644
--- a/sd/source/ui/dlg/custsdlg.cxx
+++ b/sd/source/ui/dlg/custsdlg.cxx
@@ -85,6 +85,21 @@ SdCustomShowDlg::SdCustomShowDlg( vcl::Window* pWindow,

SdCustomShowDlg::~SdCustomShowDlg()
{
    dispose();
}

void SdCustomShowDlg::dispose()
{
    m_pLbCustomShows.clear();
    m_pCbxUseCustomShow.clear();
    m_pBtnNew.clear();
    m_pBtnEdit.clear();
    m_pBtnRemove.clear();
    m_pBtnCopy.clear();
    m_pBtnHelp.clear();
    m_pBtnStartShow.clear();
    m_pBtnOK.clear();
    ModalDialog::dispose();
}

void SdCustomShowDlg::CheckState()
@@ -336,6 +351,20 @@ SdDefineCustomShowDlg::SdDefineCustomShowDlg( vcl::Window* pWindow,

SdDefineCustomShowDlg::~SdDefineCustomShowDlg()
{
    dispose();
}

void SdDefineCustomShowDlg::dispose()
{
    m_pEdtName.clear();
    m_pLbPages.clear();
    m_pBtnAdd.clear();
    m_pBtnRemove.clear();
    m_pLbCustomPages.clear();
    m_pBtnOK.clear();
    m_pBtnCancel.clear();
    m_pBtnHelp.clear();
    ModalDialog::dispose();
}

// CheckState
diff --git a/sd/source/ui/dlg/dlgass.cxx b/sd/source/ui/dlg/dlgass.cxx
index 757028a..bec74ca9 100644
--- a/sd/source/ui/dlg/dlgass.cxx
+++ b/sd/source/ui/dlg/dlgass.cxx
@@ -101,8 +101,8 @@ public:
    void Enable (bool bEnable);

private:
    PushButton* mpNextButton1;
    PushButton* mpNextButton2;
    VclPtr<PushButton> mpNextButton1;
    VclPtr<PushButton> mpNextButton2;
    bool mbIsFirstButtonActive;
};

@@ -160,7 +160,7 @@ public:
    */
    bool mbPreviewUpdating;

    vcl::Window* mpWindow;
    VclPtr<vcl::Window> mpWindow;

    void SavePassword( SfxObjectShellLock xDoc, const OUString& rPath );
    void RestorePassword( SfxItemSet* pSet, const OUString& rPath );
@@ -247,74 +247,74 @@ public:

    // Common
    Assistent           maAssistentFunc;
    CheckBox*           mpPreviewFlag;
    CheckBox*           mpStartWithFlag;
    PushButton*         mpLastPageButton;
    NextButton*         mpNextPageButton;
    PushButton*         mpFinishButton;
    SdDocPreviewWin*    mpPreview;
    VclContainer*       mpPage1235;
    VclPtr<CheckBox>           mpPreviewFlag;
    VclPtr<CheckBox>           mpStartWithFlag;
    VclPtr<PushButton>         mpLastPageButton;
    NextButton*                mpNextPageButton;
    VclPtr<PushButton>         mpFinishButton;
    VclPtr<SdDocPreviewWin>    mpPreview;
    VclPtr<VclContainer>       mpPage1235;

    // page 1
    VclContainer*       mpPage1;
    FixedImage*         mpPage1FB;
    FixedText*          mpPage1ArtFL;
    RadioButton*        mpPage1EmptyRB;
    RadioButton*        mpPage1TemplateRB;
    ListBox*            mpPage1RegionLB;
    ListBox*            mpPage1TemplateLB;
    RadioButton*        mpPage1OpenRB;
    ListBox*            mpPage1OpenLB;
    PushButton*         mpPage1OpenPB;
    VclPtr<VclContainer>       mpPage1;
    VclPtr<FixedImage>         mpPage1FB;
    VclPtr<FixedText>          mpPage1ArtFL;
    VclPtr<RadioButton>        mpPage1EmptyRB;
    VclPtr<RadioButton>        mpPage1TemplateRB;
    VclPtr<ListBox>            mpPage1RegionLB;
    VclPtr<ListBox>            mpPage1TemplateLB;
    VclPtr<RadioButton>        mpPage1OpenRB;
    VclPtr<ListBox>            mpPage1OpenLB;
    VclPtr<PushButton>         mpPage1OpenPB;

    // page 2
    VclContainer*       mpPage2;
    FixedImage*         mpPage2FB;
    FixedText*          mpPage2LayoutFL;
    ListBox*            mpPage2RegionLB;
    ListBox*            mpPage2LayoutLB;
    FixedText*          mpPage2OutTypesFL;
    RadioButton*        mpPage2Medium1RB;
    RadioButton*        mpPage2Medium2RB;
    RadioButton*        mpPage2Medium3RB;
    RadioButton*        mpPage2Medium4RB;
    RadioButton*        mpPage2Medium5RB;
    RadioButton*        mpPage2Medium6RB;
    VclPtr<VclContainer>       mpPage2;
    VclPtr<FixedImage>         mpPage2FB;
    VclPtr<FixedText>          mpPage2LayoutFL;
    VclPtr<ListBox>            mpPage2RegionLB;
    VclPtr<ListBox>            mpPage2LayoutLB;
    VclPtr<FixedText>          mpPage2OutTypesFL;
    VclPtr<RadioButton>        mpPage2Medium1RB;
    VclPtr<RadioButton>        mpPage2Medium2RB;
    VclPtr<RadioButton>        mpPage2Medium3RB;
    VclPtr<RadioButton>        mpPage2Medium4RB;
    VclPtr<RadioButton>        mpPage2Medium5RB;
    VclPtr<RadioButton>        mpPage2Medium6RB;

    // page 3
    VclContainer*       mpPage3;
    FixedImage*         mpPage3FB;
    FixedText*          mpPage3EffectFL;
    FixedText*          mpPage3EffectFT;
    FadeEffectLB*       mpPage3EffectLB;
    FixedText*          mpPage3SpeedFT;
    ListBox*            mpPage3SpeedLB;
    FixedText*          mpPage3PresTypeFL;
    RadioButton*        mpPage3PresTypeLiveRB;
    RadioButton*        mpPage3PresTypeKioskRB;
    FixedText*          mpPage3PresTimeFT;
    TimeField*          mpPage3PresTimeTMF;
    FixedText*          mpPage3BreakFT;
    TimeField*          mpPage3BreakTMF;
    CheckBox*           mpPage3LogoCB;
    VclPtr<VclContainer>       mpPage3;
    VclPtr<FixedImage>         mpPage3FB;
    VclPtr<FixedText>          mpPage3EffectFL;
    VclPtr<FixedText>          mpPage3EffectFT;
    VclPtr<FadeEffectLB>       mpPage3EffectLB;
    VclPtr<FixedText>          mpPage3SpeedFT;
    VclPtr<ListBox>            mpPage3SpeedLB;
    VclPtr<FixedText>          mpPage3PresTypeFL;
    VclPtr<RadioButton>        mpPage3PresTypeLiveRB;
    VclPtr<RadioButton>        mpPage3PresTypeKioskRB;
    VclPtr<FixedText>          mpPage3PresTimeFT;
    VclPtr<TimeField>          mpPage3PresTimeTMF;
    VclPtr<FixedText>          mpPage3BreakFT;
    VclPtr<TimeField>          mpPage3BreakTMF;
    VclPtr<CheckBox>           mpPage3LogoCB;

    // page 4
    VclContainer*       mpPage4;
    FixedImage*         mpPage4FB;
    FixedText*          mpPage4PersonalFL;
    FixedText*          mpPage4AskNameFT;
    Edit*               mpPage4AskNameEDT;
    FixedText*          mpPage4AskTopicFT;
    Edit*               mpPage4AskTopicEDT;
    FixedText*          mpPage4AskInfoFT;
    VclMultiLineEdit*      mpPage4AskInfoEDT;
    VclPtr<VclContainer>       mpPage4;
    VclPtr<FixedImage>         mpPage4FB;
    VclPtr<FixedText>          mpPage4PersonalFL;
    VclPtr<FixedText>          mpPage4AskNameFT;
    VclPtr<Edit>               mpPage4AskNameEDT;
    VclPtr<FixedText>          mpPage4AskTopicFT;
    VclPtr<Edit>               mpPage4AskTopicEDT;
    VclPtr<FixedText>          mpPage4AskInfoFT;
    VclPtr<VclMultiLineEdit>   mpPage4AskInfoEDT;

    // page 5
    VclContainer*       mpPage5;
    FixedImage*         mpPage5FB;
    FixedText*          mpPage5PageListFT;
    SdPageListControl*  mpPage5PageListCT;
    CheckBox*           mpPage5SummaryCB;
    VclPtr<VclContainer>       mpPage5;
    VclPtr<FixedImage>         mpPage5FB;
    VclPtr<FixedText>          mpPage5PageListFT;
    VclPtr<SdPageListControl>  mpPage5PageListCT;
    VclPtr<CheckBox>           mpPage5SummaryCB;

};

diff --git a/sd/source/ui/dlg/dlgfield.cxx b/sd/source/ui/dlg/dlgfield.cxx
index 64e4d47..e236cd1 100644
--- a/sd/source/ui/dlg/dlgfield.cxx
+++ b/sd/source/ui/dlg/dlgfield.cxx
@@ -53,6 +53,21 @@ SdModifyFieldDlg::SdModifyFieldDlg( vcl::Window* pWindow, const SvxFieldData* pI
    FillControls();
}

SdModifyFieldDlg::~SdModifyFieldDlg()
{
    dispose();
}

void SdModifyFieldDlg::dispose()
{
    m_pRbtFix.clear();
    m_pRbtVar.clear();
    m_pLbLanguage.clear();
    m_pLbFormat.clear();
    ModalDialog::dispose();
}


/**
 * Returns the new field, owned by caller.
 * Returns NULL if nothing has changed.
diff --git a/sd/source/ui/dlg/dlgsnap.cxx b/sd/source/ui/dlg/dlgsnap.cxx
index 07d6e2c..2e590fa 100644
--- a/sd/source/ui/dlg/dlgsnap.cxx
+++ b/sd/source/ui/dlg/dlgsnap.cxx
@@ -111,6 +111,25 @@ SdSnapLineDlg::SdSnapLineDlg(
    m_pRbPoint->Check();
}

SdSnapLineDlg::~SdSnapLineDlg()
{
    dispose();
}

void SdSnapLineDlg::dispose()
{
    m_pFtX.clear();
    m_pMtrFldX.clear();
    m_pFtY.clear();
    m_pMtrFldY.clear();
    m_pRadioGroup.clear();
    m_pRbPoint.clear();
    m_pRbVert.clear();
    m_pRbHorz.clear();
    m_pBtnDelete.clear();
    ModalDialog::dispose();
}

/**
 * fills provided item sets with dialog box attributes
 */
diff --git a/sd/source/ui/dlg/headerfooterdlg.cxx b/sd/source/ui/dlg/headerfooterdlg.cxx
index b7c9548..f2ea089 100644
--- a/sd/source/ui/dlg/headerfooterdlg.cxx
+++ b/sd/source/ui/dlg/headerfooterdlg.cxx
@@ -115,29 +115,29 @@ class HeaderFooterTabPage : public TabPage
{
private:

    FixedText*   mpFTIncludeOn;
    VclPtr<FixedText>   mpFTIncludeOn;

    CheckBox*    mpCBHeader;
    VclContainer* mpHeaderBox;
    Edit*        mpTBHeader;
    VclPtr<CheckBox>    mpCBHeader;
    VclPtr<VclContainer> mpHeaderBox;
    VclPtr<Edit>        mpTBHeader;

    CheckBox*    mpCBDateTime;
    RadioButton* mpRBDateTimeFixed;
    RadioButton* mpRBDateTimeAutomatic;
    Edit*        mpTBDateTimeFixed;
    ListBox*     mpCBDateTimeFormat;
    FixedText*   mpFTDateTimeLanguage;
    SvxLanguageBox*  mpCBDateTimeLanguage;
    VclPtr<CheckBox>    mpCBDateTime;
    VclPtr<RadioButton> mpRBDateTimeFixed;
    VclPtr<RadioButton> mpRBDateTimeAutomatic;
    VclPtr<Edit>        mpTBDateTimeFixed;
    VclPtr<ListBox>     mpCBDateTimeFormat;
    VclPtr<FixedText>   mpFTDateTimeLanguage;
    VclPtr<SvxLanguageBox>  mpCBDateTimeLanguage;

    CheckBox*    mpCBFooter;
    VclContainer* mpFooterBox;
    Edit*        mpTBFooter;
    VclPtr<CheckBox>    mpCBFooter;
    VclPtr<VclContainer> mpFooterBox;
    VclPtr<Edit>        mpTBFooter;

    CheckBox*   mpCBSlideNumber;
    VclPtr<CheckBox>   mpCBSlideNumber;

    CheckBox*    mpCBNotOnTitle;
    VclPtr<CheckBox>    mpCBNotOnTitle;

    PresLayoutPreview*   mpCTPreview;
    VclPtr<PresLayoutPreview>   mpCTPreview;

    SdDrawDocument*    mpDoc;
    LanguageType        meOldLanguage;
@@ -155,6 +155,7 @@ private:
public:
    HeaderFooterTabPage( vcl::Window* pParent, SdDrawDocument* pDoc, SdPage* pActualPage, bool bHandoutMode );
    virtual ~HeaderFooterTabPage();
    virtual void dispose() SAL_OVERRIDE;

    void    init( const HeaderFooterSettings& rSettings, bool bNotOnTitle );
    void    getData( HeaderFooterSettings& rSettings, bool& rNotOnTitle );
@@ -245,8 +246,12 @@ HeaderFooterDialog::~HeaderFooterDialog()

void HeaderFooterDialog::dispose()
{
    delete mpSlideTabPage;
    delete mpNotesHandoutsTabPage;
    mpSlideTabPage.clear();
    mpNotesHandoutsTabPage.clear();
    mpTabCtrl.clear();
    maPBApplyToAll.clear();
    maPBApply.clear();
    maPBCancel.clear();
    TabDialog::dispose();
}

@@ -457,6 +462,29 @@ HeaderFooterTabPage::HeaderFooterTabPage( vcl::Window* pWindow, SdDrawDocument* 

HeaderFooterTabPage::~HeaderFooterTabPage()
{
    dispose();
}

void HeaderFooterTabPage::dispose()
{
    mpFTIncludeOn.clear();
    mpCBHeader.clear();
    mpHeaderBox.clear();
    mpTBHeader.clear();
    mpCBDateTime.clear();
    mpRBDateTimeFixed.clear();
    mpRBDateTimeAutomatic.clear();
    mpTBDateTimeFixed.clear();
    mpCBDateTimeFormat.clear();
    mpFTDateTimeLanguage.clear();
    mpCBDateTimeLanguage.clear();
    mpCBFooter.clear();
    mpFooterBox.clear();
    mpTBFooter.clear();
    mpCBSlideNumber.clear();
    mpCBNotOnTitle.clear();
    mpCTPreview.clear();
    TabPage::dispose();
}

IMPL_LINK_NOARG(HeaderFooterTabPage, LanguageChangeHdl)
diff --git a/sd/source/ui/dlg/ins_paste.cxx b/sd/source/ui/dlg/ins_paste.cxx
index a256990..833b471 100644
--- a/sd/source/ui/dlg/ins_paste.cxx
+++ b/sd/source/ui/dlg/ins_paste.cxx
@@ -28,6 +28,18 @@ SdInsertPasteDlg::SdInsertPasteDlg(vcl::Window* pWindow)
    m_pRbAfter->Check( true );
}

SdInsertPasteDlg::~SdInsertPasteDlg()
{
    dispose();
}

void SdInsertPasteDlg::dispose()
{
    m_pRbBefore.clear();
    m_pRbAfter.clear();
    ModalDialog::dispose();
}

bool SdInsertPasteDlg::IsInsertBefore() const
{
    return( m_pRbBefore->IsChecked() );
diff --git a/sd/source/ui/dlg/inspagob.cxx b/sd/source/ui/dlg/inspagob.cxx
index 5593562..0d5e29c1 100644
--- a/sd/source/ui/dlg/inspagob.cxx
+++ b/sd/source/ui/dlg/inspagob.cxx
@@ -55,6 +55,15 @@ SdInsertPagesObjsDlg::SdInsertPagesObjsDlg(

SdInsertPagesObjsDlg::~SdInsertPagesObjsDlg()
{
    dispose();
}

void SdInsertPagesObjsDlg::dispose()
{
    m_pLbTree.clear();
    m_pCbxLink.clear();
    m_pCbxMasters.clear();
    ModalDialog::dispose();
}

/**
diff --git a/sd/source/ui/dlg/layeroptionsdlg.cxx b/sd/source/ui/dlg/layeroptionsdlg.cxx
index 86df27c..12b3e4d 100644
--- a/sd/source/ui/dlg/layeroptionsdlg.cxx
+++ b/sd/source/ui/dlg/layeroptionsdlg.cxx
@@ -50,6 +50,22 @@ SdInsertLayerDlg::SdInsertLayerDlg( vcl::Window* pWindow, const SfxItemSet& rInA
    get<VclContainer>("nameframe")->Enable(bDeletable);
}

SdInsertLayerDlg::~SdInsertLayerDlg()
{
    dispose();
}

void SdInsertLayerDlg::dispose()
{
    m_pEdtName.clear();
    m_pEdtTitle.clear();
    m_pEdtDesc.clear();
    m_pCbxVisible.clear();
    m_pCbxPrintable.clear();
    m_pCbxLocked.clear();
    ModalDialog::dispose();
}

void SdInsertLayerDlg::GetAttr( SfxItemSet& rAttrs )
{
    rAttrs.Put( SdAttrLayerName( m_pEdtName->GetText() ) );
diff --git a/sd/source/ui/dlg/masterlayoutdlg.cxx b/sd/source/ui/dlg/masterlayoutdlg.cxx
index d10f822..898ca5b 100644
--- a/sd/source/ui/dlg/masterlayoutdlg.cxx
+++ b/sd/source/ui/dlg/masterlayoutdlg.cxx
@@ -75,6 +75,21 @@ MasterLayoutDialog::MasterLayoutDialog( vcl::Window* pParent, SdDrawDocument* pD
    mpCBPageNumber->Check( mbOldPageNumber );
}

MasterLayoutDialog::~MasterLayoutDialog()
{
    dispose();
}

void MasterLayoutDialog::dispose()
{
    mpCBDate.clear();
    mpCBPageNumber.clear();
    mpCBSlideNumber.clear();
    mpCBHeader.clear();
    mpCBFooter.clear();
    ModalDialog::dispose();
}

short MasterLayoutDialog::Execute()
{
    if ( ModalDialog::Execute() )
diff --git a/sd/source/ui/dlg/morphdlg.cxx b/sd/source/ui/dlg/morphdlg.cxx
index d21de6f..8ea2b18 100644
--- a/sd/source/ui/dlg/morphdlg.cxx
+++ b/sd/source/ui/dlg/morphdlg.cxx
@@ -66,6 +66,15 @@ MorphDlg::MorphDlg( vcl::Window* pParent, const SdrObject* pObj1, const SdrObjec

MorphDlg::~MorphDlg()
{
    dispose();
}

void MorphDlg::dispose()
{
    m_pMtfSteps.clear();
    m_pCbxAttributes.clear();
    m_pCbxOrientation.clear();
    ModalDialog::dispose();
}

void MorphDlg::LoadSettings()
diff --git a/sd/source/ui/dlg/paragr.cxx b/sd/source/ui/dlg/paragr.cxx
index 53fb0ad..6714cb0 100644
--- a/sd/source/ui/dlg/paragr.cxx
+++ b/sd/source/ui/dlg/paragr.cxx
@@ -39,6 +39,7 @@ class SdParagraphNumTabPage : public SfxTabPage
public:
    SdParagraphNumTabPage(vcl::Window* pParent, const SfxItemSet& rSet );
    virtual ~SdParagraphNumTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rSet );
    static const sal_uInt16*  GetRanges();
@@ -47,9 +48,9 @@ public:
    virtual void        Reset( const SfxItemSet* rSet ) SAL_OVERRIDE;

private:
    TriStateBox*     m_pNewStartCB;
    TriStateBox*     m_pNewStartNumberCB;
    NumericField*    m_pNewStartNF;
    VclPtr<TriStateBox>     m_pNewStartCB;
    VclPtr<TriStateBox>     m_pNewStartNumberCB;
    VclPtr<NumericField>    m_pNewStartNF;
    bool             mbModified;

    DECL_LINK( ImplNewStartHdl, void* );
@@ -72,6 +73,15 @@ SdParagraphNumTabPage::SdParagraphNumTabPage(vcl::Window* pParent, const SfxItem

SdParagraphNumTabPage::~SdParagraphNumTabPage()
{
    dispose();
}

void SdParagraphNumTabPage::dispose()
{
    m_pNewStartCB.clear();
    m_pNewStartNumberCB.clear();
    m_pNewStartNF.clear();
    SfxTabPage::dispose();
}

SfxTabPage* SdParagraphNumTabPage::Create(vcl::Window *pParent, const SfxItemSet * rAttrSet)
diff --git a/sd/source/ui/dlg/present.cxx b/sd/source/ui/dlg/present.cxx
index c4b95a9..72d30c3 100644
--- a/sd/source/ui/dlg/present.cxx
+++ b/sd/source/ui/dlg/present.cxx
@@ -150,6 +150,39 @@ SdStartPresentationDlg::SdStartPresentationDlg( vcl::Window* pWindow,
    ChangePauseHdl( NULL );
}

SdStartPresentationDlg::~SdStartPresentationDlg()
{
    dispose();
}

void SdStartPresentationDlg::dispose()
{
    aRbtAll.clear();
    aRbtAtDia.clear();
    aRbtCustomshow.clear();
    aLbDias.clear();
    aLbCustomshow.clear();
    aRbtStandard.clear();
    aRbtWindow.clear();
    aRbtAuto.clear();
    aTmfPause.clear();
    aCbxAutoLogo.clear();
    aCbxManuel.clear();
    aCbxMousepointer.clear();
    aCbxPen.clear();
    aCbxNavigator.clear();
    aCbxAnimationAllowed.clear();
    aCbxChangePage.clear();
    aCbxAlwaysOnTop.clear();
    maFtMonitor.clear();
    maLBMonitor.clear();
    msMonitor.clear();
    msAllMonitors.clear();
    msMonitorExternal.clear();
    msExternal.clear();
    ModalDialog::dispose();
}

OUString SdStartPresentationDlg::GetDisplayName( sal_Int32   nDisplay,
                                                 DisplayType eType )
{
diff --git a/sd/source/ui/dlg/prntopts.cxx b/sd/source/ui/dlg/prntopts.cxx
index 943144b..b9cdc6e 100644
--- a/sd/source/ui/dlg/prntopts.cxx
+++ b/sd/source/ui/dlg/prntopts.cxx
@@ -30,7 +30,7 @@
 */
SdPrintOptions::SdPrintOptions( vcl::Window* pParent, const SfxItemSet& rInAttrs ) :
    SfxTabPage          ( pParent, "prntopts" , "modules/simpress/ui/prntopts.ui" , &rInAttrs ),
        rOutAttrs               ( rInAttrs )
    rOutAttrs           ( rInAttrs )
{
    get( m_pFrmContent , "contentframe" );
    get( m_pCbxDraw , "drawingcb" );
@@ -74,6 +74,31 @@ SdPrintOptions::SdPrintOptions( vcl::Window* pParent, const SfxItemSet& rInAttrs

SdPrintOptions::~SdPrintOptions()
{
    dispose();
}

void SdPrintOptions::dispose()
{
    m_pFrmContent.clear();
    m_pCbxDraw.clear();
    m_pCbxNotes.clear();
    m_pCbxHandout.clear();
    m_pCbxOutline.clear();
    m_pRbtColor.clear();
    m_pRbtGrayscale.clear();
    m_pRbtBlackWhite.clear();
    m_pCbxPagename.clear();
    m_pCbxDate.clear();
    m_pCbxTime.clear();
    m_pCbxHiddenPages.clear();
    m_pRbtDefault.clear();
    m_pRbtPagesize.clear();
    m_pRbtPagetile.clear();
    m_pRbtBooklet.clear();
    m_pCbxFront.clear();
    m_pCbxBack.clear();
    m_pCbxPaperbin.clear();
    SfxTabPage::dispose();
}

bool SdPrintOptions::FillItemSet( SfxItemSet* rAttrs )
diff --git a/sd/source/ui/dlg/sddlgfact.cxx b/sd/source/ui/dlg/sddlgfact.cxx
index 8e5c87a..3e4c4a9 100644
--- a/sd/source/ui/dlg/sddlgfact.cxx
+++ b/sd/source/ui/dlg/sddlgfact.cxx
@@ -121,37 +121,37 @@ OUString SdAbstractTabDialog_Impl::GetText() const

void AbstractBulletDialog_Impl::SetCurPageId( sal_uInt16 nId )
{
    static_cast< ::sd::OutlineBulletDlg*>(pDlg)->SetCurPageId( nId );
    static_cast< ::sd::OutlineBulletDlg*>(pDlg.get())->SetCurPageId( nId );
}

void AbstractBulletDialog_Impl::SetCurPageId( const OString& rName )
{
    static_cast< ::sd::OutlineBulletDlg*>(pDlg)->SetCurPageId( rName );
    static_cast< ::sd::OutlineBulletDlg*>(pDlg.get())->SetCurPageId( rName );
}

const SfxItemSet* AbstractBulletDialog_Impl::GetOutputItemSet() const
{
    return static_cast< ::sd::OutlineBulletDlg*>(pDlg)->GetOutputItemSet();
    return static_cast< ::sd::OutlineBulletDlg*>(pDlg.get())->GetOutputItemSet();
}

const sal_uInt16* AbstractBulletDialog_Impl::GetInputRanges(const SfxItemPool& pItem )
{
    return static_cast< ::sd::OutlineBulletDlg*>(pDlg)->GetInputRanges( pItem );
    return static_cast< ::sd::OutlineBulletDlg*>(pDlg.get())->GetInputRanges( pItem );
}

void AbstractBulletDialog_Impl::SetInputSet( const SfxItemSet* pInSet )
{
     static_cast< ::sd::OutlineBulletDlg*>(pDlg)->SetInputSet( pInSet );
     static_cast< ::sd::OutlineBulletDlg*>(pDlg.get())->SetInputSet( pInSet );
}

void AbstractBulletDialog_Impl::SetText( const OUString& rStr )
{
    static_cast< ::sd::OutlineBulletDlg*>(pDlg)->SetText( rStr );
    static_cast< ::sd::OutlineBulletDlg*>(pDlg.get())->SetText( rStr );
}

OUString AbstractBulletDialog_Impl::GetText() const
{
    return static_cast< ::sd::OutlineBulletDlg*>(pDlg)->GetText();
    return static_cast< ::sd::OutlineBulletDlg*>(pDlg.get())->GetText();
}

void SdPresLayoutTemplateDlg_Impl::SetCurPageId( sal_uInt16 nId )
diff --git a/sd/source/ui/dlg/sddlgfact.hxx b/sd/source/ui/dlg/sddlgfact.hxx
index 38d6d1e..b7fe534 100644
--- a/sd/source/ui/dlg/sddlgfact.hxx
+++ b/sd/source/ui/dlg/sddlgfact.hxx
@@ -23,7 +23,7 @@
#include <sfx2/basedlgs.hxx>

#define DECL_ABSTDLG_BASE(Class,DialogClass)        \
    DialogClass*        pDlg;                       \
    VclPtr<DialogClass> pDlg;                       \
public:                                             \
                    Class( DialogClass* p)          \
                     : pDlg(p)                      \
@@ -34,7 +34,6 @@ public:                                             \
#define IMPL_ABSTDLG_BASE(Class)                    \
Class::~Class()                                     \
{                                                   \
    delete pDlg;                                    \
}                                                   \
short Class::Execute()                             \
{                                                   \
diff --git a/sd/source/ui/dlg/sdpreslt.cxx b/sd/source/ui/dlg/sdpreslt.cxx
index 21d8a89..6c9691a 100644
--- a/sd/source/ui/dlg/sdpreslt.cxx
+++ b/sd/source/ui/dlg/sdpreslt.cxx
@@ -55,6 +55,16 @@ SdPresLayoutDlg::SdPresLayoutDlg(::sd::DrawDocShell* pDocShell,

SdPresLayoutDlg::~SdPresLayoutDlg()
{
    dispose();
}

void SdPresLayoutDlg::dispose()
{
    m_pVS.clear();
    m_pCbxMasterPage.clear();
    m_pCbxCheckMasters.clear();
    m_pBtnLoad.clear();
    ModalDialog::dispose();
}

/**
diff --git a/sd/source/ui/dlg/sdtreelb.cxx b/sd/source/ui/dlg/sdtreelb.cxx
index 184cc15..e7473b1 100644
--- a/sd/source/ui/dlg/sdtreelb.cxx
+++ b/sd/source/ui/dlg/sdtreelb.cxx
@@ -265,6 +265,8 @@ void SdPageObjsTLB::dispose()
    else
        // no document was created from mpMedium, so this object is still the owner of it
        delete mpMedium;
    mpParent.clear();
    mpDropNavWin.clear();
    SvTreeListBox::dispose();
}

@@ -1349,7 +1351,7 @@ sal_Int8 SdPageObjsTLB::ExecuteDrop( const ExecuteDropEvent& rEvt )
                OUString                aFile;

                if( aDataHelper.GetString( SotClipboardFormatId::SIMPLE_FILE, aFile ) &&
                    static_cast<SdNavigatorWin*>(mpParent)->InsertFile( aFile ) )
                    static_cast<SdNavigatorWin*>(mpParent.get())->InsertFile( aFile ) )
                {
                    nRet = rEvt.mnAction;
                }
diff --git a/sd/source/ui/dlg/sduiexp.cxx b/sd/source/ui/dlg/sduiexp.cxx
index 3c52638..8412795 100644
--- a/sd/source/ui/dlg/sduiexp.cxx
+++ b/sd/source/ui/dlg/sduiexp.cxx
@@ -18,6 +18,21 @@
 */

#include "sddlgfact.hxx"
#include "morphdlg.hxx"
#include "present.hxx"
#include "inspagob.hxx"
#include "vectdlg.hxx"
#include "sdpreslt.hxx"
#include "headerfooterdlg.hxx"
#include "pubdlg.hxx"
#include "ins_paste.hxx"
#include "layeroptionsdlg.hxx"
#include "dlgsnap.hxx"
#include "dlgfield.hxx"
#include "dlgass.hxx"
#include "prltempl.hxx"
#include "custsdlg.hxx"
#include "copydlg.hxx"
#include "sal/types.h"

extern "C"
diff --git a/sd/source/ui/dlg/tpaction.cxx b/sd/source/ui/dlg/tpaction.cxx
index 521a9c6..f4ae362 100644
--- a/sd/source/ui/dlg/tpaction.cxx
+++ b/sd/source/ui/dlg/tpaction.cxx
@@ -142,6 +142,25 @@ SdTPAction::SdTPAction(vcl::Window* pWindow, const SfxItemSet& rInAttrs)

SdTPAction::~SdTPAction()
{
    dispose();
}

void SdTPAction::dispose()
{
    m_pLbAction.clear();
    m_pFtTree.clear();
    m_pLbTree.clear();
    m_pLbTreeDocument.clear();
    m_pLbOLEAction.clear();
    m_pFrame.clear();
    m_pEdtSound.clear();
    m_pEdtBookmark.clear();
    m_pEdtDocument.clear();
    m_pEdtProgram.clear();
    m_pEdtMacro.clear();
    m_pBtnSearch.clear();
    m_pBtnSeek.clear();
    SfxTabPage::dispose();
}

void SdTPAction::SetView( const ::sd::View* pSdView )
diff --git a/sd/source/ui/dlg/tpoption.cxx b/sd/source/ui/dlg/tpoption.cxx
index 6383700..eefac35 100644
--- a/sd/source/ui/dlg/tpoption.cxx
+++ b/sd/source/ui/dlg/tpoption.cxx
@@ -122,6 +122,16 @@ SdTpOptionsContents::SdTpOptionsContents( vcl::Window* pParent, const SfxItemSet

SdTpOptionsContents::~SdTpOptionsContents()
{
    dispose();
}

void SdTpOptionsContents::dispose()
{
    m_pCbxRuler.clear();
    m_pCbxDragStripes.clear();
    m_pCbxHandlesBezier.clear();
    m_pCbxMoveOutline.clear();
    SfxTabPage::dispose();
}

bool SdTpOptionsContents::FillItemSet( SfxItemSet* rAttrs )
@@ -276,6 +286,38 @@ SdTpOptionsMisc::SdTpOptionsMisc(vcl::Window* pParent, const SfxItemSet& rInAttr

SdTpOptionsMisc::~SdTpOptionsMisc()
{
    dispose();
}

void SdTpOptionsMisc::dispose()
{
    m_pCbxQuickEdit.clear();
    m_pCbxPickThrough.clear();
    m_pNewDocumentFrame.clear();
    m_pCbxStartWithTemplate.clear();
    m_pCbxMasterPageCache.clear();
    m_pCbxCopy.clear();
    m_pCbxMarkedHitMovesAlways.clear();
    m_pPresentationFrame.clear();
    m_pLbMetric.clear();
    m_pMtrFldTabstop.clear();
    m_pCbxEnableSdremote.clear();
    m_pCbxEnablePresenterScreen.clear();
    m_pCbxUsePrinterMetrics.clear();
    m_pCbxCompatibility.clear();
    m_pScaleFrame.clear();
    m_pCbScale.clear();
    m_pNewDocLb.clear();
    m_pFiInfo1.clear();
    m_pMtrFldOriginalWidth.clear();
    m_pWidthLb.clear();
    m_pHeightLb.clear();
    m_pFiInfo2.clear();
    m_pMtrFldOriginalHeight.clear();
    m_pCbxDistrot.clear();
    m_pMtrFldInfo1.clear();
    m_pMtrFldInfo2.clear();
    SfxTabPage::dispose();
}

void SdTpOptionsMisc::ActivatePage( const SfxItemSet& rSet )
diff --git a/sd/source/ui/dlg/vectdlg.cxx b/sd/source/ui/dlg/vectdlg.cxx
index 71d6ed9..99f86cb 100644
--- a/sd/source/ui/dlg/vectdlg.cxx
+++ b/sd/source/ui/dlg/vectdlg.cxx
@@ -72,6 +72,22 @@ SdVectorizeDlg::SdVectorizeDlg(vcl::Window* pParent, const Bitmap& rBmp, ::sd::D

SdVectorizeDlg::~SdVectorizeDlg()
{
    dispose();
}

void SdVectorizeDlg::dispose()
{
    m_pNmLayers.clear();
    m_pMtReduce.clear();
    m_pFtFillHoles.clear();
    m_pMtFillHoles.clear();
    m_pCbFillHoles.clear();
    m_pBmpWin.clear();
    m_pMtfWin.clear();
    m_pPrgs.clear();
    m_pBtnOK.clear();
    m_pBtnPreview.clear();
    ModalDialog::dispose();
}

Rectangle SdVectorizeDlg::GetRect( const Size& rDispSize, const Size& rBmpSize ) const
diff --git a/sd/source/ui/framework/factories/ChildWindowPane.cxx b/sd/source/ui/framework/factories/ChildWindowPane.cxx
index 7e6da77..d0c0766 100644
--- a/sd/source/ui/framework/factories/ChildWindowPane.cxx
+++ b/sd/source/ui/framework/factories/ChildWindowPane.cxx
@@ -188,7 +188,7 @@ void SAL_CALL ChildWindowPane::disposing (void)
Reference<awt::XWindow> SAL_CALL ChildWindowPane::getWindow (void)
    throw (RuntimeException, std::exception)
{
    if (mpWindow == NULL || ! mxWindow.is())
    if (mpWindow == nullptr || ! mxWindow.is())
        GetWindow();
    return Pane::getWindow();
}
diff --git a/sd/source/ui/framework/factories/FullScreenPane.cxx b/sd/source/ui/framework/factories/FullScreenPane.cxx
index ae8698c..ba1a013 100644
--- a/sd/source/ui/framework/factories/FullScreenPane.cxx
+++ b/sd/source/ui/framework/factories/FullScreenPane.cxx
@@ -103,11 +103,7 @@ FullScreenPane::~FullScreenPane (void) throw()

void SAL_CALL FullScreenPane::disposing (void)
{
    // We have created the window pointed to by mpWindow, we delete it.
    if (mpWindow != NULL)
    {
        delete mpWindow;
    }
    mpWindow.clear();

    if (mpWorkWindow.get() != NULL)
    {
@@ -126,7 +122,7 @@ sal_Bool SAL_CALL FullScreenPane::isVisible (void)
{
    ThrowIfDisposed();

    if (mpWindow != NULL)
    if (mpWindow != nullptr)
        return mpWindow->IsReallyVisible();
    else
        return false;
@@ -137,7 +133,7 @@ void SAL_CALL FullScreenPane::setVisible (const sal_Bool bIsVisible)
{
    ThrowIfDisposed();

    if (mpWindow != NULL)
    if (mpWindow != nullptr)
        mpWindow->Show(bIsVisible);
    if (mpWorkWindow != 0)
        mpWorkWindow->Show(bIsVisible);
@@ -160,7 +156,7 @@ void SAL_CALL FullScreenPane::setAccessible (
{
    ThrowIfDisposed();

    if (mpWindow != NULL)
    if (mpWindow != nullptr)
    {
        Reference<lang::XInitialization> xInitializable (rxAccessible, UNO_QUERY);
        if (xInitializable.is())
diff --git a/sd/source/ui/framework/factories/Pane.cxx b/sd/source/ui/framework/factories/Pane.cxx
index 978cb870f..9a9f04d 100644
--- a/sd/source/ui/framework/factories/Pane.cxx
+++ b/sd/source/ui/framework/factories/Pane.cxx
@@ -175,7 +175,7 @@ Reference<rendering::XCanvas> Pane::CreateCanvas (void)
{
    Reference<rendering::XCanvas> xCanvas;

    if (mpWindow != NULL)
    if (mpWindow != nullptr)
    {
        ::cppcanvas::SpriteCanvasSharedPtr pCanvas (
            ::cppcanvas::VCLFactory::getInstance().createSpriteCanvas(*mpWindow));
diff --git a/sd/source/ui/func/fupoor.cxx b/sd/source/ui/func/fupoor.cxx
index f1db195..f3d94ef 100644
--- a/sd/source/ui/func/fupoor.cxx
+++ b/sd/source/ui/func/fupoor.cxx
@@ -101,9 +101,6 @@ FuPoor::~FuPoor()
    aDragTimer.Stop();
    aScrollTimer.Stop();
    aDelayToScrollTimer.Stop ();

    if (pDialog)
        delete pDialog;
}

void FuPoor::Activate()
@@ -130,6 +127,11 @@ void FuPoor::Deactivate()
    if (mpWindow) mpWindow->ReleaseMouse ();
}

void FuPoor::SetWindow(::sd::Window* pWin)
{
    mpWindow = pWin;
}

/**
 * scroll when approached the border of the window; is called by MouseMove
 */
diff --git a/sd/source/ui/inc/AccessibleDocumentViewBase.hxx b/sd/source/ui/inc/AccessibleDocumentViewBase.hxx
index 1624138..af4c950 100644
--- a/sd/source/ui/inc/AccessibleDocumentViewBase.hxx
+++ b/sd/source/ui/inc/AccessibleDocumentViewBase.hxx
@@ -278,7 +278,7 @@ private:

protected:
    /// The core window that is made accessible.
    ::sd::Window* mpWindow;
    VclPtr<::sd::Window> mpWindow;

    /// The API window that is made accessible.
    ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow>
diff --git a/sd/source/ui/inc/AccessibleSlideSorterView.hxx b/sd/source/ui/inc/AccessibleSlideSorterView.hxx
index 99affbe..070bd30 100644
--- a/sd/source/ui/inc/AccessibleSlideSorterView.hxx
+++ b/sd/source/ui/inc/AccessibleSlideSorterView.hxx
@@ -31,6 +31,7 @@
#include <com/sun/star/lang/DisposedException.hpp>
#include <com/sun/star/awt/XFocusListener.hpp>
#include <com/sun/star/document/XEventListener.hpp>
#include <vcl/vclptr.hxx>

#include <memory>

@@ -297,7 +298,7 @@ private:

    sal_uInt32 mnClientId;

    vcl::Window* mpContentWindow;
    VclPtr<vcl::Window> mpContentWindow;

    /** Check whether or not the object has been disposed (or is in the
        state of being disposed).  If that is the case then
diff --git a/sd/source/ui/inc/BreakDlg.hxx b/sd/source/ui/inc/BreakDlg.hxx
index 13aab79..40c650c 100644
--- a/sd/source/ui/inc/BreakDlg.hxx
+++ b/sd/source/ui/inc/BreakDlg.hxx
@@ -58,10 +58,10 @@ public:
    short Execute() SAL_OVERRIDE;

private:
    FixedText*      m_pFiObjInfo;
    FixedText*      m_pFiActInfo;
    FixedText*      m_pFiInsInfo;
    CancelButton*   m_pBtnCancel;
    VclPtr<FixedText>      m_pFiObjInfo;
    VclPtr<FixedText>      m_pFiActInfo;
    VclPtr<FixedText>      m_pFiInsInfo;
    VclPtr<CancelButton>   m_pBtnCancel;

    DrawView*   pDrView;

diff --git a/sd/source/ui/inc/FormShellManager.hxx b/sd/source/ui/inc/FormShellManager.hxx
index 0168800..1e1e104 100644
--- a/sd/source/ui/inc/FormShellManager.hxx
+++ b/sd/source/ui/inc/FormShellManager.hxx
@@ -24,6 +24,7 @@

#include <tools/link.hxx>
#include <svl/lstner.hxx>
#include <vcl/vclptr.hxx>

class VclWindowEvent;
class FmFormShell;
@@ -89,7 +90,7 @@ private:

    bool mbIsMainViewChangePending;

    vcl::Window* mpMainViewShellWindow;
    VclPtr<vcl::Window> mpMainViewShellWindow;

    /** Register at window of center pane and at the form shell that
        represents the form tool bar.  The former informs this manager about
diff --git a/sd/source/ui/inc/Ruler.hxx b/sd/source/ui/inc/Ruler.hxx
index 5ca7057..efaa152 100644
--- a/sd/source/ui/inc/Ruler.hxx
+++ b/sd/source/ui/inc/Ruler.hxx
@@ -50,7 +50,7 @@ public:
    using ::Ruler::SetNullOffset;
protected:
    ::sd::View* pSdView;
    ::sd::Window* pSdWin;
    VclPtr<::sd::Window> pSdWin;
    DrawViewShell* pDrViewShell;
    RulerCtrlItem* pCtrlItem;
    bool bHorz;
diff --git a/sd/source/ui/inc/ViewShell.hxx b/sd/source/ui/inc/ViewShell.hxx
index 93bb0f9..f0f643e 100644
--- a/sd/source/ui/inc/ViewShell.hxx
+++ b/sd/source/ui/inc/ViewShell.hxx
@@ -484,7 +484,7 @@ protected:
    bool mbHasRulers;

    /// The active window.
    ::sd::Window* mpActiveWindow;
    VclPtr<::sd::Window> mpActiveWindow;
    ::sd::View* mpView;
    FrameView*  mpFrameView;

@@ -568,7 +568,7 @@ protected:
    void doShow();

private:
    ::vcl::Window* mpParentWindow;
    VclPtr<::vcl::Window> mpParentWindow;
    /** This window updater is used to keep all relevant windows up to date
        with reference to the digit language used to display digits in text
        shapes.
diff --git a/sd/source/ui/inc/Window.hxx b/sd/source/ui/inc/Window.hxx
index 9e81c76..9586e61 100644
--- a/sd/source/ui/inc/Window.hxx
+++ b/sd/source/ui/inc/Window.hxx
@@ -150,7 +150,7 @@ public:
    void DropScroll (const Point& rMousePos);
    virtual void KeyInput(const KeyEvent& rKEvt) SAL_OVERRIDE;
protected:
    ::sd::Window* mpShareWin;
    VclPtr<::sd::Window> mpShareWin;
    Point maWinPos;
    Point maViewOrigin;
    Size maViewSize;
diff --git a/sd/source/ui/inc/WindowUpdater.hxx b/sd/source/ui/inc/WindowUpdater.hxx
index b35c73c..5f7c5c9 100644
--- a/sd/source/ui/inc/WindowUpdater.hxx
+++ b/sd/source/ui/inc/WindowUpdater.hxx
@@ -22,6 +22,7 @@

#include <svl/lstner.hxx>
#include <svl/ctloptions.hxx>
#include <vcl/vclptr.hxx>
#include "sddllapi.h"

#include <vector>
@@ -120,7 +121,7 @@ private:
    /** Type and data member for a list of devices that have to be kept
        up-to-date.
    */
    typedef ::std::vector< vcl::Window*> tWindowList;
    typedef ::std::vector< VclPtr<vcl::Window> > tWindowList;
    tWindowList maWindowList;

    /** The central method of this class.  Update the given output device.
diff --git a/sd/source/ui/inc/animobjs.hxx b/sd/source/ui/inc/animobjs.hxx
index 24ec9e8..20f3ffe 100644
--- a/sd/source/ui/inc/animobjs.hxx
+++ b/sd/source/ui/inc/animobjs.hxx
@@ -98,28 +98,28 @@ protected:
    virtual void    FillInfo( SfxChildWinInfo& ) const SAL_OVERRIDE;

private:
    SdDisplay*      m_pCtlDisplay;
    PushButton*     m_pBtnFirst;
    PushButton*     m_pBtnReverse;
    PushButton*     m_pBtnStop;
    PushButton*     m_pBtnPlay;
    PushButton*     m_pBtnLast;
    NumericField*   m_pNumFldBitmap;
    TimeField*      m_pTimeField;
    ListBox*        m_pLbLoopCount;
    PushButton*     m_pBtnGetOneObject;
    PushButton*     m_pBtnGetAllObjects;
    PushButton*     m_pBtnRemoveBitmap;
    PushButton*     m_pBtnRemoveAll;
    FixedText*      m_pFiCount;
    VclPtr<SdDisplay>      m_pCtlDisplay;
    VclPtr<PushButton>     m_pBtnFirst;
    VclPtr<PushButton>     m_pBtnReverse;
    VclPtr<PushButton>     m_pBtnStop;
    VclPtr<PushButton>     m_pBtnPlay;
    VclPtr<PushButton>     m_pBtnLast;
    VclPtr<NumericField>   m_pNumFldBitmap;
    VclPtr<TimeField>      m_pTimeField;
    VclPtr<ListBox>        m_pLbLoopCount;
    VclPtr<PushButton>     m_pBtnGetOneObject;
    VclPtr<PushButton>     m_pBtnGetAllObjects;
    VclPtr<PushButton>     m_pBtnRemoveBitmap;
    VclPtr<PushButton>     m_pBtnRemoveAll;
    VclPtr<FixedText>      m_pFiCount;

    RadioButton*    m_pRbtGroup;
    RadioButton*    m_pRbtBitmap;
    FixedText*      m_pFtAdjustment;
    ListBox*        m_pLbAdjustment;
    PushButton*     m_pBtnCreateGroup;
    VclPtr<RadioButton>    m_pRbtGroup;
    VclPtr<RadioButton>    m_pRbtBitmap;
    VclPtr<FixedText>      m_pFtAdjustment;
    VclPtr<ListBox>        m_pLbAdjustment;
    VclPtr<PushButton>     m_pBtnCreateGroup;

    vcl::Window*       pWin;
    VclPtr<vcl::Window>    pWin;
    ::std::vector< ::std::pair<BitmapEx*, ::tools::Time*> > m_FrameList;
    static const size_t EMPTY_FRAMELIST;
    size_t          m_nCurrentFrame;
@@ -164,7 +164,7 @@ protected:
    virtual void StateChanged( sal_uInt16 nSId, SfxItemState eState,
        const SfxPoolItem* pState ) SAL_OVERRIDE;
private:
    AnimationWindow* pAnimationWin;
    VclPtr<AnimationWindow> pAnimationWin;
};

} // end of namespace sd
diff --git a/sd/source/ui/inc/copydlg.hxx b/sd/source/ui/inc/copydlg.hxx
index e0d1237..1da44c9 100644
--- a/sd/source/ui/inc/copydlg.hxx
+++ b/sd/source/ui/inc/copydlg.hxx
@@ -48,21 +48,21 @@ public:
    void Reset();

private:
    NumericField*       m_pNumFldCopies;
    Button*             m_pBtnSetViewData;
    VclPtr<NumericField>       m_pNumFldCopies;
    VclPtr<Button>             m_pBtnSetViewData;

    MetricField*        m_pMtrFldMoveX;
    MetricField*        m_pMtrFldMoveY;
    MetricField*        m_pMtrFldAngle;
    VclPtr<MetricField>        m_pMtrFldMoveX;
    VclPtr<MetricField>        m_pMtrFldMoveY;
    VclPtr<MetricField>        m_pMtrFldAngle;

    MetricField*        m_pMtrFldWidth;
    MetricField*        m_pMtrFldHeight;
    VclPtr<MetricField>        m_pMtrFldWidth;
    VclPtr<MetricField>        m_pMtrFldHeight;

    ColorLB*            m_pLbStartColor;
    FixedText*          m_pFtEndColor;
    ColorLB*            m_pLbEndColor;
    VclPtr<ColorLB>            m_pLbStartColor;
    VclPtr<FixedText>          m_pFtEndColor;
    VclPtr<ColorLB>            m_pLbEndColor;

    PushButton*         m_pBtnSetDefault;
    VclPtr<PushButton>         m_pBtnSetDefault;

    const SfxItemSet&   mrOutAttrs;
    XColorListRef       mpColorList;
diff --git a/sd/source/ui/inc/custsdlg.hxx b/sd/source/ui/inc/custsdlg.hxx
index 54f1cfe..4fcbc7d 100644
--- a/sd/source/ui/inc/custsdlg.hxx
+++ b/sd/source/ui/inc/custsdlg.hxx
@@ -34,15 +34,15 @@ class SdCustomShowList;
class SdCustomShowDlg : public ModalDialog
{
private:
    ListBox*         m_pLbCustomShows;
    CheckBox*        m_pCbxUseCustomShow;
    PushButton*      m_pBtnNew;
    PushButton*      m_pBtnEdit;
    PushButton*      m_pBtnRemove;
    PushButton*      m_pBtnCopy;
    HelpButton*      m_pBtnHelp;
    PushButton*      m_pBtnStartShow;
    OKButton*        m_pBtnOK;
    VclPtr<ListBox>         m_pLbCustomShows;
    VclPtr<CheckBox>        m_pCbxUseCustomShow;
    VclPtr<PushButton>      m_pBtnNew;
    VclPtr<PushButton>      m_pBtnEdit;
    VclPtr<PushButton>      m_pBtnRemove;
    VclPtr<PushButton>      m_pBtnCopy;
    VclPtr<HelpButton>      m_pBtnHelp;
    VclPtr<PushButton>      m_pBtnStartShow;
    VclPtr<OKButton>        m_pBtnOK;

    SdDrawDocument& rDoc;
    SdCustomShowList* pCustomShowList;
@@ -57,22 +57,22 @@ private:
public:
                SdCustomShowDlg( vcl::Window* pWindow, SdDrawDocument& rDrawDoc );
                virtual ~SdCustomShowDlg();

    bool        IsModified() const { return bModified; }
    bool        IsCustomShow() const;
    virtual void dispose() SAL_OVERRIDE;
    bool         IsModified() const { return bModified; }
    bool         IsCustomShow() const;
};

class SdDefineCustomShowDlg : public ModalDialog
{
private:
    Edit*            m_pEdtName;
    ListBox*         m_pLbPages;
    PushButton*      m_pBtnAdd;
    PushButton*      m_pBtnRemove;
    SvTreeListBox*   m_pLbCustomPages;
    OKButton*        m_pBtnOK;
    CancelButton*    m_pBtnCancel;
    HelpButton*      m_pBtnHelp;
    VclPtr<Edit>            m_pEdtName;
    VclPtr<ListBox>         m_pLbPages;
    VclPtr<PushButton>      m_pBtnAdd;
    VclPtr<PushButton>      m_pBtnRemove;
    VclPtr<SvTreeListBox>   m_pLbCustomPages;
    VclPtr<OKButton>        m_pBtnOK;
    VclPtr<CancelButton>    m_pBtnCancel;
    VclPtr<HelpButton>      m_pBtnHelp;

    SdDrawDocument& rDoc;
    SdCustomShow*&  rpCustomShow;
@@ -90,6 +90,7 @@ public:
                    SdDefineCustomShowDlg( vcl::Window* pWindow,
                            SdDrawDocument& rDrawDoc, SdCustomShow*& rpCS );
                    virtual ~SdDefineCustomShowDlg();
    virtual void    dispose() SAL_OVERRIDE;

    bool            IsModified() const { return bModified; }
};
diff --git a/sd/source/ui/inc/dlgfield.hxx b/sd/source/ui/inc/dlgfield.hxx
index b458b8d..fe11b07 100644
--- a/sd/source/ui/inc/dlgfield.hxx
+++ b/sd/source/ui/inc/dlgfield.hxx
@@ -34,10 +34,10 @@ class SvxFieldData;
class SdModifyFieldDlg : public ModalDialog
{
private:
    RadioButton* m_pRbtFix;
    RadioButton* m_pRbtVar;
    SvxLanguageBox* m_pLbLanguage;
    ListBox* m_pLbFormat;
    VclPtr<RadioButton> m_pRbtFix;
    VclPtr<RadioButton> m_pRbtVar;
    VclPtr<SvxLanguageBox> m_pLbLanguage;
    VclPtr<ListBox> m_pLbFormat;
    SfxItemSet          maInputSet;

    const SvxFieldData* pField;
@@ -49,7 +49,8 @@ private:

public:
    SdModifyFieldDlg( vcl::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet );
    virtual ~SdModifyFieldDlg() {}
    virtual ~SdModifyFieldDlg();
    virtual void dispose() SAL_OVERRIDE;

    SvxFieldData*       GetField();
    SfxItemSet          GetItemSet();
diff --git a/sd/source/ui/inc/dlgsnap.hxx b/sd/source/ui/inc/dlgsnap.hxx
index ab431c8..f17a7c5 100644
--- a/sd/source/ui/inc/dlgsnap.hxx
+++ b/sd/source/ui/inc/dlgsnap.hxx
@@ -41,15 +41,15 @@ namespace sd {
class SdSnapLineDlg : public ModalDialog
{
private:
    FixedText*          m_pFtX;
    MetricField*        m_pMtrFldX;
    FixedText*          m_pFtY;
    MetricField*        m_pMtrFldY;
    VclContainer*       m_pRadioGroup;
    RadioButton*        m_pRbPoint;
    RadioButton*        m_pRbVert;
    RadioButton*        m_pRbHorz;
    PushButton*         m_pBtnDelete;
    VclPtr<FixedText>          m_pFtX;
    VclPtr<MetricField>        m_pMtrFldX;
    VclPtr<FixedText>          m_pFtY;
    VclPtr<MetricField>        m_pMtrFldY;
    VclPtr<VclContainer>       m_pRadioGroup;
    VclPtr<RadioButton>        m_pRbPoint;
    VclPtr<RadioButton>        m_pRbVert;
    VclPtr<RadioButton>        m_pRbHorz;
    VclPtr<PushButton>         m_pBtnDelete;
    long                nXValue;
    long                nYValue;
    FieldUnit           eUIUnit;
@@ -59,6 +59,8 @@ private:

public:
    SdSnapLineDlg(vcl::Window* pWindow, const SfxItemSet& rInAttrs, ::sd::View* pView);
    virtual ~SdSnapLineDlg();
    virtual void dispose() SAL_OVERRIDE;

    void GetAttr(SfxItemSet& rOutAttrs);

diff --git a/sd/source/ui/inc/framework/Pane.hxx b/sd/source/ui/inc/framework/Pane.hxx
index b4ee242..7945aa2 100644
--- a/sd/source/ui/inc/framework/Pane.hxx
+++ b/sd/source/ui/inc/framework/Pane.hxx
@@ -29,6 +29,7 @@
#include <cppuhelper/compbase3.hxx>
#include <boost/shared_ptr.hpp>
#include <boost/weak_ptr.hpp>
#include <vcl/vclptr.hxx>

namespace vcl { class Window; }

@@ -135,7 +136,7 @@ public:

protected:
    ::com::sun::star::uno::Reference<com::sun::star::drawing::framework::XResourceId> mxPaneId;
    vcl::Window* mpWindow;
    VclPtr<vcl::Window> mpWindow;
    ::com::sun::star::uno::Reference<com::sun::star::awt::XWindow> mxWindow;
    ::com::sun::star::uno::Reference<com::sun::star::rendering::XCanvas> mxCanvas;

diff --git a/sd/source/ui/inc/fupoor.hxx b/sd/source/ui/inc/fupoor.hxx
index 00817a7..67a7a91 100644
--- a/sd/source/ui/inc/fupoor.hxx
+++ b/sd/source/ui/inc/fupoor.hxx
@@ -82,7 +82,7 @@ public:
    virtual void Activate();        ///< activates the function
    virtual void Deactivate();      ///< deactivates the function

    void SetWindow(::sd::Window* pWin) { mpWindow = pWin; }
    void SetWindow(::sd::Window* pWin);

    virtual void SelectionHasChanged();

@@ -150,14 +150,14 @@ protected:

    ::sd::View* mpView;
    ViewShell* mpViewShell;
    ::sd::Window* mpWindow;
    VclPtr<::sd::Window> mpWindow;
    DrawDocShell* mpDocSh;
    SdDrawDocument* mpDoc;

    sal_uInt16          nSlotId;
    sal_uInt16          nSlotValue;

    Dialog*             pDialog;
    VclPtr<Dialog>             pDialog;

    Timer               aScrollTimer;           ///< for auto-scrolling
    DECL_LINK( ScrollHdl, void * );
diff --git a/sd/source/ui/inc/headerfooterdlg.hxx b/sd/source/ui/inc/headerfooterdlg.hxx
index 558e648..4206cd4d 100644
--- a/sd/source/ui/inc/headerfooterdlg.hxx
+++ b/sd/source/ui/inc/headerfooterdlg.hxx
@@ -44,17 +44,17 @@ private:
    DECL_LINK( ClickApplyHdl, void * );
    DECL_LINK( ClickCancelHdl, void * );

    TabControl*      mpTabCtrl;
    VclPtr<TabControl>      mpTabCtrl;

    HeaderFooterTabPage*    mpSlideTabPage;
    HeaderFooterTabPage*    mpNotesHandoutsTabPage;
    VclPtr<HeaderFooterTabPage>    mpSlideTabPage;
    VclPtr<HeaderFooterTabPage>    mpNotesHandoutsTabPage;

    sal_uInt16 mnSlidesId;
    sal_uInt16 mnNotesId;

    PushButton*      maPBApplyToAll;
    PushButton*      maPBApply;
    CancelButton*    maPBCancel;
    VclPtr<PushButton>      maPBApplyToAll;
    VclPtr<PushButton>      maPBApply;
    VclPtr<CancelButton>    maPBCancel;

    HeaderFooterSettings    maSlideSettings;
    HeaderFooterSettings    maNotesHandoutSettings;
diff --git a/sd/source/ui/inc/ins_paste.hxx b/sd/source/ui/inc/ins_paste.hxx
index 0cd396f..7836253 100644
--- a/sd/source/ui/inc/ins_paste.hxx
+++ b/sd/source/ui/inc/ins_paste.hxx
@@ -31,11 +31,13 @@
class SD_DLLPUBLIC SdInsertPasteDlg : public ModalDialog
{
private:
    RadioButton* m_pRbBefore;
    RadioButton* m_pRbAfter;
    VclPtr<RadioButton> m_pRbBefore;
    VclPtr<RadioButton> m_pRbAfter;

public:
    SdInsertPasteDlg( vcl::Window* pWindow );
    virtual ~SdInsertPasteDlg();
    virtual void dispose() SAL_OVERRIDE;
    bool IsInsertBefore() const;
};

diff --git a/sd/source/ui/inc/inspagob.hxx b/sd/source/ui/inc/inspagob.hxx
index f7a0e12..7dd1c75 100644
--- a/sd/source/ui/inc/inspagob.hxx
+++ b/sd/source/ui/inc/inspagob.hxx
@@ -29,9 +29,9 @@ class SdDrawDocument;
class SdInsertPagesObjsDlg : public ModalDialog
{
private:
    SdPageObjsTLB*          m_pLbTree;
    CheckBox*               m_pCbxLink;
    CheckBox*               m_pCbxMasters;
    VclPtr<SdPageObjsTLB>          m_pLbTree;
    VclPtr<CheckBox>               m_pCbxLink;
    VclPtr<CheckBox>               m_pCbxMasters;

    SfxMedium*              pMedium;
    const SdDrawDocument*   mpDoc;
@@ -46,6 +46,7 @@ public:
                                SfxMedium* pSfxMedium,
                                const OUString& rFileName );
                virtual ~SdInsertPagesObjsDlg();
    virtual void dispose() SAL_OVERRIDE;

    /** returns the list
          nType == 0 -> pages
diff --git a/sd/source/ui/inc/layeroptionsdlg.hxx b/sd/source/ui/inc/layeroptionsdlg.hxx
index e3ad808..ec0b1d2 100644
--- a/sd/source/ui/inc/layeroptionsdlg.hxx
+++ b/sd/source/ui/inc/layeroptionsdlg.hxx
@@ -35,12 +35,12 @@ class SfxItemSet;
class SD_DLLPUBLIC SdInsertLayerDlg : public ModalDialog
{
private:
    Edit*               m_pEdtName;
    Edit*               m_pEdtTitle;
    VclMultiLineEdit*   m_pEdtDesc;
    CheckBox*           m_pCbxVisible;
    CheckBox*           m_pCbxPrintable;
    CheckBox*           m_pCbxLocked;
    VclPtr<Edit>               m_pEdtName;
    VclPtr<Edit>               m_pEdtTitle;
    VclPtr<VclMultiLineEdit>   m_pEdtDesc;
    VclPtr<CheckBox>           m_pCbxVisible;
    VclPtr<CheckBox>           m_pCbxPrintable;
    VclPtr<CheckBox>           m_pCbxLocked;

    const SfxItemSet&   mrOutAttrs;

@@ -48,6 +48,9 @@ public:

    SdInsertLayerDlg( vcl::Window* pWindow, const SfxItemSet& rInAttrs,
        bool bDeletable, const OUString& rStr );
    virtual ~SdInsertLayerDlg();
    virtual void dispose() SAL_OVERRIDE;

    void                GetAttr( SfxItemSet& rOutAttrs );
};

diff --git a/sd/source/ui/inc/masterlayoutdlg.hxx b/sd/source/ui/inc/masterlayoutdlg.hxx
index b6c2169..f6be32b 100644
--- a/sd/source/ui/inc/masterlayoutdlg.hxx
+++ b/sd/source/ui/inc/masterlayoutdlg.hxx
@@ -37,11 +37,11 @@ private:
    SdDrawDocument* mpDoc;
    SdPage*         mpCurrentPage;

    CheckBox*       mpCBDate;
    CheckBox*       mpCBPageNumber;
    CheckBox*       mpCBSlideNumber;
    CheckBox*       mpCBHeader;
    CheckBox*       mpCBFooter;
    VclPtr<CheckBox>       mpCBDate;
    VclPtr<CheckBox>       mpCBPageNumber;
    VclPtr<CheckBox>       mpCBSlideNumber;
    VclPtr<CheckBox>       mpCBHeader;
    VclPtr<CheckBox>       mpCBFooter;

    bool            mbOldHeader;
    bool            mbOldFooter;
@@ -54,6 +54,8 @@ private:

public:
    MasterLayoutDialog( vcl::Window* pParent, SdDrawDocument* pDoc, SdPage* pCurrentPage );
    virtual ~MasterLayoutDialog();
    virtual void dispose() SAL_OVERRIDE;

    virtual short Execute() SAL_OVERRIDE;
};
diff --git a/sd/source/ui/inc/morphdlg.hxx b/sd/source/ui/inc/morphdlg.hxx
index f23d692..f675535 100644
--- a/sd/source/ui/inc/morphdlg.hxx
+++ b/sd/source/ui/inc/morphdlg.hxx
@@ -38,7 +38,8 @@ public:
        vcl::Window* pParent,
        const SdrObject* pObj1,
        const SdrObject* pObj2);
    virtual ~MorphDlg (void);
    virtual ~MorphDlg();
    virtual void dispose() SAL_OVERRIDE;

    void            SaveSettings() const;
    sal_uInt16      GetFadeSteps() const { return (sal_uInt16) m_pMtfSteps->GetValue(); }
@@ -46,9 +47,9 @@ public:
    bool            IsOrientationFade() const { return m_pCbxOrientation->IsChecked(); }

private:
    NumericField*   m_pMtfSteps;
    CheckBox*       m_pCbxAttributes;
    CheckBox*       m_pCbxOrientation;
    VclPtr<NumericField>   m_pMtfSteps;
    VclPtr<CheckBox>       m_pCbxAttributes;
    VclPtr<CheckBox>       m_pCbxOrientation;

    void            LoadSettings();
};
diff --git a/sd/source/ui/inc/navigatr.hxx b/sd/source/ui/inc/navigatr.hxx
index 9665414..9eb82d8 100644
--- a/sd/source/ui/inc/navigatr.hxx
+++ b/sd/source/ui/inc/navigatr.hxx
@@ -178,7 +178,7 @@ protected:
                                const SfxPoolItem* pState ) SAL_OVERRIDE;

private:
    SdNavigatorWin* pNavigatorWin;
    VclPtr<SdNavigatorWin> pNavigatorWin;
    const SdNavigatorWin::UpdateRequestFunctor maUpdateRequest;
};

@@ -196,7 +196,7 @@ protected:
                                const SfxPoolItem* pState ) SAL_OVERRIDE;

private:
    SdNavigatorWin* pNavigatorWin;
    VclPtr<SdNavigatorWin> pNavigatorWin;
    const SdNavigatorWin::UpdateRequestFunctor maUpdateRequest;
};

diff --git a/sd/source/ui/inc/present.hxx b/sd/source/ui/inc/present.hxx
index ea2fcde..0398823 100644
--- a/sd/source/ui/inc/present.hxx
+++ b/sd/source/ui/inc/present.hxx
@@ -37,37 +37,37 @@ class SdStartPresentationDlg : public ModalDialog
{
private:

    RadioButton*        aRbtAll;
    RadioButton*        aRbtAtDia;
    RadioButton*        aRbtCustomshow;
    ListBox*            aLbDias;
    ListBox*            aLbCustomshow;
    VclPtr<RadioButton>        aRbtAll;
    VclPtr<RadioButton>        aRbtAtDia;
    VclPtr<RadioButton>        aRbtCustomshow;
    VclPtr<ListBox>            aLbDias;
    VclPtr<ListBox>            aLbCustomshow;

    RadioButton*        aRbtStandard;
    RadioButton*        aRbtWindow;
    RadioButton*        aRbtAuto;
    TimeField*          aTmfPause;
    CheckBox*           aCbxAutoLogo;
    VclPtr<RadioButton>        aRbtStandard;
    VclPtr<RadioButton>        aRbtWindow;
    VclPtr<RadioButton>        aRbtAuto;
    VclPtr<TimeField>          aTmfPause;
    VclPtr<CheckBox>           aCbxAutoLogo;

    CheckBox*           aCbxManuel;
    CheckBox*           aCbxMousepointer;
    CheckBox*           aCbxPen;
    CheckBox*           aCbxNavigator;
    CheckBox*           aCbxAnimationAllowed;
    CheckBox*           aCbxChangePage;
    CheckBox*           aCbxAlwaysOnTop;
    VclPtr<CheckBox>           aCbxManuel;
    VclPtr<CheckBox>           aCbxMousepointer;
    VclPtr<CheckBox>           aCbxPen;
    VclPtr<CheckBox>           aCbxNavigator;
    VclPtr<CheckBox>           aCbxAnimationAllowed;
    VclPtr<CheckBox>           aCbxChangePage;
    VclPtr<CheckBox>           aCbxAlwaysOnTop;

    FixedText*          maFtMonitor;
    ListBox*            maLBMonitor;
    VclPtr<FixedText>          maFtMonitor;
    VclPtr<ListBox>            maLBMonitor;

    SdCustomShowList*   pCustomShowList;
    const SfxItemSet&   rOutAttrs;
    sal_Int32           mnMonitors;

    FixedText*          msMonitor;
    FixedText*          msAllMonitors;
    FixedText*          msMonitorExternal;
    FixedText*          msExternal;
    VclPtr<FixedText>          msMonitor;
    VclPtr<FixedText>          msAllMonitors;
    VclPtr<FixedText>          msMonitorExternal;
    VclPtr<FixedText>          msExternal;

                        DECL_LINK( ChangeRangeHdl, void * );
                        DECL_LINK( ClickWindowPresentationHdl, void * );
@@ -88,6 +88,8 @@ public:
                                const SfxItemSet& rInAttrs,
                                const std::vector<OUString> &rPageNames,
                                SdCustomShowList* pCSList );
    virtual             ~SdStartPresentationDlg();
    virtual void        dispose() SAL_OVERRIDE;

    void                GetAttr( SfxItemSet& rOutAttrs );
};
diff --git a/sd/source/ui/inc/prntopts.hxx b/sd/source/ui/inc/prntopts.hxx
index 9ae6631..c64b4d7 100644
--- a/sd/source/ui/inc/prntopts.hxx
+++ b/sd/source/ui/inc/prntopts.hxx
@@ -32,25 +32,25 @@ class SdPrintOptions : public SfxTabPage
 friend class SdModule;

private:
    VclFrame            *m_pFrmContent;
    CheckBox            *m_pCbxDraw;
    CheckBox            *m_pCbxNotes;
    CheckBox            *m_pCbxHandout;
    CheckBox            *m_pCbxOutline;
    RadioButton         *m_pRbtColor;
    RadioButton         *m_pRbtGrayscale;
    RadioButton         *m_pRbtBlackWhite;
    CheckBox            *m_pCbxPagename;
    CheckBox            *m_pCbxDate;
    CheckBox            *m_pCbxTime;
    CheckBox            *m_pCbxHiddenPages;
    RadioButton         *m_pRbtDefault;
    RadioButton         *m_pRbtPagesize;
    RadioButton         *m_pRbtPagetile;
    RadioButton         *m_pRbtBooklet;
    CheckBox            *m_pCbxFront;
    CheckBox            *m_pCbxBack;
    CheckBox            *m_pCbxPaperbin;
    VclPtr<VclFrame>            m_pFrmContent;
    VclPtr<CheckBox>            m_pCbxDraw;
    VclPtr<CheckBox>            m_pCbxNotes;
    VclPtr<CheckBox>            m_pCbxHandout;
    VclPtr<CheckBox>            m_pCbxOutline;
    VclPtr<RadioButton>         m_pRbtColor;
    VclPtr<RadioButton>         m_pRbtGrayscale;
    VclPtr<RadioButton>         m_pRbtBlackWhite;
    VclPtr<CheckBox>            m_pCbxPagename;
    VclPtr<CheckBox>            m_pCbxDate;
    VclPtr<CheckBox>            m_pCbxTime;
    VclPtr<CheckBox>            m_pCbxHiddenPages;
    VclPtr<RadioButton>         m_pRbtDefault;
    VclPtr<RadioButton>         m_pRbtPagesize;
    VclPtr<RadioButton>         m_pRbtPagetile;
    VclPtr<RadioButton>         m_pRbtBooklet;
    VclPtr<CheckBox>            m_pCbxFront;
    VclPtr<CheckBox>            m_pCbxBack;
    VclPtr<CheckBox>            m_pCbxPaperbin;

    const SfxItemSet&   rOutAttrs;

@@ -63,6 +63,7 @@ private:
public:
            SdPrintOptions( vcl::Window* pParent, const SfxItemSet& rInAttrs);
            virtual ~SdPrintOptions();
    virtual void dispose() SAL_OVERRIDE;

    static  SfxTabPage* Create( vcl::Window*, const SfxItemSet* );

diff --git a/sd/source/ui/inc/pubdlg.hxx b/sd/source/ui/inc/pubdlg.hxx
index bbb4f26..f9670c7 100644
--- a/sd/source/ui/inc/pubdlg.hxx
+++ b/sd/source/ui/inc/pubdlg.hxx
@@ -53,104 +53,104 @@ class SdPublishingDlg : public ModalDialog
{
private:
    // page 1 controls
    VclContainer*   pPage1;
    FixedText*      pPage1_Titel;
    RadioButton*    pPage1_NewDesign;
    RadioButton*    pPage1_OldDesign;
    ListBox*        pPage1_Designs;
    PushButton*     pPage1_DelDesign;
    FixedText*      pPage1_Desc;
    VclPtr<VclContainer>   pPage1;
    VclPtr<FixedText>      pPage1_Titel;
    VclPtr<RadioButton>    pPage1_NewDesign;
    VclPtr<RadioButton>    pPage1_OldDesign;
    VclPtr<ListBox>        pPage1_Designs;
    VclPtr<PushButton>     pPage1_DelDesign;
    VclPtr<FixedText>      pPage1_Desc;

    // page 2 controls
    VclContainer*   pPage2;
    VclContainer*   pPage2Frame2;
    VclContainer*   pPage2Frame3;
    VclContainer*   pPage2Frame4;
    FixedText*      pPage2_Titel;
    RadioButton*    pPage2_Standard;
    RadioButton*    pPage2_Frames;
    RadioButton*    pPage2_SingleDocument;
    RadioButton*    pPage2_Kiosk;
    RadioButton*    pPage2_WebCast;
    FixedImage*    pPage2_Standard_FB;
    FixedImage*    pPage2_Frames_FB;
    FixedImage*    pPage2_Kiosk_FB;
    FixedImage*    pPage2_WebCast_FB;
    VclPtr<VclContainer>   pPage2;
    VclPtr<VclContainer>   pPage2Frame2;
    VclPtr<VclContainer>   pPage2Frame3;
    VclPtr<VclContainer>   pPage2Frame4;
    VclPtr<FixedText>      pPage2_Titel;
    VclPtr<RadioButton>    pPage2_Standard;
    VclPtr<RadioButton>    pPage2_Frames;
    VclPtr<RadioButton>    pPage2_SingleDocument;
    VclPtr<RadioButton>    pPage2_Kiosk;
    VclPtr<RadioButton>    pPage2_WebCast;
    VclPtr<FixedImage>    pPage2_Standard_FB;
    VclPtr<FixedImage>    pPage2_Frames_FB;
    VclPtr<FixedImage>    pPage2_Kiosk_FB;
    VclPtr<FixedImage>    pPage2_WebCast_FB;

    FixedText*      pPage2_Titel_Html;
    CheckBox*       pPage2_Content;
    CheckBox*       pPage2_Notes;
    VclPtr<FixedText>      pPage2_Titel_Html;
    VclPtr<CheckBox>       pPage2_Content;
    VclPtr<CheckBox>       pPage2_Notes;

    FixedText*      pPage2_Titel_WebCast;
    RadioButton*    pPage2_ASP;
    RadioButton*    pPage2_PERL;
    FixedText*      pPage2_URL_txt;
    Edit*           pPage2_URL;
    FixedText*      pPage2_CGI_txt;
    Edit*           pPage2_CGI;
    FixedText*      pPage2_Index_txt;
    Edit*           pPage2_Index;
    FixedText*      pPage2_Titel_Kiosk;
    RadioButton*    pPage2_ChgDefault;
    RadioButton*    pPage2_ChgAuto;
    FixedText*      pPage2_Duration_txt;
    TimeField*      pPage2_Duration;
    CheckBox*       pPage2_Endless;
    VclPtr<FixedText>      pPage2_Titel_WebCast;
    VclPtr<RadioButton>    pPage2_ASP;
    VclPtr<RadioButton>    pPage2_PERL;
    VclPtr<FixedText>      pPage2_URL_txt;
    VclPtr<Edit>           pPage2_URL;
    VclPtr<FixedText>      pPage2_CGI_txt;
    VclPtr<Edit>           pPage2_CGI;
    VclPtr<FixedText>      pPage2_Index_txt;
    VclPtr<Edit>           pPage2_Index;
    VclPtr<FixedText>      pPage2_Titel_Kiosk;
    VclPtr<RadioButton>    pPage2_ChgDefault;
    VclPtr<RadioButton>    pPage2_ChgAuto;
    VclPtr<FixedText>      pPage2_Duration_txt;
    VclPtr<TimeField>      pPage2_Duration;
    VclPtr<CheckBox>       pPage2_Endless;

    // page 3 controls
    VclContainer*   pPage3;
    FixedText*      pPage3_Titel1;
    RadioButton*    pPage3_Png;
    RadioButton*    pPage3_Gif;
    RadioButton*    pPage3_Jpg;
    FixedText*      pPage3_Quality_txt;
    ComboBox*       pPage3_Quality;
    FixedText*      pPage3_Titel2;
    RadioButton*    pPage3_Resolution_1;
    RadioButton*    pPage3_Resolution_2;
    RadioButton*    pPage3_Resolution_3;
    FixedText*      pPage3_Titel3;
    CheckBox*       pPage3_SldSound;
    CheckBox*       pPage3_HiddenSlides;
    VclPtr<VclContainer>   pPage3;
    VclPtr<FixedText>      pPage3_Titel1;
    VclPtr<RadioButton>    pPage3_Png;
    VclPtr<RadioButton>    pPage3_Gif;
    VclPtr<RadioButton>    pPage3_Jpg;
    VclPtr<FixedText>      pPage3_Quality_txt;
    VclPtr<ComboBox>       pPage3_Quality;
    VclPtr<FixedText>      pPage3_Titel2;
    VclPtr<RadioButton>    pPage3_Resolution_1;
    VclPtr<RadioButton>    pPage3_Resolution_2;
    VclPtr<RadioButton>    pPage3_Resolution_3;
    VclPtr<FixedText>      pPage3_Titel3;
    VclPtr<CheckBox>       pPage3_SldSound;
    VclPtr<CheckBox>       pPage3_HiddenSlides;

    // page 4 controls
    VclContainer*   pPage4;
    FixedText*      pPage4_Titel1;
    FixedText*      pPage4_Author_txt;
    Edit*           pPage4_Author;
    FixedText*      pPage4_Email_txt;
    Edit*           pPage4_Email;
    FixedText*      pPage4_WWW_txt;
    Edit*           pPage4_WWW;
    FixedText*      pPage4_Titel2;
    VclMultiLineEdit*  pPage4_Misc;
    CheckBox*       pPage4_Download;
    VclPtr<VclContainer>   pPage4;
    VclPtr<FixedText>      pPage4_Titel1;
    VclPtr<FixedText>      pPage4_Author_txt;
    VclPtr<Edit>           pPage4_Author;
    VclPtr<FixedText>      pPage4_Email_txt;
    VclPtr<Edit>           pPage4_Email;
    VclPtr<FixedText>      pPage4_WWW_txt;
    VclPtr<Edit>           pPage4_WWW;
    VclPtr<FixedText>      pPage4_Titel2;
    VclPtr<VclMultiLineEdit>  pPage4_Misc;
    VclPtr<CheckBox>       pPage4_Download;

    // page 5 controls
    VclContainer*   pPage5;
    FixedText*      pPage5_Titel;
    CheckBox*       pPage5_TextOnly;
    ValueSet*       pPage5_Buttons;
    VclPtr<VclContainer>   pPage5;
    VclPtr<FixedText>      pPage5_Titel;
    VclPtr<CheckBox>       pPage5_TextOnly;
    VclPtr<ValueSet>       pPage5_Buttons;

    // page 6 controls
    VclContainer*   pPage6;
    FixedText*      pPage6_Titel;
    RadioButton*    pPage6_Default;
    RadioButton*    pPage6_User;
    PushButton*     pPage6_Back;
    PushButton*     pPage6_Text;
    PushButton*     pPage6_Link;
    PushButton*     pPage6_VLink;
    PushButton*     pPage6_ALink;
    RadioButton*    pPage6_DocColors;
    SdHtmlAttrPreview*  pPage6_Preview;
    VclPtr<VclContainer>   pPage6;
    VclPtr<FixedText>      pPage6_Titel;
    VclPtr<RadioButton>    pPage6_Default;
    VclPtr<RadioButton>    pPage6_User;
    VclPtr<PushButton>     pPage6_Back;
    VclPtr<PushButton>     pPage6_Text;
    VclPtr<PushButton>     pPage6_Link;
    VclPtr<PushButton>     pPage6_VLink;
    VclPtr<PushButton>     pPage6_ALink;
    VclPtr<RadioButton>    pPage6_DocColors;
    VclPtr<SdHtmlAttrPreview>  pPage6_Preview;

    boost::scoped_ptr< ButtonSet > mpButtonSet;

    // standard controls
    PushButton*     pLastPageButton;
    PushButton*     pNextPageButton;
    PushButton*     pFinishButton;
    VclPtr<PushButton>     pLastPageButton;
    VclPtr<PushButton>     pNextPageButton;
    VclPtr<PushButton>     pFinishButton;

    Assistent       aAssistentFunc;

@@ -197,6 +197,7 @@ public:

    SdPublishingDlg(vcl::Window* pWindow, DocumentType eDocType);
    virtual ~SdPublishingDlg();
    virtual void dispose() SAL_OVERRIDE;

    void GetParameterSequence( ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rParams );
};
diff --git a/sd/source/ui/inc/sdpreslt.hxx b/sd/source/ui/inc/sdpreslt.hxx
index ea68e8d..7afb5a8 100644
--- a/sd/source/ui/inc/sdpreslt.hxx
+++ b/sd/source/ui/inc/sdpreslt.hxx
@@ -42,7 +42,8 @@ public:
        vcl::Window* pWindow,
        const SfxItemSet& rInAttrs);

    virtual ~SdPresLayoutDlg (void);
    virtual ~SdPresLayoutDlg();
    virtual void dispose() SAL_OVERRIDE;

    void                GetAttr(SfxItemSet& rOutAttrs);

@@ -51,10 +52,10 @@ public:

private:
    ::sd::DrawDocShell* mpDocSh;
    ValueSet*           m_pVS;
    CheckBox*           m_pCbxMasterPage;
    CheckBox*           m_pCbxCheckMasters;
    PushButton*         m_pBtnLoad;
    VclPtr<ValueSet>           m_pVS;
    VclPtr<CheckBox>           m_pCbxMasterPage;
    VclPtr<CheckBox>           m_pCbxCheckMasters;
    VclPtr<PushButton>         m_pBtnLoad;

    const SfxItemSet&   mrOutAttrs;

diff --git a/sd/source/ui/inc/sdtreelb.hxx b/sd/source/ui/inc/sdtreelb.hxx
index 6e68385..86731a6 100644
--- a/sd/source/ui/inc/sdtreelb.hxx
+++ b/sd/source/ui/inc/sdtreelb.hxx
@@ -121,7 +121,7 @@ public:

protected:

    vcl::Window*                 mpParent;
    VclPtr<vcl::Window>     mpParent;
    const SdDrawDocument*   mpDoc;
    SdDrawDocument*         mpBookmarkDoc;
    SfxMedium*              mpMedium;
@@ -131,7 +131,7 @@ protected:
    bool                mbLinkableSelected;
    OUString                maDocName;
    ::sd::DrawDocShellRef   mxBookmarkDocShRef; ///< for the loading of bookmarks
    SdNavigatorWin*         mpDropNavWin;
    VclPtr<SdNavigatorWin>  mpDropNavWin;
    SfxViewFrame*           mpFrame;
    std::vector<OUString>   maTreeItem;
    bool                mbSaveTreeItemState;
diff --git a/sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx b/sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx
index e6ae9d2..5cb6f07 100644
--- a/sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx
+++ b/sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx
@@ -86,7 +86,7 @@ private:
    static void AddInstance (const SdDrawDocument* pDocument, SlideSorterCacheDisplay* pControl);
    static void RemoveInstance (SlideSorterCacheDisplay* pControl);

    vcl::Window* mpWindow;
    VclPtr<vcl::Window> mpWindow;
    sal_Int32 mnPageCount;
    sal_Int32 mnColumnCount;
    sal_Int32 mnRowCount;
diff --git a/sd/source/ui/inc/tpaction.hxx b/sd/source/ui/inc/tpaction.hxx
index bd1ac11..576f647 100644
--- a/sd/source/ui/inc/tpaction.hxx
+++ b/sd/source/ui/inc/tpaction.hxx
@@ -53,21 +53,21 @@ public:
class SdTPAction : public SfxTabPage
{
private:
    ListBox*                m_pLbAction;
    VclPtr<ListBox>                m_pLbAction;

    FixedText*              m_pFtTree;                // jump destination controls
    SdPageObjsTLB*          m_pLbTree;
    SdPageObjsTLB*          m_pLbTreeDocument;
    ListBox*                m_pLbOLEAction;
    VclPtr<FixedText>              m_pFtTree;                // jump destination controls
    VclPtr<SdPageObjsTLB>          m_pLbTree;
    VclPtr<SdPageObjsTLB>          m_pLbTreeDocument;
    VclPtr<ListBox>                m_pLbOLEAction;

    VclFrame*               m_pFrame;
    Edit*                   m_pEdtSound;
    Edit*                   m_pEdtBookmark;
    Edit*                   m_pEdtDocument;
    Edit*                   m_pEdtProgram;
    Edit*                   m_pEdtMacro;
    PushButton*             m_pBtnSearch;
    PushButton*             m_pBtnSeek;
    VclPtr<VclFrame>               m_pFrame;
    VclPtr<Edit>                   m_pEdtSound;
    VclPtr<Edit>                   m_pEdtBookmark;
    VclPtr<Edit>                   m_pEdtDocument;
    VclPtr<Edit>                   m_pEdtProgram;
    VclPtr<Edit>                   m_pEdtMacro;
    VclPtr<PushButton>             m_pBtnSearch;
    VclPtr<PushButton>             m_pBtnSeek;

    const SfxItemSet&       rOutAttrs;
    const ::sd::View*       mpView;
@@ -97,6 +97,7 @@ private:
public:
            SdTPAction( vcl::Window* pParent, const SfxItemSet& rInAttrs );
            virtual ~SdTPAction();
    virtual void dispose() SAL_OVERRIDE;

    static  SfxTabPage* Create( vcl::Window*, const SfxItemSet& );

diff --git a/sd/source/ui/inc/tpoption.hxx b/sd/source/ui/inc/tpoption.hxx
index 353b06e..55f671d 100644
--- a/sd/source/ui/inc/tpoption.hxx
+++ b/sd/source/ui/inc/tpoption.hxx
@@ -50,14 +50,15 @@ public:
class SdTpOptionsContents : public SfxTabPage
{
private:
    CheckBox*    m_pCbxRuler;
    CheckBox*    m_pCbxDragStripes;
    CheckBox*    m_pCbxHandlesBezier;
    CheckBox*    m_pCbxMoveOutline;
    VclPtr<CheckBox>    m_pCbxRuler;
    VclPtr<CheckBox>    m_pCbxDragStripes;
    VclPtr<CheckBox>    m_pCbxHandlesBezier;
    VclPtr<CheckBox>    m_pCbxMoveOutline;

public:
            SdTpOptionsContents( vcl::Window* pParent, const SfxItemSet& rInAttrs  );
            virtual ~SdTpOptionsContents();
    virtual void dispose() SAL_OVERRIDE;

    static  SfxTabPage* Create( vcl::Window*, const SfxItemSet* );
    virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE;
@@ -73,38 +74,38 @@ class SdTpOptionsMisc : public SfxTabPage
 friend class SdModule;

private:
    CheckBox    *m_pCbxQuickEdit;
    CheckBox    *m_pCbxPickThrough;
    VclPtr<CheckBox>    m_pCbxQuickEdit;
    VclPtr<CheckBox>    m_pCbxPickThrough;

    VclFrame    *m_pNewDocumentFrame;
    CheckBox    *m_pCbxStartWithTemplate;
    VclPtr<VclFrame>    m_pNewDocumentFrame;
    VclPtr<CheckBox>    m_pCbxStartWithTemplate;

    CheckBox    *m_pCbxMasterPageCache;
    CheckBox    *m_pCbxCopy;
    CheckBox    *m_pCbxMarkedHitMovesAlways;
    VclFrame    *m_pPresentationFrame;
    VclPtr<CheckBox>    m_pCbxMasterPageCache;
    VclPtr<CheckBox>    m_pCbxCopy;
    VclPtr<CheckBox>    m_pCbxMarkedHitMovesAlways;
    VclPtr<VclFrame>    m_pPresentationFrame;

    ListBox     *m_pLbMetric;
    MetricField *m_pMtrFldTabstop;
    VclPtr<ListBox>     m_pLbMetric;
    VclPtr<MetricField> m_pMtrFldTabstop;

    CheckBox    *m_pCbxEnableSdremote;
    CheckBox    *m_pCbxEnablePresenterScreen;
    CheckBox    *m_pCbxUsePrinterMetrics;
    CheckBox    *m_pCbxCompatibility;
    VclPtr<CheckBox>    m_pCbxEnableSdremote;
    VclPtr<CheckBox>    m_pCbxEnablePresenterScreen;
    VclPtr<CheckBox>    m_pCbxUsePrinterMetrics;
    VclPtr<CheckBox>    m_pCbxCompatibility;

    //Scale
    VclFrame    *m_pScaleFrame;
    ComboBox    *m_pCbScale;
    FixedText   *m_pNewDocLb;
    FixedText   *m_pFiInfo1;
    MetricField *m_pMtrFldOriginalWidth;
    FixedText   *m_pWidthLb;
    FixedText   *m_pHeightLb;
    FixedText   *m_pFiInfo2;
    MetricField *m_pMtrFldOriginalHeight;
    CheckBox    *m_pCbxDistrot;
    MetricField *m_pMtrFldInfo1;
    MetricField *m_pMtrFldInfo2;
    VclPtr<VclFrame>    m_pScaleFrame;
    VclPtr<ComboBox>    m_pCbScale;
    VclPtr<FixedText>   m_pNewDocLb;
    VclPtr<FixedText>   m_pFiInfo1;
    VclPtr<MetricField> m_pMtrFldOriginalWidth;
    VclPtr<FixedText>   m_pWidthLb;
    VclPtr<FixedText>   m_pHeightLb;
    VclPtr<FixedText>   m_pFiInfo2;
    VclPtr<MetricField> m_pMtrFldOriginalHeight;
    VclPtr<CheckBox>    m_pCbxDistrot;
    VclPtr<MetricField> m_pMtrFldInfo1;
    VclPtr<MetricField> m_pMtrFldInfo2;

    sal_uInt32          nWidth;
    sal_uInt32          nHeight;
@@ -131,6 +132,7 @@ protected:
public:
            SdTpOptionsMisc( vcl::Window* pParent, const SfxItemSet& rInAttrs  );
            virtual ~SdTpOptionsMisc();
    virtual void dispose() SAL_OVERRIDE;

    static  SfxTabPage* Create( vcl::Window*, const SfxItemSet* );
    virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE;
diff --git a/sd/source/ui/inc/vectdlg.hxx b/sd/source/ui/inc/vectdlg.hxx
index 153343d..fefa8ef 100644
--- a/sd/source/ui/inc/vectdlg.hxx
+++ b/sd/source/ui/inc/vectdlg.hxx
@@ -42,20 +42,20 @@ class DrawDocShell;
class SdVectorizeDlg : public ModalDialog
{
    ::sd::DrawDocShell *    mpDocSh;
    NumericField*       m_pNmLayers;
    MetricField*        m_pMtReduce;
    FixedText*          m_pFtFillHoles;
    MetricField*        m_pMtFillHoles;
    CheckBox*           m_pCbFillHoles;
    VclPtr<NumericField>       m_pNmLayers;
    VclPtr<MetricField>        m_pMtReduce;
    VclPtr<FixedText>          m_pFtFillHoles;
    VclPtr<MetricField>        m_pMtFillHoles;
    VclPtr<CheckBox>           m_pCbFillHoles;

    GraphCtrl*          m_pBmpWin;
    VclPtr<GraphCtrl>          m_pBmpWin;

    GraphCtrl*          m_pMtfWin;
    VclPtr<GraphCtrl>          m_pMtfWin;

    ProgressBar*        m_pPrgs;
    VclPtr<ProgressBar>        m_pPrgs;

    OKButton*           m_pBtnOK;
    PushButton*         m_pBtnPreview;
    VclPtr<OKButton>           m_pBtnOK;
    VclPtr<PushButton>         m_pBtnPreview;

    Bitmap              aBmp;
    Bitmap              aPreviewBmp;
@@ -82,6 +82,7 @@ public:

                        SdVectorizeDlg( vcl::Window* pParent, const Bitmap& rBmp, ::sd::DrawDocShell* pDocShell );
                        virtual ~SdVectorizeDlg();
    virtual void        dispose() SAL_OVERRIDE;

    const GDIMetaFile&  GetGDIMetaFile() const { return aMtf; }
};
diff --git a/sd/source/ui/slideshow/slideshow.cxx b/sd/source/ui/slideshow/slideshow.cxx
index 32f8db4..7e81443 100644
--- a/sd/source/ui/slideshow/slideshow.cxx
+++ b/sd/source/ui/slideshow/slideshow.cxx
@@ -927,7 +927,7 @@ bool SlideShow::startPreview( const Reference< XDrawPage >& xDrawPage, const Ref

OutputDevice* SlideShow::getShowWindow()
{
    return mxController.is() ? mxController->mpShowWindow : 0;
    return mxController.is() ? mxController->mpShowWindow.get() : 0;
}

int SlideShow::getAnimationMode()
diff --git a/sd/source/ui/slideshow/slideshowimpl.cxx b/sd/source/ui/slideshow/slideshowimpl.cxx
index f64376e..15b2bb3 100644
--- a/sd/source/ui/slideshow/slideshowimpl.cxx
+++ b/sd/source/ui/slideshow/slideshowimpl.cxx
@@ -707,8 +707,7 @@ void SAL_CALL SlideshowImpl::disposing()
    if( mpTimeButton )
    {
        mpTimeButton->Hide();
        delete mpTimeButton;
        mpTimeButton = 0;
        mpTimeButton.clear();
    }

    if( mpShowWindow )
@@ -743,8 +742,7 @@ void SAL_CALL SlideshowImpl::disposing()

    if( mpShowWindow )
    {
        delete mpShowWindow;
        mpShowWindow = 0;
        mpShowWindow.clear();
    }

    setActiveXToolbarsVisible( true );
@@ -805,7 +803,7 @@ bool SlideshowImpl::startPreview(
        mpSlideController->insertSlideNumber( nSlideNumber-1 );
        mpSlideController->setPreviewNode( xAnimationNode );

        mpShowWindow = new ShowWindow( this, ((pParent == 0) && mpViewShell) ?  mpParentWindow : pParent );
        mpShowWindow = new ShowWindow( this, ((pParent == 0) && mpViewShell) ?  mpParentWindow.get() : pParent );
        if( mpViewShell )
        {
            mpViewShell->SetActiveWindow( mpShowWindow );
@@ -857,7 +855,7 @@ bool SlideshowImpl::startPreview(

        bRet = startShowImpl( aProperties );

        if( mpShowWindow != 0 && meAnimationMode == ANIMATIONMODE_PREVIEW )
        if( mpShowWindow != nullptr && meAnimationMode == ANIMATIONMODE_PREVIEW )
            mpShowWindow->SetPreviewMode();

    }
@@ -882,8 +880,8 @@ bool SlideshowImpl::startShow( PresentationSettingsEx* pPresSettings )
    DBG_ASSERT( !mxShow.is(), "sd::SlideshowImpl::startShow(), called twice!" );
    if( mxShow.is() )
        return true;
    DBG_ASSERT( mpParentWindow!=NULL, "sd::SlideshowImpl::startShow() called without parent window" );
    if (mpParentWindow == NULL)
    DBG_ASSERT( mpParentWindow!=nullptr, "sd::SlideshowImpl::startShow() called without parent window" );
    if (mpParentWindow == nullptr)
        return false;

    // Autoplay (pps/ppsx)
diff --git a/sd/source/ui/slideshow/slideshowimpl.hxx b/sd/source/ui/slideshow/slideshowimpl.hxx
index b39c4ed..2d96b97 100644
--- a/sd/source/ui/slideshow/slideshowimpl.hxx
+++ b/sd/source/ui/slideshow/slideshowimpl.hxx
@@ -92,7 +92,7 @@ struct PresentationSettingsEx : public PresentationSettings
{
    bool mbRehearseTimings;
    bool mbPreview;
    vcl::Window* mpParentWindow;
    VclPtr<vcl::Window> mpParentWindow;
    css::uno::Reference< css::drawing::XDrawPage > mxStartPage;
    css::uno::Reference< css::animations::XAnimationNode > mxAnimationNode;

@@ -332,9 +332,9 @@ private:
    SdDrawDocument* mpDoc;

    SfxItemSet*     mpNewAttr;
    vcl::Window*       mpParentWindow;
    ShowWindow*     mpShowWindow;
    PushButton*     mpTimeButton;
    VclPtr<vcl::Window>    mpParentWindow;
    VclPtr<ShowWindow>     mpShowWindow;
    VclPtr<PushButton>     mpTimeButton;

    boost::shared_ptr< AnimationSlideController > mpSlideController;

@@ -347,8 +347,8 @@ private:
    OUString        maCharBuffer;
    Pointer         maOldPointer;
    Pointer         maPencil;
    std::vector< ::sd::Window* > maDrawModeWindows;
    ::sd::Window*   mpOldActiveWindow;
    std::vector< VclPtr<::sd::Window> > maDrawModeWindows;
    VclPtr<::sd::Window>   mpOldActiveWindow;
    Link            maStarBASICGlobalErrorHdl;
    unsigned long   mnChildMask;
    bool            mbGridVisible;
diff --git a/sd/source/ui/table/TableDesignPane.hxx b/sd/source/ui/table/TableDesignPane.hxx
index 0fb256c..ecf3240 100644
--- a/sd/source/ui/table/TableDesignPane.hxx
+++ b/sd/source/ui/table/TableDesignPane.hxx
@@ -92,8 +92,8 @@ private:
private:
    ViewShellBase& mrBase;

    TableValueSet* m_pValueSet;
    CheckBox* m_aCheckBoxes[CB_COUNT];
    VclPtr<TableValueSet> m_pValueSet;
    VclPtr<CheckBox> m_aCheckBoxes[CB_COUNT];

    ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxSelectedTable;
    ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawView > mxView;
diff --git a/sd/source/ui/view/FormShellManager.cxx b/sd/source/ui/view/FormShellManager.cxx
index 5a72e66..67df29c 100644
--- a/sd/source/ui/view/FormShellManager.cxx
+++ b/sd/source/ui/view/FormShellManager.cxx
@@ -138,7 +138,7 @@ void FormShellManager::RegisterAtCenterPane (void)
        return;

    mpMainViewShellWindow = pShell->GetActiveWindow();
    if (mpMainViewShellWindow == NULL)
    if (mpMainViewShellWindow == nullptr)
        return;

    // Register at the window to get informed when to move the form
@@ -158,7 +158,7 @@ void FormShellManager::RegisterAtCenterPane (void)

void FormShellManager::UnregisterAtCenterPane (void)
{
    if (mpMainViewShellWindow != NULL)
    if (mpMainViewShellWindow != nullptr)
    {
        // Unregister from the window.
        mpMainViewShellWindow->RemoveEventListener(
diff --git a/sd/source/ui/view/sdruler.cxx b/sd/source/ui/view/sdruler.cxx
index e459264..f4c1d22 100644
--- a/sd/source/ui/view/sdruler.cxx
+++ b/sd/source/ui/view/sdruler.cxx
@@ -101,6 +101,7 @@ void Ruler::dispose()
    rBindings.EnterRegistrations();
    delete pCtrlItem;
    rBindings.LeaveRegistrations();
    pSdWin.clear();
    SvxRuler::dispose();
}

diff --git a/sd/source/ui/view/sdview2.cxx b/sd/source/ui/view/sdview2.cxx
index 0cb06ef..e0f3cdf 100644
--- a/sd/source/ui/view/sdview2.cxx
+++ b/sd/source/ui/view/sdview2.cxx
@@ -76,7 +76,7 @@ using namespace ::com::sun::star;
struct SdNavigatorDropEvent : public ExecuteDropEvent
{
    DropTargetHelper&       mrTargetHelper;
    ::sd::Window* mpTargetWindow;
    VclPtr<::sd::Window>    mpTargetWindow;
    sal_uInt16                  mnPage;
    sal_uInt16                  mnLayer;

diff --git a/sd/source/ui/view/sdwindow.cxx b/sd/source/ui/view/sdwindow.cxx
index a8e0fa3..5b6523e 100644
--- a/sd/source/ui/view/sdwindow.cxx
+++ b/sd/source/ui/view/sdwindow.cxx
@@ -105,6 +105,7 @@ void Window::dispose()
        if (pWindowUpdater != NULL)
            pWindowUpdater->UnregisterWindow (this);
    }
    mpShareWin.clear();
    vcl::Window::dispose();
}

diff --git a/sd/source/ui/view/viewshe2.cxx b/sd/source/ui/view/viewshe2.cxx
index f6d25df..2f37f85 100644
--- a/sd/source/ui/view/viewshe2.cxx
+++ b/sd/source/ui/view/viewshe2.cxx
@@ -648,7 +648,7 @@ void ViewShell::SetActiveWindow (::sd::Window* pWin)
        }
    }

    if (mpActiveWindow != pWin)
    if (mpActiveWindow.get() != pWin)
        mpActiveWindow = pWin;

    // The rest of this function is not guarded anymore against calling this
diff --git a/sd/source/ui/view/viewshel.cxx b/sd/source/ui/view/viewshel.cxx
index 4016503..4076a09 100644
--- a/sd/source/ui/view/viewshel.cxx
+++ b/sd/source/ui/view/viewshel.cxx
@@ -891,7 +891,7 @@ void ViewShell::Resize (void)
{
    SetupRulers ();

    if (mpParentWindow == NULL)
    if (mpParentWindow == nullptr)
        return;

    // Make sure that the new size is not degenerate.
diff --git a/sfx2/inc/srchdlg.hxx b/sfx2/inc/srchdlg.hxx
index b5abe7b..2b71b76 100644
--- a/sfx2/inc/srchdlg.hxx
+++ b/sfx2/inc/srchdlg.hxx
@@ -36,12 +36,12 @@ namespace sfx2 {
class SearchDialog : public ModelessDialog
{
private:
    ComboBox*           m_pSearchEdit;
    CheckBox*           m_pWholeWordsBox;
    CheckBox*           m_pMatchCaseBox;
    CheckBox*           m_pWrapAroundBox;
    CheckBox*           m_pBackwardsBox;
    PushButton*         m_pFindBtn;
    VclPtr<ComboBox>           m_pSearchEdit;
    VclPtr<CheckBox>           m_pWholeWordsBox;
    VclPtr<CheckBox>           m_pMatchCaseBox;
    VclPtr<CheckBox>           m_pWrapAroundBox;
    VclPtr<CheckBox>           m_pBackwardsBox;
    VclPtr<PushButton>         m_pFindBtn;

    Link                m_aFindHdl;
    Link                m_aCloseHdl;
diff --git a/sfx2/source/appl/childwin.cxx b/sfx2/source/appl/childwin.cxx
index 2a904ca..1ec9b03 100644
--- a/sfx2/source/appl/childwin.cxx
+++ b/sfx2/source/appl/childwin.cxx
@@ -199,7 +199,6 @@ void SfxChildWindow::Destroy()
SfxChildWindow::~SfxChildWindow()
{
    delete pContext;
    delete pWindow;
    delete pImp;
}

@@ -336,16 +335,16 @@ SfxChildWinInfo SfxChildWindow::GetInfo() const
        sal_uIntPtr nMask = WINDOWSTATE_MASK_POS | WINDOWSTATE_MASK_STATE;
        if ( pWindow->GetStyle() & WB_SIZEABLE )
            nMask |= ( WINDOWSTATE_MASK_WIDTH | WINDOWSTATE_MASK_HEIGHT );
        aInfo.aWinState = static_cast<SystemWindow*>(pWindow)->GetWindowState( nMask );
        aInfo.aWinState = static_cast<SystemWindow*>(pWindow.get())->GetWindowState( nMask );
    }
    else if ( pWindow->GetType() == RSC_DOCKINGWINDOW )
    {
        if (static_cast<DockingWindow*>(pWindow)->GetFloatingWindow() )
            aInfo.aWinState = static_cast<DockingWindow*>(pWindow)->GetFloatingWindow()->GetWindowState();
        if (static_cast<DockingWindow*>(pWindow.get())->GetFloatingWindow() )
            aInfo.aWinState = static_cast<DockingWindow*>(pWindow.get())->GetFloatingWindow()->GetWindowState();
        else
        {
            SfxChildWinInfo aTmpInfo;
            static_cast<SfxDockingWindow*>(pWindow)->FillInfo( aTmpInfo );
            static_cast<SfxDockingWindow*>(pWindow.get())->FillInfo( aTmpInfo );
            aInfo.aExtraString = aTmpInfo.aExtraString;
        }
    }
@@ -518,7 +517,6 @@ SfxChildWindowContext::SfxChildWindowContext( sal_uInt16 nId )

SfxChildWindowContext::~SfxChildWindowContext()
{
    delete pWindow;
}

FloatingWindow* SfxChildWindowContext::GetFloatingWindow() const
@@ -654,10 +652,10 @@ void SfxChildWindow::Hide()
    switch ( pWindow->GetType() )
    {
        case RSC_DOCKINGWINDOW :
            static_cast<DockingWindow*>(pWindow)->Hide();
            static_cast<DockingWindow*>(pWindow.get())->Hide();
            break;
        case RSC_TOOLBOX :
            static_cast<ToolBox*>(pWindow)->Hide();
            static_cast<ToolBox*>(pWindow.get())->Hide();
            break;
        default:
            pWindow->Hide();
@@ -670,10 +668,10 @@ void SfxChildWindow::Show( sal_uInt16 nFlags )
    switch ( pWindow->GetType() )
    {
        case RSC_DOCKINGWINDOW :
            static_cast<DockingWindow*>(pWindow)->Show( true, nFlags );
            static_cast<DockingWindow*>(pWindow.get())->Show( true, nFlags );
            break;
        case RSC_TOOLBOX :
            static_cast<ToolBox*>(pWindow)->Show( true, nFlags );
            static_cast<ToolBox*>(pWindow.get())->Show( true, nFlags );
            break;
        default:
            pWindow->Show( true, nFlags );
diff --git a/sfx2/source/appl/fileobj.hxx b/sfx2/source/appl/fileobj.hxx
index 78aa1fb..87ae93d 100644
--- a/sfx2/source/appl/fileobj.hxx
+++ b/sfx2/source/appl/fileobj.hxx
@@ -33,7 +33,7 @@ class SvFileObject : public sfx2::SvLinkSource
    OUString            sReferer;
    Link                aEndEditLink;
    SfxMediumRef        xMed;
    vcl::Window*             pOldParent;
    VclPtr<vcl::Window> pOldParent;

    sal_uInt8 nType;

diff --git a/sfx2/source/appl/helpinterceptor.hxx b/sfx2/source/appl/helpinterceptor.hxx
index e34686e..a990518 100644
--- a/sfx2/source/appl/helpinterceptor.hxx
+++ b/sfx2/source/appl/helpinterceptor.hxx
@@ -28,6 +28,7 @@
#include <cppuhelper/implbase1.hxx>
#include <com/sun/star/frame/XStatusListener.hpp>
#include <tools/link.hxx>
#include <vcl/vclptr.hxx>
#include <vector>

struct HelpHistoryEntry_Impl
@@ -63,7 +64,7 @@ friend class SfxHelpWindow_Impl;
    ::com::sun::star::uno::Reference< ::com::sun::star::frame::XStatusListener > m_xListener;

    HelpHistoryList_Impl*       m_pHistory;
    SfxHelpWindow_Impl*         m_pWindow;
    VclPtr<SfxHelpWindow_Impl>  m_pWindow;
    sal_uIntPtr                 m_nCurPos;
    OUString                    m_aCurrentURL;
    com::sun::star::uno::Any    m_aViewData;
diff --git a/sfx2/source/appl/impldde.cxx b/sfx2/source/appl/impldde.cxx
index f66a2b0..ecc5208 100644
--- a/sfx2/source/appl/impldde.cxx
+++ b/sfx2/source/appl/impldde.cxx
@@ -57,14 +57,16 @@ namespace sfx2

class SvDDELinkEditDialog : public ModalDialog
{
    Edit            *m_pEdDdeApp;
    Edit            *m_pEdDdeTopic;
    Edit            *m_pEdDdeItem;
    OKButton        *m_pOKButton;
    VclPtr<Edit>            m_pEdDdeApp;
    VclPtr<Edit>            m_pEdDdeTopic;
    VclPtr<Edit>            m_pEdDdeItem;
    VclPtr<OKButton>        m_pOKButton;

    DECL_STATIC_LINK( SvDDELinkEditDialog, EditHdl_Impl, Edit* );
public:
    SvDDELinkEditDialog( vcl::Window* pParent, SvBaseLink* );
    virtual ~SvDDELinkEditDialog();
    virtual void dispose() SAL_OVERRIDE;
    OUString GetCmd() const;
};

@@ -90,6 +92,20 @@ SvDDELinkEditDialog::SvDDELinkEditDialog( vcl::Window* pParent, SvBaseLink* pLin
    m_pOKButton->Enable( !sServer.isEmpty() && !sTopic.isEmpty() && !sItem.isEmpty() );
}

SvDDELinkEditDialog::~SvDDELinkEditDialog()
{
    dispose();
}

void SvDDELinkEditDialog::dispose()
{
    m_pEdDdeApp.clear();
    m_pEdDdeTopic.clear();
    m_pEdDdeItem.clear();
    m_pOKButton.clear();
    ModalDialog::dispose();
}

OUString SvDDELinkEditDialog::GetCmd() const
{
    OUString sCmd( m_pEdDdeApp->GetText() ), sRet;
diff --git a/sfx2/source/appl/lnkbase2.cxx b/sfx2/source/appl/lnkbase2.cxx
index 4f0aa73..2de9819 100644
--- a/sfx2/source/appl/lnkbase2.cxx
+++ b/sfx2/source/appl/lnkbase2.cxx
@@ -45,8 +45,8 @@ class  ImplDdeItem;
struct BaseLink_Impl
{
    Link                m_aEndEditLink;
    LinkManager*      m_pLinkMgr;
    vcl::Window*             m_pParentWin;
    LinkManager*        m_pLinkMgr;
    VclPtr<vcl::Window> m_pParentWin;
    FileDialogHelper*   m_pFileDlg;
    bool                m_bIsConnect;

diff --git a/sfx2/source/appl/newhelp.cxx b/sfx2/source/appl/newhelp.cxx
index 78c2df2..333e07b 100644
--- a/sfx2/source/appl/newhelp.cxx
+++ b/sfx2/source/appl/newhelp.cxx
@@ -432,6 +432,17 @@ HelpTabPage_Impl::HelpTabPage_Impl(vcl::Window* pParent, SfxHelpIndexWindow_Impl
{
}

HelpTabPage_Impl::~HelpTabPage_Impl()
{
    dispose();
}

void HelpTabPage_Impl::dispose()
{
    m_pIdxWin.clear();
    TabPage::dispose();
}

// class ContentTabPage_Impl ---------------------------------------------
ContentTabPage_Impl::ContentTabPage_Impl(vcl::Window* pParent, SfxHelpIndexWindow_Impl* _pIdxWin)
    : HelpTabPage_Impl(pParent, _pIdxWin, "HelpContentPage",
@@ -443,6 +454,17 @@ ContentTabPage_Impl::ContentTabPage_Impl(vcl::Window* pParent, SfxHelpIndexWindo
    m_pContentBox->set_height_request(aSize.Height());
}

ContentTabPage_Impl::~ContentTabPage_Impl()
{
    dispose();
}

void ContentTabPage_Impl::dispose()
{
    m_pContentBox.clear();
    HelpTabPage_Impl::dispose();
}

void ContentTabPage_Impl::ActivatePage()
{
    if ( !m_pIdxWin->WasCursorLeftOrRight() )
@@ -557,6 +579,8 @@ IndexTabPage_Impl::~IndexTabPage_Impl()
void IndexTabPage_Impl::dispose()
{
    ClearIndex();
    m_pIndexCB.clear();
    m_pOpenBtn.clear();
    HelpTabPage_Impl::dispose();
}

@@ -984,6 +1008,13 @@ void SearchTabPage_Impl::dispose()
    aUserData = comphelper::string::stripEnd(aUserData, ';');
    Any aUserItem = makeAny( OUString( aUserData ) );
    aViewOpt.SetUserItem( USERITEM_NAME, aUserItem );

    m_pSearchED.clear();
    m_pSearchBtn.clear();
    m_pFullWordsCB.clear();
    m_pScopeCB.clear();
    m_pResultsLB.clear();
    m_pOpenBtn.clear();
    HelpTabPage_Impl::dispose();
}

@@ -1295,6 +1326,17 @@ BookmarksTabPage_Impl::BookmarksTabPage_Impl(vcl::Window* pParent, SfxHelpIndexW
    }
}

BookmarksTabPage_Impl::~BookmarksTabPage_Impl()
{
    dispose();
}

void BookmarksTabPage_Impl::dispose()
{
    m_pBookmarksBox.clear();
    m_pBookmarksPB.clear();
    HelpTabPage_Impl::dispose();
}


IMPL_LINK_NOARG(BookmarksTabPage_Impl, OpenHdl)
@@ -1447,10 +1489,10 @@ void SfxHelpIndexWindow_Impl::dispose()
{
    sfx2::RemoveFromTaskPaneList( this );

    DELETEZ( pCPage );
    DELETEZ( pIPage );
    DELETEZ( pSPage );
    DELETEZ( pBPage );
    pCPage.clear();
    pIPage.clear();
    pSPage.clear();
    pBPage.clear();

    for ( sal_uInt16 i = 0; i < m_pActiveLB->GetEntryCount(); ++i )
        delete static_cast<OUString*>(m_pActiveLB->GetEntryData(i));
@@ -1459,7 +1501,9 @@ void SfxHelpIndexWindow_Impl::dispose()
    aViewOpt.SetPageID( (sal_Int32)m_pTabCtrl->GetCurPageId() );

    disposeBuilder();

    m_pActiveLB.clear();
    m_pTabCtrl.clear();
    pParentWin.clear();
    vcl::Window::dispose();
}

@@ -1933,9 +1977,11 @@ void SfxHelpTextWindow_Impl::dispose()

    bIsInClose = true;
    SvtMiscOptions().RemoveListenerLink( LINK( this, SfxHelpTextWindow_Impl, NotifyHdl ) );
    delete pSrchDlg;
    pSrchDlg.clear();
    aToolBox.disposeAndClear();
    aOnStartupCB.disposeAndClear();
    pHelpWin.clear();
    pTextWin.clear();
    vcl::Window::dispose();
}

@@ -2308,11 +2354,9 @@ IMPL_LINK( SfxHelpTextWindow_Impl, FindHdl, sfx2::SearchDialog*, pDlg )



IMPL_LINK( SfxHelpTextWindow_Impl, CloseHdl, sfx2::SearchDialog*, pDlg )
IMPL_LINK( SfxHelpTextWindow_Impl, CloseHdl, sfx2::SearchDialog*, /*pDlg*/ )
{
    if ( pDlg )
        delete pSrchDlg;
    pSrchDlg = NULL;
    pSrchDlg.clear();
    return 0;
}

@@ -3036,12 +3080,10 @@ SfxHelpWindow_Impl::~SfxHelpWindow_Impl()
void SfxHelpWindow_Impl::dispose()
{
    SaveConfig();
    vcl::Window* pDel = pIndexWin;
    pIndexWin = NULL;
    delete pDel;
    pIndexWin.clear();

    pTextWin->CloseFrame();
    delete pTextWin;
    pTextWin.clear();
    SplitWindow::dispose();
}

@@ -3249,7 +3291,16 @@ SfxAddHelpBookmarkDialog_Impl::SfxAddHelpBookmarkDialog_Impl(vcl::Window* pParen
        SetText(get<FixedText>("alttitle")->GetText());
}

SfxAddHelpBookmarkDialog_Impl::~SfxAddHelpBookmarkDialog_Impl()
{
    dispose();
}

void SfxAddHelpBookmarkDialog_Impl::dispose()
{
    m_pTitleED.clear();
    ModalDialog::dispose();
}

void SfxAddHelpBookmarkDialog_Impl::SetTitle( const OUString& rTitle )
{
diff --git a/sfx2/source/appl/newhelp.hxx b/sfx2/source/appl/newhelp.hxx
index 38d15e8..45ceb30 100644
--- a/sfx2/source/appl/newhelp.hxx
+++ b/sfx2/source/appl/newhelp.hxx
@@ -76,11 +76,13 @@ class SfxHelpIndexWindow_Impl;
class HelpTabPage_Impl : public TabPage
{
protected:
    SfxHelpIndexWindow_Impl*    m_pIdxWin;
    VclPtr<SfxHelpIndexWindow_Impl>    m_pIdxWin;

public:
    HelpTabPage_Impl(vcl::Window* pParent, SfxHelpIndexWindow_Impl* _pIdxWin,
        const OString& rID, const OUString& rUIXMLDescription);
    virtual ~HelpTabPage_Impl();
    virtual void dispose() SAL_OVERRIDE;

    virtual Control*    GetLastFocusControl() = 0;
};
@@ -90,10 +92,12 @@ public:
class ContentTabPage_Impl : public HelpTabPage_Impl
{
private:
    ContentListBox_Impl* m_pContentBox;
    VclPtr<ContentListBox_Impl> m_pContentBox;

public:
    ContentTabPage_Impl(vcl::Window* pParent, SfxHelpIndexWindow_Impl* _pIdxWin);
    virtual ~ContentTabPage_Impl();
    virtual void dispose() SAL_OVERRIDE;

    virtual void        ActivatePage() SAL_OVERRIDE;
    virtual Control*    GetLastFocusControl() SAL_OVERRIDE;
@@ -119,8 +123,8 @@ public:
class IndexTabPage_Impl : public HelpTabPage_Impl
{
private:
    IndexBox_Impl*      m_pIndexCB;
    PushButton*         m_pOpenBtn;
    VclPtr<IndexBox_Impl>      m_pIndexCB;
    VclPtr<PushButton>         m_pOpenBtn;

    Idle                aFactoryIdle;
    Timer               aKeywordTimer;
@@ -196,12 +200,12 @@ public:
class SearchTabPage_Impl : public HelpTabPage_Impl
{
private:
    SearchBox_Impl*         m_pSearchED;
    PushButton*             m_pSearchBtn;
    CheckBox*               m_pFullWordsCB;
    CheckBox*               m_pScopeCB;
    SearchResultsBox_Impl*  m_pResultsLB;
    PushButton*             m_pOpenBtn;
    VclPtr<SearchBox_Impl>         m_pSearchED;
    VclPtr<PushButton>             m_pSearchBtn;
    VclPtr<CheckBox>               m_pFullWordsCB;
    VclPtr<CheckBox>               m_pScopeCB;
    VclPtr<SearchResultsBox_Impl>  m_pResultsLB;
    VclPtr<PushButton>             m_pOpenBtn;

    OUString                aFactory;

@@ -252,13 +256,15 @@ public:
class BookmarksTabPage_Impl : public HelpTabPage_Impl
{
private:
    BookmarksBox_Impl*  m_pBookmarksBox;
    PushButton*         m_pBookmarksPB;
    VclPtr<BookmarksBox_Impl>  m_pBookmarksBox;
    VclPtr<PushButton>         m_pBookmarksPB;

    DECL_LINK(OpenHdl, void *);

public:
    BookmarksTabPage_Impl( vcl::Window* pParent, SfxHelpIndexWindow_Impl* _pIdxWin );
    virtual ~BookmarksTabPage_Impl();
    virtual void dispose() SAL_OVERRIDE;

    virtual void        ActivatePage() SAL_OVERRIDE;
    virtual Control*    GetLastFocusControl() SAL_OVERRIDE;
@@ -276,8 +282,8 @@ class SfxHelpWindow_Impl;
class SfxHelpIndexWindow_Impl : public vcl::Window, public VclBuilderContainer
{
private:
    ListBox*            m_pActiveLB;
    TabControl*         m_pTabCtrl;
    VclPtr<ListBox>            m_pActiveLB;
    VclPtr<TabControl>         m_pTabCtrl;

    Idle                aIdle;

@@ -286,12 +292,12 @@ private:
    Link                aIndexKeywordLink;
    OUString            sKeyword;

    SfxHelpWindow_Impl*     pParentWin;
    VclPtr<SfxHelpWindow_Impl>     pParentWin;

    ContentTabPage_Impl*    pCPage;
    IndexTabPage_Impl*      pIPage;
    SearchTabPage_Impl*     pSPage;
    BookmarksTabPage_Impl*  pBPage;
    VclPtr<ContentTabPage_Impl>    pCPage;
    VclPtr<IndexTabPage_Impl>      pIPage;
    VclPtr<SearchTabPage_Impl>     pSPage;
    VclPtr<BookmarksTabPage_Impl>  pBPage;

    long                nMinWidth;
    bool                bWasCursorLeftOrRight;
@@ -419,9 +425,9 @@ private:
    OUString                aOnStartupText;
    OUString                sCurrentFactory;

    SfxHelpWindow_Impl*     pHelpWin;
    vcl::Window*                 pTextWin;
    sfx2::SearchDialog*     pSrchDlg;
    VclPtr<SfxHelpWindow_Impl>     pHelpWin;
    VclPtr<vcl::Window>            pTextWin;
    VclPtr<sfx2::SearchDialog>     pSrchDlg;
    ::com::sun::star::uno::Reference < ::com::sun::star::frame::XFrame2 >
                            xFrame;
    ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XBreakIterator >
@@ -489,8 +495,8 @@ friend class SfxHelpIndexWindow_Impl;
    ::com::sun::star::uno::Reference < ::com::sun::star::frame::XFrame2 >
                                xFrame;

    SfxHelpIndexWindow_Impl*    pIndexWin;
    SfxHelpTextWindow_Impl*     pTextWin;
    VclPtr<SfxHelpIndexWindow_Impl>    pIndexWin;
    VclPtr<SfxHelpTextWindow_Impl>     pTextWin;
    HelpInterceptor_Impl*       pHelpInterceptor;
    HelpListener_Impl*          pHelpListener;

@@ -561,9 +567,11 @@ public:
class SfxAddHelpBookmarkDialog_Impl : public ModalDialog
{
private:
    Edit* m_pTitleED;
    VclPtr<Edit> m_pTitleED;
public:
    SfxAddHelpBookmarkDialog_Impl( vcl::Window* pParent, bool bRename = true );
    virtual ~SfxAddHelpBookmarkDialog_Impl();
    virtual void dispose() SAL_OVERRIDE;

    void SetTitle( const OUString& rTitle );
    OUString GetTitle() const { return m_pTitleED->GetText(); }
diff --git a/sfx2/source/appl/workwin.cxx b/sfx2/source/appl/workwin.cxx
index 7f3920d..1591113 100644
--- a/sfx2/source/appl/workwin.cxx
+++ b/sfx2/source/appl/workwin.cxx
@@ -853,7 +853,7 @@ SvBorder SfxWorkWindow::Arrange_Impl()
            case SfxChildAlignment::LOWESTTOP:
                aSize.Width() = aTmp.GetWidth();
                if ( pCli->pWin->GetType() == WINDOW_SPLITWINDOW )
                    aSize = static_cast<SplitWindow *>(pCli->pWin)->CalcLayoutSizePixel( aSize );
                    aSize = static_cast<SplitWindow *>(pCli->pWin.get())->CalcLayoutSizePixel( aSize );
                bAllowHiding = false;
                aBorder.Top() += aSize.Height();
                aPos = aTmp.TopLeft();
@@ -868,7 +868,7 @@ SvBorder SfxWorkWindow::Arrange_Impl()
            case SfxChildAlignment::HIGHESTBOTTOM:
                aSize.Width() = aTmp.GetWidth();
                if ( pCli->pWin->GetType() == WINDOW_SPLITWINDOW )
                    aSize = static_cast<SplitWindow *>(pCli->pWin)->CalcLayoutSizePixel( aSize );
                    aSize = static_cast<SplitWindow *>(pCli->pWin.get())->CalcLayoutSizePixel( aSize );
                aBorder.Bottom() += aSize.Height();
                aPos = aTmp.BottomLeft();
                aPos.Y() -= (aSize.Height()-1);
@@ -883,7 +883,7 @@ SvBorder SfxWorkWindow::Arrange_Impl()
            case SfxChildAlignment::TOOLBOXLEFT:
                aSize.Height() = aTmp.GetHeight();
                if ( pCli->pWin->GetType() == WINDOW_SPLITWINDOW )
                    aSize = static_cast<SplitWindow *>(pCli->pWin)->CalcLayoutSizePixel( aSize );
                    aSize = static_cast<SplitWindow *>(pCli->pWin.get())->CalcLayoutSizePixel( aSize );
                bAllowHiding = false;
                aBorder.Left() += aSize.Width();
                aPos = aTmp.TopLeft();
@@ -898,7 +898,7 @@ SvBorder SfxWorkWindow::Arrange_Impl()
            case SfxChildAlignment::TOOLBOXRIGHT:
                aSize.Height() = aTmp.GetHeight();
                if ( pCli->pWin->GetType() == WINDOW_SPLITWINDOW )
                    aSize = static_cast<SplitWindow *>(pCli->pWin)->CalcLayoutSizePixel( aSize );
                    aSize = static_cast<SplitWindow *>(pCli->pWin.get())->CalcLayoutSizePixel( aSize );
                aBorder.Right() += aSize.Width();
                aPos = aTmp.TopRight();
                aPos.X() -= (aSize.Width()-1);
@@ -1071,10 +1071,10 @@ void SfxWorkWindow::ShowChildren_Impl()
                switch ( pCli->pWin->GetType() )
                {
                    case RSC_DOCKINGWINDOW :
                        static_cast<DockingWindow*>(pCli->pWin)->Show( true, nFlags );
                        static_cast<DockingWindow*>(pCli->pWin.get())->Show( true, nFlags );
                        break;
                    case RSC_SPLITWINDOW :
                        static_cast<SplitWindow*>(pCli->pWin)->Show( true, nFlags );
                        static_cast<SplitWindow*>(pCli->pWin.get())->Show( true, nFlags );
                        break;
                    default:
                        pCli->pWin->Show( true, nFlags );
@@ -1088,7 +1088,7 @@ void SfxWorkWindow::ShowChildren_Impl()
                switch ( pCli->pWin->GetType() )
                {
                    case RSC_DOCKINGWINDOW :
                        static_cast<DockingWindow*>(pCli->pWin)->Hide();
                        static_cast<DockingWindow*>(pCli->pWin.get())->Hide();
                        break;
                    default:
                        pCli->pWin->Hide();
@@ -1111,7 +1111,7 @@ void SfxWorkWindow::HideChildren_Impl()
            switch ( pChild->pWin->GetType() )
            {
                case RSC_DOCKINGWINDOW :
                    static_cast<DockingWindow*>(pChild->pWin)->Hide();
                    static_cast<DockingWindow*>(pChild->pWin.get())->Hide();
                    break;
                default:
                    pChild->pWin->Hide();
diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx
index c62eeda..8dd755c 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -78,7 +78,7 @@ void ThumbnailView::dispose()
    if (xComponent.is())
        xComponent->dispose ();

    delete mpScrBar;
    mpScrBar.clear();
    delete mpItemAttrs;
    delete mpProcessor;

diff --git a/sfx2/source/control/thumbnailviewacc.cxx b/sfx2/source/control/thumbnailviewacc.cxx
index 4d0886e..3ba161b 100644
--- a/sfx2/source/control/thumbnailviewacc.cxx
+++ b/sfx2/source/control/thumbnailviewacc.cxx
@@ -593,7 +593,7 @@ void ThumbnailViewAcc::ThrowIfDisposed (void)
    }
    else
    {
        DBG_ASSERT (mpParent!=NULL, "ValueSetAcc not disposed but mpParent == NULL");
        DBG_ASSERT (mpParent!=nullptr, "ValueSetAcc not disposed but mpParent == NULL");
    }
}

diff --git a/sfx2/source/control/thumbnailviewacc.hxx b/sfx2/source/control/thumbnailviewacc.hxx
index 3eae0c0..4efb7f9 100644
--- a/sfx2/source/control/thumbnailviewacc.hxx
+++ b/sfx2/source/control/thumbnailviewacc.hxx
@@ -33,6 +33,7 @@
#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
#include <com/sun/star/lang/DisposedException.hpp>

#include <vcl/vclptr.hxx>
#include <vector>

class ThumbnailView;
@@ -78,7 +79,7 @@ public:

    // XComponent
    virtual void SAL_CALL dispose()throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
        { WeakComponentImplHelperBase::dispose(); }
        { mpParent.clear(); WeakComponentImplHelperBase::dispose(); }
    virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
        { WeakComponentImplHelperBase::addEventListener(xListener); }
    virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
@@ -129,7 +130,7 @@ public:
private:
    ::std::vector< ::com::sun::star::uno::Reference<
        ::com::sun::star::accessibility::XAccessibleEventListener > >   mxEventListeners;
    ThumbnailView*                                                           mpParent;
    VclPtr<ThumbnailView>                                               mpParent;
    bool                                                                mbIsTransientChildrenDisabled;
    /// The current FOCUSED state.
    bool mbIsFocused;
diff --git a/sfx2/source/control/thumbnailviewitem.cxx b/sfx2/source/control/thumbnailviewitem.cxx
index c866a8f..4d265d7 100644
--- a/sfx2/source/control/thumbnailviewitem.cxx
+++ b/sfx2/source/control/thumbnailviewitem.cxx
@@ -117,7 +117,6 @@ ThumbnailViewItem::ThumbnailViewItem(ThumbnailView &rView, sal_uInt16 nId)

ThumbnailViewItem::~ThumbnailViewItem()
{
    delete mpTitleED;
    if( mpxAcc )
    {
        static_cast< ThumbnailViewItemAcc* >( mpxAcc->get() )->ParentDestroyed();
@@ -178,9 +177,9 @@ void ThumbnailViewItem::setEditTitle (bool edit, bool bChangeFocus)
    {
        mpTitleED->SetText(maTitle);
        updateTitleEditSize();
        static_cast<ResizableMultiLineEdit*>(mpTitleED)->SetInGrabFocus(true);
        static_cast<ResizableMultiLineEdit*>(mpTitleED.get())->SetInGrabFocus(true);
        mpTitleED->GrabFocus();
        static_cast<ResizableMultiLineEdit*>(mpTitleED)->SetInGrabFocus(false);
        static_cast<ResizableMultiLineEdit*>(mpTitleED.get())->SetInGrabFocus(false);
    }
    else if (bChangeFocus)
    {
diff --git a/sfx2/source/dialog/alienwarn.cxx b/sfx2/source/dialog/alienwarn.cxx
index e157e6e..81032bd 100644
--- a/sfx2/source/dialog/alienwarn.cxx
+++ b/sfx2/source/dialog/alienwarn.cxx
@@ -61,6 +61,8 @@ void SfxAlienWarningDialog::dispose()
    bool bChecked = m_pWarningOnBox->IsChecked();
    if ( aSaveOpt.IsWarnAlienFormat() != bChecked )
        aSaveOpt.SetWarnAlienFormat( bChecked );
    m_pKeepCurrentBtn.clear();
    m_pWarningOnBox.clear();
    MessageDialog::dispose();
}

diff --git a/sfx2/source/dialog/backingwindow.cxx b/sfx2/source/dialog/backingwindow.cxx
index fcb9074e..39bee6d 100644
--- a/sfx2/source/dialog/backingwindow.cxx
+++ b/sfx2/source/dialog/backingwindow.cxx
@@ -203,8 +203,7 @@ void BackingWindow::dispose()
    // deregister drag&drop helper
    if (mxDropTargetListener.is())
    {
        for (std::vector<vcl::Window*>::iterator aI = maDndWindows.begin(),
            aEnd = maDndWindows.end(); aI != aEnd; ++aI)
        for (auto aI = maDndWindows.begin(), aEnd = maDndWindows.end(); aI != aEnd; ++aI)
        {
            vcl::Window *pDndWin = *aI;
            css::uno::Reference< css::datatransfer::dnd::XDropTarget > xDropTarget =
@@ -218,6 +217,27 @@ void BackingWindow::dispose()
        mxDropTargetListener = css::uno::Reference< css::datatransfer::dnd::XDropTargetListener >();
    }
    disposeBuilder();
    mpOpenButton.clear();
    mpRecentButton.clear();
    mpTemplateButton.clear();
    mpCreateLabel.clear();
    mpWriterAllButton.clear();
    mpCalcAllButton.clear();
    mpImpressAllButton.clear();
    mpDrawAllButton.clear();
    mpDBAllButton.clear();
    mpMathAllButton.clear();
    mpHelpButton.clear();
    mpExtensionsButton.clear();
    mpAllButtonsBox.clear();
    mpButtonsBox.clear();
    mpSmallButtonsBox.clear();
    mpThinBox1.clear();
    mpThinBox2.clear();
    mpHelpBox.clear();
    mpExtensionsBox.clear();
    mpAllRecentThumbnails.clear();
    mpLocalView.clear();
    vcl::Window::dispose();
}

@@ -469,8 +489,7 @@ void BackingWindow::setOwningFrame( const com::sun::star::uno::Reference< com::s
    // establish drag&drop mode
    mxDropTargetListener.set(new OpenFileDropTargetListener(mxContext, mxFrame));

    for (std::vector<vcl::Window*>::iterator aI = maDndWindows.begin(),
        aEnd = maDndWindows.end(); aI != aEnd; ++aI)
    for (auto aI = maDndWindows.begin(), aEnd = maDndWindows.end(); aI != aEnd; ++aI)
    {
        vcl::Window *pDndWin = *aI;
        css::uno::Reference< css::datatransfer::dnd::XDropTarget > xDropTarget =
diff --git a/sfx2/source/dialog/backingwindow.hxx b/sfx2/source/dialog/backingwindow.hxx
index 023e1cb..a9a07f6 100644
--- a/sfx2/source/dialog/backingwindow.hxx
+++ b/sfx2/source/dialog/backingwindow.hxx
@@ -61,35 +61,35 @@ class BackingWindow
    /** helper for drag&drop. */
    com::sun::star::uno::Reference< com::sun::star::datatransfer::dnd::XDropTargetListener > mxDropTargetListener;

    PushButton*                     mpOpenButton;
    PushButton*                     mpRecentButton;
    MenuButton*                     mpTemplateButton;
    VclPtr<PushButton>                     mpOpenButton;
    VclPtr<PushButton>                     mpRecentButton;
    VclPtr<MenuButton>                     mpTemplateButton;

    FixedText*                      mpCreateLabel;
    VclPtr<FixedText>                      mpCreateLabel;

    PushButton*                     mpWriterAllButton;
    PushButton*                     mpCalcAllButton;
    PushButton*                     mpImpressAllButton;
    PushButton*                     mpDrawAllButton;
    PushButton*                     mpDBAllButton;
    PushButton*                     mpMathAllButton;
    VclPtr<PushButton>                     mpWriterAllButton;
    VclPtr<PushButton>                     mpCalcAllButton;
    VclPtr<PushButton>                     mpImpressAllButton;
    VclPtr<PushButton>                     mpDrawAllButton;
    VclPtr<PushButton>                     mpDBAllButton;
    VclPtr<PushButton>                     mpMathAllButton;

    PushButton*                     mpHelpButton;
    PushButton*                     mpExtensionsButton;
    VclPtr<PushButton>                     mpHelpButton;
    VclPtr<PushButton>                     mpExtensionsButton;

    VclBox*                         mpAllButtonsBox;
    VclBox*                         mpButtonsBox;
    VclBox*                         mpSmallButtonsBox;
    VclBox*                         mpThinBox1;
    VclBox*                         mpThinBox2;
    VclBox*                         mpHelpBox;
    VclBox*                         mpExtensionsBox;
    VclPtr<VclBox>                         mpAllButtonsBox;
    VclPtr<VclBox>                         mpButtonsBox;
    VclPtr<VclBox>                         mpSmallButtonsBox;
    VclPtr<VclBox>                         mpThinBox1;
    VclPtr<VclBox>                         mpThinBox2;
    VclPtr<VclBox>                         mpHelpBox;
    VclPtr<VclBox>                         mpExtensionsBox;

    RecentDocsView*                 mpAllRecentThumbnails;
    TemplateDefaultView*              mpLocalView;
    bool                            mbLocalViewInitialized;
    VclPtr<RecentDocsView>                 mpAllRecentThumbnails;
    VclPtr<TemplateDefaultView>            mpLocalView;
    bool                                   mbLocalViewInitialized;

    std::vector<vcl::Window*>            maDndWindows;
    std::vector<VclPtr<vcl::Window> >      maDndWindows;

    Rectangle                       maStartCentButtons;

diff --git a/sfx2/source/dialog/basedlgs.cxx b/sfx2/source/dialog/basedlgs.cxx
index e624ad6..3e2f0b0 100644
--- a/sfx2/source/dialog/basedlgs.cxx
+++ b/sfx2/source/dialog/basedlgs.cxx
@@ -45,6 +45,12 @@ using namespace ::com::sun::star::uno;

#define USERITEM_NAME OUString("UserItem")

SingleTabDlgImpl::SingleTabDlgImpl()
        : m_pSfxPage(NULL)
        , m_pLine(NULL)
    {
    }

class SfxModelessDialog_Impl : public SfxListener
{
public:
@@ -706,9 +712,10 @@ SfxSingleTabDialog::~SfxSingleTabDialog()

void SfxSingleTabDialog::dispose()
{
    delete pImpl->m_pSfxPage;
    delete pImpl->m_pLine;
    delete pImpl;
    pOKBtn.clear();
    pCancelBtn.clear();
    pHelpBtn.clear();
    SfxModalDialog::dispose();
}

@@ -723,7 +730,7 @@ void SfxSingleTabDialog::SetTabPage(SfxTabPage* pTabPage,

{
    SetUniqId(nSettingsId);
    delete pImpl->m_pSfxPage;
    pImpl->m_pSfxPage.clear();
    pImpl->m_pSfxPage = pTabPage;
    fnGetRanges = pRangesFunc;

diff --git a/sfx2/source/dialog/checkin.cxx b/sfx2/source/dialog/checkin.cxx
index 61d963e..b365ada 100644
--- a/sfx2/source/dialog/checkin.cxx
+++ b/sfx2/source/dialog/checkin.cxx
@@ -20,6 +20,19 @@ SfxCheckinDialog::SfxCheckinDialog( vcl::Window* pParent ) :
    m_pOKBtn->SetClickHdl( LINK( this, SfxCheckinDialog, OKHdl ) );
}

SfxCheckinDialog::~SfxCheckinDialog()
{
    dispose();
}

void SfxCheckinDialog::dispose()
{
    m_pCommentED.clear();
    m_pMajorCB.clear();
    m_pOKBtn.clear();
    ModalDialog::dispose();
}

OUString SfxCheckinDialog::GetComment( )
{
    return m_pCommentED->GetText( );
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index 03b9028e..75581c9 100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -626,6 +626,20 @@ SfxDocumentDescPage::SfxDocumentDescPage( vcl::Window * pParent, const SfxItemSe
    m_pCommentEd->set_height_request(m_pCommentEd->GetTextHeight() * 16);
}

SfxDocumentDescPage::~SfxDocumentDescPage()
{
    dispose();
}

void SfxDocumentDescPage::dispose()
{
    m_pTitleEd.clear();
    m_pThemaEd.clear();
    m_pKeywordsEd.clear();
    m_pCommentEd.clear();
    SfxTabPage::dispose();
}

SfxTabPage *SfxDocumentDescPage::Create(vcl::Window *pParent, const SfxItemSet *rItemSet)
{
     return new SfxDocumentDescPage(pParent, *rItemSet);
@@ -789,6 +803,33 @@ SfxDocumentPage::SfxDocumentPage(vcl::Window* pParent, const SfxItemSet& rItemSe
        m_pSignatureBtn->Disable();
}

SfxDocumentPage::~SfxDocumentPage()
{
    dispose();
}

void SfxDocumentPage::dispose()
{
    m_pBmp.clear();
    m_pNameED.clear();
    m_pChangePassBtn.clear();
    m_pShowTypeFT.clear();
    m_pReadOnlyCB.clear();
    m_pFileValFt.clear();
    m_pShowSizeFT.clear();
    m_pCreateValFt.clear();
    m_pChangeValFt.clear();
    m_pSignedValFt.clear();
    m_pSignatureBtn.clear();
    m_pPrintValFt.clear();
    m_pTimeLogValFt.clear();
    m_pDocNoValFt.clear();
    m_pUseUserDataCB.clear();
    m_pDeleteBtn.clear();
    m_pTemplFt.clear();
    m_pTemplValFt.clear();
    SfxTabPage::dispose();
}


IMPL_LINK_NOARG(SfxDocumentPage, DeleteHdl)
@@ -1209,19 +1250,20 @@ void CustomPropertiesYesNoButton::dispose()

class DurationDialog_Impl : public ModalDialog
{
    CheckBox*       m_pNegativeCB;
    NumericField*   m_pYearNF;
    NumericField*   m_pMonthNF;
    NumericField*   m_pDayNF;
    NumericField*   m_pHourNF;
    NumericField*   m_pMinuteNF;
    NumericField*   m_pSecondNF;
    NumericField*   m_pMSecondNF;
    VclPtr<CheckBox>       m_pNegativeCB;
    VclPtr<NumericField>   m_pYearNF;
    VclPtr<NumericField>   m_pMonthNF;
    VclPtr<NumericField>   m_pDayNF;
    VclPtr<NumericField>   m_pHourNF;
    VclPtr<NumericField>   m_pMinuteNF;
    VclPtr<NumericField>   m_pSecondNF;
    VclPtr<NumericField>   m_pMSecondNF;

public:

    DurationDialog_Impl( vcl::Window* pParent, const util::Duration& rDuration );

    virtual ~DurationDialog_Impl();
    virtual void dispose() SAL_OVERRIDE;
    util::Duration  GetDuration() const;
};

@@ -1249,6 +1291,24 @@ DurationDialog_Impl::DurationDialog_Impl(vcl::Window* pParent,
    m_pMSecondNF->SetValue(rDuration.NanoSeconds);
}

DurationDialog_Impl::~DurationDialog_Impl()
{
    dispose();
}

void DurationDialog_Impl::dispose()
{
    m_pNegativeCB.clear();
    m_pYearNF.clear();
    m_pMonthNF.clear();
    m_pDayNF.clear();
    m_pHourNF.clear();
    m_pMinuteNF.clear();
    m_pSecondNF.clear();
    m_pMSecondNF.clear();
    ModalDialog::dispose();
}

util::Duration  DurationDialog_Impl::GetDuration() const
{
    util::Duration  aRet;
@@ -1448,6 +1508,9 @@ void CustomPropertiesWindow::dispose()
    m_aEditButton.disposeAndClear();
    m_aYesNoButton.disposeAndClear();
    m_aRemoveButton.disposeAndClear();
    m_pHeaderAccName.clear();
    m_pHeaderAccType.clear();
    m_pHeaderAccValue.clear();
    vcl::Window::dispose();
}

@@ -2080,11 +2143,11 @@ CustomPropertiesControl::~CustomPropertiesControl()

void CustomPropertiesControl::dispose()
{
    delete m_pVertScroll;
    delete m_pPropertiesWin;
    delete m_pBody;
    delete m_pHeaderBar;
    delete m_pVBox;
    m_pVertScroll.clear();
    m_pPropertiesWin.clear();
    m_pBody.clear();
    m_pHeaderBar.clear();
    m_pVBox.clear();
    vcl::Window::dispose();
}

@@ -2124,6 +2187,17 @@ SfxCustomPropertiesPage::SfxCustomPropertiesPage( vcl::Window* pParent, const Sf
    get<PushButton>("add")->SetClickHdl(LINK(this, SfxCustomPropertiesPage, AddHdl));
}

SfxCustomPropertiesPage::~SfxCustomPropertiesPage()
{
    dispose();
}

void SfxCustomPropertiesPage::dispose()
{
    m_pPropertiesCtrl.clear();
    SfxTabPage::dispose();
}

IMPL_LINK_NOARG(SfxCustomPropertiesPage, AddHdl)
{
    Any aAny;
diff --git a/sfx2/source/dialog/dockwin.cxx b/sfx2/source/dialog/dockwin.cxx
index e17c3b2..3daafd2 100644
--- a/sfx2/source/dialog/dockwin.cxx
+++ b/sfx2/source/dialog/dockwin.cxx
@@ -62,7 +62,7 @@ static const int NUM_OF_DOCKINGWINDOWS = 10;

class SfxTitleDockingWindow : public SfxDockingWindow
{
    vcl::Window*             m_pWrappedWindow;
    VclPtr<vcl::Window>   m_pWrappedWindow;

public:
                        SfxTitleDockingWindow(
@@ -208,7 +208,7 @@ SfxDockingWrapper::SfxDockingWrapper( vcl::Window* pParentWnd ,

    pWindow->SetOutputSizePixel( Size( 270, 240 ) );

    static_cast<SfxDockingWindow*>( pWindow )->Initialize( pInfo );
    static_cast<SfxDockingWindow*>( pWindow.get() )->Initialize( pInfo );
    SetHideNotDelete( true );
}

@@ -258,9 +258,7 @@ SfxTitleDockingWindow::~SfxTitleDockingWindow()

void SfxTitleDockingWindow::dispose()
{
    delete m_pWrappedWindow;
    m_pWrappedWindow = NULL;

    m_pWrappedWindow.clear();
    SfxDockingWindow::dispose();
}

@@ -411,7 +409,7 @@ friend class SfxDockingWindow;
    SfxChildAlignment   eDockAlignment;
    bool                bConstructed;
    Size                aMinSize;
    SfxSplitWindow*     pSplitWin;
    VclPtr<SfxSplitWindow>  pSplitWin;
    bool                bSplitable;
    Idle                aMoveIdle;

diff --git a/sfx2/source/dialog/documentfontsdialog.cxx b/sfx2/source/dialog/documentfontsdialog.cxx
index c942fd2..6f0fab8 100644
--- a/sfx2/source/dialog/documentfontsdialog.cxx
+++ b/sfx2/source/dialog/documentfontsdialog.cxx
@@ -34,6 +34,17 @@ SfxDocumentFontsPage::SfxDocumentFontsPage( vcl::Window* parent, const SfxItemSe
    get( embedFontsCheckbox, "embedFonts" );
}

SfxDocumentFontsPage::~SfxDocumentFontsPage()
{
    dispose();
}

void SfxDocumentFontsPage::dispose()
{
    embedFontsCheckbox.clear();
    SfxTabPage::dispose();
}

void SfxDocumentFontsPage::Reset( const SfxItemSet* )
{
    bool bVal = false;
diff --git a/sfx2/source/dialog/filedlgimpl.hxx b/sfx2/source/dialog/filedlgimpl.hxx
index b947ca9..cac4cb2 100644
--- a/sfx2/source/dialog/filedlgimpl.hxx
+++ b/sfx2/source/dialog/filedlgimpl.hxx
@@ -54,7 +54,7 @@ namespace sfx2
        SfxFilterMatcher*           mpMatcher;
        GraphicFilter*              mpGraphicFilter;
        FileDialogHelper*           mpAntiImpl;
        vcl::Window*                     mpPreferredParentWindow;
        VclPtr<vcl::Window>         mpPreferredParentWindow;

        ::std::vector< OUString > mlLastURLs;

diff --git a/sfx2/source/dialog/infobar.cxx b/sfx2/source/dialog/infobar.cxx
index 777b3fe..639bd4b 100644
--- a/sfx2/source/dialog/infobar.cxx
+++ b/sfx2/source/dialog/infobar.cxx
@@ -150,14 +150,8 @@ SfxInfoBarWindow::~SfxInfoBarWindow()

void SfxInfoBarWindow::dispose()
{
    delete m_pMessage;
    delete m_pCloseBtn;

    for ( vector< PushButton* >::iterator it = m_aActionBtns.begin( );
            it != m_aActionBtns.end( ); ++it )
    {
        delete *it;
    }
    m_pMessage.clear();
    m_pCloseBtn.clear();
    m_aActionBtns.clear( );
    vcl::Window::dispose();
}
@@ -219,8 +213,7 @@ void SfxInfoBarWindow::Resize()
    long nX = m_pCloseBtn->GetPosPixel().getX() - 15 * nScaleFactor;
    long nButtonGap = 5 * nScaleFactor;

    boost::ptr_vector<PushButton>::iterator it;
    for (it = m_aActionBtns.begin(); it != m_aActionBtns.end(); ++it)
    for (auto it = m_aActionBtns.begin(); it != m_aActionBtns.end(); ++it)
    {
        long nButtonWidth = it->GetSizePixel().getWidth();
        nX -= nButtonWidth;
@@ -254,11 +247,6 @@ SfxInfoBarContainerWindow::~SfxInfoBarContainerWindow()

void SfxInfoBarContainerWindow::dispose()
{
    for ( vector< SfxInfoBarWindow* >::iterator it = m_pInfoBars.begin( );
            it != m_pInfoBars.end( ); ++it )
    {
        delete *it;
    }
    m_pInfoBars.clear( );
    Window::dispose();
}
@@ -267,7 +255,7 @@ SfxInfoBarWindow* SfxInfoBarContainerWindow::appendInfoBar(const OUString& sId, 
{
    Size aSize = GetSizePixel();

    SfxInfoBarWindow* pInfoBar = new SfxInfoBarWindow(this, sId, sMessage);
    VclPtrInstance<SfxInfoBarWindow> pInfoBar(this, sId, sMessage);
    pInfoBar->SetPosPixel(Point(0, aSize.getHeight()));
    pInfoBar->Show();
    m_pInfoBars.push_back(pInfoBar);
@@ -280,8 +268,7 @@ SfxInfoBarWindow* SfxInfoBarContainerWindow::appendInfoBar(const OUString& sId, 

SfxInfoBarWindow* SfxInfoBarContainerWindow::getInfoBar(const OUString& sId)
{
    boost::ptr_vector<SfxInfoBarWindow>::iterator it;
    for (it = m_pInfoBars.begin(); it != m_pInfoBars.end(); ++it)
    for (auto it = m_pInfoBars.begin(); it != m_pInfoBars.end(); ++it)
    {
        if (it->getId() == sId)
            return &(*it);
@@ -291,8 +278,7 @@ SfxInfoBarWindow* SfxInfoBarContainerWindow::getInfoBar(const OUString& sId)

void SfxInfoBarContainerWindow::removeInfoBar(SfxInfoBarWindow* pInfoBar)
{
    boost::ptr_vector<SfxInfoBarWindow>::iterator it;
    for (it = m_pInfoBars.begin(); it != m_pInfoBars.end(); ++it)
    for (auto it = m_pInfoBars.begin(); it != m_pInfoBars.end(); ++it)
    {
        if (pInfoBar == &(*it))
        {
@@ -302,7 +288,7 @@ void SfxInfoBarContainerWindow::removeInfoBar(SfxInfoBarWindow* pInfoBar)
    }

    long nY = 0;
    for (it = m_pInfoBars.begin(); it != m_pInfoBars.end(); ++it)
    for (auto it = m_pInfoBars.begin(); it != m_pInfoBars.end(); ++it)
    {
        it->SetPosPixel(Point(0, nY));
        nY += it->GetSizePixel().getHeight();
@@ -320,8 +306,7 @@ void SfxInfoBarContainerWindow::Resize()
    // Only need to change the width of the infobars
    long nWidth = GetSizePixel().getWidth();

    boost::ptr_vector<SfxInfoBarWindow>::iterator it;
    for (it = m_pInfoBars.begin(); it != m_pInfoBars.end(); ++it)
    for (auto it = m_pInfoBars.begin(); it != m_pInfoBars.end(); ++it)
    {
        Size aSize = it->GetSizePixel();
        aSize.setWidth(nWidth);
diff --git a/sfx2/source/dialog/inputdlg.cxx b/sfx2/source/dialog/inputdlg.cxx
index 6f1ab92..a49a412 100644
--- a/sfx2/source/dialog/inputdlg.cxx
+++ b/sfx2/source/dialog/inputdlg.cxx
@@ -26,6 +26,20 @@ InputDialog::InputDialog(const OUString &rLabelText, vcl::Window *pParent)
    m_pCancel->SetClickHdl(LINK(this,InputDialog,ClickHdl));
}

InputDialog::~InputDialog()
{
    dispose();
}

void InputDialog::dispose()
{
    m_pEntry.clear();
    m_pLabel.clear();
    m_pOK.clear();
    m_pCancel.clear();
    ModalDialog::dispose();
}

OUString InputDialog::getEntryText() const
{
    return m_pEntry->GetText();
diff --git a/sfx2/source/dialog/mgetempl.cxx b/sfx2/source/dialog/mgetempl.cxx
index c1a713d..0a8a5b2 100644
--- a/sfx2/source/dialog/mgetempl.cxx
+++ b/sfx2/source/dialog/mgetempl.cxx
@@ -260,6 +260,18 @@ void SfxManageStyleSheetPage::dispose()
    delete pFamilies;
    pItem = 0;
    pStyle = 0;
    m_pNameRo.clear();
    m_pNameRw.clear();
    m_pAutoCB.clear();
    m_pFollowFt.clear();
    m_pFollowLb.clear();
    m_pEditStyleBtn.clear();
    m_pBaseFt.clear();
    m_pBaseLb.clear();
    m_pEditLinkStyleBtn.clear();
    m_pFilterFt.clear();
    m_pFilterLb.clear();
    m_pDescFt.clear();
    SfxTabPage::dispose();
}

diff --git a/sfx2/source/dialog/navigat.cxx b/sfx2/source/dialog/navigat.cxx
index 415c347..48a3020 100644
--- a/sfx2/source/dialog/navigat.cxx
+++ b/sfx2/source/dialog/navigat.cxx
@@ -41,7 +41,7 @@ SfxNavigatorWrapper::SfxNavigatorWrapper( vcl::Window* pParentWnd ,
    pWindow->SetHelpId ( HID_NAVIGATOR_WINDOW );
    pWindow->SetOutputSizePixel( Size( 270, 240 ) );

    static_cast<SfxDockingWindow*>( pWindow )->Initialize( pInfo );
    static_cast<SfxDockingWindow*>( pWindow.get() )->Initialize( pInfo );
    SetHideNotDelete( true );
}

diff --git a/sfx2/source/dialog/newstyle.cxx b/sfx2/source/dialog/newstyle.cxx
index b8ec5b1..8fe73b0 100644
--- a/sfx2/source/dialog/newstyle.cxx
+++ b/sfx2/source/dialog/newstyle.cxx
@@ -88,6 +88,8 @@ SfxNewStyleDlg::~SfxNewStyleDlg()
void SfxNewStyleDlg::dispose()
{
    aQueryOverwriteBox.disposeAndClear();
    m_pColBox.clear();
    m_pOKBtn.clear();
    ModalDialog::dispose();
}

diff --git a/sfx2/source/dialog/partwnd.cxx b/sfx2/source/dialog/partwnd.cxx
index 40fabdb..0292b83 100644
--- a/sfx2/source/dialog/partwnd.cxx
+++ b/sfx2/source/dialog/partwnd.cxx
@@ -65,10 +65,10 @@ SfxPartChildWnd_Impl::SfxPartChildWnd_Impl
    assert(pInfo);
    pInfo->nFlags |= SfxChildWindowFlags::FORCEDOCK;

    static_cast<SfxDockingWindow*>(pWindow)->SetFloatingSize( Size( 175, 175 ) );
    static_cast<SfxDockingWindow*>(pWindow.get())->SetFloatingSize( Size( 175, 175 ) );
    pWindow->SetSizePixel( Size( 175, 175 ) );

    static_cast<SfxDockingWindow*>(pWindow)->Initialize( pInfo );
    static_cast<SfxDockingWindow*>(pWindow.get())->Initialize( pInfo );
    SetHideNotDelete( true );
}

@@ -82,7 +82,7 @@ SfxPartChildWnd_Impl::~SfxPartChildWnd_Impl()
    // But don't do it, if xFrame already exist. Then dispose() must come from inside ...
    // and we need a valid pMgr for further operations ...

    SfxPartDockWnd_Impl* pWin = static_cast<SfxPartDockWnd_Impl*>(pWindow);
    SfxPartDockWnd_Impl* pWin = static_cast<SfxPartDockWnd_Impl*>(pWindow.get());

    if ( pWin && xFrame == pWin->GetBindings().GetActiveFrame() )
        pWin->GetBindings().SetActiveFrame( NULL );
@@ -90,7 +90,7 @@ SfxPartChildWnd_Impl::~SfxPartChildWnd_Impl()

bool SfxPartChildWnd_Impl::QueryClose()
{
    return static_cast<SfxPartDockWnd_Impl*>(pWindow)->QueryClose();
    return static_cast<SfxPartDockWnd_Impl*>(pWindow.get())->QueryClose();
}


diff --git a/sfx2/source/dialog/passwd.cxx b/sfx2/source/dialog/passwd.cxx
index 56ba128..1db877f 100644
--- a/sfx2/source/dialog/passwd.cxx
+++ b/sfx2/source/dialog/passwd.cxx
@@ -125,7 +125,29 @@ SfxPasswordDialog::SfxPasswordDialog(vcl::Window* pParent, const OUString* pGrou
    SetPasswdText();
}

SfxPasswordDialog::~SfxPasswordDialog()
{
    dispose();
}

void SfxPasswordDialog::dispose()
{
    mpPassword1Box.clear();
    mpUserFT.clear();
    mpUserED.clear();
    mpPassword1FT.clear();
    mpPassword1ED.clear();
    mpConfirm1FT.clear();
    mpConfirm1ED.clear();
    mpPassword2Box.clear();
    mpPassword2FT.clear();
    mpPassword2ED.clear();
    mpConfirm2FT.clear();
    mpConfirm2ED.clear();
    mpMinLengthFT.clear();
    mpOKBtn.clear();
    ModalDialog::dispose();
}

void SfxPasswordDialog::SetPasswdText( )
{
diff --git a/sfx2/source/dialog/printopt.cxx b/sfx2/source/dialog/printopt.cxx
index 0daebad..b5e5d49 100644
--- a/sfx2/source/dialog/printopt.cxx
+++ b/sfx2/source/dialog/printopt.cxx
@@ -85,6 +85,36 @@ SfxCommonPrintOptionsTabPage::SfxCommonPrintOptionsTabPage( vcl::Window* pParent
    m_pReduceBitmapsResolutionRB->SetToggleHdl( LINK( this, SfxCommonPrintOptionsTabPage, ToggleReduceBitmapsResolutionRBHdl ) );
}

SfxCommonPrintOptionsTabPage::~SfxCommonPrintOptionsTabPage()
{
    dispose();
}

void SfxCommonPrintOptionsTabPage::dispose()
{
    m_pPrinterOutputRB.clear();
    m_pPrintFileOutputRB.clear();
    m_pReduceTransparencyCB.clear();
    m_pReduceTransparencyAutoRB.clear();
    m_pReduceTransparencyNoneRB.clear();
    m_pReduceGradientsCB.clear();
    m_pReduceGradientsStripesRB.clear();
    m_pReduceGradientsColorRB.clear();
    m_pReduceGradientsStepCountNF.clear();
    m_pReduceBitmapsCB.clear();
    m_pReduceBitmapsOptimalRB.clear();
    m_pReduceBitmapsNormalRB.clear();
    m_pReduceBitmapsResolutionRB.clear();
    m_pReduceBitmapsResolutionLB.clear();
    m_pReduceBitmapsTransparencyCB.clear();
    m_pConvertToGreyscalesCB.clear();
    m_pPDFCB.clear();
    m_pPaperSizeCB.clear();
    m_pPaperOrientationCB.clear();
    m_pTransparencyCB.clear();
    SfxTabPage::dispose();
}

SfxTabPage* SfxCommonPrintOptionsTabPage::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet )
{
    return( new SfxCommonPrintOptionsTabPage( pParent, *rAttrSet ) );
diff --git a/sfx2/source/dialog/recfloat.cxx b/sfx2/source/dialog/recfloat.cxx
index d63d1df..c674d98 100644
--- a/sfx2/source/dialog/recfloat.cxx
+++ b/sfx2/source/dialog/recfloat.cxx
@@ -134,7 +134,7 @@ SfxRecordingFloatWrapper_Impl::SfxRecordingFloatWrapper_Impl( vcl::Window* pPare
    pWindow = new SfxRecordingFloat_Impl( pBindings, this, pParentWnd );
    SetWantsFocus( false );
    eChildAlignment = SfxChildAlignment::NOALIGNMENT;
    static_cast<SfxFloatingWindow*>(pWindow)->Initialize( pInfo );
    static_cast<SfxFloatingWindow*>(pWindow.get())->Initialize( pInfo );
}

SfxRecordingFloatWrapper_Impl::~SfxRecordingFloatWrapper_Impl()
@@ -216,6 +216,7 @@ void SfxRecordingFloat_Impl::dispose()
    catch ( uno::Exception& )
    {
    }
    m_pTbx.clear();
    SfxFloatingWindow::dispose();
}

diff --git a/sfx2/source/dialog/securitypage.cxx b/sfx2/source/dialog/securitypage.cxx
index b70ca3c..81e5437 100644
--- a/sfx2/source/dialog/securitypage.cxx
+++ b/sfx2/source/dialog/securitypage.cxx
@@ -136,10 +136,10 @@ struct SfxSecurityPage_Impl
{
    SfxSecurityPage &   m_rMyTabPage;

    CheckBox*           m_pOpenReadonlyCB;
    CheckBox*           m_pRecordChangesCB;         // for record changes
    PushButton*         m_pProtectPB;               // for record changes
    PushButton*         m_pUnProtectPB;             // for record changes
    VclPtr<CheckBox>    m_pOpenReadonlyCB;
    VclPtr<CheckBox>    m_pRecordChangesCB;         // for record changes
    VclPtr<PushButton>  m_pProtectPB;               // for record changes
    VclPtr<PushButton>  m_pUnProtectPB;             // for record changes
    RedliningMode       m_eRedlingMode;             // for record changes

    bool                m_bOrigPasswordIsConfirmed;
diff --git a/sfx2/source/dialog/splitwin.cxx b/sfx2/source/dialog/splitwin.cxx
index 036a578..4a7d423 100644
--- a/sfx2/source/dialog/splitwin.cxx
+++ b/sfx2/source/dialog/splitwin.cxx
@@ -87,15 +87,16 @@ class SfxEmptySplitWin_Impl : public SplitWindow
*/
friend class SfxSplitWindow;

    SfxSplitWindow*     pOwner;
    bool                bFadeIn;
    bool                bAutoHide;
    bool                bSplit;
    bool                bEndAutoHide;
    Timer               aTimer;
    Point               aLastPos;
    VclPtr<SfxSplitWindow>  pOwner;
    bool                    bFadeIn;
    bool                    bAutoHide;
    bool                    bSplit;
    bool                    bEndAutoHide;
    Timer                   aTimer;
    Point                   aLastPos;
    sal_uInt16              nState;

public:
                        SfxEmptySplitWin_Impl( SfxSplitWindow *pParent )
                            : SplitWindow( pParent->GetParent(), WinBits( WB_BORDER | WB_3DLOOK ) )
                            , pOwner( pParent )
@@ -119,6 +120,7 @@ friend class SfxSplitWindow;
   virtual void         dispose() SAL_OVERRIDE
                        {
                            aTimer.Stop();
                            pOwner.clear();
                            SplitWindow::dispose();
                        }

@@ -315,10 +317,11 @@ void SfxSplitWindow::dispose()
        // Set pOwner to NULL, otherwise try to delete pEmptyWin once more. The
        // window that is just being docked is always deleted from the outside.
        pEmptyWin->pOwner = NULL;
        delete pEmptyWin;
    }
    pEmptyWin.clear();

    delete pDockArr;
    pActive.clear();
    SplitWindow::dispose();
}

diff --git a/sfx2/source/dialog/srchdlg.cxx b/sfx2/source/dialog/srchdlg.cxx
index d933c02..7fd8ec7 100644
--- a/sfx2/source/dialog/srchdlg.cxx
+++ b/sfx2/source/dialog/srchdlg.cxx
@@ -69,6 +69,12 @@ void SearchDialog::dispose()
{
    SaveConfig();
    m_aCloseHdl.Call( NULL );
    m_pSearchEdit.clear();
    m_pWholeWordsBox.clear();
    m_pMatchCaseBox.clear();
    m_pWrapAroundBox.clear();
    m_pBackwardsBox.clear();
    m_pFindBtn.clear();
    ModelessDialog::dispose();
}

diff --git a/sfx2/source/dialog/tabdlg.cxx b/sfx2/source/dialog/tabdlg.cxx
index 1af6478..b8f63d5 100644
--- a/sfx2/source/dialog/tabdlg.cxx
+++ b/sfx2/source/dialog/tabdlg.cxx
@@ -60,7 +60,7 @@ struct Data_Impl
    sal_uInt16 nId;                   // The ID
    CreateTabPage fnCreatePage;   // Pointer to Factory
    GetTabPageRanges fnGetRanges; // Pointer to Ranges-Function
    SfxTabPage* pTabPage;         // The TabPage itself
    VclPtr<SfxTabPage> pTabPage;         // The TabPage itself
    bool bOnDemand;              // Flag: ItemSet onDemand
    bool bRefresh;                // Flag: Page must be re-initialized

@@ -398,7 +398,7 @@ void SfxTabDialog::dispose()

            if ( pDataObject->bOnDemand )
                delete &pDataObject->pTabPage->GetItemSet();
            delete pDataObject->pTabPage;
            pDataObject->pTabPage.disposeAndClear();
        }
        delete pDataObject;
    }
@@ -409,16 +409,16 @@ void SfxTabDialog::dispose()
    delete pExampleSet;
    delete [] pRanges;

    if (m_bOwnsBaseFmtBtn)
        delete m_pBaseFmtBtn;
    if (m_bOwnsResetBtn)
        delete m_pResetBtn;
    if (m_bOwnsHelpBtn)
        delete m_pHelpBtn;
    if (m_bOwnsCancelBtn)
        delete m_pCancelBtn;
    if (m_bOwnsOKBtn)
        delete m_pOKBtn;
    m_pBox.clear();
    m_pTabCtrl.clear();
    m_pOKBtn.clear();
    m_pApplyBtn.clear();
    m_pUserBtn.clear();
    m_pCancelBtn.clear();
    m_pHelpBtn.clear();
    m_pResetBtn.clear();
    m_pBaseFmtBtn.clear();
    m_pActionArea.clear();
    TabDialog::dispose();
}

@@ -438,33 +438,33 @@ void SfxTabDialog::Init_Impl(bool bFmtFlag)
    assert(m_pActionArea);

    m_pOKBtn = m_pUIBuilder->get<PushButton>("ok");
    m_bOwnsOKBtn = m_pOKBtn == NULL;
    m_bOwnsOKBtn = m_pOKBtn == nullptr;
    if (m_bOwnsOKBtn)
        m_pOKBtn = new OKButton(m_pActionArea);

    m_pApplyBtn = m_pUIBuilder->get<PushButton>("apply");
    m_pUserBtn = m_pUIBuilder->get<PushButton>("user");
    m_pCancelBtn = m_pUIBuilder->get<CancelButton>("cancel");
    m_bOwnsCancelBtn = m_pCancelBtn == NULL;
    m_bOwnsCancelBtn = m_pCancelBtn == nullptr;
    if (m_bOwnsCancelBtn)
        m_pCancelBtn = new CancelButton(m_pActionArea);

    m_pHelpBtn = m_pUIBuilder->get<HelpButton>("help");
    m_bOwnsHelpBtn = m_pHelpBtn == NULL;
    m_bOwnsHelpBtn = m_pHelpBtn == nullptr;
    if (m_bOwnsHelpBtn)
        m_pHelpBtn = new HelpButton(m_pActionArea);

    m_pResetBtn = m_pUIBuilder->get<PushButton>("reset");
    m_bOwnsResetBtn = m_pResetBtn == NULL;
    m_bOwnsResetBtn = m_pResetBtn == nullptr;
    if (m_bOwnsResetBtn)
        m_pResetBtn = new PushButton(m_pActionArea);
        m_pResetBtn = new PushButton(m_pActionArea.get());
    else
        pImpl->bHideResetBtn = !m_pResetBtn->IsVisible();

    m_pBaseFmtBtn = m_pUIBuilder->get<PushButton>("standard");
    m_bOwnsBaseFmtBtn = m_pBaseFmtBtn == NULL;
    m_bOwnsBaseFmtBtn = m_pBaseFmtBtn == nullptr;
    if (m_bOwnsBaseFmtBtn)
        m_pBaseFmtBtn = new PushButton(m_pActionArea);
        m_pBaseFmtBtn = new PushButton(m_pActionArea.get());

    m_pOKBtn->SetClickHdl( LINK( this, SfxTabDialog, OkHdl ) );
    m_pCancelBtn->SetClickHdl( LINK( this, SfxTabDialog, CancelHdl ) );
@@ -698,7 +698,7 @@ void SfxTabDialog::RemoveTabPage( sal_uInt16 nId )

            if ( pDataObject->bOnDemand )
                delete &pDataObject->pTabPage->GetItemSet();
            delete pDataObject->pTabPage;
            pDataObject->pTabPage.disposeAndClear();
        }

        delete pDataObject;
@@ -1135,7 +1135,7 @@ IMPL_LINK( SfxTabDialog, ActivatePageHdl, TabControl *, pTabCtrl )
        else
            pTabPage = (pDataObject->fnCreatePage)
                            ( pTabCtrl, CreateInputItemSet( nId ) );
        DBG_ASSERT( NULL == pDataObject->pTabPage, "create TabPage more than once" );
        DBG_ASSERT( nullptr == pDataObject->pTabPage, "create TabPage more than once" );
        pDataObject->pTabPage = pTabPage;

        OUString sConfigId = OStringToOUString(pTabPage->GetConfigId(), RTL_TEXTENCODING_UTF8);
@@ -1255,7 +1255,7 @@ IMPL_LINK( SfxTabDialog, DeactivatePageHdl, TabControl *, pTabCtrl )
        {
            Data_Impl* pObj = *it;

            if ( pObj->pTabPage != pPage ) // Do not refresh own Page anymore
            if ( pObj->pTabPage.get() != pPage ) // Do not refresh own Page anymore
                pObj->bRefresh = true;
            else
                pObj->bRefresh = false;
diff --git a/sfx2/source/dialog/templateinfodlg.cxx b/sfx2/source/dialog/templateinfodlg.cxx
index a1779d6..e16db6d 100644
--- a/sfx2/source/dialog/templateinfodlg.cxx
+++ b/sfx2/source/dialog/templateinfodlg.cxx
@@ -38,7 +38,7 @@ SfxTemplateInfoDlg::SfxTemplateInfoDlg (vcl::Window *pParent)
    get(mpBtnClose, "close");
    get(mpBox, "box");
    get(mpInfoView, "infoDrawingArea");
    mpPreviewView = new vcl::Window(mpBox);
    mpPreviewView = new vcl::Window(mpBox.get());

    Size aSize(LogicToPixel(Size(250, 160), MAP_APPFONT));
    mpBox->set_width_request(aSize.Width());
@@ -60,6 +60,10 @@ SfxTemplateInfoDlg::~SfxTemplateInfoDlg()
void SfxTemplateInfoDlg::dispose()
{
    m_xFrame->dispose();
    mpBtnClose.clear();
    mpBox.clear();
    mpPreviewView.clear();
    mpInfoView.clear();
    ModalDialog::dispose();
}

diff --git a/sfx2/source/dialog/templdlg.cxx b/sfx2/source/dialog/templdlg.cxx
index 3409772..72fde222 100644
--- a/sfx2/source/dialog/templdlg.cxx
+++ b/sfx2/source/dialog/templdlg.cxx
@@ -765,7 +765,6 @@ SfxCommonTemplateDialog_Impl::~SfxCommonTemplateDialog_Impl()
    if ( pStyleSheetPool )
        EndListening(*pStyleSheetPool);
    pStyleSheetPool = NULL;
    delete pTreeBox;
    delete pIdle;
    if ( m_pDeletionWatcher )
        m_pDeletionWatcher->signal();
@@ -1532,7 +1531,7 @@ void SfxCommonTemplateDialog_Impl::EnableHierarchical(bool const bEnable)
    }
    else
    {
        DELETEZ(pTreeBox);
        pTreeBox.clear();
        aFmtLb->Show();
        // If bHierarchical, then the family can have changed
        // minus one since hierarchical is inserted at the start
@@ -2173,7 +2172,7 @@ void SfxTemplateDialog_Impl::LoadedFamilies()
// The size of the Listboxen is adjusted
void SfxTemplateDialog_Impl::Resize()
{
    SfxDockingWindow* pDockingWindow = dynamic_cast<SfxDockingWindow*>(m_pFloat);
    SfxDockingWindow* pDockingWindow = dynamic_cast<SfxDockingWindow*>(m_pFloat.get());
    FloatingWindow *pF = pDockingWindow!=NULL ? pDockingWindow->GetFloatingWindow() : NULL;
    if ( pF )
    {
@@ -2182,7 +2181,7 @@ void SfxTemplateDialog_Impl::Resize()
            return;
    }

    if (m_pFloat == NULL)
    if (m_pFloat == nullptr)
        return;
    Size aDlgSize=m_pFloat->PixelToLogic(m_pFloat->GetOutputSizePixel());
    Size aSizeATL=m_pFloat->PixelToLogic(m_aActionTbL->CalcWindowSizePixel());
@@ -2242,7 +2241,7 @@ void SfxTemplateDialog_Impl::Resize()

Size SfxTemplateDialog_Impl::GetMinOutputSizePixel()
{
    if (m_pFloat != NULL)
    if (m_pFloat != nullptr)
    {
        Size aSizeATL=m_pFloat->PixelToLogic(m_aActionTbL->CalcWindowSizePixel());
        Size aSizeATR=m_pFloat->PixelToLogic(m_aActionTbR->CalcWindowSizePixel());
diff --git a/sfx2/source/dialog/versdlg.cxx b/sfx2/source/dialog/versdlg.cxx
index 797c893..f746546 100644
--- a/sfx2/source/dialog/versdlg.cxx
+++ b/sfx2/source/dialog/versdlg.cxx
@@ -335,7 +335,14 @@ SfxVersionDialog::~SfxVersionDialog()
void SfxVersionDialog::dispose()
{
    delete m_pTable;
    delete m_pVersionBox;
    m_pVersionBox.clear();
    m_pSaveButton.clear();
    m_pSaveCheckBox.clear();
    m_pOpenButton.clear();
    m_pViewButton.clear();
    m_pDeleteButton.clear();
    m_pCompareButton.clear();
    m_pCmisButton.clear();
    SfxModalDialog::dispose();
}

@@ -499,6 +506,22 @@ SfxViewVersionDialog_Impl::SfxViewVersionDialog_Impl(vcl::Window *pParent, SfxVe
    }
}

SfxViewVersionDialog_Impl::~SfxViewVersionDialog_Impl()
{
    dispose();
}

void SfxViewVersionDialog_Impl::dispose()
{
    m_pDateTimeText.clear();
    m_pSavedByText.clear();
    m_pEdit.clear();
    m_pOKButton.clear();
    m_pCancelButton.clear();
    m_pCloseButton.clear();
    SfxModalDialog::dispose();
}

IMPL_LINK(SfxViewVersionDialog_Impl, ButtonHdl, Button*, pButton)
{
    assert(pButton == m_pOKButton);
@@ -569,7 +592,11 @@ SfxCmisVersionsDialog::~SfxCmisVersionsDialog()
void SfxCmisVersionsDialog::dispose()
{
    delete m_pTable;
    delete m_pVersionBox;
    m_pVersionBox.clear();
    m_pOpenButton.clear();
    m_pViewButton.clear();
    m_pDeleteButton.clear();
    m_pCompareButton.clear();
    SfxModalDialog::dispose();
}

diff --git a/sfx2/source/doc/new.cxx b/sfx2/source/doc/new.cxx
index e120cf2..3ad16cf 100644
--- a/sfx2/source/doc/new.cxx
+++ b/sfx2/source/doc/new.cxx
@@ -123,19 +123,19 @@ extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeSfxPreviewWin(vcl::Win

class SfxNewFileDialog_Impl
{
    ListBox*  m_pRegionLb;
    ListBox*  m_pTemplateLb;
    VclPtr<ListBox>  m_pRegionLb;
    VclPtr<ListBox>  m_pTemplateLb;

    SfxPreviewWin_Impl* m_pPreviewWin;
    VclPtr<SfxPreviewWin_Impl> m_pPreviewWin;

    CheckBox* m_pTextStyleCB;
    CheckBox* m_pFrameStyleCB;
    CheckBox* m_pPageStyleCB;
    CheckBox* m_pNumStyleCB;
    CheckBox* m_pMergeStyleCB;
    PushButton* m_pLoadFilePB;
    VclPtr<CheckBox> m_pTextStyleCB;
    VclPtr<CheckBox> m_pFrameStyleCB;
    VclPtr<CheckBox> m_pPageStyleCB;
    VclPtr<CheckBox> m_pNumStyleCB;
    VclPtr<CheckBox> m_pMergeStyleCB;
    VclPtr<PushButton> m_pLoadFilePB;

    VclExpander* m_pMoreBt;
    VclPtr<VclExpander> m_pMoreBt;
    Idle aPrevIdle;
    OUString aNone;
    OUString sLoadTemplate;
@@ -143,7 +143,7 @@ class SfxNewFileDialog_Impl
    sal_uInt16 nFlags;
    SfxDocumentTemplates aTemplates;
    SfxObjectShellLock xDocShell;
    SfxNewFileDialog* pAntiImpl;
    VclPtr<SfxNewFileDialog> pAntiImpl;

    DECL_LINK( Update, void * );

diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index b1c416c2..3ace50cb 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -321,6 +321,16 @@ void SfxTemplateManagerDlg::dispose()

    mpSearchView->setItemStateHdl(Link());
    mpSearchView->setOpenTemplateHdl(Link());

    mpTabControl.clear();
    mpSearchEdit.clear();
    mpViewBar.clear();
    mpActionBar.clear();
    mpTemplateBar.clear();
    mpSearchView.clear();
    mpCurView.clear();
    mpLocalView.clear();
    mpRemoteView.clear();
    ModalDialog::dispose();
}

@@ -1409,7 +1419,7 @@ void SfxTemplateManagerDlg::switchMainView(bool bDisplayLocal)
{
    if (bDisplayLocal)
    {
        mpCurView = mpLocalView;
        mpCurView = mpLocalView.get();

        mpViewBar->HideItem(VIEWBAR_DELETE);

@@ -1422,7 +1432,7 @@ void SfxTemplateManagerDlg::switchMainView(bool bDisplayLocal)
    }
    else
    {
        mpCurView = mpRemoteView;
        mpCurView = mpRemoteView.get();

        mpViewBar->ShowItem(VIEWBAR_DELETE);

diff --git a/sfx2/source/inc/alienwarn.hxx b/sfx2/source/inc/alienwarn.hxx
index a21473d..bd234104 100644
--- a/sfx2/source/inc/alienwarn.hxx
+++ b/sfx2/source/inc/alienwarn.hxx
@@ -25,8 +25,8 @@
class SfxAlienWarningDialog : public MessageDialog
{
private:
    PushButton*             m_pKeepCurrentBtn;
    CheckBox*               m_pWarningOnBox;
    VclPtr<PushButton>             m_pKeepCurrentBtn;
    VclPtr<CheckBox>               m_pWarningOnBox;

public:
    SfxAlienWarningDialog(vcl::Window* pParent, const OUString& _rFormatName);
diff --git a/sfx2/source/inc/documentfontsdialog.hxx b/sfx2/source/inc/documentfontsdialog.hxx
index 360f887..5b64db6 100644
--- a/sfx2/source/inc/documentfontsdialog.hxx
+++ b/sfx2/source/inc/documentfontsdialog.hxx
@@ -31,12 +31,14 @@ class SfxDocumentFontsPage: public SfxTabPage
{
public:
    SfxDocumentFontsPage( vcl::Window* parent, const SfxItemSet& set );
    virtual ~SfxDocumentFontsPage();
    virtual void dispose() SAL_OVERRIDE;
    static SfxTabPage* Create( vcl::Window* parent, const SfxItemSet* set );
protected:
    virtual bool FillItemSet( SfxItemSet* set ) SAL_OVERRIDE;
    virtual void Reset( const SfxItemSet* set ) SAL_OVERRIDE;
private:
    CheckBox* embedFontsCheckbox;
    VclPtr<CheckBox> embedFontsCheckbox;
};

#endif
diff --git a/sfx2/source/inc/inputdlg.hxx b/sfx2/source/inc/inputdlg.hxx
index 29b5c45..41888d4 100644
--- a/sfx2/source/inc/inputdlg.hxx
+++ b/sfx2/source/inc/inputdlg.hxx
@@ -21,6 +21,8 @@ class InputDialog : public ModalDialog
public:
    InputDialog (const OUString &labelText, vcl::Window *pParent = NULL);
    OUString getEntryText () const;
    virtual ~InputDialog();
    virtual void dispose() SAL_OVERRIDE;

private:

@@ -28,10 +30,10 @@ private:

private:

    Edit *m_pEntry;
    FixedText *m_pLabel;
    PushButton *m_pOK;
    PushButton *m_pCancel;
    VclPtr<Edit>       m_pEntry;
    VclPtr<FixedText>  m_pLabel;
    VclPtr<PushButton> m_pOK;
    VclPtr<PushButton> m_pCancel;
};

#endif // INCLUDED_SFX2_SOURCE_INC_INPUTDLG_HXX
diff --git a/sfx2/source/inc/recfloat.hxx b/sfx2/source/inc/recfloat.hxx
index df32b12..50dd7f6 100644
--- a/sfx2/source/inc/recfloat.hxx
+++ b/sfx2/source/inc/recfloat.hxx
@@ -39,7 +39,7 @@ public:

class SfxRecordingFloat_Impl : public SfxFloatingWindow
{
    ToolBox*                m_pTbx;
    VclPtr<ToolBox>                m_pTbx;
    ::com::sun::star::uno::Reference< ::com::sun::star::frame::XToolbarController > xStopRecTbxCtrl;
public:
                        SfxRecordingFloat_Impl( SfxBindings* pBindings ,
diff --git a/sfx2/source/inc/splitwin.hxx b/sfx2/source/inc/splitwin.hxx
index 9dfa27d..177bd76 100644
--- a/sfx2/source/inc/splitwin.hxx
+++ b/sfx2/source/inc/splitwin.hxx
@@ -31,9 +31,9 @@ class SfxEmptySplitWin_Impl;
struct SfxDock_Impl
{
    sal_uInt16        nType;
    SfxDockingWindow* pWin;      // SplitWindow has this window
    bool          bNewLine;
    bool          bHide;     // SplitWindow had this window
    VclPtr<SfxDockingWindow> pWin;      // SplitWindow has this window
    bool              bNewLine;
    bool              bHide;     // SplitWindow had this window
    long              nSize;
};

@@ -49,8 +49,8 @@ private:
    SfxDockArr_Impl*    pDockArr;
    bool                bLocked;
    bool                bPinned;
    SfxEmptySplitWin_Impl*  pEmptyWin;
    SfxDockingWindow*   pActive;
    VclPtr<SfxEmptySplitWin_Impl>  pEmptyWin;
    VclPtr<SfxDockingWindow>       pActive;

    void                InsertWindow_Impl( SfxDock_Impl* pDockWin,
                            const Size& rSize,
diff --git a/sfx2/source/inc/templdgi.hxx b/sfx2/source/inc/templdgi.hxx
index f50de2e..c72f3056 100644
--- a/sfx2/source/inc/templdgi.hxx
+++ b/sfx2/source/inc/templdgi.hxx
@@ -169,7 +169,7 @@ protected:
    SfxBindings* pBindings;
    SfxTemplateControllerItem* pBoundItems[COUNT_BOUND_FUNC];

    vcl::Window* pWindow;
    VclPtr<vcl::Window> pWindow;
    SfxModule* pModule;
    Idle* pIdle;

@@ -177,7 +177,7 @@ protected:
    SfxStyleFamilies* pStyleFamilies;
    SfxTemplateItem* pFamilyState[MAX_FAMILIES];
    SfxStyleSheetBasePool* pStyleSheetPool;
    StyleTreeListBox_Impl* pTreeBox;
    VclPtr<StyleTreeListBox_Impl> pTreeBox;
    SfxObjectShell* pCurObjShell;
    css::uno::Reference<css::frame::XModuleManager2> xModuleManager;
    DeletionWatcher* m_pDeletionWatcher;
@@ -369,10 +369,10 @@ private:
    friend class DropToolBox_Impl;
    friend class SfxTemplatePanelControl;

    vcl::Window*        m_pFloat;
    bool                m_bZoomIn;
    VclPtr<vcl::Window>         m_pFloat;
    bool                        m_bZoomIn;
    VclPtr<DropToolBox_Impl>    m_aActionTbL;
    VclPtr<ToolBox>     m_aActionTbR;
    VclPtr<ToolBox>             m_aActionTbR;

    DECL_LINK( ToolBoxLSelect, ToolBox* );
    DECL_LINK( ToolBoxRSelect, ToolBox* );
diff --git a/sfx2/source/inc/versdlg.hxx b/sfx2/source/inc/versdlg.hxx
index 0079e0f..67453ef 100644
--- a/sfx2/source/inc/versdlg.hxx
+++ b/sfx2/source/inc/versdlg.hxx
@@ -45,14 +45,14 @@ public:
class SfxVersionTableDtor;
class SfxVersionDialog : public SfxModalDialog
{
    PushButton*                 m_pSaveButton;
    CheckBox*                   m_pSaveCheckBox;
    SfxVersionsTabListBox_Impl* m_pVersionBox;
    PushButton*                 m_pOpenButton;
    PushButton*                 m_pViewButton;
    PushButton*                 m_pDeleteButton;
    PushButton*                 m_pCompareButton;
    PushButton*                 m_pCmisButton;
    VclPtr<PushButton>                 m_pSaveButton;
    VclPtr<CheckBox>                   m_pSaveCheckBox;
    VclPtr<SfxVersionsTabListBox_Impl> m_pVersionBox;
    VclPtr<PushButton>                 m_pOpenButton;
    VclPtr<PushButton>                 m_pViewButton;
    VclPtr<PushButton>                 m_pDeleteButton;
    VclPtr<PushButton>                 m_pCompareButton;
    VclPtr<PushButton>                 m_pCmisButton;
    SfxViewFrame*               pViewFrame;
    SfxVersionTableDtor*        m_pTable;
    bool                        m_bIsSaveVersionOnClose;
@@ -72,27 +72,29 @@ public:

class SfxViewVersionDialog_Impl : public SfxModalDialog
{
    FixedText*        m_pDateTimeText;
    FixedText*        m_pSavedByText;
    VclMultiLineEdit* m_pEdit;
    OKButton*         m_pOKButton;
    CancelButton*     m_pCancelButton;
    CloseButton*      m_pCloseButton;
    VclPtr<FixedText>        m_pDateTimeText;
    VclPtr<FixedText>        m_pSavedByText;
    VclPtr<VclMultiLineEdit> m_pEdit;
    VclPtr<OKButton>         m_pOKButton;
    VclPtr<CancelButton>     m_pCancelButton;
    VclPtr<CloseButton>      m_pCloseButton;
    SfxVersionInfo&   m_rInfo;

    DECL_LINK(ButtonHdl, Button*);

public:
    SfxViewVersionDialog_Impl(vcl::Window *pParent, SfxVersionInfo& rInfo, bool bEdit);
    virtual ~SfxViewVersionDialog_Impl();
    virtual void dispose() SAL_OVERRIDE;
};

class SfxCmisVersionsDialog : public SfxModalDialog
{
    SfxVersionsTabListBox_Impl* m_pVersionBox;
    PushButton*                 m_pOpenButton;
    PushButton*                 m_pViewButton;
    PushButton*                 m_pDeleteButton;
    PushButton*                 m_pCompareButton;
    VclPtr<SfxVersionsTabListBox_Impl> m_pVersionBox;
    VclPtr<PushButton>                 m_pOpenButton;
    VclPtr<PushButton>                 m_pViewButton;
    VclPtr<PushButton>                 m_pDeleteButton;
    VclPtr<PushButton>                 m_pCompareButton;
    SfxViewFrame*               pViewFrame;
    SfxVersionTableDtor*        m_pTable;
    bool                        m_bIsSaveVersionOnClose;
diff --git a/sfx2/source/inc/workwin.hxx b/sfx2/source/inc/workwin.hxx
index 1d52817..911fd85 100644
--- a/sfx2/source/inc/workwin.hxx
+++ b/sfx2/source/inc/workwin.hxx
@@ -96,7 +96,7 @@ namespace o3tl

struct SfxChild_Impl
{
    vcl::Window*                     pWin;
    VclPtr<vcl::Window>             pWin;
    Size                            aSize;
    SfxChildAlignment               eAlign;
    SfxChildVisibility              nVisible;
@@ -226,12 +226,12 @@ protected:
    SfxChildList_Impl       aChildren;
    SfxChildWindows_Impl    aChildWins;
    SfxBindings*            pBindings;
    vcl::Window*                 pWorkWin;
    VclPtr<vcl::Window>     pWorkWin;
    SfxShell*               pConfigShell;
    vcl::Window*                 pActiveChild;
    sal_uInt16                  nUpdateMode;
    sal_uInt16                  nChildren;
    sal_uInt16                  nOrigMode;
    VclPtr<vcl::Window>     pActiveChild;
    sal_uInt16              nUpdateMode;
    sal_uInt16              nChildren;
    sal_uInt16              nOrigMode;
    bool                    bSorted : 1;
    bool                    bDockingAllowed : 1;
    bool                    bInternalDockingAllowed : 1;
diff --git a/sfx2/source/sidebar/FocusManager.cxx b/sfx2/source/sidebar/FocusManager.cxx
index af116e6..3e41a3a 100644
--- a/sfx2/source/sidebar/FocusManager.cxx
+++ b/sfx2/source/sidebar/FocusManager.cxx
@@ -65,9 +65,9 @@ void FocusManager::Clear (void)

void FocusManager::ClearPanels (void)
{
    ::std::vector<Panel*> aPanels;
    ::std::vector<VclPtr<Panel> > aPanels;
    aPanels.swap(maPanels);
    for (::std::vector<Panel*>::iterator iPanel(aPanels.begin()),iEnd(aPanels.end());
    for (auto iPanel(aPanels.begin()),iEnd(aPanels.end());
         iPanel!=iEnd;
        ++iPanel)
    {
@@ -84,9 +84,9 @@ void FocusManager::ClearPanels (void)

void FocusManager::ClearButtons (void)
{
    ::std::vector<Button*> aButtons;
    ::std::vector<VclPtr<Button> > aButtons;
    aButtons.swap(maButtons);
    for (::std::vector<Button*>::iterator iButton(aButtons.begin()),iEnd(aButtons.end());
    for (auto iButton(aButtons.begin()),iEnd(aButtons.end());
         iButton!=iEnd;
        ++iButton)
    {
@@ -96,14 +96,14 @@ void FocusManager::ClearButtons (void)

void FocusManager::SetDeckTitle (DeckTitleBar* pDeckTitleBar)
{
    if (mpDeckTitleBar != NULL)
    if (mpDeckTitleBar != nullptr)
    {
        UnregisterWindow(*mpDeckTitleBar);
        UnregisterWindow(mpDeckTitleBar->GetToolBox());
    }
    mpDeckTitleBar = pDeckTitleBar;

    if (mpDeckTitleBar != NULL)
    if (mpDeckTitleBar != nullptr)
    {
        RegisterWindow(*mpDeckTitleBar);
        RegisterWindow(mpDeckTitleBar->GetToolBox());
@@ -156,7 +156,7 @@ void FocusManager::UnregisterWindow (vcl::Window& rWindow)
FocusManager::FocusLocation FocusManager::GetFocusLocation (const vcl::Window& rWindow) const
{
    // Check the deck title.
    if (mpDeckTitleBar != NULL)
    if (mpDeckTitleBar != nullptr)
    {
        if (mpDeckTitleBar == &rWindow)
            return FocusLocation(PC_DeckTitle, -1);
@@ -186,7 +186,7 @@ FocusManager::FocusLocation FocusManager::GetFocusLocation (const vcl::Window& r

void FocusManager::FocusDeckTitle (void)
{
    if (mpDeckTitleBar != NULL)
    if (mpDeckTitleBar != nullptr)
    {
        if (IsDeckTitleVisible())
        {
@@ -207,7 +207,7 @@ void FocusManager::FocusDeckTitle (void)

bool FocusManager::IsDeckTitleVisible (void) const
{
    return mpDeckTitleBar != NULL && mpDeckTitleBar->IsVisible();
    return mpDeckTitleBar != nullptr && mpDeckTitleBar->IsVisible();
}

bool FocusManager::IsPanelTitleVisible (const sal_Int32 nPanelIndex) const
@@ -286,7 +286,7 @@ void FocusManager::ClickButton (const sal_Int32 nButtonIndex)

void FocusManager::RemoveWindow (vcl::Window& rWindow)
{
    ::std::vector<Panel*>::iterator iPanel (::std::find(maPanels.begin(), maPanels.end(), &rWindow));
    auto iPanel (::std::find(maPanels.begin(), maPanels.end(), &rWindow));
    if (iPanel != maPanels.end())
    {
        UnregisterWindow(rWindow);
@@ -299,7 +299,7 @@ void FocusManager::RemoveWindow (vcl::Window& rWindow)
        return;
    }

    ::std::vector<Button*>::iterator iButton (::std::find(maButtons.begin(), maButtons.end(), &rWindow));
    auto iButton (::std::find(maButtons.begin(), maButtons.end(), &rWindow));
    if (iButton != maButtons.end())
    {
        UnregisterWindow(rWindow);
@@ -596,7 +596,7 @@ IMPL_LINK(FocusManager, ChildEventListener, VclSimpleEvent*, pEvent)
                        break;

                    case KEY_TAB:
                        if (mpFirstFocusedContentControl!=NULL
                        if (mpFirstFocusedContentControl!=nullptr
                            && mpLastFocusedWindow == mpFirstFocusedContentControl)
                        {
                            // Move focus back to panel (or deck)
diff --git a/sfx2/source/sidebar/FocusManager.hxx b/sfx2/source/sidebar/FocusManager.hxx
index 0577c8c..4662517 100644
--- a/sfx2/source/sidebar/FocusManager.hxx
+++ b/sfx2/source/sidebar/FocusManager.hxx
@@ -68,13 +68,13 @@ public:
    void SetButtons (const ::std::vector<Button*>& rButtons);

private:
    DeckTitleBar* mpDeckTitleBar;
    ::std::vector<Panel*> maPanels;
    ::std::vector<Button*> maButtons;
    VclPtr<DeckTitleBar> mpDeckTitleBar;
    ::std::vector<VclPtr<Panel> > maPanels;
    ::std::vector<VclPtr<Button> > maButtons;
    const ::boost::function<void(const Panel&)> maShowPanelFunctor;
    bool mbObservingContentControlFocus;
    vcl::Window* mpFirstFocusedContentControl;
    vcl::Window* mpLastFocusedWindow;
    VclPtr<vcl::Window> mpFirstFocusedContentControl;
    VclPtr<vcl::Window> mpLastFocusedWindow;

    enum PanelComponent
    {
diff --git a/sfx2/source/sidebar/PanelTitleBar.cxx b/sfx2/source/sidebar/PanelTitleBar.cxx
index 0f840e3..30ad847 100644
--- a/sfx2/source/sidebar/PanelTitleBar.cxx
+++ b/sfx2/source/sidebar/PanelTitleBar.cxx
@@ -51,13 +51,24 @@ PanelTitleBar::PanelTitleBar (
      msMoreOptionsCommand(),
      msAccessibleNamePrefix(SFX2_RESSTR(SFX_STR_SIDEBAR_ACCESSIBILITY_PANEL_PREFIX))
{
    OSL_ASSERT(mpPanel != NULL);
    OSL_ASSERT(mpPanel != nullptr);

#ifdef DEBUG
    SetText(OUString("PanelTitleBar"));
#endif
}

PanelTitleBar::~PanelTitleBar()
{
    dispose();
}

void PanelTitleBar::dispose()
{
    mpPanel.clear();
    TitleBar::dispose();
}

void PanelTitleBar::SetMoreOptionsCommand (
    const ::rtl::OUString& rsCommandName,
    const css::uno::Reference<css::frame::XFrame>& rxFrame)
@@ -94,7 +105,7 @@ void PanelTitleBar::SetMoreOptionsCommand (

Rectangle PanelTitleBar::GetTitleArea (const Rectangle& rTitleBarBox)
{
    if (mpPanel != NULL)
    if (mpPanel != nullptr)
    {
        Image aImage (mpPanel->IsExpanded()
            ? Theme::GetImage(Theme::Image_Expand)
@@ -113,7 +124,7 @@ void PanelTitleBar::PaintDecoration (const Rectangle& rTitleBarBox)
{
    (void)rTitleBarBox;

    if (mpPanel != NULL)
    if (mpPanel != nullptr)
    {
        Image aImage (mpPanel->IsExpanded()
            ? Theme::GetImage(Theme::Image_Collapse)
@@ -181,7 +192,7 @@ void PanelTitleBar::MouseButtonUp (const MouseEvent& rMouseEvent)
    {
        if (mbIsLeftButtonDown)
        {
            if (mpPanel != NULL)
            if (mpPanel != nullptr)
            {
                mpPanel->SetExpanded( ! mpPanel->IsExpanded());
                Invalidate();
diff --git a/sfx2/source/sidebar/PanelTitleBar.hxx b/sfx2/source/sidebar/PanelTitleBar.hxx
index 1fc3eb3..f1a23f8 100644
--- a/sfx2/source/sidebar/PanelTitleBar.hxx
+++ b/sfx2/source/sidebar/PanelTitleBar.hxx
@@ -36,6 +36,8 @@ public:
        const ::rtl::OUString& rsTitle,
        vcl::Window* pParentWindow,
        Panel* pPanel );
    virtual ~PanelTitleBar();
    virtual void dispose() SAL_OVERRIDE;

    void SetMoreOptionsCommand (
        const ::rtl::OUString& rsCommandName,
@@ -55,7 +57,7 @@ protected:

private:
    bool mbIsLeftButtonDown;
    Panel* mpPanel;
    VclPtr<Panel> mpPanel;
    const sal_uInt16 mnMenuItemIndex;
    css::uno::Reference<css::frame::XFrame> mxFrame;
    ::rtl::OUString msMoreOptionsCommand;
diff --git a/sfx2/source/sidebar/SidebarChildWindow.cxx b/sfx2/source/sidebar/SidebarChildWindow.cxx
index 22d71d3..05fad1c 100644
--- a/sfx2/source/sidebar/SidebarChildWindow.cxx
+++ b/sfx2/source/sidebar/SidebarChildWindow.cxx
@@ -47,7 +47,7 @@ SidebarChildWindow::SidebarChildWindow (
    pWindow->SetHelpId(HID_SIDEBAR_WINDOW);
    pWindow->SetOutputSizePixel(Size(GetDefaultWidth(pWindow), 450));

    SfxDockingWindow* pDockingParent = dynamic_cast<SfxDockingWindow*>(pWindow);
    SfxDockingWindow* pDockingParent = dynamic_cast<SfxDockingWindow*>(pWindow.get());
    if (pDockingParent != NULL)
    {
        if (pInfo && pInfo->aExtraString.isEmpty() && pInfo->aModule != "simpress")
diff --git a/sfx2/source/sidebar/SidebarController.cxx b/sfx2/source/sidebar/SidebarController.cxx
index eb2554d..8074032 100644
--- a/sfx2/source/sidebar/SidebarController.cxx
+++ b/sfx2/source/sidebar/SidebarController.cxx
@@ -188,13 +188,13 @@ void SAL_CALL SidebarController::disposing (void)

    if (mxReadOnlyModeDispatch.is())
        mxReadOnlyModeDispatch->removeStatusListener(this, Tools::GetURL(gsReadOnlyCommandName));
    if (mpSplitWindow != NULL)
    if (mpSplitWindow != nullptr)
    {
        mpSplitWindow->RemoveEventListener(LINK(this, SidebarController, WindowEventHandler));
        mpSplitWindow = NULL;
    }

    if (mpParentWindow != NULL)
    if (mpParentWindow != nullptr)
    {
        mpParentWindow->RemoveEventListener(LINK(this, SidebarController, WindowEventHandler));
        mpParentWindow = NULL;
@@ -737,7 +737,7 @@ Reference<ui::XUIElement> SidebarController::CreateUIElement (
        ::comphelper::NamedValueCollection aCreationArguments;
        aCreationArguments.put("Frame", makeAny(mxFrame));
        aCreationArguments.put("ParentWindow", makeAny(rxWindow));
        SfxDockingWindow* pSfxDockingWindow = dynamic_cast<SfxDockingWindow*>(mpParentWindow);
        SfxDockingWindow* pSfxDockingWindow = dynamic_cast<SfxDockingWindow*>(mpParentWindow.get());
        if (pSfxDockingWindow != NULL)
            aCreationArguments.put("SfxBindings", makeAny(sal_uInt64(&pSfxDockingWindow->GetBindings())));
        aCreationArguments.put("Theme", Theme::GetPropertySet());
@@ -802,7 +802,7 @@ IMPL_LINK(SidebarController, WindowEventHandler, VclWindowEvent*, pEvent)
                break;
        }
    }
    else if (pEvent->GetWindow()==mpSplitWindow && mpSplitWindow!=NULL)
    else if (pEvent->GetWindow()==mpSplitWindow && mpSplitWindow!=nullptr)
    {
        switch (pEvent->GetId())
        {
@@ -1060,7 +1060,7 @@ void SidebarController::RestrictWidth (sal_Int32 nWidth)
    SfxSplitWindow* pSplitWindow = GetSplitWindow();
    if (pSplitWindow != NULL)
    {
        const sal_uInt16 nId (pSplitWindow->GetItemId(mpParentWindow));
        const sal_uInt16 nId (pSplitWindow->GetItemId(mpParentWindow.get()));
        const sal_uInt16 nSetId (pSplitWindow->GetSet(nId));
        pSplitWindow->SetItemSizeRange(
            nSetId,
@@ -1071,17 +1071,17 @@ void SidebarController::RestrictWidth (sal_Int32 nWidth)

SfxSplitWindow* SidebarController::GetSplitWindow (void)
{
    if (mpParentWindow != NULL)
    if (mpParentWindow != nullptr)
    {
        SfxSplitWindow* pSplitWindow = dynamic_cast<SfxSplitWindow*>(mpParentWindow->GetParent());
        if (pSplitWindow != mpSplitWindow)
        {
            if (mpSplitWindow != NULL)
            if (mpSplitWindow != nullptr)
                mpSplitWindow->RemoveEventListener(LINK(this, SidebarController, WindowEventHandler));

            mpSplitWindow = pSplitWindow;

            if (mpSplitWindow != NULL)
            if (mpSplitWindow != nullptr)
                mpSplitWindow->AddEventListener(LINK(this, SidebarController, WindowEventHandler));
        }
        return mpSplitWindow;
@@ -1092,7 +1092,7 @@ SfxSplitWindow* SidebarController::GetSplitWindow (void)

void SidebarController::UpdateCloseIndicator (const bool bCloseAfterDrag)
{
    if (mpParentWindow == NULL)
    if (mpParentWindow == nullptr)
        return;

    if (bCloseAfterDrag)
diff --git a/sfx2/source/sidebar/SidebarController.hxx b/sfx2/source/sidebar/SidebarController.hxx
index 15c694d..340aba5 100644
--- a/sfx2/source/sidebar/SidebarController.hxx
+++ b/sfx2/source/sidebar/SidebarController.hxx
@@ -145,7 +145,7 @@ private:
    static SidebarControllerContainer maSidebarControllerContainer;

    ::boost::scoped_ptr<Deck> mpCurrentDeck;
    SidebarDockingWindow* mpParentWindow;
    VclPtr<SidebarDockingWindow> mpParentWindow;
    ::boost::scoped_ptr<TabBar> mpTabBar;
    css::uno::Reference<css::frame::XFrame> mxFrame;
    Context maCurrentContext;
@@ -177,7 +177,7 @@ private:
    FocusManager maFocusManager;
    css::uno::Reference<css::frame::XDispatch> mxReadOnlyModeDispatch;
    bool mbIsDocumentReadOnly;
    SfxSplitWindow* mpSplitWindow;
    VclPtr<SfxSplitWindow> mpSplitWindow;
    /** When the user moves the splitter then we remember the
        width at that time.
    */
diff --git a/sfx2/source/sidebar/SidebarPanelBase.cxx b/sfx2/source/sidebar/SidebarPanelBase.cxx
index a1b54db..fdaaeb4 100644
--- a/sfx2/source/sidebar/SidebarPanelBase.cxx
+++ b/sfx2/source/sidebar/SidebarPanelBase.cxx
@@ -67,7 +67,7 @@ SidebarPanelBase::SidebarPanelBase (
        if (xMultiplexer.is())
            xMultiplexer->addContextChangeEventListener(this, mxFrame->getController());
    }
    if (mpControl != NULL)
    if (mpControl != nullptr)
    {
        mpControl->SetBackground(Theme::GetWallpaper(Theme::Paint_PanelBackground));
        mpControl->Show();
@@ -81,11 +81,7 @@ SidebarPanelBase::~SidebarPanelBase (void)
void SAL_CALL SidebarPanelBase::disposing (void)
    throw (css::uno::RuntimeException)
{
    if (mpControl != NULL)
    {
        delete mpControl;
        mpControl = NULL;
    }
    mpControl.clear();

    if (mxFrame.is())
    {
@@ -104,7 +100,7 @@ void SAL_CALL SidebarPanelBase::notifyContextChangeEvent (
    throw (css::uno::RuntimeException, std::exception)
{
    IContextChangeReceiver* pContextChangeReceiver
        = dynamic_cast<IContextChangeReceiver*>(mpControl);
        = dynamic_cast<IContextChangeReceiver*>(mpControl.get());
    if (pContextChangeReceiver != NULL)
    {
        const EnumContext aContext(
@@ -161,7 +157,7 @@ Reference<accessibility::XAccessible> SAL_CALL SidebarPanelBase::createAccessibl
Reference<awt::XWindow> SAL_CALL SidebarPanelBase::getWindow (void)
    throw(css::uno::RuntimeException, std::exception)
{
    if (mpControl != NULL)
    if (mpControl != nullptr)
        return Reference<awt::XWindow>(
            mpControl->GetComponentInterface(),
            UNO_QUERY);
@@ -176,7 +172,7 @@ ui::LayoutSize SAL_CALL SidebarPanelBase::getHeightForWidth (const sal_Int32 nWi
        return maLayoutSize;
    else
    {
        ILayoutableWindow* pLayoutableWindow = dynamic_cast<ILayoutableWindow*>(mpControl);
        ILayoutableWindow* pLayoutableWindow = dynamic_cast<ILayoutableWindow*>(mpControl.get());

        if (isLayoutEnabled(mpControl))
        {
@@ -186,7 +182,7 @@ ui::LayoutSize SAL_CALL SidebarPanelBase::getHeightForWidth (const sal_Int32 nWi
        }
        else if (pLayoutableWindow != NULL)
            return pLayoutableWindow->GetHeightForWidth(nWidth);
        else if (mpControl != NULL)
        else if (mpControl != nullptr)
        {
            const sal_Int32 nHeight (mpControl->GetSizePixel().Height());
            return ui::LayoutSize(nHeight,nHeight,nHeight);
diff --git a/sfx2/source/statbar/stbitem.cxx b/sfx2/source/statbar/stbitem.cxx
index da1f7e2..3ebd819 100644
--- a/sfx2/source/statbar/stbitem.cxx
+++ b/sfx2/source/statbar/stbitem.cxx
@@ -442,7 +442,7 @@ void SfxStatusBarControl::StateChanged
*/

{
    DBG_ASSERT( pBar != 0, "setting state to dangling StatusBar" );
    DBG_ASSERT( pBar != nullptr, "setting state to dangling StatusBar" );

    const SfxStringItem* pStr = PTR_CAST( SfxStringItem, pState );
    if ( eState == SfxItemState::DEFAULT && pStr )
diff --git a/sfx2/source/toolbox/imgmgr.cxx b/sfx2/source/toolbox/imgmgr.cxx
index befb3c3..7b355d6 100644
--- a/sfx2/source/toolbox/imgmgr.cxx
+++ b/sfx2/source/toolbox/imgmgr.cxx
@@ -45,7 +45,7 @@ const sal_uInt32 IMAGELIST_COUNT = 4; // small, small-hi, large, large-hi

struct ToolBoxInf_Impl
{
    ToolBox* pToolBox;
    VclPtr<ToolBox> pToolBox;
    sal_uInt16   nFlags;
};

diff --git a/sfx2/source/toolbox/tbxitem.cxx b/sfx2/source/toolbox/tbxitem.cxx
index ca0694d..6afaec6 100644
--- a/sfx2/source/toolbox/tbxitem.cxx
+++ b/sfx2/source/toolbox/tbxitem.cxx
@@ -186,13 +186,13 @@ svt::ToolboxController* SAL_CALL SfxToolBoxControllerFactory( const Reference< X

struct SfxToolBoxControl_Impl
{
    ToolBox*                pBox;
    VclPtr<ToolBox>         pBox;
    bool                    bShowString;
    SfxTbxCtrlFactory*      pFact;
    sal_uInt16              nTbxId;
    sal_uInt16              nSlotId;
    SfxPopupWindow*         mpFloatingWindow;
    SfxPopupWindow*         mpPopupWindow;
    VclPtr<SfxPopupWindow>  mpFloatingWindow;
    VclPtr<SfxPopupWindow>  mpPopupWindow;
    Reference< XUIElement > mxUIElement;

    DECL_LINK( WindowEventListener, VclSimpleEvent* );
@@ -207,10 +207,9 @@ IMPL_LINK( SfxToolBoxControl_Impl, WindowEventListener, VclSimpleEvent*, pEvent 
    {
        vcl::Window* pWindow( static_cast<VclWindowEvent*>(pEvent)->GetWindow() );
        if (( pWindow == mpFloatingWindow ) &&
            ( mpPopupWindow != 0 ))
            ( mpPopupWindow != nullptr ))
        {
            delete mpPopupWindow;
            mpPopupWindow = 0;
            mpPopupWindow.clear();
        }
    }

@@ -292,11 +291,8 @@ void SAL_CALL SfxToolBoxControl::dispose() throw (::com::sun::star::uno::Runtime
    pImpl->mxUIElement = 0;

    // Delete my popup windows
    delete pImpl->mpFloatingWindow;
    delete pImpl->mpPopupWindow;

    pImpl->mpFloatingWindow = 0;
    pImpl->mpPopupWindow = 0;
    pImpl->mpFloatingWindow.clear();
    pImpl->mpPopupWindow.clear();
}


@@ -866,9 +862,9 @@ IMPL_LINK_NOARG(SfxToolBoxControl, PopupModeEndHdl)
    {
        // Replace floating window with popup window and destroy
        // floating window instance.
        delete pImpl->mpFloatingWindow;
        pImpl->mpFloatingWindow.clear();
        pImpl->mpFloatingWindow = pImpl->mpPopupWindow;
        pImpl->mpPopupWindow    = 0;
        pImpl->mpPopupWindow.clear();
        // We also need to know when the user tries to use the
        // floating window.
        pImpl->mpFloatingWindow->AddEventListener( LINK( pImpl, SfxToolBoxControl_Impl, WindowEventListener ));
@@ -877,7 +873,7 @@ IMPL_LINK_NOARG(SfxToolBoxControl, PopupModeEndHdl)
    {
        // Popup window has been closed by the user. No replacement, instance
        // will destroy itself.
        pImpl->mpPopupWindow = 0;
        pImpl->mpPopupWindow.clear();
    }

    return 1;
@@ -903,7 +899,7 @@ void SfxToolBoxControl::StateChanged
    const SfxPoolItem*  pState
)
{
    DBG_ASSERT( pImpl->pBox != 0, "setting state to dangling ToolBox" );
    DBG_ASSERT( pImpl->pBox != nullptr, "setting state to dangling ToolBox" );

    if ( GetId() >= SID_OBJECTMENU0 && GetId() <= SID_OBJECTMENU_LAST )
        return;
diff --git a/sfx2/source/view/frame.cxx b/sfx2/source/view/frame.cxx
index 4b36968..c65bc7b 100644
--- a/sfx2/source/view/frame.cxx
+++ b/sfx2/source/view/frame.cxx
@@ -93,7 +93,7 @@ void SfxFrame::Construct_Impl()
SfxFrame::~SfxFrame()
{
    RemoveTopFrame_Impl( this );
    DELETEZ( pWindow );
    pWindow.clear();

    SfxFrameArr_Impl::iterator it = std::find( pFramesArr_Impl->begin(), pFramesArr_Impl->end(), this );
    if ( it != pFramesArr_Impl->end() )
diff --git a/sfx2/source/view/frame2.cxx b/sfx2/source/view/frame2.cxx
index 0c21681..f03d12e 100644
--- a/sfx2/source/view/frame2.cxx
+++ b/sfx2/source/view/frame2.cxx
@@ -345,7 +345,7 @@ SystemWindow* SfxFrame::GetSystemWindow() const
SystemWindow* SfxFrame::GetTopWindow_Impl() const
{
    if ( pImp->pExternalContainerWindow->IsSystemWindow() )
        return static_cast<SystemWindow*>( pImp->pExternalContainerWindow );
        return static_cast<SystemWindow*>( pImp->pExternalContainerWindow.get() );
    else
        return NULL;
}
diff --git a/sfx2/source/view/impframe.hxx b/sfx2/source/view/impframe.hxx
index 5f1aaae..271ef70 100644
--- a/sfx2/source/view/impframe.hxx
+++ b/sfx2/source/view/impframe.hxx
@@ -41,17 +41,17 @@ public:
    SfxViewFrame*             pCurrentViewFrame;
    SfxFrameDescriptor*       pDescr;
    sal_uInt16                nLocks;
    bool                  bClosing : 1;
    bool                  bPrepClosing : 1;
    bool                  bInCancelTransfers : 1;
    bool                  bOwnsBindings : 1;
    bool                  bReleasingComponent : 1;
    bool                  bInPlace : 1;
    bool                      bClosing : 1;
    bool                      bPrepClosing : 1;
    bool                      bInCancelTransfers : 1;
    bool                      bOwnsBindings : 1;
    bool                      bReleasingComponent : 1;
    bool                      bInPlace : 1;
    SfxFrame*                 pFrame;
    SfxWorkWindow*            pWorkWin;
    SvBorder                  aBorder;
    // formerly SfxTopFrame
    vcl::Window*                   pExternalContainerWindow;
    VclPtr<vcl::Window>       pExternalContainerWindow;
    bool                      bHidden;
    bool                      bLockResize;
    bool                      bMenuBarOn;
diff --git a/sfx2/source/view/impviewframe.hxx b/sfx2/source/view/impviewframe.hxx
index 129d03c..0f8bfdc 100644
--- a/sfx2/source/view/impviewframe.hxx
+++ b/sfx2/source/view/impviewframe.hxx
@@ -35,9 +35,9 @@ struct SfxViewFrame_Impl
    OUString            aActualURL;
    SfxFrame&           rFrame;
    svtools::AsynchronLink* pReloader;
    vcl::Window*             pWindow;
    VclPtr<vcl::Window> pWindow;
    SfxViewFrame*       pActiveChild;
    vcl::Window*             pFocusWin;
    VclPtr<vcl::Window> pFocusWin;
    sal_uInt16          nDocViewNo;
    sal_uInt16          nCurViewId;
    bool            bResizeInToOut:1;
diff --git a/sfx2/source/view/printer.cxx b/sfx2/source/view/printer.cxx
index 2f68673..635ccf0 100644
--- a/sfx2/source/view/printer.cxx
+++ b/sfx2/source/view/printer.cxx
@@ -235,7 +235,7 @@ SfxPrintOptionsDialog::~SfxPrintOptionsDialog()
void SfxPrintOptionsDialog::dispose()
{
    delete pDlgImpl;
    delete pPage;
    pPage.clear();
    delete pOptions;
    ModalDialog::dispose();
}
diff --git a/sfx2/source/view/sfxbasecontroller.cxx b/sfx2/source/view/sfxbasecontroller.cxx
index 9f160d7..bf696c4 100644
--- a/sfx2/source/view/sfxbasecontroller.cxx
+++ b/sfx2/source/view/sfxbasecontroller.cxx
@@ -1451,7 +1451,7 @@ void SfxBaseController::ShowInfoBars( )
                    SfxInfoBarWindow* pInfoBar = pViewFrame->AppendInfoBar( "checkout", SfxResId( STR_NONCHECKEDOUT_DOCUMENT ) );
                    if (pInfoBar)
                    {
                        PushButton* pBtn = new PushButton( &pViewFrame->GetWindow(), SfxResId( BT_CHECKOUT ) );
                        VclPtrInstance<PushButton> pBtn( &pViewFrame->GetWindow(), SfxResId( BT_CHECKOUT ) );
                        pBtn->SetClickHdl( LINK( this, SfxBaseController, CheckOutHandler ) );
                        pInfoBar->addButton(pBtn);
                    }
diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
index 5d7685a..f61969f 100644
--- a/sfx2/source/view/viewfrm.cxx
+++ b/sfx2/source/view/viewfrm.cxx
@@ -1369,7 +1369,7 @@ void SfxViewFrame::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
                    SfxInfoBarWindow* pInfoBar = AppendInfoBar("readonly", SfxResId(STR_READONLY_DOCUMENT));
                    if (pInfoBar)
                    {
                        PushButton* pBtn = new PushButton( &GetWindow(), SfxResId(BT_READONLY_EDIT));
                        VclPtrInstance<PushButton> pBtn( &GetWindow(), SfxResId(BT_READONLY_EDIT));
                        pBtn->SetClickHdl(LINK(this, SfxViewFrame, SwitchReadOnlyHandler));
                        pInfoBar->addButton(pBtn);
                    }
@@ -1489,7 +1489,7 @@ SfxViewFrame::~SfxViewFrame()
        // The Bindings delete the Frame!
        KillDispatcher_Impl();

    delete pImp->pWindow;
    pImp->pWindow.clear();

    if ( GetFrame().GetCurrentViewFrame() == this )
        GetFrame().SetCurrentViewFrame_Impl( NULL );
diff --git a/sfx2/source/view/viewprn.cxx b/sfx2/source/view/viewprn.cxx
index 34716d6..71ff494 100644
--- a/sfx2/source/view/viewprn.cxx
+++ b/sfx2/source/view/viewprn.cxx
@@ -411,9 +411,9 @@ class SfxDialogExecutor_Impl
{
private:
    SfxViewShell*           _pViewSh;
    PrinterSetupDialog*     _pSetupParent;
    VclPtr<PrinterSetupDialog>  _pSetupParent;
    SfxItemSet*             _pOptions;
    bool                _bHelpDisabled;
    bool                    _bHelpDisabled;

    DECL_LINK( Execute, void * );

diff --git a/starmath/inc/ElementsDockingWindow.hxx b/starmath/inc/ElementsDockingWindow.hxx
index bdb57ac..efbd225 100644
--- a/starmath/inc/ElementsDockingWindow.hxx
+++ b/starmath/inc/ElementsDockingWindow.hxx
@@ -126,8 +126,8 @@ class SmElementsDockingWindow : public SfxDockingWindow
{
    static const sal_uInt16 aCategories[];

    SmElementsControl*  mpElementsControl;
    ListBox*            mpElementListBox;
    VclPtr<SmElementsControl>  mpElementsControl;
    VclPtr<ListBox>            mpElementListBox;

    virtual void Resize() SAL_OVERRIDE;
    SmViewShell* GetView();
diff --git a/starmath/inc/dialog.hxx b/starmath/inc/dialog.hxx
index 970eddd..9a0bb75 100644
--- a/starmath/inc/dialog.hxx
+++ b/starmath/inc/dialog.hxx
@@ -52,15 +52,15 @@ void SetFontStyle(const OUString &rStyleName, vcl::Font &rFont);

class SmPrintOptionsTabPage : public SfxTabPage
{
    CheckBox*       m_pTitle;
    CheckBox*       m_pText;
    CheckBox*       m_pFrame;
    RadioButton*    m_pSizeNormal;
    RadioButton*    m_pSizeScaled;
    RadioButton*    m_pSizeZoomed;
    MetricField*    m_pZoom;
    CheckBox*       m_pNoRightSpaces;
    CheckBox*       m_pSaveOnlyUsedSymbols;
    VclPtr<CheckBox>       m_pTitle;
    VclPtr<CheckBox>       m_pText;
    VclPtr<CheckBox>       m_pFrame;
    VclPtr<RadioButton>    m_pSizeNormal;
    VclPtr<RadioButton>    m_pSizeScaled;
    VclPtr<RadioButton>    m_pSizeZoomed;
    VclPtr<MetricField>    m_pZoom;
    VclPtr<CheckBox>       m_pNoRightSpaces;
    VclPtr<CheckBox>       m_pSaveOnlyUsedSymbols;

    DECL_LINK(SizeButtonClickHdl, Button *);

@@ -71,6 +71,8 @@ public:
    static SfxTabPage* Create(vcl::Window *pWindow, const SfxItemSet &rSet);

    SmPrintOptionsTabPage(vcl::Window *pParent, const SfxItemSet &rOptions);
    virtual ~SmPrintOptionsTabPage();
    virtual void dispose() SAL_OVERRIDE;
};

/**************************************************************************/
@@ -90,11 +92,11 @@ public:

class SmFontDialog : public ModalDialog
{
    ComboBox*       m_pFontBox;
    VclContainer*   m_pAttrFrame;
    CheckBox*       m_pBoldCheckBox;
    CheckBox*       m_pItalicCheckBox;
    SmShowFont*     m_pShowFont;
    VclPtr<ComboBox>       m_pFontBox;
    VclPtr<VclContainer>   m_pAttrFrame;
    VclPtr<CheckBox>       m_pBoldCheckBox;
    VclPtr<CheckBox>       m_pItalicCheckBox;
    VclPtr<SmShowFont>     m_pShowFont;

    vcl::Font       Face;

@@ -108,6 +110,8 @@ class SmFontDialog : public ModalDialog

public:
    SmFontDialog(vcl::Window * pParent, OutputDevice *pFntListDevice, bool bHideCheckboxes);
    virtual ~SmFontDialog();
    virtual void dispose() SAL_OVERRIDE;

    const vcl::Font& GetFont() const { return Face; }
    void        SetFont(const vcl::Font &rFont);
@@ -117,18 +121,20 @@ public:

class SmFontSizeDialog : public ModalDialog
{
    MetricField* m_pBaseSize;
    MetricField* m_pTextSize;
    MetricField* m_pIndexSize;
    MetricField* m_pFunctionSize;
    MetricField* m_pOperatorSize;
    MetricField* m_pBorderSize;
    PushButton* m_pDefaultButton;
    VclPtr<MetricField> m_pBaseSize;
    VclPtr<MetricField> m_pTextSize;
    VclPtr<MetricField> m_pIndexSize;
    VclPtr<MetricField> m_pFunctionSize;
    VclPtr<MetricField> m_pOperatorSize;
    VclPtr<MetricField> m_pBorderSize;
    VclPtr<PushButton> m_pDefaultButton;

    DECL_LINK(DefaultButtonClickHdl, Button *);

public:
    SmFontSizeDialog(vcl::Window *pParent);
    virtual ~SmFontSizeDialog();
    virtual void dispose() SAL_OVERRIDE;

    void ReadFrom(const SmFormat &rFormat);
    void WriteTo (SmFormat &rFormat) const;
@@ -138,15 +144,15 @@ public:

class SmFontTypeDialog : public ModalDialog
{
    SmFontPickListBox* m_pVariableFont;
    SmFontPickListBox* m_pFunctionFont;
    SmFontPickListBox* m_pNumberFont;
    SmFontPickListBox* m_pTextFont;
    SmFontPickListBox* m_pSerifFont;
    SmFontPickListBox* m_pSansFont;
    SmFontPickListBox* m_pFixedFont;
    MenuButton* m_pMenuButton;
    PushButton* m_pDefaultButton;
    VclPtr<SmFontPickListBox> m_pVariableFont;
    VclPtr<SmFontPickListBox> m_pFunctionFont;
    VclPtr<SmFontPickListBox> m_pNumberFont;
    VclPtr<SmFontPickListBox> m_pTextFont;
    VclPtr<SmFontPickListBox> m_pSerifFont;
    VclPtr<SmFontPickListBox> m_pSansFont;
    VclPtr<SmFontPickListBox> m_pFixedFont;
    VclPtr<MenuButton> m_pMenuButton;
    VclPtr<PushButton> m_pDefaultButton;

    OutputDevice       *pFontListDev;

@@ -156,6 +162,8 @@ class SmFontTypeDialog : public ModalDialog

public:
    SmFontTypeDialog(vcl::Window *pParent, OutputDevice *pFntListDevice);
    virtual ~SmFontTypeDialog();
    virtual void dispose() SAL_OVERRIDE;

    void ReadFrom(const SmFormat &rFormat);
    void WriteTo (SmFormat &rFormat) const;
@@ -194,19 +202,19 @@ public:

class SmDistanceDialog : public ModalDialog
{
    VclFrame*       m_pFrame;
    FixedText*      m_pFixedText1;
    MetricField*    m_pMetricField1;
    FixedText*      m_pFixedText2;
    MetricField*    m_pMetricField2;
    FixedText*      m_pFixedText3;
    MetricField*    m_pMetricField3;
    CheckBox*       m_pCheckBox1;
    FixedText*      m_pFixedText4;
    MetricField*    m_pMetricField4;
    MenuButton*     m_pMenuButton;
    PushButton*     m_pDefaultButton;
    FixedImage*     m_pBitmap;
    VclPtr<VclFrame>       m_pFrame;
    VclPtr<FixedText>      m_pFixedText1;
    VclPtr<MetricField>    m_pMetricField1;
    VclPtr<FixedText>      m_pFixedText2;
    VclPtr<MetricField>    m_pMetricField2;
    VclPtr<FixedText>      m_pFixedText3;
    VclPtr<MetricField>    m_pMetricField3;
    VclPtr<CheckBox>       m_pCheckBox1;
    VclPtr<FixedText>      m_pFixedText4;
    VclPtr<MetricField>    m_pMetricField4;
    VclPtr<MenuButton>     m_pMenuButton;
    VclPtr<PushButton>     m_pDefaultButton;
    VclPtr<FixedImage>     m_pBitmap;

    SmCategoryDesc *Categories[NOCATEGORIES];
    sal_uInt16          nActiveCategory;
@@ -239,15 +247,17 @@ public:

class SmAlignDialog : public ModalDialog
{
    RadioButton* m_pLeft;
    RadioButton* m_pCenter;
    RadioButton* m_pRight;
    PushButton*  m_pDefaultButton;
    VclPtr<RadioButton> m_pLeft;
    VclPtr<RadioButton> m_pCenter;
    VclPtr<RadioButton> m_pRight;
    VclPtr<PushButton>  m_pDefaultButton;

    DECL_LINK(DefaultButtonClickHdl, Button *);

public:
    SmAlignDialog(vcl::Window *pParent);
    virtual ~SmAlignDialog();
    virtual void dispose() SAL_OVERRIDE;

    void ReadFrom(const SmFormat &rFormat);
    void WriteTo (SmFormat &rFormat) const;
@@ -257,7 +267,7 @@ public:

class SmShowSymbolSetWindow : public Control
{
    ScrollBar*  m_pVScrollBar;
    VclPtr<ScrollBar>  m_pVScrollBar;
    SymbolPtrVec_t aSymbolSet;
    Link        aSelectHdlLink;
    Link        aDblClickHdlLink;
@@ -278,6 +288,8 @@ class SmShowSymbolSetWindow : public Control
    DECL_LINK( ScrollHdl, ScrollBar* );
public:
    SmShowSymbolSetWindow(vcl::Window *pParent, WinBits nStyle);
    virtual ~SmShowSymbolSetWindow();
    virtual void dispose() SAL_OVERRIDE;
    void setScrollbar(ScrollBar *pVScrollBar);
    void calccols();
    void    SelectSymbol(sal_uInt16 nSymbol);
@@ -334,12 +346,12 @@ class SmSymDefineDialog;

class SmSymbolDialog : public ModalDialog
{
    ListBox*         m_pSymbolSets;
    SmShowSymbolSet* m_pSymbolSetDisplay;
    FixedText*       m_pSymbolName;
    SmShowSymbol*    m_pSymbolDisplay;
    PushButton*      m_pGetBtn;
    PushButton*      m_pEditBtn;
    VclPtr<ListBox>         m_pSymbolSets;
    VclPtr<SmShowSymbolSet> m_pSymbolSetDisplay;
    VclPtr<FixedText>       m_pSymbolName;
    VclPtr<SmShowSymbol>    m_pSymbolDisplay;
    VclPtr<PushButton>      m_pGetBtn;
    VclPtr<PushButton>      m_pEditBtn;

    SmViewShell        &rViewSh;
    SmSymbolManager    &rSymbolMgr;
@@ -365,6 +377,8 @@ class SmSymbolDialog : public ModalDialog
public:
    SmSymbolDialog(vcl::Window * pParent, OutputDevice *pFntListDevice,
            SmSymbolManager &rSymbolMgr, SmViewShell &rViewShell);
    virtual ~SmSymbolDialog();
    virtual void dispose() SAL_OVERRIDE;

    bool    SelectSymbolSet(const OUString &rSymbolSetName);
    void    SelectSymbol(sal_uInt16 nSymbolPos);
@@ -392,23 +406,23 @@ public:

class SmSymDefineDialog : public ModalDialog
{
    ComboBox*        pOldSymbols;
    ComboBox*        pOldSymbolSets;
    SvxShowCharSet*  pCharsetDisplay;
    ComboBox*        pSymbols;
    ComboBox*        pSymbolSets;
    ListBox*         pFonts;
    ListBox*         pFontsSubsetLB;
    FontStyleBox*    pStyles;
    FixedText*       pOldSymbolName;
    SmShowChar*     pOldSymbolDisplay;
    FixedText*       pOldSymbolSetName;
    FixedText*       pSymbolName;
    SmShowChar*     pSymbolDisplay;
    FixedText*       pSymbolSetName;
    PushButton*      pAddBtn;
    PushButton*      pChangeBtn;
    PushButton*      pDeleteBtn;
    VclPtr<ComboBox>        pOldSymbols;
    VclPtr<ComboBox>        pOldSymbolSets;
    VclPtr<SvxShowCharSet>  pCharsetDisplay;
    VclPtr<ComboBox>        pSymbols;
    VclPtr<ComboBox>        pSymbolSets;
    VclPtr<ListBox>         pFonts;
    VclPtr<ListBox>         pFontsSubsetLB;
    VclPtr<FontStyleBox>    pStyles;
    VclPtr<FixedText>       pOldSymbolName;
    VclPtr<SmShowChar>      pOldSymbolDisplay;
    VclPtr<FixedText>       pOldSymbolSetName;
    VclPtr<FixedText>       pSymbolName;
    VclPtr<SmShowChar>      pSymbolDisplay;
    VclPtr<FixedText>       pSymbolSetName;
    VclPtr<PushButton>      pAddBtn;
    VclPtr<PushButton>      pChangeBtn;
    VclPtr<PushButton>      pDeleteBtn;

    SmSymbolManager     aSymbolMgrCopy,
                       &rSymbolMgr;
diff --git a/starmath/inc/edit.hxx b/starmath/inc/edit.hxx
index 2bd99c6..acc3843 100644
--- a/starmath/inc/edit.hxx
+++ b/starmath/inc/edit.hxx
@@ -54,9 +54,9 @@ class SmEditWindow : public vcl::Window, public DropTargetHelper

    SmCmdBoxWindow &rCmdBox;
    EditView       *pEditView;
    ScrollBar      *pHScrollBar,
                   *pVScrollBar;
    ScrollBarBox   *pScrollBox;
    VclPtr<ScrollBar>      pHScrollBar,
                           pVScrollBar;
    VclPtr<ScrollBarBox>   pScrollBox;
    Idle            aModifyIdle,
                    aCursorMoveIdle;
    ESelection      aOldSelection;
diff --git a/starmath/inc/toolbox.hxx b/starmath/inc/toolbox.hxx
index 3b3f697..1af665e 100644
--- a/starmath/inc/toolbox.hxx
+++ b/starmath/inc/toolbox.hxx
@@ -32,7 +32,7 @@ class SmToolBoxWindow : public SfxFloatingWindow
{

protected:
    ToolBox*    m_pToolBoxCat;
    VclPtr<ToolBox>    m_pToolBoxCat;
    sal_uInt16  m_nUnbinopsId;
    sal_uInt16  m_nRelationsId;
    sal_uInt16  m_nSetoperationsId;
@@ -42,8 +42,8 @@ protected:
    sal_uInt16  m_nBracketsId;
    sal_uInt16  m_nFormatId;
    sal_uInt16  m_nMiscId;
    ToolBox    *pToolBoxCmd;
    ToolBox    *vToolBoxCategories[NUM_TBX_CATEGORIES];
    VclPtr<ToolBox>    pToolBoxCmd;
    VclPtr<ToolBox>    vToolBoxCategories[NUM_TBX_CATEGORIES];
    ImageList  *aImageLists [NUM_TBX_CATEGORIES + 1];   /* regular */
    sal_uInt16      nActiveCategoryRID;

diff --git a/starmath/inc/view.hxx b/starmath/inc/view.hxx
index 8a1fdad..63d71eb 100644
--- a/starmath/inc/view.hxx
+++ b/starmath/inc/view.hxx
@@ -216,7 +216,7 @@ public:

    SmEditWindow& GetEditWindow()
    {
        return static_cast<SmCmdBoxWindow *>(pWindow)->GetEditWindow();
        return static_cast<SmCmdBoxWindow *>(pWindow.get())->GetEditWindow();
    }

};
diff --git a/starmath/source/ElementsDockingWindow.cxx b/starmath/source/ElementsDockingWindow.cxx
index 17e0738..0b472e2 100644
--- a/starmath/source/ElementsDockingWindow.cxx
+++ b/starmath/source/ElementsDockingWindow.cxx
@@ -676,7 +676,8 @@ SmElementsDockingWindow::~SmElementsDockingWindow ()

void SmElementsDockingWindow::dispose()
{
    delete mpElementsControl;
    mpElementsControl.clear();
    mpElementListBox.clear();
    SfxDockingWindow::dispose();
}

diff --git a/starmath/source/accessibility.hxx b/starmath/source/accessibility.hxx
index ddac583..b626064 100644
--- a/starmath/source/accessibility.hxx
+++ b/starmath/source/accessibility.hxx
@@ -70,7 +70,7 @@ class SmGraphicAccessible :
    /// client id in the AccessibleEventNotifier queue
    sal_uInt32                          nClientId;

    SmGraphicWindow     *pWin;
    VclPtr<SmGraphicWindow>             pWin;

    SmGraphicAccessible( const SmGraphicAccessible & ) SAL_DELETED_FUNCTION;
    SmGraphicAccessible & operator = ( const SmGraphicAccessible & ) SAL_DELETED_FUNCTION;
@@ -316,7 +316,7 @@ class SmEditAccessible :
{
    OUString                                aAccName;
    ::accessibility::AccessibleTextHelper    *pTextHelper;
    SmEditWindow                           *pWin;
    VclPtr<SmEditWindow>                    pWin;

    SmEditAccessible( const SmEditAccessible & ) SAL_DELETED_FUNCTION;
    SmEditAccessible & operator = ( const SmEditAccessible & ) SAL_DELETED_FUNCTION;
diff --git a/starmath/source/dialog.cxx b/starmath/source/dialog.cxx
index 93b6671..f000e78 100644
--- a/starmath/source/dialog.cxx
+++ b/starmath/source/dialog.cxx
@@ -177,6 +177,25 @@ SmPrintOptionsTabPage::SmPrintOptionsTabPage(vcl::Window *pParent, const SfxItem
    Reset(&rOptions);
}

SmPrintOptionsTabPage::~SmPrintOptionsTabPage()
{
    dispose();
}

void SmPrintOptionsTabPage::dispose()
{
    m_pTitle.clear();
    m_pText.clear();
    m_pFrame.clear();
    m_pSizeNormal.clear();
    m_pSizeScaled.clear();
    m_pSizeZoomed.clear();
    m_pZoom.clear();
    m_pNoRightSpaces.clear();
    m_pSaveOnlyUsedSymbols.clear();
    SfxTabPage::dispose();
}


bool SmPrintOptionsTabPage::FillItemSet(SfxItemSet* rSet)
{
@@ -366,6 +385,21 @@ SmFontDialog::SmFontDialog(vcl::Window * pParent, OutputDevice *pFntListDevice, 
    }
}

SmFontDialog::~SmFontDialog()
{
    dispose();
}

void SmFontDialog::dispose()
{
    m_pFontBox.clear();
    m_pAttrFrame.clear();
    m_pBoldCheckBox.clear();
    m_pItalicCheckBox.clear();
    m_pShowFont.clear();
    ModalDialog::dispose();
}

namespace
{
    void getColors(vcl::Window &rRef, ColorData &rBgCol, ColorData &rTxtCol)
@@ -441,6 +475,23 @@ SmFontSizeDialog::SmFontSizeDialog(vcl::Window * pParent)
    m_pDefaultButton->SetClickHdl(LINK(this, SmFontSizeDialog, DefaultButtonClickHdl));
}

SmFontSizeDialog::~SmFontSizeDialog()
{
    dispose();
}

void SmFontSizeDialog::dispose()
{
    m_pBaseSize.clear();
    m_pTextSize.clear();
    m_pIndexSize.clear();
    m_pFunctionSize.clear();
    m_pOperatorSize.clear();
    m_pBorderSize.clear();
    m_pDefaultButton.clear();
    ModalDialog::dispose();
}


void SmFontSizeDialog::ReadFrom(const SmFormat &rFormat)
{
@@ -538,6 +589,25 @@ SmFontTypeDialog::SmFontTypeDialog(vcl::Window * pParent, OutputDevice *pFntList
    m_pMenuButton->GetPopupMenu()->SetSelectHdl(LINK(this, SmFontTypeDialog, MenuSelectHdl));
}

SmFontTypeDialog::~SmFontTypeDialog()
{
    dispose();
}

void SmFontTypeDialog::dispose()
{
    m_pVariableFont.clear();
    m_pFunctionFont.clear();
    m_pNumberFont.clear();
    m_pTextFont.clear();
    m_pSerifFont.clear();
    m_pSansFont.clear();
    m_pFixedFont.clear();
    m_pMenuButton.clear();
    m_pDefaultButton.clear();
    ModalDialog::dispose();
}

void SmFontTypeDialog::ReadFrom(const SmFormat &rFormat)
{
    SmModule *pp = SM_MOD();
@@ -898,6 +968,19 @@ void SmDistanceDialog::dispose()
{
    for (int i = 0; i < NOCATEGORIES; i++)
        DELETEZ(Categories[i]);
    m_pFrame.clear();
    m_pFixedText1.clear();
    m_pMetricField1.clear();
    m_pFixedText2.clear();
    m_pMetricField2.clear();
    m_pFixedText3.clear();
    m_pMetricField3.clear();
    m_pCheckBox1.clear();
    m_pFixedText4.clear();
    m_pMetricField4.clear();
    m_pMenuButton.clear();
    m_pDefaultButton.clear();
    m_pBitmap.clear();
    ModalDialog::dispose();
}

@@ -1001,6 +1084,19 @@ SmAlignDialog::SmAlignDialog(vcl::Window * pParent)
    m_pDefaultButton->SetClickHdl(LINK(this, SmAlignDialog, DefaultButtonClickHdl));
}

SmAlignDialog::~SmAlignDialog()
{
    dispose();
}

void SmAlignDialog::dispose()
{
    m_pLeft.clear();
    m_pCenter.clear();
    m_pRight.clear();
    m_pDefaultButton.clear();
    ModalDialog::dispose();
}

void SmAlignDialog::ReadFrom(const SmFormat &rFormat)
{
@@ -1060,6 +1156,17 @@ SmShowSymbolSetWindow::SmShowSymbolSetWindow(vcl::Window *pParent, WinBits nStyl
    SetTextColor( aTxtColor );
}

SmShowSymbolSetWindow::~SmShowSymbolSetWindow()
{
    dispose();
}

void SmShowSymbolSetWindow::dispose()
{
    m_pVScrollBar.clear();
    Control::dispose();
}

Point SmShowSymbolSetWindow::OffsetPoint(const Point &rPoint) const
{
    return Point(rPoint.X() + nXOffset, rPoint.Y() + nYOffset);
@@ -1501,6 +1608,21 @@ SmSymbolDialog::SmSymbolDialog(vcl::Window *pParent, OutputDevice *pFntListDevic
    m_pGetBtn->SetClickHdl(LINK(this, SmSymbolDialog, GetClickHdl));
}

SmSymbolDialog::~SmSymbolDialog()
{
    dispose();
}

void SmSymbolDialog::dispose()
{
    m_pSymbolSets.clear();
    m_pSymbolSetDisplay.clear();
    m_pSymbolName.clear();
    m_pSymbolDisplay.clear();
    m_pGetBtn.clear();
    m_pEditBtn.clear();
    ModalDialog::dispose();
}

void SmSymbolDialog::InitColor_Impl()
{
@@ -2055,6 +2177,25 @@ SmSymDefineDialog::~SmSymDefineDialog()

void SmSymDefineDialog::dispose()
{
    pSubsetMap.reset();
    pOrigSymbol.reset();
    pOldSymbols.clear();
    pOldSymbolSets.clear();
    pCharsetDisplay.clear();
    pSymbols.clear();
    pSymbolSets.clear();
    pFonts.clear();
    pFontsSubsetLB.clear();
    pStyles.clear();
    pOldSymbolName.clear();
    pOldSymbolDisplay.clear();
    pOldSymbolSetName.clear();
    pSymbolName.clear();
    pSymbolDisplay.clear();
    pSymbolSetName.clear();
    pAddBtn.clear();
    pChangeBtn.clear();
    pDeleteBtn.clear();
    ModalDialog::dispose();
}

diff --git a/starmath/source/edit.cxx b/starmath/source/edit.cxx
index 3d4ac23..dfd1595 100644
--- a/starmath/source/edit.cxx
+++ b/starmath/source/edit.cxx
@@ -155,12 +155,10 @@ void SmEditWindow::dispose()
        delete pEditView;
        pEditView = NULL;
    }
    delete pHScrollBar;
    pHScrollBar = NULL;
    delete pVScrollBar;
    pVScrollBar = NULL;
    delete pScrollBox;
    pScrollBox = NULL;

    pHScrollBar.clear();
    pVScrollBar.clear();
    pScrollBox.clear();

    vcl::Window::dispose();
}
diff --git a/starmath/source/toolbox.cxx b/starmath/source/toolbox.cxx
index f396b5c..0b514fd 100644
--- a/starmath/source/toolbox.cxx
+++ b/starmath/source/toolbox.cxx
@@ -147,9 +147,7 @@ void SmToolBoxWindow::dispose()
    int i;
    for (i = 0;  i < NUM_TBX_CATEGORIES;  ++i)
    {
        ToolBox *pBox = vToolBoxCategories[i];
        delete pBox;
        vToolBoxCategories[i] = 0;
        vToolBoxCategories[i].clear();
    }
    pToolBoxCmd = 0;
    for (i = 0;  i < NUM_TBX_CATEGORIES + 1;  ++i)
@@ -157,6 +155,8 @@ void SmToolBoxWindow::dispose()
        delete aImageLists[i];
        aImageLists[i] = 0;
    }
    m_pToolBoxCat.clear();
    pToolBoxCmd.clear();
    SfxFloatingWindow::dispose();
}

@@ -363,7 +363,7 @@ SmToolBoxWrapper::SmToolBoxWrapper(vcl::Window *pParentWindow,
    eChildAlignment = SfxChildAlignment::NOALIGNMENT;

    pWindow = new SmToolBoxWindow(pBindings, this, pParentWindow);
    static_cast<SfxFloatingWindow *>(pWindow)->Initialize(pInfo);
    static_cast<SfxFloatingWindow *>(pWindow.get())->Initialize(pInfo);
}


diff --git a/starmath/source/view.cxx b/starmath/source/view.cxx
index 0f7fa5b..ee50e10 100644
--- a/starmath/source/view.cxx
+++ b/starmath/source/view.cxx
@@ -906,7 +906,7 @@ SmCmdBoxWrapper::SmCmdBoxWrapper(vcl::Window *pParentWindow, sal_uInt16 nId,

    // make window docked to the bottom initially (after first start)
    eChildAlignment = SfxChildAlignment::BOTTOM;
    static_cast<SfxDockingWindow *>(pWindow)->Initialize(pInfo);
    static_cast<SfxDockingWindow *>(pWindow.get())->Initialize(pInfo);
}


diff --git a/svtools/inc/vclxaccessibleheaderbar.hxx b/svtools/inc/vclxaccessibleheaderbar.hxx
index f283821..c0d0fb1 100644
--- a/svtools/inc/vclxaccessibleheaderbar.hxx
+++ b/svtools/inc/vclxaccessibleheaderbar.hxx
@@ -36,7 +36,7 @@ class VCLXAccessibleHeaderBar : public VCLXAccessibleComponent
{

public:
    HeaderBar*  m_pHeadBar;
    VclPtr<HeaderBar>  m_pHeadBar;
    virtual ~VCLXAccessibleHeaderBar();

    virtual void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ) SAL_OVERRIDE;
diff --git a/svtools/inc/vclxaccessibleheaderbaritem.hxx b/svtools/inc/vclxaccessibleheaderbaritem.hxx
index 301036c..727c2e7 100644
--- a/svtools/inc/vclxaccessibleheaderbaritem.hxx
+++ b/svtools/inc/vclxaccessibleheaderbaritem.hxx
@@ -25,6 +25,7 @@
#include <cppuhelper/implbase2.hxx>

#include <tools/link.hxx>
#include <vcl/vclptr.hxx>

#include <vector>

@@ -53,7 +54,7 @@ class VCLXAccessibleHeaderBarItem :    public AccessibleExtendedComponentHelper_
{
private:
    VCLExternalSolarLock*    m_pExternalLock;
    HeaderBar*                m_pHeadBar;
    VclPtr<HeaderBar>        m_pHeadBar;
    sal_Int32                m_nIndexInParent;

protected:
diff --git a/svtools/source/brwbox/brwbox1.cxx b/svtools/source/brwbox/brwbox1.cxx
index 49fb3aa..6650cbd 100644
--- a/svtools/source/brwbox/brwbox1.cxx
+++ b/svtools/source/brwbox/brwbox1.cxx
@@ -36,7 +36,7 @@


#define SCROLL_FLAGS (SCROLL_CLIP | SCROLL_NOCHILDREN)
#define getDataWindow() (static_cast<BrowserDataWin*>(pDataWin))
#define getDataWindow() (static_cast<BrowserDataWin*>(pDataWin.get()))

using namespace com::sun::star::accessibility::AccessibleEventId;
using namespace com::sun::star::accessibility::AccessibleTableModelChangeType;
@@ -153,10 +153,10 @@ void BrowseBox::dispose()
    }

    Hide();
    delete getDataWindow()->pHeaderBar;
    delete getDataWindow()->pCornerWin;
    delete pDataWin;
    delete pVScroll;
    getDataWindow()->pHeaderBar.clear();
    getDataWindow()->pCornerWin.clear();
    pDataWin.clear();
    pVScroll.clear();
    aHScroll.disposeAndClear();

    // free columns-space
@@ -596,7 +596,7 @@ void BrowseBox::SetColumnWidth( sal_uInt16 nItemId, sal_uLong nWidth )
            nMaxWidth -= getDataWindow()->bAutoSizeLastCol
                    ? GetFieldRect(nItemId).Left()
                    : GetFrozenWidth();
            if ( static_cast<BrowserDataWin*>(pDataWin )->bAutoSizeLastCol || nWidth > (sal_uLong)nMaxWidth )
            if ( static_cast<BrowserDataWin*>( pDataWin.get() )->bAutoSizeLastCol || nWidth > (sal_uLong)nMaxWidth )
            {
                nWidth = nMaxWidth > 16 ? nMaxWidth : nOldWidth;
                nWidth = QueryColumnResize( nItemId, nWidth );
@@ -652,7 +652,7 @@ void BrowseBox::SetColumnWidth( sal_uInt16 nItemId, sal_uLong nWidth )
                getDataWindow()->Scroll( nWidth-nOldWidth, 0, aScrRect, SCROLL_FLAGS );
                Rectangle aInvRect( nX, 0, nX + std::max( nWidth, (sal_uLong)nOldWidth ), USHRT_MAX );
                Control::Invalidate( aInvRect, INVALIDATE_NOCHILDREN );
                static_cast<BrowserDataWin*>( pDataWin )->Invalidate( aInvRect );
                static_cast<BrowserDataWin*>( pDataWin.get() )->Invalidate( aInvRect );
            }
            else
            {
@@ -2255,7 +2255,7 @@ void BrowseBox::SetMode( BrowserMode nMode )
    MultiSelection *pOldRowSel = bMultiSelection ? uRow.pSel : 0;
    MultiSelection *pOldColSel = pColSel;

    delete pVScroll;
    pVScroll.clear();

    bThumbDragging = ( nMode & BROWSER_THUMBDRAGGING ) == BROWSER_THUMBDRAGGING;
    bMultiSelection = ( nMode & BROWSER_MULTISELECTION ) == BROWSER_MULTISELECTION;
@@ -2286,7 +2286,7 @@ void BrowseBox::SetMode( BrowserMode nMode )
        WB_VSCROLL | ( ( nMode & BROWSER_THUMBDRAGGING ) ? WB_DRAG : 0 );
    pVScroll = ( nMode & BROWSER_TRACKING_TIPS ) == BROWSER_TRACKING_TIPS
                ? new BrowserScrollBar( this, nVScrollWinBits,
                                        static_cast<BrowserDataWin*>( pDataWin ) )
                                        static_cast<BrowserDataWin*>( pDataWin.get() ) )
                : new ScrollBar( this, nVScrollWinBits );
    pVScroll->SetLineSize( 1 );
    pVScroll->SetPageSize(1);
@@ -2307,7 +2307,7 @@ void BrowseBox::SetMode( BrowserMode nMode )
    }
    else
    {
        DELETEZ(getDataWindow()->pHeaderBar);
        getDataWindow()->pHeaderBar.clear();
    }


@@ -2408,9 +2408,9 @@ BrowserHeader* BrowseBox::CreateHeaderBar( BrowseBox* pParent )

void BrowseBox::SetHeaderBar( BrowserHeader* pHeaderBar )
{
    delete static_cast<BrowserDataWin*>(pDataWin)->pHeaderBar;
    static_cast<BrowserDataWin*>( pDataWin )->pHeaderBar = pHeaderBar;
    static_cast<BrowserDataWin*>( pDataWin )->pHeaderBar->SetStartDragHdl( LINK( this, BrowseBox, StartDragHdl ) );
    static_cast<BrowserDataWin*>( pDataWin.get() )->pHeaderBar.clear();
    static_cast<BrowserDataWin*>( pDataWin.get() )->pHeaderBar = pHeaderBar;
    static_cast<BrowserDataWin*>( pDataWin.get() )->pHeaderBar->SetStartDragHdl( LINK( this, BrowseBox, StartDragHdl ) );
}

long BrowseBox::GetTitleHeight() const
@@ -2418,7 +2418,7 @@ long BrowseBox::GetTitleHeight() const
    long nHeight;
    // ask the header bar for the text height (if possible), as the header bar's font is adjusted with
    // our (and the header's) zoom factor
    HeaderBar* pHeaderBar = static_cast<BrowserDataWin*>( pDataWin )->pHeaderBar;
    HeaderBar* pHeaderBar = static_cast<BrowserDataWin*>( pDataWin.get() )->pHeaderBar;
    if ( pHeaderBar )
        nHeight = pHeaderBar->GetTextHeight();
    else
diff --git a/svtools/source/brwbox/brwbox2.cxx b/svtools/source/brwbox/brwbox2.cxx
index d931547..959191e 100644
--- a/svtools/source/brwbox/brwbox2.cxx
+++ b/svtools/source/brwbox/brwbox2.cxx
@@ -30,7 +30,7 @@

using namespace ::com::sun::star::datatransfer;

#define getDataWindow() (static_cast<BrowserDataWin*>(pDataWin))
#define getDataWindow() (static_cast<BrowserDataWin*>(pDataWin.get()))



@@ -43,7 +43,7 @@ void BrowseBox::StartDrag( sal_Int8 /* _nAction */, const Point& /* _rPosPixel *

sal_Int8 BrowseBox::AcceptDrop( const AcceptDropEvent& _rEvt )
{
    BrowserDataWin* pDataWindow = static_cast<BrowserDataWin*>(pDataWin);
    BrowserDataWin* pDataWindow = static_cast<BrowserDataWin*>(pDataWin.get());
    AcceptDropEvent aTransformed( _rEvt );
    aTransformed.maPosPixel = pDataWindow->ScreenToOutputPixel( OutputToScreenPixel( _rEvt.maPosPixel ) );
    return pDataWindow->AcceptDrop( aTransformed );
@@ -53,7 +53,7 @@ sal_Int8 BrowseBox::AcceptDrop( const AcceptDropEvent& _rEvt )

sal_Int8 BrowseBox::ExecuteDrop( const ExecuteDropEvent& _rEvt )
{
    BrowserDataWin* pDataWindow = static_cast<BrowserDataWin*>(pDataWin);
    BrowserDataWin* pDataWindow = static_cast<BrowserDataWin*>(pDataWin.get());
    ExecuteDropEvent aTransformed( _rEvt );
    aTransformed.maPosPixel = pDataWindow->ScreenToOutputPixel( OutputToScreenPixel( _rEvt.maPosPixel ) );
    return pDataWindow->ExecuteDrop( aTransformed );
@@ -79,8 +79,8 @@ sal_Int8 BrowseBox::ExecuteDrop( const BrowserExecuteDropEvent& )

void* BrowseBox::implGetDataFlavors() const
{
    if (static_cast<BrowserDataWin*>(pDataWin)->bCallingDropCallback)
        return &static_cast<BrowserDataWin*>(pDataWin)->GetDataFlavorExVector();
    if (static_cast<BrowserDataWin*>(pDataWin.get())->bCallingDropCallback)
        return &static_cast<BrowserDataWin*>(pDataWin.get())->GetDataFlavorExVector();
    return &GetDataFlavorExVector();
}

@@ -88,8 +88,8 @@ void* BrowseBox::implGetDataFlavors() const

bool BrowseBox::IsDropFormatSupported( SotClipboardFormatId _nFormat )
{
    if ( static_cast< BrowserDataWin* >( pDataWin )->bCallingDropCallback )
        return static_cast< BrowserDataWin* >( pDataWin )->IsDropFormatSupported( _nFormat );
    if ( static_cast< BrowserDataWin* >( pDataWin.get() )->bCallingDropCallback )
        return static_cast< BrowserDataWin* >( pDataWin.get() )->IsDropFormatSupported( _nFormat );

    return DropTargetHelper::IsDropFormatSupported( _nFormat );
}
@@ -105,8 +105,8 @@ bool BrowseBox::IsDropFormatSupported( SotClipboardFormatId _nFormat ) const

bool BrowseBox::IsDropFormatSupported( const DataFlavor& _rFlavor )
{
    if ( static_cast< BrowserDataWin* >( pDataWin )->bCallingDropCallback )
        return static_cast< BrowserDataWin* >( pDataWin )->IsDropFormatSupported( _rFlavor );
    if ( static_cast< BrowserDataWin* >( pDataWin.get() )->bCallingDropCallback )
        return static_cast< BrowserDataWin* >( pDataWin.get() )->IsDropFormatSupported( _rFlavor );

    return DropTargetHelper::IsDropFormatSupported( _rFlavor );
}
@@ -189,7 +189,7 @@ void BrowseBox::StateChanged( StateChangedType nStateChange )
        // do we have a handle column?
        bool bHandleCol = !pCols->empty() && (0 == (*pCols)[ 0 ]->GetId());
        // do we have a header bar?
        bool bHeaderBar = (NULL != static_cast<BrowserDataWin&>(GetDataWindow()).pHeaderBar);
        bool bHeaderBar = (NULL != static_cast<BrowserDataWin&>(GetDataWindow()).pHeaderBar.get());

        if  (   nTitleLines
            &&  (   !bHeaderBar
@@ -407,9 +407,9 @@ void BrowseBox::DrawCursor()
    {
        // on these platforms, the StarView focus works correctly
        if ( bReallyHide )
            static_cast<Control*>(pDataWin)->HideFocus();
            static_cast<Control*>(pDataWin.get())->HideFocus();
        else
            static_cast<Control*>(pDataWin)->ShowFocus( aCursor );
            static_cast<Control*>(pDataWin.get())->ShowFocus( aCursor );
    }
    else
    {
@@ -623,7 +623,7 @@ void BrowseBox::Paint( const Rectangle& rRect )

    BrowserColumn *pFirstCol = (*pCols)[ 0 ];
    bool bHandleCol = pFirstCol && pFirstCol->GetId() == 0;
    bool bHeaderBar = getDataWindow()->pHeaderBar != NULL;
    bool bHeaderBar = getDataWindow()->pHeaderBar.get() != NULL;

    // draw delimitational lines
    if ( !getDataWindow()->bNoHScroll )
@@ -1119,7 +1119,7 @@ void BrowseBox::UpdateScrollbars()
        return;

    // protect against recursion
    BrowserDataWin *pBDW = static_cast<BrowserDataWin*>( pDataWin );
    BrowserDataWin *pBDW = static_cast<BrowserDataWin*>( pDataWin.get() );
    if ( pBDW->bInUpdateScrollbars )
    {
        pBDW->bHadRecursion = true;
@@ -1258,7 +1258,7 @@ void BrowseBox::UpdateScrollbars()
        getDataWindow()->pCornerWin->Show();
    }
    else
        DELETEZ( getDataWindow()->pCornerWin );
        getDataWindow()->pCornerWin.clear();

    // scroll headerbar, if necessary
    if ( getDataWindow()->pHeaderBar )
@@ -1539,7 +1539,7 @@ void BrowseBox::MouseButtonUp( const MouseEvent & rEvt )
        bResizing = false;
    }
    else
        MouseButtonUp( BrowserMouseEvent( static_cast<BrowserDataWin*>(pDataWin),
        MouseButtonUp( BrowserMouseEvent( static_cast<BrowserDataWin*>(pDataWin.get()),
                MouseEvent( Point( rEvt.GetPosPixel().X(),
                        rEvt.GetPosPixel().Y() - pDataWin->GetPosPixel().Y() ),
                    rEvt.GetClicks(), rEvt.GetMode(), rEvt.GetButtons(),
diff --git a/svtools/source/brwbox/brwhead.cxx b/svtools/source/brwbox/brwhead.cxx
index e3758a9..6cfbf57 100644
--- a/svtools/source/brwbox/brwhead.cxx
+++ b/svtools/source/brwbox/brwhead.cxx
@@ -36,6 +36,18 @@ BrowserHeader::BrowserHeader( BrowseBox* pParent, WinBits nWinBits )
}


BrowserHeader::~BrowserHeader()
{
    dispose();
}

void BrowserHeader::dispose()
{
    _pBrowseBox.clear();
    HeaderBar::dispose();
}



void BrowserHeader::Command( const CommandEvent& rCEvt )
{
diff --git a/svtools/source/brwbox/datwin.cxx b/svtools/source/brwbox/datwin.cxx
index 4faea38..682595a 100644
--- a/svtools/source/brwbox/datwin.cxx
+++ b/svtools/source/brwbox/datwin.cxx
@@ -237,6 +237,9 @@ void BrowserDataWin::dispose()
    for ( size_t i = 0, n = aInvalidRegion.size(); i < n; ++i )
        delete aInvalidRegion[ i ];
    aInvalidRegion.clear();
    pHeaderBar.clear();
    pEventWin.clear();
    pCornerWin.clear();
    Control::dispose();
}

@@ -727,7 +730,16 @@ void BrowserDataWin::Invalidate( const Rectangle& rRect, sal_uInt16 nFlags )
        Window::Invalidate( rRect, nFlags );
}

BrowserScrollBar::~BrowserScrollBar()
{
    dispose();
}

void BrowserScrollBar::dispose()
{
    _pDataWin.clear();
    ScrollBar::dispose();
}

void BrowserScrollBar::Tracking( const TrackingEvent& rTEvt )
{
diff --git a/svtools/source/brwbox/datwin.hxx b/svtools/source/brwbox/datwin.hxx
index b4fd34b..08f2432 100644
--- a/svtools/source/brwbox/datwin.hxx
+++ b/svtools/source/brwbox/datwin.hxx
@@ -103,9 +103,9 @@ class BrowserDataWin
            ,public DropTargetHelper
{
public:
    BrowserHeader*  pHeaderBar;     // only for BROWSER_HEADERBAR_NEW
    vcl::Window*         pEventWin;      // Window of forwarded events
    ScrollBarBox*   pCornerWin;     // Window in the corner btw the ScrollBars
    VclPtr<BrowserHeader> pHeaderBar;     // only for BROWSER_HEADERBAR_NEW
    VclPtr<vcl::Window>   pEventWin;      // Window of forwarded events
    VclPtr<ScrollBarBox>  pCornerWin;     // Window in the corner btw the ScrollBars
    bool            bInDtor;
    AutoTimer       aMouseTimer;    // recalls MouseMove on dragging out
    MouseEvent      aRepeatEvt;     // a MouseEvent to repeat
@@ -197,7 +197,7 @@ class BrowserScrollBar: public ScrollBar
{
    sal_uLong           _nTip;
    sal_uLong           _nLastPos;
    BrowserDataWin* _pDataWin;
    VclPtr<BrowserDataWin> _pDataWin;

public:
                    BrowserScrollBar( vcl::Window* pParent, WinBits nStyle,
@@ -207,6 +207,8 @@ public:
                        _nLastPos( ULONG_MAX ),
                        _pDataWin( pDataWin )
                    {}
   virtual          ~BrowserScrollBar();
   virtual void     dispose() SAL_OVERRIDE;
                    //ScrollBar( vcl::Window* pParent, const ResId& rResId );

    virtual void    Tracking( const TrackingEvent& rTEvt ) SAL_OVERRIDE;
diff --git a/svtools/source/brwbox/ebbcontrols.cxx b/svtools/source/brwbox/ebbcontrols.cxx
index b078375e..532e340 100644
--- a/svtools/source/brwbox/ebbcontrols.cxx
+++ b/svtools/source/brwbox/ebbcontrols.cxx
@@ -254,7 +254,7 @@ namespace svt

    void CheckBoxControl::dispose()
    {
        delete pBox;
        pBox.clear();
        Control::dispose();
    }

diff --git a/svtools/source/brwbox/editbrowsebox.cxx b/svtools/source/brwbox/editbrowsebox.cxx
index 597ce94..1dc9adf 100644
--- a/svtools/source/brwbox/editbrowsebox.cxx
+++ b/svtools/source/brwbox/editbrowsebox.cxx
@@ -195,7 +195,9 @@ namespace svt
        if (nCellModifiedEvent)
            Application::RemoveUserEvent(nCellModifiedEvent);

        delete pCheckBoxPaint;
        pCheckBoxPaint.clear();
        m_pFocusWhileRequest.clear();
        pHeader.clear();
        BrowseBox::dispose();
    }

@@ -256,7 +258,7 @@ namespace svt
        if (IsEditing())
        {
            EnableAndShow();
            if (!aController->GetWindow().HasFocus() && (m_pFocusWhileRequest == Application::GetFocusWindow()))
            if (!aController->GetWindow().HasFocus() && (m_pFocusWhileRequest.get() == Application::GetFocusWindow()))
                aController->GetWindow().GrabFocus();
        }
        return 0;
diff --git a/svtools/source/contnr/fileview.cxx b/svtools/source/contnr/fileview.cxx
index e36c2f5..accd044 100644
--- a/svtools/source/contnr/fileview.cxx
+++ b/svtools/source/contnr/fileview.cxx
@@ -168,7 +168,7 @@ private:
    Reference< XCommandEnvironment >    mxCmdEnv;

    ::osl::Mutex            maMutex;
    HeaderBar*              mpHeaderBar;
    VclPtr<HeaderBar>       mpHeaderBar;
    SvtFileView_Impl*       mpParent;
    Timer                   maResetQuickSearch;
    OUString                maQuickSearchText;
@@ -406,7 +406,7 @@ class SvtFileView_Impl  :public ::svt::IEnumerationResultHandler
                        ,public ITimeoutHandler
{
protected:
    SvtFileView*                mpAntiImpl;
    VclPtr<SvtFileView>         mpAntiImpl;
    Link                        m_aSelectHandler;

    ::rtl::Reference< ::svt::FileViewContentEnumerator >
@@ -424,7 +424,7 @@ public:
    ::std::vector< SortingData_Impl* >  maContent;
    ::osl::Mutex                        maMutex;

    ViewTabListBox_Impl*    mpView;
    VclPtr<ViewTabListBox_Impl>         mpView;
    NameTranslator_Impl*    mpNameTrans;
    sal_uInt16              mnSortColumn;
    bool                    mbAscending     : 1;
@@ -642,7 +642,7 @@ void ViewTabListBox_Impl::dispose()
{
    maResetQuickSearch.Stop();

    delete mpHeaderBar;
    mpHeaderBar.clear();
    SvHeaderTabListBox::dispose();
}

@@ -2334,6 +2334,17 @@ QueryDeleteDlg_Impl::QueryDeleteDlg_Impl(vcl::Window* pParent, const OUString& r
    set_secondary_text(get_secondary_text().replaceFirst("%s", rName));
}

QueryDeleteDlg_Impl::~QueryDeleteDlg_Impl()
{
    dispose();
}

void QueryDeleteDlg_Impl::dispose()
{
    m_pAllButton.clear();
    MessageDialog::dispose();
}

}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svtools/source/contnr/imivctl.hxx b/svtools/source/contnr/imivctl.hxx
index 71a1751..c17497f 100644
--- a/svtools/source/contnr/imivctl.hxx
+++ b/svtools/source/contnr/imivctl.hxx
@@ -179,14 +179,14 @@ class SvxIconChoiceCtrl_Impl
    Point                   aDDLastRectPos;
    Point                   aDDPaintOffs;
    Point                   aDDStartPos;
    SvtIconChoiceCtrl*      pView;
    VclPtr<SvtIconChoiceCtrl>  pView;
    IcnCursor_Impl*         pImpCursor;
    IcnGridMap_Impl*        pGridMap;
    long                    nMaxVirtWidth;  // max. width aVirtOutputSize for ALIGN_TOP
    long                    nMaxVirtHeight; // max. height aVirtOutputSize for ALIGN_LEFT
    SvxIconChoiceCtrlEntryList_impl*    pZOrderList;
    SvxIconChoiceCtrlColumnInfoMap* pColumns;
    IcnViewEdit_Impl*       pEdit;
    VclPtr<IcnViewEdit_Impl>   pEdit;
    WinBits                 nWinBits;
    long                    nMaxBoundHeight;            // height of highest BoundRects
    sal_uInt16              nFlags;
diff --git a/svtools/source/contnr/imivctl1.cxx b/svtools/source/contnr/imivctl1.cxx
index 9f26c98..1afc9e3 100644
--- a/svtools/source/contnr/imivctl1.cxx
+++ b/svtools/source/contnr/imivctl1.cxx
@@ -157,7 +157,7 @@ SvxIconChoiceCtrl_Impl::SvxIconChoiceCtrl_Impl(
SvxIconChoiceCtrl_Impl::~SvxIconChoiceCtrl_Impl()
{
    pCurEditedEntry = 0;
    DELETEZ(pEdit);
    pEdit.clear();
    Clear();
    StopEditTimer();
    CancelUserEvents();
@@ -3127,7 +3127,7 @@ void SvxIconChoiceCtrl_Impl::EditEntry( SvxIconChoiceCtrlEntry* pEntry )
        return;

    StopEntryEditing( true );
    DELETEZ(pEdit);
    pEdit.clear();
    SetNoSelection();

    pCurEditedEntry = pEntry;
diff --git a/svtools/source/contnr/simptabl.cxx b/svtools/source/contnr/simptabl.cxx
index aab0683..61e9bd2 100644
--- a/svtools/source/contnr/simptabl.cxx
+++ b/svtools/source/contnr/simptabl.cxx
@@ -31,6 +31,17 @@ SvSimpleTableContainer::SvSimpleTableContainer(vcl::Window* pParent, WinBits nBi
{
}

SvSimpleTableContainer::~SvSimpleTableContainer()
{
    dispose();
}

void SvSimpleTableContainer::dispose()
{
    m_pTable.clear();
    Control::dispose();
}

extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeSvSimpleTableContainer(vcl::Window *pParent,
    VclBuilder::stringmap &)
{
diff --git a/svtools/source/contnr/svtabbx.cxx b/svtools/source/contnr/svtabbx.cxx
index a48a8cb..afb886d 100644
--- a/svtools/source/contnr/svtabbx.cxx
+++ b/svtools/source/contnr/svtabbx.cxx
@@ -503,7 +503,7 @@ namespace svt
{
    struct SvHeaderTabListBoxImpl
    {
        HeaderBar*              m_pHeaderBar;
        VclPtr<HeaderBar>       m_pHeaderBar;
        AccessibleFactoryAccess m_aFactoryAccess;

        SvHeaderTabListBoxImpl() : m_pHeaderBar( NULL ) { }
diff --git a/svtools/source/contnr/treelistbox.cxx b/svtools/source/contnr/treelistbox.cxx
index 37e08bb..ae35ee1 100644
--- a/svtools/source/contnr/treelistbox.cxx
+++ b/svtools/source/contnr/treelistbox.cxx
@@ -166,7 +166,7 @@ SvInplaceEdit2::~SvInplaceEdit2()
        Application::RemoveAccel( &aAccReturn );
        Application::RemoveAccel( &aAccEscape );
    }
    delete pEdit;
    pEdit.clear();
}

OUString SvInplaceEdit2::GetSavedValue() const
diff --git a/svtools/source/control/calendar.cxx b/svtools/source/control/calendar.cxx
index a0d1c06..02a8e13 100644
--- a/svtools/source/control/calendar.cxx
+++ b/svtools/source/control/calendar.cxx
@@ -2189,10 +2189,10 @@ Size Calendar::CalcWindowSizePixel( long nCalcMonthPerLine,
class ImplCFieldFloatWin : public FloatingWindow
{
private:
    Calendar*       mpCalendar;
    PushButton*     mpTodayBtn;
    PushButton*     mpNoneBtn;
    FixedLine*      mpFixedLine;
    VclPtr<Calendar>    mpCalendar;
    VclPtr<PushButton>  mpTodayBtn;
    VclPtr<PushButton>  mpNoneBtn;
    VclPtr<FixedLine>   mpFixedLine;

public:
                    ImplCFieldFloatWin( vcl::Window* pParent );
@@ -2229,9 +2229,10 @@ ImplCFieldFloatWin::~ImplCFieldFloatWin()

void ImplCFieldFloatWin::dispose()
{
    delete mpTodayBtn;
    delete mpNoneBtn;
    delete mpFixedLine;
    mpTodayBtn.clear();
    mpNoneBtn.clear();
    mpFixedLine.clear();
    mpCalendar.clear();
    FloatingWindow::dispose();
}

@@ -2257,11 +2258,7 @@ PushButton* ImplCFieldFloatWin::EnableTodayBtn( bool bEnable )
    }
    else
    {
        if ( mpTodayBtn )
        {
            delete mpTodayBtn;
            mpTodayBtn = NULL;
        }
        mpTodayBtn.clear();
    }

    return mpTodayBtn;
@@ -2289,11 +2286,7 @@ PushButton* ImplCFieldFloatWin::EnableNoneBtn( bool bEnable )
    }
    else
    {
        if ( mpNoneBtn )
        {
            delete mpNoneBtn;
            mpNoneBtn = NULL;
        }
        mpNoneBtn.clear();
    }

    return mpNoneBtn;
@@ -2357,11 +2350,7 @@ void ImplCFieldFloatWin::ArrangeButtons()
    }
    else
    {
        if ( mpFixedLine )
        {
            delete mpFixedLine;
            mpFixedLine = NULL;
        }
        mpFixedLine.clear();
    }
}

@@ -2399,11 +2388,10 @@ CalendarField::~CalendarField()

void CalendarField::dispose()
{
    if ( mpFloatWin )
    {
        delete mpCalendar;
        delete mpFloatWin;
    }
    mpCalendar.clear();
    mpFloatWin.clear();
    mpTodayBtn.clear();
    mpNoneBtn.clear();
    DateField::dispose();
}

diff --git a/svtools/source/control/inettbc.cxx b/svtools/source/control/inettbc.cxx
index 8260380..7f39ff6 100644
--- a/svtools/source/control/inettbc.cxx
+++ b/svtools/source/control/inettbc.cxx
@@ -91,13 +91,13 @@ class SvtMatchContext_Impl: public salhelper::Thread
{
    static ::osl::Mutex*            pDirMutex;

    std::vector<OUString>      aPickList;
    std::vector<OUString>      aCompletions;
    std::vector<OUString>      aURLs;
    std::vector<OUString>           aPickList;
    std::vector<OUString>           aCompletions;
    std::vector<OUString>           aURLs;
    svtools::AsynchronLink          aLink;
    OUString                        aBaseURL;
    OUString                        aText;
    SvtURLBox*                      pBox;
    VclPtr<SvtURLBox>               pBox;
    bool                            bOnlyDirectories;
    bool                            bNoSelection;

diff --git a/svtools/source/control/roadmap.cxx b/svtools/source/control/roadmap.cxx
index 9e40446..6a5e20b 100644
--- a/svtools/source/control/roadmap.cxx
+++ b/svtools/source/control/roadmap.cxx
@@ -51,8 +51,8 @@ namespace svt
    class RoadmapItem : public RoadmapTypes
    {
    private:
        IDLabel*                mpID;
        HyperLabel*             mpDescription;
        VclPtr<IDLabel>         mpID;
        VclPtr<HyperLabel>      mpDescription;
        const Size              m_aItemPlayground;

    public:
diff --git a/svtools/source/control/tabbar.cxx b/svtools/source/control/tabbar.cxx
index ab6e8d0..f39c1b7 100644
--- a/svtools/source/control/tabbar.cxx
+++ b/svtools/source/control/tabbar.cxx
@@ -328,13 +328,13 @@ IMPL_LINK_NOARG(TabBarEdit, ImplEndTimerHdl)

struct TabBar_Impl
{
    std::unique_ptr<ImplTabSizer> mpSizer;
    std::unique_ptr<ImplTabButton> mpFirstButton;
    std::unique_ptr<ImplTabButton> mpPrevButton;
    std::unique_ptr<ImplTabButton> mpNextButton;
    std::unique_ptr<ImplTabButton> mpLastButton;
    std::unique_ptr<TabBarEdit> mpEdit;
    ImplTabBarList mpItemList;
    VclPtr<ImplTabSizer>  mpSizer;
    VclPtr<ImplTabButton> mpFirstButton;
    VclPtr<ImplTabButton> mpPrevButton;
    VclPtr<ImplTabButton> mpNextButton;
    VclPtr<ImplTabButton> mpLastButton;
    VclPtr<TabBarEdit>    mpEdit;
    ImplTabBarList        mpItemList;

    svt::AccessibleFactoryAccess  maAccessibleFactory;

@@ -355,6 +355,12 @@ struct TabBar_Impl
            delete mpItemList[i];
        }
        mpItemList.clear();

        mpPrevBtn.disposeAndClear();
        mpNextBtn.disposeAndClear();
        mpFirstBtn.disposeAndClear();
        mpLastBtn.disposeAndClear();
        mpEdit.disposeAndClear();
    }

    sal_uInt16 getItemSize()
@@ -378,6 +384,7 @@ TabBar::~TabBar()
void TabBar::dispose()
{
    EndEditMode( true );
    mpImpl.reset();
    Window::dispose();
}

@@ -661,9 +668,7 @@ void TabBar::ImplInitControls()
        mpImpl->mpSizer->Show();
    }
    else
    {
        mpImpl->mpSizer.reset();
    }
        mpImpl->mpSizer.disposeAndClear();

    Link aLink = LINK( this, TabBar, ImplClickHdl );

@@ -687,8 +692,8 @@ void TabBar::ImplInitControls()
    }
    else
    {
        mpImpl->mpPrevButton.reset();
        mpImpl->mpNextButton.reset();
        mpImpl->mpPrevButton.disposeAndClear();
        mpImpl->mpNextButton.disposeAndClear();
    }

    if ( mnWinStyle & WB_SCROLL )
@@ -711,8 +716,8 @@ void TabBar::ImplInitControls()
    }
    else
    {
        mpImpl->mpFirstButton.reset();
        mpImpl->mpLastButton.reset();
        mpImpl->mpFirstButton.disposeAndClear();
        mpImpl->mpLastButton.disposeAndClear();
    }

    mbHasInsertTab  = (mnWinStyle & WB_INSERTTAB);
@@ -2268,7 +2273,8 @@ void TabBar::EndEditMode( bool bCancel )
        else
        {
            // close edit and call end hdl
            mpImpl->mpEdit.reset();
            mpImpl->mpEdit.disposeAndClear();

            EndRenaming();
            mnEditId = 0;
        }
diff --git a/svtools/source/control/toolbarmenu.cxx b/svtools/source/control/toolbarmenu.cxx
index 39ced9f..1cf6fc5 100644
--- a/svtools/source/control/toolbarmenu.cxx
+++ b/svtools/source/control/toolbarmenu.cxx
@@ -129,7 +129,7 @@ ToolbarMenuEntry::~ToolbarMenuEntry()
            xComponent->dispose();
        mxAccContext.clear();
    }
    delete mpControl;
    mpControl.clear();
}


@@ -292,7 +292,7 @@ Reference< XAccessible > ToolbarMenu_Impl::getAccessibleChild( Control* pControl
    for( int nEntry = 0; nEntry < nEntryCount; nEntry++ )
    {
        ToolbarMenuEntry* pEntry = maEntryVector[nEntry];
        if( pEntry && (pEntry->mpControl == pControl) )
        if( pEntry && (pEntry->mpControl.get() == pControl) )
        {
            return pEntry->getAccessibleChild( childIndex );
        }
@@ -393,7 +393,7 @@ void ToolbarMenu_Impl::notifyHighlightedEntry()
            {
                sal_Int32 nChildIndex = 0;
                // todo: if other controls than ValueSet are allowed, addapt this code
                ValueSet* pValueSet = dynamic_cast< ValueSet* >( pEntry->mpControl );
                ValueSet* pValueSet = dynamic_cast< ValueSet* >( pEntry->mpControl.get() );
                if( pValueSet )
                    nChildIndex = static_cast< sal_Int32 >( pValueSet->GetItemPos( pValueSet->GetSelectItemId() ) );

@@ -874,7 +874,7 @@ void ToolbarMenu::implHighlightEntry( int nHighlightEntry, bool bHighlight )
            {
                if( !bHighlight )
                {
                    ValueSet* pValueSet = dynamic_cast< ValueSet* >( pEntry->mpControl );
                    ValueSet* pValueSet = dynamic_cast< ValueSet* >( pEntry->mpControl.get() );
                    if( pValueSet )
                    {
                        pValueSet->SetNoSelection();
@@ -1577,7 +1577,7 @@ public:
    virtual void SAL_CALL dispose() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
    virtual void SAL_CALL statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw ( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;

    ToolbarMenu* mpMenu;
    VclPtr<ToolbarMenu> mpMenu;
};


@@ -1594,7 +1594,7 @@ ToolbarMenuStatusListener::ToolbarMenuStatusListener(

void SAL_CALL ToolbarMenuStatusListener::dispose() throw (::com::sun::star::uno::RuntimeException, std::exception)
{
    mpMenu = 0;
    mpMenu.clear();
    svt::FrameStatusListener::dispose();
}

diff --git a/svtools/source/control/toolbarmenuimp.hxx b/svtools/source/control/toolbarmenuimp.hxx
index 8029dea..727221b 100644
--- a/svtools/source/control/toolbarmenuimp.hxx
+++ b/svtools/source/control/toolbarmenuimp.hxx
@@ -76,7 +76,7 @@ public:

    OUString maText;
    Image maImage;
    Control* mpControl;
    VclPtr<Control> mpControl;
    Rectangle maRect;

    ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > mxAccContext;
diff --git a/svtools/source/control/valueacc.cxx b/svtools/source/control/valueacc.cxx
index f552ee5..8bf34c8 100644
--- a/svtools/source/control/valueacc.cxx
+++ b/svtools/source/control/valueacc.cxx
@@ -755,7 +755,7 @@ void ValueSetAcc::ThrowIfDisposed (void)
    }
    else
    {
        DBG_ASSERT (mpParent!=NULL, "ValueSetAcc not disposed but mpParent == NULL");
        DBG_ASSERT (mpParent!=nullptr, "ValueSetAcc not disposed but mpParent == NULL");
    }
}

diff --git a/svtools/source/control/valueimp.hxx b/svtools/source/control/valueimp.hxx
index d042074..fc19f71 100644
--- a/svtools/source/control/valueimp.hxx
+++ b/svtools/source/control/valueimp.hxx
@@ -105,7 +105,7 @@ public:

    // XComponent
    virtual void SAL_CALL dispose()throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
        { WeakComponentImplHelperBase::dispose(); }
        { mpParent.clear(); WeakComponentImplHelperBase::dispose(); }
    virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
        { WeakComponentImplHelperBase::addEventListener(xListener); }
    virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
@@ -156,7 +156,7 @@ public:
private:
    ::std::vector< ::com::sun::star::uno::Reference<
        ::com::sun::star::accessibility::XAccessibleEventListener > >   mxEventListeners;
    ValueSet*                                                           mpParent;
    VclPtr<ValueSet>                                                    mpParent;
    bool                                                                mbIsTransientChildrenDisabled;
    /// The current FOCUSED state.
    bool mbIsFocused;
diff --git a/svtools/source/dialogs/PlaceEditDialog.cxx b/svtools/source/dialogs/PlaceEditDialog.cxx
index b446174..0539d5b 100644
--- a/svtools/source/dialogs/PlaceEditDialog.cxx
+++ b/svtools/source/dialogs/PlaceEditDialog.cxx
@@ -79,6 +79,22 @@ PlaceEditDialog::PlaceEditDialog(vcl::Window* pParent, const std::shared_ptr<Pla
    }
}

PlaceEditDialog::~PlaceEditDialog()
{
    dispose();
}

void PlaceEditDialog::dispose()
{
    m_pEDServerName.clear();
    m_pLBServerType.clear();
    m_pEDUsername.clear();
    m_pBTOk.clear();
    m_pBTCancel.clear();
    m_pBTDelete.clear();
    ModalDialog::dispose();
}

OUString PlaceEditDialog::GetServerUrl()
{
    OUString sUrl;
diff --git a/svtools/source/dialogs/addresstemplate.cxx b/svtools/source/dialogs/addresstemplate.cxx
index 050cf49..65cc4af 100644
--- a/svtools/source/dialogs/addresstemplate.cxx
+++ b/svtools/source/dialogs/addresstemplate.cxx
@@ -739,6 +739,10 @@ void AssignmentPersistentData::ImplCommit()
    void AddressBookSourceDialog::dispose()
    {
        delete m_pImpl;
        m_pDatasource.clear();
        m_pAdministrateDatasources.clear();
        m_pTable.clear();
        m_pFieldScroller.clear();
        ModalDialog::dispose();
    }

diff --git a/svtools/source/dialogs/colrdlg.cxx b/svtools/source/dialogs/colrdlg.cxx
index 232aaf4..96ad7da 100644
--- a/svtools/source/dialogs/colrdlg.cxx
+++ b/svtools/source/dialogs/colrdlg.cxx
@@ -29,6 +29,7 @@
#include <toolkit/helper/vclunohelper.hxx>

#include <svtools/colrdlg.hxx>
#include <vcl/window.hxx>

using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::lang;
diff --git a/svtools/source/dialogs/prnsetup.cxx b/svtools/source/dialogs/prnsetup.cxx
index f824d9c..77d6fcf 100644
--- a/svtools/source/dialogs/prnsetup.cxx
+++ b/svtools/source/dialogs/prnsetup.cxx
@@ -252,6 +252,14 @@ void PrinterSetupDialog::dispose()
{
    ImplFreePrnDlgListBox(m_pLbName, false);
    delete mpTempPrinter;
    mpTempPrinter = NULL;
    m_pLbName.clear();
    m_pBtnProperties.clear();
    m_pBtnOptions.clear();
    m_pFiStatus.clear();
    m_pFiType.clear();
    m_pFiLocation.clear();
    m_pFiComment.clear();
    ModalDialog::dispose();
}

diff --git a/svtools/source/dialogs/restartdialog.cxx b/svtools/source/dialogs/restartdialog.cxx
index d116d9b..282553b 100644
--- a/svtools/source/dialogs/restartdialog.cxx
+++ b/svtools/source/dialogs/restartdialog.cxx
@@ -47,14 +47,21 @@ public:
        btnYes_->SetClickHdl(LINK(this, RestartDialog, hdlYes));
        btnNo_->SetClickHdl(LINK(this, RestartDialog, hdlNo));
    }

    virtual ~RestartDialog() { dispose(); }
    virtual void dispose() SAL_OVERRIDE
    {
        reason_.clear();
        btnYes_.clear();
        btnNo_.clear();
        ModalDialog::dispose();
    }
private:
    DECL_LINK(hdlYes, void *);
    DECL_LINK(hdlNo, void *);

    vcl::Window * reason_;
    PushButton * btnYes_;
    PushButton * btnNo_;
    VclPtr<vcl::Window> reason_;
    VclPtr<PushButton> btnYes_;
    VclPtr<PushButton> btnNo_;
};

IMPL_LINK_NOARG(RestartDialog, hdlYes) {
diff --git a/svtools/source/dialogs/roadmapwizard.cxx b/svtools/source/dialogs/roadmapwizard.cxx
index 68291f9..1c398cf 100644
--- a/svtools/source/dialogs/roadmapwizard.cxx
+++ b/svtools/source/dialogs/roadmapwizard.cxx
@@ -55,7 +55,7 @@ namespace svt

    struct RoadmapWizardImpl : public RoadmapWizardTypes
    {
        ORoadmap*           pRoadmap;
        VclPtr<ORoadmap>    pRoadmap;
        Paths               aPaths;
        PathId              nActivePath;
        StateDescriptions   aStateDescriptors;
@@ -69,11 +69,6 @@ namespace svt
        {
        }

        ~RoadmapWizardImpl()
        {
            delete pRoadmap;
        }

        /// returns the index of the current state in given path, or -1
        static sal_Int32 getStateIndexInPath( WizardTypes::WizardState _nState, const WizardPath& _rPath );
        /// returns the index of the current state in the path with the given id, or -1
diff --git a/svtools/source/dialogs/wizardmachine.cxx b/svtools/source/dialogs/wizardmachine.cxx
index 79ffe86..6cf4a62 100644
--- a/svtools/source/dialogs/wizardmachine.cxx
+++ b/svtools/source/dialogs/wizardmachine.cxx
@@ -207,11 +207,11 @@ namespace svt

    void OWizardMachine::dispose()
    {
        delete m_pFinish;
        delete m_pCancel;
        delete m_pNextPage;
        delete m_pPrevPage;
        delete m_pHelp;
        m_pFinish.clear();
        m_pCancel.clear();
        m_pNextPage.clear();
        m_pPrevPage.clear();
        m_pHelp.clear();

        for (WizardState i=0; i<m_pImpl->nFirstUnknownPage; ++i)
            delete GetPage(i);
diff --git a/svtools/source/dialogs/wizdlg.cxx b/svtools/source/dialogs/wizdlg.cxx
index c38c694..890cbc4 100644
--- a/svtools/source/dialogs/wizdlg.cxx
+++ b/svtools/source/dialogs/wizdlg.cxx
@@ -34,7 +34,7 @@
struct ImplWizPageData
{
    ImplWizPageData*    mpNext;
    TabPage*            mpPage;
    VclPtr<TabPage>     mpPage;
};


@@ -42,7 +42,7 @@ struct ImplWizPageData
struct ImplWizButtonData
{
    ImplWizButtonData*  mpNext;
    Button*             mpButton;
    VclPtr<Button>      mpButton;
    long                mnOffset;
};

@@ -378,6 +378,10 @@ void WizardDialog::dispose()
    while ( mpFirstPage )
        RemovePage( mpFirstPage->mpPage );

    mpCurTabPage.clear();
    mpPrevBtn.clear();
    mpNextBtn.clear();
    mpViewWindow.clear();
    ModalDialog::dispose();
}

diff --git a/svtools/source/filter/GraphicExportOptionsDialog.cxx b/svtools/source/filter/GraphicExportOptionsDialog.cxx
index 3fe1d19..da1f2d31 100644
--- a/svtools/source/filter/GraphicExportOptionsDialog.cxx
+++ b/svtools/source/filter/GraphicExportOptionsDialog.cxx
@@ -43,6 +43,19 @@ GraphicExportOptionsDialog::GraphicExportOptionsDialog(vcl::Window* pWindow, con
    updateResolution();
}

GraphicExportOptionsDialog::~GraphicExportOptionsDialog()
{
    dispose();
}

void GraphicExportOptionsDialog::dispose()
{
    mpWidth.clear();
    mpHeight.clear();
    mpResolution.clear();
    ModalDialog::dispose();
}

void GraphicExportOptionsDialog::initialize()
{
    mCurrentPage = mRenderer.getCurrentPageWriter();
diff --git a/svtools/source/filter/exportdialog.cxx b/svtools/source/filter/exportdialog.cxx
index 5c63ea8..9301993 100644
--- a/svtools/source/filter/exportdialog.cxx
+++ b/svtools/source/filter/exportdialog.cxx
@@ -986,6 +986,39 @@ void ExportDialog::dispose()
{
    delete mpFilterOptionsItem;
    delete mpOptionsItem;
    mpMfSizeX.clear();
    mpLbSizeX.clear();
    mpMfSizeY.clear();
    mpFtResolution.clear();
    mpNfResolution.clear();
    mpLbResolution.clear();
    mpColorDepth.clear();
    mpLbColorDepth.clear();
    mpJPGQuality.clear();
    mpPNGCompression.clear();
    mpSbCompression.clear();
    mpNfCompression.clear();
    mpMode.clear();
    mpCbInterlaced.clear();
    mpBMPCompression.clear();
    mpCbRLEEncoding.clear();
    mpDrawingObjects.clear();
    mpCbSaveTransparency.clear();
    mpEncoding.clear();
    mpRbBinary.clear();
    mpRbText.clear();
    mpEPSGrid.clear();
    mpCbEPSPreviewTIFF.clear();
    mpCbEPSPreviewEPSI.clear();
    mpRbEPSLevel1.clear();
    mpRbEPSLevel2.clear();
    mpRbEPSColorFormat1.clear();
    mpRbEPSColorFormat2.clear();
    mpRbEPSCompressionLZW.clear();
    mpRbEPSCompressionNone.clear();
    mpInfo.clear();
    mpFtEstimatedSize.clear();
    mpBtnOK.clear();
    ModalDialog::dispose();
}

diff --git a/svtools/source/filter/exportdialog.hxx b/svtools/source/filter/exportdialog.hxx
index 8defef2..4df7cdc 100644
--- a/svtools/source/filter/exportdialog.hxx
+++ b/svtools/source/filter/exportdialog.hxx
@@ -53,49 +53,49 @@ private:
    const com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >&
        mxSourceDocument;

    NumericField*       mpMfSizeX;
    ListBox*            mpLbSizeX;
    NumericField*       mpMfSizeY;
    FixedText*          mpFtResolution;
    NumericField*       mpNfResolution;
    ListBox*            mpLbResolution;
    VclPtr<NumericField>       mpMfSizeX;
    VclPtr<ListBox>            mpLbSizeX;
    VclPtr<NumericField>       mpMfSizeY;
    VclPtr<FixedText>          mpFtResolution;
    VclPtr<NumericField>       mpNfResolution;
    VclPtr<ListBox>            mpLbResolution;

    VclContainer*       mpColorDepth;
    ListBox*            mpLbColorDepth;
    VclPtr<VclContainer>       mpColorDepth;
    VclPtr<ListBox>            mpLbColorDepth;

    VclContainer*       mpJPGQuality;
    VclContainer*       mpPNGCompression;
    VclPtr<VclContainer>       mpJPGQuality;
    VclPtr<VclContainer>       mpPNGCompression;

    ScrollBar*          mpSbCompression;
    NumericField*       mpNfCompression;
    VclPtr<ScrollBar>          mpSbCompression;
    VclPtr<NumericField>       mpNfCompression;

    VclContainer*       mpMode;
    CheckBox*           mpCbInterlaced;
    VclPtr<VclContainer>       mpMode;
    VclPtr<CheckBox>           mpCbInterlaced;

    VclContainer*       mpBMPCompression;
    CheckBox*           mpCbRLEEncoding;
    VclPtr<VclContainer>       mpBMPCompression;
    VclPtr<CheckBox>           mpCbRLEEncoding;

    VclContainer*       mpDrawingObjects;
    CheckBox*           mpCbSaveTransparency;
    VclPtr<VclContainer>       mpDrawingObjects;
    VclPtr<CheckBox>           mpCbSaveTransparency;

    VclContainer*       mpEncoding;
    RadioButton*        mpRbBinary;
    RadioButton*        mpRbText;
    VclPtr<VclContainer>       mpEncoding;
    VclPtr<RadioButton>        mpRbBinary;
    VclPtr<RadioButton>        mpRbText;

    VclContainer*       mpEPSGrid;
    CheckBox*           mpCbEPSPreviewTIFF;
    CheckBox*           mpCbEPSPreviewEPSI;
    RadioButton*        mpRbEPSLevel1;
    RadioButton*        mpRbEPSLevel2;
    RadioButton*        mpRbEPSColorFormat1;
    RadioButton*        mpRbEPSColorFormat2;
    RadioButton*        mpRbEPSCompressionLZW;
    RadioButton*        mpRbEPSCompressionNone;
    VclPtr<VclContainer>       mpEPSGrid;
    VclPtr<CheckBox>           mpCbEPSPreviewTIFF;
    VclPtr<CheckBox>           mpCbEPSPreviewEPSI;
    VclPtr<RadioButton>        mpRbEPSLevel1;
    VclPtr<RadioButton>        mpRbEPSLevel2;
    VclPtr<RadioButton>        mpRbEPSColorFormat1;
    VclPtr<RadioButton>        mpRbEPSColorFormat2;
    VclPtr<RadioButton>        mpRbEPSCompressionLZW;
    VclPtr<RadioButton>        mpRbEPSCompressionNone;

    VclContainer*       mpInfo;
    FixedText*          mpFtEstimatedSize;
    VclPtr<VclContainer>       mpInfo;
    VclPtr<FixedText>          mpFtEstimatedSize;

    OKButton*           mpBtnOK;
    VclPtr<OKButton>           mpBtnOK;

    OUString            msEstimatedSizePix1;
    OUString            msEstimatedSizePix2;
diff --git a/svtools/source/hatchwindow/hatchwindow.cxx b/svtools/source/hatchwindow/hatchwindow.cxx
index dc1828d..f31e8d1 100644
--- a/svtools/source/hatchwindow/hatchwindow.cxx
+++ b/svtools/source/hatchwindow/hatchwindow.cxx
@@ -188,7 +188,7 @@ void SAL_CALL VCLXHatchWindow::setController( const uno::Reference< embed::XHatc
void SAL_CALL VCLXHatchWindow::dispose()
    throw (uno::RuntimeException, std::exception)
{
    pHatchWindow = 0;
    pHatchWindow.clear();
    VCLXWindow::dispose();
}

diff --git a/svtools/source/inc/hatchwindow.hxx b/svtools/source/inc/hatchwindow.hxx
index b08e13e..1fb06de 100644
--- a/svtools/source/inc/hatchwindow.hxx
+++ b/svtools/source/inc/hatchwindow.hxx
@@ -31,7 +31,7 @@ class VCLXHatchWindow : public ::com::sun::star::embed::XHatchWindow,
{
    ::com::sun::star::uno::Reference< ::com::sun::star::embed::XHatchWindowController > m_xController;
    ::com::sun::star::awt::Size aHatchBorderSize;
    SvResizeWindow* pHatchWindow;
    VclPtr<SvResizeWindow> pHatchWindow;

public:
    VCLXHatchWindow();
diff --git a/svtools/source/inc/svimpbox.hxx b/svtools/source/inc/svimpbox.hxx
index 82683a5..4f0c79f 100644
--- a/svtools/source/inc/svimpbox.hxx
+++ b/svtools/source/inc/svimpbox.hxx
@@ -47,7 +47,7 @@ class ImpLBSelEng : public FunctionSet
{
    SvImpLBox*          pImp;
    SelectionEngine*    pSelEng;
    SvTreeListBox*      pView;
    VclPtr<SvTreeListBox>  pView;

public:
    ImpLBSelEng( SvImpLBox* pImp, SelectionEngine* pSelEng,
@@ -86,7 +86,7 @@ class SvImpLBox
friend class ImpLBSelEng;
friend class SvTreeListBox;
private:
    SvTreeListBox*      pView;
    VclPtr<SvTreeListBox>   pView;
    SvTreeList*     pTree;
    SvTreeListEntry*        pCursor;
    SvTreeListEntry*        pStartEntry;
diff --git a/svtools/source/misc/dialogcontrolling.cxx b/svtools/source/misc/dialogcontrolling.cxx
index 987e841..b381c43 100644
--- a/svtools/source/misc/dialogcontrolling.cxx
+++ b/svtools/source/misc/dialogcontrolling.cxx
@@ -50,7 +50,7 @@ namespace svt
    struct DialogController_Data
    {
        vcl::Window&                     rInstigator;
        ::std::vector< vcl::Window* >    aConcernedWindows;
        ::std::vector< VclPtr<vcl::Window> >    aConcernedWindows;
        PWindowEventFilter          pEventFilter;
        PWindowOperator             pOperator;

@@ -111,7 +111,7 @@ namespace svt

    void DialogController::impl_updateAll( const VclWindowEvent& _rTriggerEvent )
    {
        for ( ::std::vector< vcl::Window* >::iterator loop = m_pImpl->aConcernedWindows.begin();
        for ( auto loop = m_pImpl->aConcernedWindows.begin();
                loop != m_pImpl->aConcernedWindows.end();
                ++loop
            )
diff --git a/svtools/source/table/tablecontrol_impl.cxx b/svtools/source/table/tablecontrol_impl.cxx
index a9a7607..6e556b5 100644
--- a/svtools/source/table/tablecontrol_impl.cxx
+++ b/svtools/source/table/tablecontrol_impl.cxx
@@ -261,10 +261,6 @@ namespace svt { namespace table

    TableControl_Impl::~TableControl_Impl()
    {

        DELETEZ( m_pVScroll );
        DELETEZ( m_pHScroll );
        DELETEZ( m_pScrollCorner );
        DELETEZ( m_pTableFunctionSet );
        DELETEZ( m_pSelEngine );
    }
@@ -632,20 +628,20 @@ namespace svt { namespace table
        }


        bool lcl_updateScrollbar( vcl::Window& _rParent, ScrollBar*& _rpBar,
        bool lcl_updateScrollbar( vcl::Window& _rParent, VclPtr<ScrollBar>& _rpBar,
            bool const i_needBar, long _nVisibleUnits,
            long _nPosition, long _nLineSize, long _nRange,
            bool _bHorizontal, const Link& _rScrollHandler )
        {
            // do we currently have the scrollbar?
            bool bHaveBar = _rpBar != NULL;
            bool bHaveBar = _rpBar != nullptr;

            // do we need to correct the scrollbar visibility?
            if ( bHaveBar && !i_needBar )
            {
                if ( _rpBar->IsTracking() )
                    _rpBar->EndTracking();
                DELETEZ( _rpBar );
                _rpBar.clear();
            }
            else if ( !bHaveBar && i_needBar )
            {
@@ -1162,11 +1158,11 @@ namespace svt { namespace table
        }

        // the corner window connecting the two scrollbars in the lower right corner
        bool bHaveScrollCorner = NULL != m_pScrollCorner;
        bool bNeedScrollCorner = ( NULL != m_pHScroll ) && ( NULL != m_pVScroll );
        bool bHaveScrollCorner = nullptr != m_pScrollCorner;
        bool bNeedScrollCorner = ( nullptr != m_pHScroll ) && ( nullptr != m_pVScroll );
        if ( bHaveScrollCorner && !bNeedScrollCorner )
        {
            DELETEZ( m_pScrollCorner );
            m_pScrollCorner.clear();
        }
        else if ( !bHaveScrollCorner && bNeedScrollCorner )
        {
@@ -2111,7 +2107,7 @@ namespace svt { namespace table
            }

            // update the position at the vertical scrollbar
            if ( m_pVScroll != NULL )
            if ( m_pVScroll != nullptr )
                m_pVScroll->SetThumbPos( m_nTopRow );
        }

@@ -2189,7 +2185,7 @@ namespace svt { namespace table
            }

            // update the position at the horizontal scrollbar
            if ( m_pHScroll != NULL )
            if ( m_pHScroll != nullptr )
                m_pHScroll->SetThumbPos( m_nLeftColumn );
        }

diff --git a/svtools/source/table/tablecontrol_impl.hxx b/svtools/source/table/tablecontrol_impl.hxx
index 5fef6fd..530823a 100644
--- a/svtools/source/table/tablecontrol_impl.hxx
+++ b/svtools/source/table/tablecontrol_impl.hxx
@@ -125,10 +125,10 @@ namespace svt { namespace table
        ::boost::scoped_ptr< TableDataWindow >
                                m_pDataWindow;
        /// the vertical scrollbar, if any
        ScrollBar*              m_pVScroll;
        VclPtr<ScrollBar>       m_pVScroll;
        /// the horizontal scrollbar, if any
        ScrollBar*              m_pHScroll;
        ScrollBarBox*           m_pScrollCorner;
        VclPtr<ScrollBar>       m_pHScroll;
        VclPtr<ScrollBarBox>    m_pScrollCorner;
        //selection engine - for determining selection range, e.g. single, multiple
        SelectionEngine*        m_pSelEngine;
        //vector which contains the selected rows
diff --git a/svtools/source/toolpanel/paneltabbarpeer.cxx b/svtools/source/toolpanel/paneltabbarpeer.cxx
index 3a0c473..4fd01f9 100644
--- a/svtools/source/toolpanel/paneltabbarpeer.cxx
+++ b/svtools/source/toolpanel/paneltabbarpeer.cxx
@@ -64,7 +64,7 @@ namespace svt
    Reference< XAccessibleContext > PanelTabBarPeer::CreateAccessibleContext()
    {
        SolarMutexGuard aSolarGuard;
        if ( m_pTabBar == NULL )
        if ( m_pTabBar == nullptr )
            throw DisposedException( OUString(), *this );


@@ -80,7 +80,7 @@ namespace svt
    {
        {
            SolarMutexGuard aSolarGuard;
            m_pTabBar = NULL;
            m_pTabBar.clear();
        }
        VCLXWindow::dispose();
    }
diff --git a/svtools/source/toolpanel/paneltabbarpeer.hxx b/svtools/source/toolpanel/paneltabbarpeer.hxx
index 2c96010..9e0bc67 100644
--- a/svtools/source/toolpanel/paneltabbarpeer.hxx
+++ b/svtools/source/toolpanel/paneltabbarpeer.hxx
@@ -49,7 +49,7 @@ namespace svt

    private:
        AccessibleFactoryAccess m_aAccessibleFactory;
        PanelTabBar*            m_pTabBar;
        VclPtr<PanelTabBar>     m_pTabBar;
    };


diff --git a/svtools/source/toolpanel/toolpaneldeckpeer.cxx b/svtools/source/toolpanel/toolpaneldeckpeer.cxx
index 333fa43..76f15af 100644
--- a/svtools/source/toolpanel/toolpaneldeckpeer.cxx
+++ b/svtools/source/toolpanel/toolpaneldeckpeer.cxx
@@ -64,7 +64,7 @@ namespace svt
    Reference< XAccessibleContext > ToolPanelDeckPeer::CreateAccessibleContext()
    {
        SolarMutexGuard aSolarGuard;
        if ( m_pDeck == NULL )
        if ( m_pDeck == nullptr )
            throw DisposedException( OUString(), *this );

        vcl::Window* pAccessibleParent( m_pDeck->GetAccessibleParentWindow() );
@@ -78,7 +78,7 @@ namespace svt
    {
        {
            SolarMutexGuard aSolarGuard;
            m_pDeck = NULL;
            m_pDeck.clear();
        }
        VCLXWindow::dispose();
    }
diff --git a/svtools/source/toolpanel/toolpaneldeckpeer.hxx b/svtools/source/toolpanel/toolpaneldeckpeer.hxx
index daa1770..2ced30f 100644
--- a/svtools/source/toolpanel/toolpaneldeckpeer.hxx
+++ b/svtools/source/toolpanel/toolpaneldeckpeer.hxx
@@ -49,7 +49,7 @@ namespace svt

    private:
        AccessibleFactoryAccess m_aAccessibleFactory;
        ToolPanelDeck*          m_pDeck;
        VclPtr<ToolPanelDeck>   m_pDeck;
    };


diff --git a/svtools/source/uno/addrtempuno.cxx b/svtools/source/uno/addrtempuno.cxx
index 1a9a864..7b6aba4 100644
--- a/svtools/source/uno/addrtempuno.cxx
+++ b/svtools/source/uno/addrtempuno.cxx
@@ -134,7 +134,7 @@ namespace {

        if ( _nExecutionResult )
            if ( m_pDialog )
                static_cast< AddressBookSourceDialog* >( m_pDialog )->getFieldMapping( m_aAliases );
                static_cast< AddressBookSourceDialog* >( m_pDialog.get() )->getFieldMapping( m_aAliases );
    }

    void SAL_CALL OAddressBookSourceDialogUno::initialize(const Sequence< Any >& rArguments) throw(Exception, RuntimeException, std::exception)
diff --git a/svtools/source/uno/generictoolboxcontroller.cxx b/svtools/source/uno/generictoolboxcontroller.cxx
index 1c78816..04e6203 100644
--- a/svtools/source/uno/generictoolboxcontroller.cxx
+++ b/svtools/source/uno/generictoolboxcontroller.cxx
@@ -74,11 +74,9 @@ void SAL_CALL GenericToolboxController::dispose()
throw ( RuntimeException, std::exception )
{
    SolarMutexGuard aSolarMutexGuard;

    svt::ToolboxController::dispose();

    m_pToolbox = 0;
    m_pToolbox.clear();
    m_nID = 0;
    svt::ToolboxController::dispose();
}

void SAL_CALL GenericToolboxController::execute( sal_Int16 /*KeyModifier*/ )
diff --git a/svtools/source/uno/genericunodialog.cxx b/svtools/source/uno/genericunodialog.cxx
index b0186d2..4026b66 100644
--- a/svtools/source/uno/genericunodialog.cxx
+++ b/svtools/source/uno/genericunodialog.cxx
@@ -313,8 +313,7 @@ void SAL_CALL OGenericUnoDialog::initialize( const Sequence< Any >& aArguments )

void OGenericUnoDialog::destroyDialog()
{
    delete m_pDialog;
    m_pDialog = NULL;
    m_pDialog.clear();
}


diff --git a/svtools/source/uno/popupwindowcontroller.cxx b/svtools/source/uno/popupwindowcontroller.cxx
index aa6277a..1f4bfce 100644
--- a/svtools/source/uno/popupwindowcontroller.cxx
+++ b/svtools/source/uno/popupwindowcontroller.cxx
@@ -47,8 +47,8 @@ public:
    DECL_STATIC_LINK( PopupWindowControllerImpl, AsyncDeleteWindowHdl, vcl::Window* );

private:
    vcl::Window* mpPopupWindow;
    ToolBox* mpToolBox;
    VclPtr<vcl::Window> mpPopupWindow;
    VclPtr<ToolBox>     mpToolBox;
};

PopupWindowControllerImpl::PopupWindowControllerImpl()
@@ -99,7 +99,7 @@ IMPL_LINK( PopupWindowControllerImpl, WindowEventListener, VclSimpleEvent*, pEve
                    mpToolBox->CallEventListeners( VCLEVENT_DROPDOWN_OPEN, (void*)mpPopupWindow );
                mpPopupWindow->CallEventListeners( VCLEVENT_WINDOW_GETFOCUS, 0 );

                svtools::ToolbarMenu* pToolbarMenu = dynamic_cast< svtools::ToolbarMenu* >( mpPopupWindow );
                svtools::ToolbarMenu* pToolbarMenu = dynamic_cast< svtools::ToolbarMenu* >( mpPopupWindow.get() );
                if( pToolbarMenu )
                    pToolbarMenu->highlightFirstEntry();
                break;
diff --git a/svtools/source/uno/treecontrolpeer.hxx b/svtools/source/uno/treecontrolpeer.hxx
index 870a34f..fb6a787 100644
--- a/svtools/source/uno/treecontrolpeer.hxx
+++ b/svtools/source/uno/treecontrolpeer.hxx
@@ -159,7 +159,7 @@ private:
    TreeExpansionListenerMultiplexer maTreeExpansionListeners;
    TreeEditListenerMultiplexer maTreeEditListeners;
    bool mbIsRootDisplayed;
    UnoTreeListBoxImpl* mpTreeImpl;
    VclPtr<UnoTreeListBoxImpl> mpTreeImpl;
    sal_Int32 mnEditLock;
    OUString msDefaultCollapsedGraphicURL;
    OUString msDefaultExpandedGraphicURL;
diff --git a/svtools/source/uno/wizard/unowizard.cxx b/svtools/source/uno/wizard/unowizard.cxx
index c9d4a8f..20e44f6 100644
--- a/svtools/source/uno/wizard/unowizard.cxx
+++ b/svtools/source/uno/wizard/unowizard.cxx
@@ -359,7 +359,7 @@ namespace {
        SolarMutexGuard aSolarGuard;
        ::osl::MutexGuard aGuard( m_aMutex );

        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog );
        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() );
        ENSURE_OR_RETURN_VOID( pWizardImpl, "Wizard::enableButtons: invalid dialog implementation!" );

        pWizardImpl->enableButtons( lcl_convertWizardButtonToWZB( i_WizardButton ), i_Enable );
@@ -371,7 +371,7 @@ namespace {
        SolarMutexGuard aSolarGuard;
        ::osl::MutexGuard aGuard( m_aMutex );

        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog );
        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() );
        ENSURE_OR_RETURN_VOID( pWizardImpl, "Wizard::setDefaultButton: invalid dialog implementation!" );

        pWizardImpl->defaultButton( lcl_convertWizardButtonToWZB( i_WizardButton ) );
@@ -383,7 +383,7 @@ namespace {
        SolarMutexGuard aSolarGuard;
        ::osl::MutexGuard aGuard( m_aMutex );

        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog );
        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() );
        ENSURE_OR_RETURN_FALSE( pWizardImpl, "Wizard::travelNext: invalid dialog implementation!" );

        return pWizardImpl->travelNext();
@@ -395,7 +395,7 @@ namespace {
        SolarMutexGuard aSolarGuard;
        ::osl::MutexGuard aGuard( m_aMutex );

        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog );
        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() );
        ENSURE_OR_RETURN_FALSE( pWizardImpl, "Wizard::travelPrevious: invalid dialog implementation!" );

        return pWizardImpl->travelPrevious();
@@ -407,7 +407,7 @@ namespace {
        SolarMutexGuard aSolarGuard;
        ::osl::MutexGuard aGuard( m_aMutex );

        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog );
        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() );
        ENSURE_OR_RETURN_VOID( pWizardImpl, "Wizard::enablePage: invalid dialog implementation!" );

        if ( !pWizardImpl->knowsPage( i_PageID ) )
@@ -425,7 +425,7 @@ namespace {
        SolarMutexGuard aSolarGuard;
        ::osl::MutexGuard aGuard( m_aMutex );

        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog );
        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() );
        ENSURE_OR_RETURN_VOID( pWizardImpl, "Wizard::updateTravelUI: invalid dialog implementation!" );

        pWizardImpl->updateTravelUI();
@@ -437,7 +437,7 @@ namespace {
        SolarMutexGuard aSolarGuard;
        ::osl::MutexGuard aGuard( m_aMutex );

        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog );
        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() );
        ENSURE_OR_RETURN_FALSE( pWizardImpl, "Wizard::advanceTo: invalid dialog implementation!" );

        return pWizardImpl->advanceTo( i_PageId );
@@ -449,7 +449,7 @@ namespace {
        SolarMutexGuard aSolarGuard;
        ::osl::MutexGuard aGuard( m_aMutex );

        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog );
        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() );
        ENSURE_OR_RETURN_FALSE( pWizardImpl, "Wizard::goBackTo: invalid dialog implementation!" );

        return pWizardImpl->goBackTo( i_PageId );
@@ -461,7 +461,7 @@ namespace {
        SolarMutexGuard aSolarGuard;
        ::osl::MutexGuard aGuard( m_aMutex );

        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog );
        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() );
        ENSURE_OR_RETURN( pWizardImpl, "Wizard::getCurrentPage: invalid dialog implementation!", Reference< XWizardPage >() );

        return pWizardImpl->getCurrentWizardPage();
@@ -476,7 +476,7 @@ namespace {
        if ( ( i_PathIndex < 0 ) || ( i_PathIndex >= m_aWizardSteps.getLength() ) )
            throw NoSuchElementException( OUString(), *this );

        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog );
        WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog.get() );
        ENSURE_OR_RETURN_VOID( pWizardImpl, "Wizard::activatePath: invalid dialog implementation!" );

        pWizardImpl->activatePath( i_PathIndex, i_Final );
diff --git a/svtools/source/uno/wizard/wizardshell.hxx b/svtools/source/uno/wizard/wizardshell.hxx
index 19b6e72..17b4763 100644
--- a/svtools/source/uno/wizard/wizardshell.hxx
+++ b/svtools/source/uno/wizard/wizardshell.hxx
@@ -117,7 +117,7 @@ namespace svt { namespace uno
        using WizardShell_Base::activatePath;

    private:
        typedef ::std::map< TabPage*, PWizardPageController > Page2ControllerMap;
        typedef ::std::map< VclPtr<TabPage>, PWizardPageController > Page2ControllerMap;

        const ::com::sun::star::uno::Reference< ::com::sun::star::ui::dialogs::XWizardController >  m_xController;
        const sal_Int16                                                                             m_nFirstPageID;
diff --git a/svx/inc/extrusiondepthdialog.hxx b/svx/inc/extrusiondepthdialog.hxx
index 46362d7f..48b932e 100644
--- a/svx/inc/extrusiondepthdialog.hxx
+++ b/svx/inc/extrusiondepthdialog.hxx
@@ -31,10 +31,12 @@ namespace svx {

class ExtrusionDepthDialog : public ModalDialog
{
    MetricField* m_pMtrDepth;
    VclPtr<MetricField> m_pMtrDepth;

public:
    ExtrusionDepthDialog( vcl::Window* pParent, double fDepth, FieldUnit eDefaultUnit );
    virtual ~ExtrusionDepthDialog();
    virtual void dispose() SAL_OVERRIDE;

    double getDepth() const;
};
diff --git a/svx/inc/galbrws2.hxx b/svx/inc/galbrws2.hxx
index 5d1b8a9..299d03d 100644
--- a/svx/inc/galbrws2.hxx
+++ b/svx/inc/galbrws2.hxx
@@ -109,9 +109,9 @@ private:
    SvtMiscOptions      maMiscOptions;
    Gallery*            mpGallery;
    GalleryTheme*       mpCurTheme;
    GalleryIconView*    mpIconView;
    GalleryListView*    mpListView;
    GalleryPreview*     mpPreview;
    VclPtr<GalleryIconView>    mpIconView;
    VclPtr<GalleryListView>    mpListView;
    VclPtr<GalleryPreview> mpPreview;
    VclPtr<GalleryToolBox> maViewBox;
    VclPtr<FixedLine>   maSeparator;
    VclPtr<FixedText>   maInfoBar;
diff --git a/svx/inc/svdibrow.hxx b/svx/inc/svdibrow.hxx
index 9583d43..f1b8aab 100644
--- a/svx/inc/svdibrow.hxx
+++ b/svx/inc/svdibrow.hxx
@@ -34,7 +34,7 @@ class _SdrItemBrowserControl: public BrowseBox
friend class ImpItemEdit;
    std::vector<ImpItemListRow*> aList;
    long nAktPaintRow;
    Edit* pEditControl;
    VclPtr<Edit> pEditControl;
    OUString aWNamMerk;
    Link aEntryChangedHdl;
    Link aSetDirtyHdl;
diff --git a/svx/inc/tbunosearchcontrollers.hxx b/svx/inc/tbunosearchcontrollers.hxx
index dd97162..8aa95e1 100644
--- a/svx/inc/tbunosearchcontrollers.hxx
+++ b/svx/inc/tbunosearchcontrollers.hxx
@@ -118,7 +118,7 @@ public:

private:

    FindTextFieldControl* m_pFindTextFieldControl;
    VclPtr<FindTextFieldControl> m_pFindTextFieldControl;

    sal_uInt16 m_nDownSearchId; // item position of findbar
    sal_uInt16 m_nUpSearchId;   // item position of findbar
@@ -220,7 +220,7 @@ public:
    virtual void SAL_CALL statusChanged( const css::frame::FeatureStateEvent& rEvent ) throw ( css::uno::RuntimeException, std::exception ) SAL_OVERRIDE;

private:
    CheckBox* m_pMatchCaseControl;
    VclPtr<CheckBox> m_pMatchCaseControl;
};

class FindAllToolboxController   : public svt::ToolboxController,
diff --git a/svx/source/accessibility/AccessibleShapeTreeInfo.cxx b/svx/source/accessibility/AccessibleShapeTreeInfo.cxx
index 3be00ee..39e5511 100644
--- a/svx/source/accessibility/AccessibleShapeTreeInfo.cxx
+++ b/svx/source/accessibility/AccessibleShapeTreeInfo.cxx
@@ -19,6 +19,7 @@


#include <svx/AccessibleShapeTreeInfo.hxx>
#include <vcl/window.hxx>

using namespace ::com::sun::star;
using namespace ::com::sun::star::accessibility;
diff --git a/svx/source/accessibility/GraphCtlAccessibleContext.cxx b/svx/source/accessibility/GraphCtlAccessibleContext.cxx
index 12d983a..238a351 100644
--- a/svx/source/accessibility/GraphCtlAccessibleContext.cxx
+++ b/svx/source/accessibility/GraphCtlAccessibleContext.cxx
@@ -76,7 +76,7 @@ SvxGraphCtrlAccessibleContext::SvxGraphCtrlAccessibleContext(
    mnClientId( 0 ),
    mbDisposed( false )
{
    if (mpControl != NULL)
    if (mpControl != nullptr)
    {
        mpModel = mpControl->GetSdrModel();
        if (mpModel != NULL)
@@ -478,7 +478,7 @@ void SAL_CALL SvxGraphCtrlAccessibleContext::grabFocus() throw( RuntimeException
{
    ::SolarMutexGuard aGuard;

    if( NULL == mpControl )
    if( nullptr == mpControl )
        throw DisposedException();

    mpControl->GrabFocus();
@@ -729,7 +729,7 @@ Rectangle SvxGraphCtrlAccessibleContext::GetBoundingBoxOnScreen( void ) throw( R
{
    ::SolarMutexGuard aGuard;

    if( NULL == mpControl )
    if( nullptr == mpControl )
        throw DisposedException();

    return Rectangle(
diff --git a/svx/source/dialog/_bmpmask.cxx b/svx/source/dialog/_bmpmask.cxx
index 4f79f3a..5351336 100644
--- a/svx/source/dialog/_bmpmask.cxx
+++ b/svx/source/dialog/_bmpmask.cxx
@@ -86,12 +86,13 @@ public:

class MaskSet : public ValueSet
{
    SvxBmpMask*     pSvxBmpMask;
    VclPtr<SvxBmpMask>     pSvxBmpMask;


public:
    MaskSet(SvxBmpMask* pMask, vcl::Window* pParent);

    virtual ~MaskSet() { dispose(); }
    virtual void dispose() SAL_OVERRIDE { pSvxBmpMask.clear(); ValueSet::dispose(); }
    virtual void    Select() SAL_OVERRIDE;
    virtual void KeyInput( const KeyEvent& rKEvt ) SAL_OVERRIDE;
    virtual void GetFocus() SAL_OVERRIDE;
@@ -162,7 +163,7 @@ void MaskSet::onEditColor()

class MaskData
{
    SvxBmpMask*     pMask;
    VclPtr<SvxBmpMask>     pMask;
    bool            bIsReady;
    bool            bExecState;
    SfxBindings&    rBindings;
@@ -490,12 +491,28 @@ SvxBmpMask::~SvxBmpMask()

void SvxBmpMask::dispose()
{
    delete m_pQSet1;
    delete m_pQSet2;
    delete m_pQSet3;
    delete m_pQSet4;
    delete m_pCtlPipette;
    m_pQSet1.clear();
    m_pQSet2.clear();
    m_pQSet3.clear();
    m_pQSet4.clear();
    m_pCtlPipette.clear();
    delete pData;
    m_pTbxPipette.clear();
    m_pBtnExec.clear();
    m_pCbx1.clear();
    m_pSp1.clear();
    m_pLbColor1.clear();
    m_pCbx2.clear();
    m_pSp2.clear();
    m_pLbColor2.clear();
    m_pCbx3.clear();
    m_pSp3.clear();
    m_pLbColor3.clear();
    m_pCbx4.clear();
    m_pSp4.clear();
    m_pLbColor4.clear();
    m_pCbxTrans.clear();
    m_pLbColorTrans.clear();
    SfxDockingWindow::dispose();
}

diff --git a/svx/source/dialog/_contdlg.cxx b/svx/source/dialog/_contdlg.cxx
index ad604f2..b3e041e 100644
--- a/svx/source/dialog/_contdlg.cxx
+++ b/svx/source/dialog/_contdlg.cxx
@@ -86,6 +86,22 @@ SvxContourDlg::SvxContourDlg(SfxBindings* _pBindings, SfxChildWindow* pCW,
{
}

SvxContourDlg::~SvxContourDlg()
{
    dispose();
}

void SvxContourDlg::dispose()
{
    pSuperClass.clear();
    SfxFloatingWindow::dispose();
}

void SvxContourDlg::SetSuperClass( SvxSuperContourDlg& rSuperClass )
{
    pSuperClass = &rSuperClass;
}

tools::PolyPolygon SvxContourDlg::CreateAutoContour( const Graphic& rGraphic,
                                              const Rectangle* pRect,
                                              const sal_uIntPtr nFlags )
@@ -285,7 +301,10 @@ void SvxSuperContourDlg::dispose()
{
    SvtMiscOptions aMiscOptions;
    aMiscOptions.RemoveListenerLink( LINK(this, SvxSuperContourDlg, MiscHdl) );
    delete m_pContourWnd;
    m_pContourWnd.clear();
    m_pTbx1.clear();
    m_pMtfTolerance.clear();
    m_pStbStatus.clear();
    SvxContourDlg::dispose();
}

diff --git a/svx/source/dialog/compressgraphicdialog.cxx b/svx/source/dialog/compressgraphicdialog.cxx
index 336bfdc..e8fc165 100644
--- a/svx/source/dialog/compressgraphicdialog.cxx
+++ b/svx/source/dialog/compressgraphicdialog.cxx
@@ -65,6 +65,31 @@ CompressGraphicsDialog::CompressGraphicsDialog( vcl::Window* pParent, Graphic& r
    Initialize();
}

CompressGraphicsDialog::~CompressGraphicsDialog()
{
    dispose();
}

void CompressGraphicsDialog::dispose()
{
    m_pLabelGraphicType.clear();
    m_pFixedText2.clear();
    m_pFixedText3.clear();
    m_pFixedText5.clear();
    m_pFixedText6.clear();
    m_pReduceResolutionCB.clear();
    m_pMFNewWidth.clear();
    m_pMFNewHeight.clear();
    m_pResolutionLB.clear();
    m_pLosslessRB.clear();
    m_pJpegCompRB.clear();
    m_pCompressionMF.clear();
    m_pQualityMF.clear();
    m_pBtnCalculate.clear();
    m_pInterpolationCombo.clear();
    ModalDialog::dispose();
}

void CompressGraphicsDialog::Initialize()
{
    get(m_pLabelGraphicType,    "label-graphic-type");
diff --git a/svx/source/dialog/contimp.hxx b/svx/source/dialog/contimp.hxx
index 13bc7be..432f7b9 100644
--- a/svx/source/dialog/contimp.hxx
+++ b/svx/source/dialog/contimp.hxx
@@ -42,10 +42,10 @@ class SvxSuperContourDlg : public SvxContourDlg
    void*               pUpdateEditingObject;
    void*               pCheckObj;
    SvxContourDlgItem   aContourItem;
    ToolBox*            m_pTbx1;
    MetricField*        m_pMtfTolerance;
    ContourWindow*      m_pContourWnd;
    StatusBar*          m_pStbStatus;
    VclPtr<ToolBox>     m_pTbx1;
    VclPtr<MetricField> m_pMtfTolerance;
    VclPtr<ContourWindow> m_pContourWnd;
    VclPtr<StatusBar>   m_pStbStatus;
    sal_uIntPtr         nGrfChanged;
    bool                bExecState;
    bool                bUpdateGraphicLinked;
diff --git a/svx/source/dialog/ctredlin.cxx b/svx/source/dialog/ctredlin.cxx
index 0d2e530..ac7957d 100644
--- a/svx/source/dialog/ctredlin.cxx
+++ b/svx/source/dialog/ctredlin.cxx
@@ -423,7 +423,12 @@ SvxTPView::~SvxTPView()

void SvxTPView::dispose()
{
    delete m_pViewData;
    m_pViewData.clear();
    m_pAccept.clear();
    m_pReject.clear();
    m_pAcceptAll.clear();
    m_pRejectAll.clear();
    m_pUndo.clear();
    TabPage::dispose();
}

@@ -597,6 +602,35 @@ SvxTPFilter::SvxTPFilter( vcl::Window * pParent)
    bModified=false;
}

SvxTPFilter::~SvxTPFilter()
{
    dispose();
}

void SvxTPFilter::dispose()
{
    pRedlinTable.clear();
    m_pCbDate.clear();
    m_pLbDate.clear();
    m_pDfDate.clear();
    m_pTfDate.clear();
    m_pIbClock.clear();
    m_pFtDate2.clear();
    m_pDfDate2.clear();
    m_pTfDate2.clear();
    m_pIbClock2.clear();
    m_pCbAuthor.clear();
    m_pLbAuthor.clear();
    m_pCbRange.clear();
    m_pEdRange.clear();
    m_pBtnRange.clear();
    m_pCbAction.clear();
    m_pLbAction.clear();
    m_pCbComment.clear();
    m_pEdComment.clear();
    TabPage::dispose();
}

void SvxTPFilter::SetRedlinTable(SvxRedlinTable* pTable)
{
    pRedlinTable=pTable;
@@ -963,7 +997,7 @@ void SvxTPFilter::DeactivatePage()
{
    if(bModified)
    {
        if(pRedlinTable!=NULL)
        if(pRedlinTable!=nullptr)
        {
            pRedlinTable->SetFilterDate(IsDate());
            pRedlinTable->SetDateTimeMode(GetDateMode());
@@ -1016,7 +1050,7 @@ IMPL_LINK( SvxTPFilter, ModifyDate, void*,pTF)
        if(m_pDfDate->GetText().isEmpty())
           m_pDfDate->SetDate(aDate);

        if(pRedlinTable!=NULL)
        if(pRedlinTable!=nullptr)
            pRedlinTable->SetFirstDate(m_pDfDate->GetDate());
    }
    else if (m_pDfDate2==pTF)
@@ -1024,7 +1058,7 @@ IMPL_LINK( SvxTPFilter, ModifyDate, void*,pTF)
        if(m_pDfDate2->GetText().isEmpty())
           m_pDfDate2->SetDate(aDate);

        if(pRedlinTable!=NULL)
        if(pRedlinTable!=nullptr)
            pRedlinTable->SetLastDate(m_pDfDate2->GetDate());
    }
    else if (m_pTfDate==pTF)
@@ -1032,7 +1066,7 @@ IMPL_LINK( SvxTPFilter, ModifyDate, void*,pTF)
        if(m_pTfDate->GetText().isEmpty())
           m_pTfDate->SetTime(aTime);

        if(pRedlinTable!=NULL)
        if(pRedlinTable!=nullptr)
            pRedlinTable->SetFirstTime(m_pTfDate->GetTime());
    }
    else if (m_pTfDate2==pTF)
@@ -1040,7 +1074,7 @@ IMPL_LINK( SvxTPFilter, ModifyDate, void*,pTF)
        if(m_pTfDate2->GetText().isEmpty())
           m_pTfDate2->SetTime(aTime);

        if(pRedlinTable!=NULL)
        if(pRedlinTable!=nullptr)
            pRedlinTable->SetLastTime(m_pTfDate2->GetTime());

    }
@@ -1084,11 +1118,9 @@ SvxAcceptChgCtr::~SvxAcceptChgCtr()

void SvxAcceptChgCtr::dispose()
{
    delete pTPView;
    pTPView = NULL;
    delete pTPFilter;
    pTPFilter = NULL;
    disposeBuilder();
    pTPFilter.clear();
    pTPView.clear();
    TabControl::dispose();
}

diff --git a/svx/source/dialog/docrecovery.cxx b/svx/source/dialog/docrecovery.cxx
index f704de3..9de79a9 100644
--- a/svx/source/dialog/docrecovery.cxx
+++ b/svx/source/dialog/docrecovery.cxx
@@ -666,6 +666,19 @@ SaveDialog::SaveDialog(vcl::Window* pParent, RecoveryCore* pCore)
    }
}

SaveDialog::~SaveDialog()
{
    dispose();
}

void SaveDialog::dispose()
{
    m_pTitleFT.clear();
    m_pFileListLB.clear();
    m_pOkBtn.clear();
    Dialog::dispose();
}

IMPL_LINK_NOARG(SaveDialog, OKButtonHdl)
{
    // start crash-save with progress
@@ -696,6 +709,17 @@ SaveProgressDialog::SaveProgressDialog(vcl::Window* pParent, RecoveryCore* pCore
    m_xProgress = css::uno::Reference< css::task::XStatusIndicator >(static_cast< css::task::XStatusIndicator* >(pProgress), css::uno::UNO_QUERY_THROW);
}

SaveProgressDialog::~SaveProgressDialog()
{
    dispose();
}

void SaveProgressDialog::dispose()
{
    m_pProgrParent.clear();
    ModalDialog::dispose();
}

short SaveProgressDialog::Execute()
{
    ::SolarMutexGuard aLock;
@@ -908,8 +932,12 @@ RecoveryDialog::~RecoveryDialog()

void RecoveryDialog::dispose()
{
    delete m_pFileListLB;
    m_pFileListLB = NULL;
    m_pFileListLB.clear();
    m_pTitleFT.clear();
    m_pDescrFT.clear();
    m_pProgrParent.clear();
    m_pNextBtn.clear();
    m_pCancelBtn.clear();
    Dialog::dispose();
}

@@ -1240,6 +1268,21 @@ BrokenRecoveryDialog::BrokenRecoveryDialog(vcl::Window*       pParent        ,
    impl_refresh();
}

BrokenRecoveryDialog::~BrokenRecoveryDialog()
{
    dispose();
}

void BrokenRecoveryDialog::dispose()
{
    m_pFileListLB.clear();
    m_pSaveDirED.clear();
    m_pSaveDirBtn.clear();
    m_pOkBtn.clear();
    m_pCancelBtn.clear();
    ModalDialog::dispose();
}


void BrokenRecoveryDialog::impl_refresh()
{
diff --git a/svx/source/dialog/fontwork.cxx b/svx/source/dialog/fontwork.cxx
index 9a4777c..a2e705e 100644
--- a/svx/source/dialog/fontwork.cxx
+++ b/svx/source/dialog/fontwork.cxx
@@ -163,8 +163,14 @@ SvxFontWorkChildWindow::SvxFontWorkChildWindow

    SfxChildWindow( _pParent, nId )
{
<<<<<<< HEAD
    SvxFontWorkDialog* pDlg = new SvxFontWorkDialog(pBindings, this, _pParent);
    pWindow = pDlg;
=======
    pWindow = new SvxFontWorkDialog( pBindings, this, _pParent,
                                     SVX_RES( RID_SVXDLG_FONTWORK ) );
    SvxFontWorkDialog* pDlg = static_cast<SvxFontWorkDialog*>(pWindow.get());
>>>>>>> 765a16f... vclwidget: change all vcl::window fields to be wrapped in VclPtr

    eChildAlignment = SfxChildAlignment::NOALIGNMENT;

@@ -243,7 +249,6 @@ SvxFontWorkDialog::SvxFontWorkDialog(SfxBindings *pBindinx,
    pCtrlItems[9] = new SvxFontWorkControllerItem(SID_FORMTEXT_SHDWXVAL, *this, rBindings);
    pCtrlItems[10] = new SvxFontWorkControllerItem(SID_FORMTEXT_SHDWYVAL, *this, rBindings);

<<<<<<< HEAD
    Size aSize = m_pTbxStyle->CalcWindowSizePixel();
    m_pTbxStyle->SetSizePixel(aSize);
    m_pTbxStyle->SetSelectHdl( LINK(this, SvxFontWorkDialog, SelectStyleHdl_Impl) );
@@ -282,46 +287,6 @@ SvxFontWorkDialog::SvxFontWorkDialog(SfxBindings *pBindinx,
    }

    m_pShadowColorLB->SetSelectHdl( LINK(this, SvxFontWorkDialog, ColorSelectHdl_Impl) );
=======
    Size aSize = aTbxStyle->CalcWindowSizePixel();
    aTbxStyle->SetSizePixel(aSize);
    aTbxStyle->SetSelectHdl( LINK(this, SvxFontWorkDialog, SelectStyleHdl_Impl) );

    aTbxAdjust->SetSizePixel(aSize);
    aTbxAdjust->SetSelectHdl( LINK(this, SvxFontWorkDialog, SelectAdjustHdl_Impl) );

    aTbxShadow->SetSizePixel(aSize);
    aTbxShadow->SetSelectHdl( LINK(this, SvxFontWorkDialog, SelectShadowHdl_Impl) );

    Link aLink = LINK(this, SvxFontWorkDialog, ModifyInputHdl_Impl);
    aMtrFldDistance->SetModifyHdl( aLink );
    aMtrFldTextStart->SetModifyHdl( aLink );
    aMtrFldShadowX->SetModifyHdl( aLink );
    aMtrFldShadowY->SetModifyHdl( aLink );

    // Set System metric
    const FieldUnit eDlgUnit = rBindings.GetDispatcher()->GetModule()->GetFieldUnit();
    SetFieldUnit( *aMtrFldDistance.get(), eDlgUnit, true );
    SetFieldUnit( *aMtrFldTextStart.get(), eDlgUnit, true );
    SetFieldUnit( *aMtrFldShadowX.get(), eDlgUnit, true );
    SetFieldUnit( *aMtrFldShadowY.get(), eDlgUnit, true );
    if( eDlgUnit == FUNIT_MM )
    {
        aMtrFldDistance->SetSpinSize( 50 );
        aMtrFldTextStart->SetSpinSize( 50 );
        aMtrFldShadowX->SetSpinSize( 50 );
        aMtrFldShadowY->SetSpinSize( 50 );
    }
    else
    {
        aMtrFldDistance->SetSpinSize( 10 );
        aMtrFldTextStart->SetSpinSize( 10 );
        aMtrFldShadowX->SetSpinSize( 10 );
        aMtrFldShadowY->SetSpinSize( 10 );
    }

    aShadowColorLB->SetSelectHdl( LINK(this, SvxFontWorkDialog, ColorSelectHdl_Impl) );
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)

    aInputIdle.SetPriority(SchedulerPriority::LOWEST);
    aInputIdle.SetIdleHdl(LINK(this, SvxFontWorkDialog, InputTimoutHdl_Impl));
@@ -406,16 +371,11 @@ void SvxFontWorkDialog::SetStyle_Impl(const XFormTextStyleItem* pItem)
            case XFT_SLANTY : nId = nStyleSlantYId;   break;
            default: ;//prevent warning
        }
<<<<<<< HEAD
        m_pTbxStyle->Enable();
=======
        aTbxStyle->Enable();
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)

        // Make sure that there is always exactly one checked toolbox item.
        if ( pItem->GetValue() == XFT_NONE )
        {
<<<<<<< HEAD
            m_pTbxStyle->CheckItem(nStyleRotateId, false);
            m_pTbxStyle->CheckItem(nStyleUprightId, false);
            m_pTbxStyle->CheckItem(nStyleSlantXId, false);
@@ -427,29 +387,12 @@ void SvxFontWorkDialog::SetStyle_Impl(const XFormTextStyleItem* pItem)
        {
            m_pTbxStyle->CheckItem(nStyleOffId, false);
            m_pTbxStyle->CheckItem(nId);
=======
            aTbxStyle->CheckItem(TBI_STYLE_ROTATE, false);
            aTbxStyle->CheckItem(TBI_STYLE_UPRIGHT, false);
            aTbxStyle->CheckItem(TBI_STYLE_SLANTX, false);
            aTbxStyle->CheckItem(TBI_STYLE_SLANTY, false);

            aTbxStyle->CheckItem(TBI_STYLE_OFF, true);
        }
        else
        {
            aTbxStyle->CheckItem(TBI_STYLE_OFF, false);
            aTbxStyle->CheckItem(nId);
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
        }

        nLastStyleTbxId = nId;
    }
    else
<<<<<<< HEAD
        m_pTbxStyle->Disable();
=======
        aTbxStyle->Disable();
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
}

// Set adjust buttons
@@ -460,7 +403,6 @@ void SvxFontWorkDialog::SetAdjust_Impl(const XFormTextAdjustItem* pItem)
    {
        sal_uInt16 nId;

<<<<<<< HEAD
        m_pTbxAdjust->Enable();
        m_pMtrFldDistance->Enable();

@@ -480,41 +422,14 @@ void SvxFontWorkDialog::SetAdjust_Impl(const XFormTextAdjustItem* pItem)
        if ( !m_pTbxAdjust->IsItemChecked(nId) )
        {
            m_pTbxAdjust->CheckItem(nId);
=======
        aTbxAdjust->Enable();
        aMtrFldDistance->Enable();

        if ( pItem->GetValue() == XFT_LEFT || pItem->GetValue() == XFT_RIGHT )
        {
            if ( pItem->GetValue() == XFT_LEFT )    nId = TBI_ADJUST_LEFT;
            else                                    nId = TBI_ADJUST_RIGHT;
            aMtrFldTextStart->Enable();
        }
        else
        {
            if ( pItem->GetValue() == XFT_CENTER )  nId = TBI_ADJUST_CENTER;
            else                                    nId = TBI_ADJUST_AUTOSIZE;
            aMtrFldTextStart->Disable();
        }

        if ( !aTbxAdjust->IsItemChecked(nId) )
        {
            aTbxAdjust->CheckItem(nId);
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
        }
        nLastAdjustTbxId = nId;
    }
    else
    {
<<<<<<< HEAD
        m_pTbxAdjust->Disable();
        m_pMtrFldTextStart->Disable();
        m_pMtrFldDistance->Disable();
=======
        aTbxAdjust->Disable();
        aMtrFldTextStart->Disable();
        aMtrFldDistance->Disable();
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
    }
}

@@ -523,15 +438,9 @@ void SvxFontWorkDialog::SetAdjust_Impl(const XFormTextAdjustItem* pItem)
void SvxFontWorkDialog::SetDistance_Impl(const XFormTextDistanceItem* pItem)
{
    // Use HasChildPathFocus() instead of HasFocus() at SpinFields
<<<<<<< HEAD
    if ( pItem && !m_pMtrFldDistance->HasChildPathFocus() )
    {
        SetMetricValue(*m_pMtrFldDistance, pItem->GetValue(), SFX_MAPUNIT_100TH_MM);
=======
    if ( pItem && !aMtrFldDistance->HasChildPathFocus() )
    {
        SetMetricValue( *aMtrFldDistance.get(), pItem->GetValue(), SFX_MAPUNIT_100TH_MM );
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
    }
}

@@ -540,15 +449,9 @@ void SvxFontWorkDialog::SetDistance_Impl(const XFormTextDistanceItem* pItem)
void SvxFontWorkDialog::SetStart_Impl(const XFormTextStartItem* pItem)
{
    // Use HasChildPathFocus() instead of HasFocus() at SpinFields
<<<<<<< HEAD
    if ( pItem && !m_pMtrFldTextStart->HasChildPathFocus() )
    {
        SetMetricValue(*m_pMtrFldTextStart, pItem->GetValue(), SFX_MAPUNIT_100TH_MM);
=======
    if ( pItem && !aMtrFldTextStart->HasChildPathFocus() )
    {
        SetMetricValue( *aMtrFldTextStart.get(), pItem->GetValue(), SFX_MAPUNIT_100TH_MM );
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
    }
}

@@ -557,11 +460,7 @@ void SvxFontWorkDialog::SetStart_Impl(const XFormTextStartItem* pItem)
void SvxFontWorkDialog::SetMirror_Impl(const XFormTextMirrorItem* pItem)
{
    if ( pItem )
<<<<<<< HEAD
        m_pTbxAdjust->CheckItem(nAdjustMirrorId, pItem->GetValue());
=======
        aTbxAdjust->CheckItem(TBI_ADJUST_MIRROR, pItem->GetValue());
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
}

// Set button for contour display
@@ -569,11 +468,7 @@ void SvxFontWorkDialog::SetMirror_Impl(const XFormTextMirrorItem* pItem)
void SvxFontWorkDialog::SetShowForm_Impl(const XFormTextHideFormItem* pItem)
{
    if ( pItem )
<<<<<<< HEAD
        m_pTbxShadow->CheckItem(nShowFormId, !pItem->GetValue());
=======
        aTbxShadow->CheckItem(TBI_SHOWFORM, !pItem->GetValue());
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
}

// Set button for text border
@@ -581,11 +476,7 @@ void SvxFontWorkDialog::SetShowForm_Impl(const XFormTextHideFormItem* pItem)
void SvxFontWorkDialog::SetOutline_Impl(const XFormTextOutlineItem* pItem)
{
    if ( pItem )
<<<<<<< HEAD
        m_pTbxShadow->CheckItem(nOutlineId, pItem->GetValue());
=======
        aTbxShadow->CheckItem(TBI_OUTLINE, pItem->GetValue());
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
}

// Set shadow buttons
@@ -597,7 +488,6 @@ void SvxFontWorkDialog::SetShadow_Impl(const XFormTextShadowItem* pItem,
    {
        sal_uInt16 nId;

<<<<<<< HEAD
        m_pTbxShadow->Enable();

        if ( pItem->GetValue() == XFTSHADOW_NONE )
@@ -616,33 +506,12 @@ void SvxFontWorkDialog::SetShadow_Impl(const XFormTextShadowItem* pItem,
            m_pMtrFldShadowX->Enable();
            m_pMtrFldShadowY->Enable();
            m_pShadowColorLB->Enable();
=======
        aTbxShadow->Enable();

        if ( pItem->GetValue() == XFTSHADOW_NONE )
        {
            nId = TBI_SHADOW_OFF;
            aFbShadowX->Hide();
            aFbShadowY->Hide();
            aMtrFldShadowX->Disable();
            aMtrFldShadowY->Disable();
            aShadowColorLB->Disable();
        }
        else
        {
            aFbShadowX->Show();
            aFbShadowY->Show();
            aMtrFldShadowX->Enable();
            aMtrFldShadowY->Enable();
            aShadowColorLB->Enable();
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)

            if ( pItem->GetValue() == XFTSHADOW_NORMAL )
            {
                nId = nShadowNormalId;
                const FieldUnit eDlgUnit = rBindings.GetDispatcher()->GetModule()->GetFieldUnit();

<<<<<<< HEAD
                m_pMtrFldShadowX->SetUnit( eDlgUnit );
                m_pMtrFldShadowX->SetDecimalDigits(2);
                m_pMtrFldShadowX->SetMin(LONG_MIN);
@@ -665,30 +534,6 @@ void SvxFontWorkDialog::SetShadow_Impl(const XFormTextShadowItem* pItem,
                {
                    SetMetricValue(*m_pMtrFldShadowX, nSaveShadowX, SFX_MAPUNIT_100TH_MM);
                    SetMetricValue(*m_pMtrFldShadowY, nSaveShadowY, SFX_MAPUNIT_100TH_MM);
=======
                aMtrFldShadowX->SetUnit( eDlgUnit );
                aMtrFldShadowX->SetDecimalDigits(2);
                aMtrFldShadowX->SetMin(LONG_MIN);
                aMtrFldShadowX->SetMax(LONG_MAX);
                if( eDlgUnit == FUNIT_MM )
                    aMtrFldShadowX->SetSpinSize( 50 );
                else
                    aMtrFldShadowX->SetSpinSize( 10 );

                aMtrFldShadowY->SetUnit( eDlgUnit );
                aMtrFldShadowY->SetDecimalDigits(2);
                aMtrFldShadowY->SetMin(LONG_MIN);
                aMtrFldShadowY->SetMax(LONG_MAX);
                if( eDlgUnit == FUNIT_MM )
                    aMtrFldShadowY->SetSpinSize( 50 );
                else
                    aMtrFldShadowY->SetSpinSize( 10 );

                if ( bRestoreValues )
                {
                    SetMetricValue( *aMtrFldShadowX.get(), nSaveShadowX, SFX_MAPUNIT_100TH_MM );
                    SetMetricValue( *aMtrFldShadowY.get(), nSaveShadowY, SFX_MAPUNIT_100TH_MM );
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)

                    XFormTextShadowXValItem aXItem( nSaveShadowX );
                    XFormTextShadowYValItem aYItem( nSaveShadowY );
@@ -701,7 +546,6 @@ void SvxFontWorkDialog::SetShadow_Impl(const XFormTextShadowItem* pItem,
            {
                nId = nShadowSlantId;

<<<<<<< HEAD
                m_pMtrFldShadowX->SetUnit(FUNIT_DEGREE);
                m_pMtrFldShadowX->SetDecimalDigits(1);
                m_pMtrFldShadowX->SetMin(-1800);
@@ -718,24 +562,6 @@ void SvxFontWorkDialog::SetShadow_Impl(const XFormTextShadowItem* pItem,
                {
                    m_pMtrFldShadowX->SetValue(nSaveShadowAngle);
                    m_pMtrFldShadowY->SetValue(nSaveShadowSize);
=======
                aMtrFldShadowX->SetUnit(FUNIT_CUSTOM);
                aMtrFldShadowX->SetDecimalDigits(1);
                aMtrFldShadowX->SetMin(-1800);
                aMtrFldShadowX->SetMax( 1800);
                aMtrFldShadowX->SetSpinSize(10);

                aMtrFldShadowY->SetUnit(FUNIT_PERCENT);
                aMtrFldShadowY->SetDecimalDigits(0);
                aMtrFldShadowY->SetMin(-999);
                aMtrFldShadowY->SetMax( 999);
                aMtrFldShadowY->SetSpinSize(10);

                if ( bRestoreValues )
                {
                    aMtrFldShadowX->SetValue(nSaveShadowAngle);
                    aMtrFldShadowY->SetValue(nSaveShadowSize);
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
                    XFormTextShadowXValItem aXItem(nSaveShadowAngle);
                    XFormTextShadowYValItem aYItem(nSaveShadowSize);
                    GetBindings().GetDispatcher()->Execute(
@@ -744,15 +570,9 @@ void SvxFontWorkDialog::SetShadow_Impl(const XFormTextShadowItem* pItem,
            }
        }

<<<<<<< HEAD
        if ( !m_pTbxShadow->IsItemChecked(nId) )
        {
            m_pTbxShadow->CheckItem(nId);
=======
        if ( !aTbxShadow->IsItemChecked(nId) )
        {
            aTbxShadow->CheckItem(nId);
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
        }
        nLastShadowTbxId = nId;

@@ -760,17 +580,10 @@ void SvxFontWorkDialog::SetShadow_Impl(const XFormTextShadowItem* pItem,
    }
    else
    {
<<<<<<< HEAD
        m_pTbxShadow->Disable();
        m_pMtrFldShadowX->Disable();
        m_pMtrFldShadowY->Disable();
        m_pShadowColorLB->Disable();
=======
        aTbxShadow->Disable();
        aMtrFldShadowX->Disable();
        aMtrFldShadowY->Disable();
        aShadowColorLB->Disable();
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
    }
}

@@ -779,11 +592,7 @@ void SvxFontWorkDialog::SetShadow_Impl(const XFormTextShadowItem* pItem,
void SvxFontWorkDialog::SetShadowColor_Impl(const XFormTextShadowColorItem* pItem)
{
    if ( pItem )
<<<<<<< HEAD
        m_pShadowColorLB->SelectEntry(pItem->GetColorValue());
=======
        aShadowColorLB->SelectEntry(pItem->GetColorValue());
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
}

// Enter X-value for shadow in edit field
@@ -791,11 +600,7 @@ void SvxFontWorkDialog::SetShadowColor_Impl(const XFormTextShadowColorItem* pIte
void SvxFontWorkDialog::SetShadowXVal_Impl(const XFormTextShadowXValItem* pItem)
{
    // Use HasChildPathFocus() instead of HasFocus() at SpinFields
<<<<<<< HEAD
    if ( pItem && !m_pMtrFldShadowX->HasChildPathFocus() )
=======
    if ( pItem && !aMtrFldShadowX->HasChildPathFocus() )
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
    {
        // #i19251#
        // sal_Int32 nValue = pItem->GetValue();
@@ -804,11 +609,7 @@ void SvxFontWorkDialog::SetShadowXVal_Impl(const XFormTextShadowXValItem* pItem)
        // The two involved fields/items are used double and contain/give different
        // values regarding to the access method. Thus, here we need to separate the access
        // methos regarding to the kind of value accessed.
<<<<<<< HEAD
        if (m_pTbxShadow->IsItemChecked(nShadowSlantId))
=======
        if(aTbxShadow->IsItemChecked(TBI_SHADOW_SLANT))
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
        {
            // #i19251#
            // There is no value correction necessary at all, i think this
@@ -816,19 +617,11 @@ void SvxFontWorkDialog::SetShadowXVal_Impl(const XFormTextShadowXValItem* pItem)
            // involved fields/items are used double and contain/give different
            // values regarding to the access method.
            // nValue = nValue - ( int( float( nValue ) / 360.0 ) * 360 );
<<<<<<< HEAD
            m_pMtrFldShadowX->SetValue(pItem->GetValue());
        }
        else
        {
            SetMetricValue(*m_pMtrFldShadowX, pItem->GetValue(), SFX_MAPUNIT_100TH_MM);
=======
            aMtrFldShadowX->SetValue(pItem->GetValue());
        }
        else
        {
            SetMetricValue( *aMtrFldShadowX.get(), pItem->GetValue(), SFX_MAPUNIT_100TH_MM );
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
        }
    }
}
@@ -838,17 +631,12 @@ void SvxFontWorkDialog::SetShadowXVal_Impl(const XFormTextShadowXValItem* pItem)
void SvxFontWorkDialog::SetShadowYVal_Impl(const XFormTextShadowYValItem* pItem)
{
    // Use HasChildPathFocus() instead of HasFocus() at SpinFields
<<<<<<< HEAD
    if ( pItem && !m_pMtrFldShadowY->HasChildPathFocus() )
=======
    if ( pItem && !aMtrFldShadowY->HasChildPathFocus() )
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
    {
        // #i19251#
        // The two involved fields/items are used double and contain/give different
        // values regarding to the access method. Thus, here we need to separate the access
        // methos regarding to the kind of value accessed.
<<<<<<< HEAD
        if (m_pTbxShadow->IsItemChecked(nShadowSlantId))
        {
            m_pMtrFldShadowY->SetValue(pItem->GetValue());
@@ -856,26 +644,13 @@ void SvxFontWorkDialog::SetShadowYVal_Impl(const XFormTextShadowYValItem* pItem)
        else
        {
            SetMetricValue(*m_pMtrFldShadowY, pItem->GetValue(), SFX_MAPUNIT_100TH_MM);
=======
        if(aTbxShadow->IsItemChecked(TBI_SHADOW_SLANT))
        {
            aMtrFldShadowY->SetValue(pItem->GetValue());
        }
        else
        {
            SetMetricValue( *aMtrFldShadowY.get(), pItem->GetValue(), SFX_MAPUNIT_100TH_MM );
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
        }
    }
}

IMPL_LINK_NOARG(SvxFontWorkDialog, SelectStyleHdl_Impl)
{
<<<<<<< HEAD
    sal_uInt16 nId = m_pTbxStyle->GetCurItemId();
=======
    sal_uInt16 nId = aTbxStyle->GetCurItemId();
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)

    // Execute this block when a different toolbox item has been clicked or
    // when the off item has been clicked.  The later is necessary to
@@ -905,19 +680,11 @@ IMPL_LINK_NOARG(SvxFontWorkDialog, SelectStyleHdl_Impl)

IMPL_LINK_NOARG(SvxFontWorkDialog, SelectAdjustHdl_Impl)
{
<<<<<<< HEAD
    sal_uInt16 nId = m_pTbxAdjust->GetCurItemId();
=======
    sal_uInt16 nId = aTbxAdjust->GetCurItemId();
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)

    if (nId == nAdjustMirrorId)
    {
<<<<<<< HEAD
        XFormTextMirrorItem aItem(m_pTbxAdjust->IsItemChecked(nId));
=======
        XFormTextMirrorItem aItem(aTbxAdjust->IsItemChecked(nId));
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
        GetBindings().GetDispatcher()->Execute( SID_FORMTEXT_MIRROR, SfxCallMode::SLOT, &aItem, 0L );
    }
    else if ( nId != nLastAdjustTbxId )
@@ -941,28 +708,16 @@ IMPL_LINK_NOARG(SvxFontWorkDialog, SelectAdjustHdl_Impl)

IMPL_LINK_NOARG(SvxFontWorkDialog, SelectShadowHdl_Impl)
{
<<<<<<< HEAD
    sal_uInt16 nId = m_pTbxShadow->GetCurItemId();
=======
    sal_uInt16 nId = aTbxShadow->GetCurItemId();
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)

    if (nId == nShowFormId)
    {
<<<<<<< HEAD
        XFormTextHideFormItem aItem(!m_pTbxShadow->IsItemChecked(nId));
=======
        XFormTextHideFormItem aItem(!aTbxShadow->IsItemChecked(nId));
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
        GetBindings().GetDispatcher()->Execute( SID_FORMTEXT_HIDEFORM, SfxCallMode::RECORD, &aItem, 0L );
    }
    else if (nId == nOutlineId)
    {
<<<<<<< HEAD
        XFormTextOutlineItem aItem(m_pTbxShadow->IsItemChecked(nId));
=======
        XFormTextOutlineItem aItem(aTbxShadow->IsItemChecked(nId));
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
        GetBindings().GetDispatcher()->Execute( SID_FORMTEXT_OUTLINE, SfxCallMode::RECORD, &aItem, 0L );
    }
    else if (nId != nLastShadowTbxId)
@@ -971,23 +726,13 @@ IMPL_LINK_NOARG(SvxFontWorkDialog, SelectShadowHdl_Impl)

        if (nLastShadowTbxId == nShadowNormalId)
        {
<<<<<<< HEAD
            nSaveShadowX = GetCoreValue(*m_pMtrFldShadowX, SFX_MAPUNIT_100TH_MM);
            nSaveShadowY = GetCoreValue(*m_pMtrFldShadowY, SFX_MAPUNIT_100TH_MM);
=======
            nSaveShadowX = GetCoreValue( *aMtrFldShadowX.get(), SFX_MAPUNIT_100TH_MM );
            nSaveShadowY = GetCoreValue( *aMtrFldShadowY.get(), SFX_MAPUNIT_100TH_MM );
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
        }
        else if (nLastShadowTbxId == nShadowSlantId)
        {
<<<<<<< HEAD
            nSaveShadowAngle = static_cast<long>(m_pMtrFldShadowX->GetValue());
            nSaveShadowSize  = static_cast<long>(m_pMtrFldShadowY->GetValue());
=======
            nSaveShadowAngle = static_cast<long>(aMtrFldShadowX->GetValue());
            nSaveShadowSize  = static_cast<long>(aMtrFldShadowY->GetValue());
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
        }
        nLastShadowTbxId = nId;

@@ -1014,7 +759,6 @@ IMPL_LINK_NOARG(SvxFontWorkDialog, InputTimoutHdl_Impl)
    // listen, this is however not possible at the moment due to compabillity
    // issues.
    const FieldUnit eDlgUnit = rBindings.GetDispatcher()->GetModule()->GetFieldUnit();
<<<<<<< HEAD
    if( eDlgUnit != m_pMtrFldDistance->GetUnit() )
    {
        SetFieldUnit(*m_pMtrFldDistance, eDlgUnit, true);
@@ -1034,27 +778,6 @@ IMPL_LINK_NOARG(SvxFontWorkDialog, InputTimoutHdl_Impl)
    long nValue = GetCoreValue(*m_pMtrFldDistance, SFX_MAPUNIT_100TH_MM);
    XFormTextDistanceItem aDistItem( nValue );
    nValue = GetCoreValue(*m_pMtrFldTextStart, SFX_MAPUNIT_100TH_MM);
=======
    if( eDlgUnit != aMtrFldDistance->GetUnit() )
    {
        SetFieldUnit( *aMtrFldDistance.get(), eDlgUnit, true );
        SetFieldUnit( *aMtrFldTextStart.get(), eDlgUnit, true );
        aMtrFldDistance->SetSpinSize( eDlgUnit == FUNIT_MM ? 50 : 10 );
        aMtrFldTextStart->SetSpinSize( eDlgUnit == FUNIT_MM ? 50 : 10 );
    }
    if( eDlgUnit != aMtrFldShadowX->GetUnit() &&
        aTbxShadow->IsItemChecked( TBI_SHADOW_NORMAL ) )
    {
        SetFieldUnit( *aMtrFldShadowX.get(), eDlgUnit, true );
        SetFieldUnit( *aMtrFldShadowY.get(), eDlgUnit, true );
        aMtrFldShadowX->SetSpinSize( eDlgUnit == FUNIT_MM ? 50 : 10 );
        aMtrFldShadowY->SetSpinSize( eDlgUnit == FUNIT_MM ? 50 : 10 );
    }

    long nValue = GetCoreValue( *aMtrFldDistance.get(), SFX_MAPUNIT_100TH_MM );
    XFormTextDistanceItem aDistItem( nValue );
    nValue = GetCoreValue( *aMtrFldTextStart.get(), SFX_MAPUNIT_100TH_MM );
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
    XFormTextStartItem aStartItem( nValue );

    sal_Int32 nValueX(0L);
@@ -1066,23 +789,13 @@ IMPL_LINK_NOARG(SvxFontWorkDialog, InputTimoutHdl_Impl)
    // methos regarding to the kind of value accessed.
    if (nLastShadowTbxId == nShadowNormalId)
    {
<<<<<<< HEAD
        nValueX = GetCoreValue(*m_pMtrFldShadowX, SFX_MAPUNIT_100TH_MM);
        nValueY = GetCoreValue(*m_pMtrFldShadowY, SFX_MAPUNIT_100TH_MM);
=======
        nValueX = GetCoreValue( *aMtrFldShadowX.get(), SFX_MAPUNIT_100TH_MM );
        nValueY = GetCoreValue( *aMtrFldShadowY.get(), SFX_MAPUNIT_100TH_MM );
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
    }
    else if (nLastShadowTbxId == nShadowSlantId)
    {
<<<<<<< HEAD
        nValueX = static_cast<long>(m_pMtrFldShadowX->GetValue());
        nValueY = static_cast<long>(m_pMtrFldShadowY->GetValue());
=======
        nValueX = static_cast<long>(aMtrFldShadowX->GetValue());
        nValueY = static_cast<long>(aMtrFldShadowY->GetValue());
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
    }

    XFormTextShadowXValItem aShadowXItem( nValueX );
@@ -1096,11 +809,7 @@ IMPL_LINK_NOARG(SvxFontWorkDialog, InputTimoutHdl_Impl)

IMPL_LINK_NOARG(SvxFontWorkDialog, ColorSelectHdl_Impl)
{
<<<<<<< HEAD
    XFormTextShadowColorItem aItem( "", m_pShadowColorLB->GetSelectEntryColor() );
=======
    XFormTextShadowColorItem aItem( "", aShadowColorLB->GetSelectEntryColor() );
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
    GetBindings().GetDispatcher()->Execute( SID_FORMTEXT_SHDWCOLOR, SfxCallMode::RECORD, &aItem, 0L );
    return 0;
}
@@ -1110,19 +819,13 @@ void SvxFontWorkDialog::SetColorList(const XColorListRef &pList)
    if ( pList.is() && pList != pColorList )
    {
        pColorList = pList;
<<<<<<< HEAD
        m_pShadowColorLB->Clear();
        m_pShadowColorLB->Fill(pColorList);
=======
        aShadowColorLB->Clear();
        aShadowColorLB->Fill(pColorList);
>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
    }
}

void SvxFontWorkDialog::ApplyImageList()
{
<<<<<<< HEAD
    if (nLastShadowTbxId == nShadowSlantId)
    {
        m_pFbShadowX->SetImage(Image(SVX_RES(RID_SVXIMG_SHADOW_ANGLE)));
@@ -1133,29 +836,6 @@ void SvxFontWorkDialog::ApplyImageList()
        m_pFbShadowX->SetImage(Image(SVX_RES(RID_SVXIMG_SHADOW_XDIST)));
        m_pFbShadowY->SetImage(Image(SVX_RES(RID_SVXIMG_SHADOW_YDIST)));
    }
=======
    ImageList& rImgLst = maImageList;

    aTbxStyle->SetImageList( rImgLst );
    aTbxAdjust->SetImageList( rImgLst );
    aTbxShadow->SetImageList( rImgLst );

    switch( nLastShadowTbxId )
    {
    case TBI_SHADOW_SLANT:
        aFbShadowX->SetImage( rImgLst.GetImage( TBI_SHADOW_ANGLE ) );
        aFbShadowY->SetImage( rImgLst.GetImage( TBI_SHADOW_SIZE ) );
        break;
    default:
        aFbShadowX->SetImage( rImgLst.GetImage( TBI_SHADOW_XDIST ) );
        aFbShadowY->SetImage( rImgLst.GetImage( TBI_SHADOW_YDIST ) );
        break;
    }

    aFbDistance->SetImage( rImgLst.GetImage( TBI_DISTANCE ) );
    aFbTextStart->SetImage( rImgLst.GetImage( TBI_TEXTSTART ) );

>>>>>>> 71c7563... vcl: VclPtr conversion in svx (part1)
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/dialog/hdft.cxx b/svx/source/dialog/hdft.cxx
index dd463c0..65ea635 100644
--- a/svx/source/dialog/hdft.cxx
+++ b/svx/source/dialog/hdft.cxx
@@ -209,6 +209,22 @@ SvxHFPage::~SvxHFPage()
void SvxHFPage::dispose()
{
    delete pBBSet;
    m_pPageLbl.clear();
    m_pTurnOnBox.clear();
    m_pCntSharedBox.clear();
    m_pCntSharedFirstBox.clear();
    m_pLMLbl.clear();
    m_pLMEdit.clear();
    m_pRMLbl.clear();
    m_pRMEdit.clear();
    m_pDistFT.clear();
    m_pDistEdit.clear();
    m_pDynSpacingCB.clear();
    m_pHeightFT.clear();
    m_pHeightEdit.clear();
    m_pHeightDynBtn.clear();
    m_pBspWin.clear();
    m_pBackgroundBtn.clear();
    SfxTabPage::dispose();
}

diff --git a/svx/source/dialog/imapdlg.cxx b/svx/source/dialog/imapdlg.cxx
index 534b016..b7a9c2e 100644
--- a/svx/source/dialog/imapdlg.cxx
+++ b/svx/source/dialog/imapdlg.cxx
@@ -96,7 +96,7 @@ SvxIMapDlgChildWindow::SvxIMapDlgChildWindow( vcl::Window* _pParent, sal_uInt16 
            SfxChildWindow( _pParent, nId )
{
    pWindow = new SvxIMapDlg( pBindings, this, _pParent );
    SvxIMapDlg* pDlg = static_cast<SvxIMapDlg*>(pWindow);
    SvxIMapDlg* pDlg = static_cast<SvxIMapDlg*>(pWindow.get());

    if ( pInfo->nFlags & SfxChildWindowFlags::ZOOMIN )
        pDlg->RollUp();
@@ -223,8 +223,16 @@ SvxIMapDlg::~SvxIMapDlg()
void SvxIMapDlg::dispose()
{
    // Delete URL-List
    delete pIMapWnd;
    pIMapWnd.clear();
    delete pOwnData;
    m_pTbxIMapDlg1.clear();
    m_pFtURL.clear();
    m_pURLBox.clear();
    m_pFtText.clear();
    m_pEdtText.clear();
    m_pFtTarget.clear();
    m_pCbbTarget.clear();
    m_pStbStatus.clear();
    SfxModelessDialog::dispose();
}

diff --git a/svx/source/dialog/linkwarn.cxx b/svx/source/dialog/linkwarn.cxx
index a256374..8aeab4bf 100644
--- a/svx/source/dialog/linkwarn.cxx
+++ b/svx/source/dialog/linkwarn.cxx
@@ -53,6 +53,7 @@ void SvxLinkWarningDialog::dispose()
    bool bChecked = m_pWarningOnBox->IsChecked();
    if ( aMiscOpt.ShowLinkWarningDialog() != bChecked )
        aMiscOpt.SetShowLinkWarningDialog( bChecked );
    m_pWarningOnBox.clear();
    MessageDialog::dispose();
}

diff --git a/svx/source/dialog/optgrid.cxx b/svx/source/dialog/optgrid.cxx
index aaea253..58c0f4a 100644
--- a/svx/source/dialog/optgrid.cxx
+++ b/svx/source/dialog/optgrid.cxx
@@ -171,6 +171,33 @@ SvxGridTabPage::SvxGridTabPage( vcl::Window* pParent, const SfxItemSet& rCoreSet
        LINK( this, SvxGridTabPage, ChangeDivisionHdl_Impl ) );
}

SvxGridTabPage::~SvxGridTabPage()
{
    dispose();
}

void SvxGridTabPage::dispose()
{
    pCbxUseGridsnap.clear();
    pCbxGridVisible.clear();
    pMtrFldDrawX.clear();
    pMtrFldDrawY.clear();
    pNumFldDivisionX.clear();
    pNumFldDivisionY.clear();
    pCbxSynchronize.clear();
    pSnapFrames.clear();
    pCbxSnapHelplines.clear();
    pCbxSnapBorder.clear();
    pCbxSnapFrame.clear();
    pCbxSnapPoints.clear();
    pMtrFldSnapArea.clear();
    pCbxOrtho.clear();
    pCbxBigOrtho.clear();
    pCbxRotate.clear();
    pMtrFldAngle.clear();
    pMtrFldBezAngle.clear();
    SfxTabPage::dispose();
}


SfxTabPage* SvxGridTabPage::Create( vcl::Window* pParent, const SfxItemSet& rAttrSet )
diff --git a/svx/source/dialog/orienthelper.cxx b/svx/source/dialog/orienthelper.cxx
index b1b61e9..89ecc71 100644
--- a/svx/source/dialog/orienthelper.cxx
+++ b/svx/source/dialog/orienthelper.cxx
@@ -31,7 +31,7 @@ namespace svx {

struct OrientationHelper_Impl
{
    typedef std::pair< vcl::Window*, TriState >  WindowPair;
    typedef std::pair< VclPtr<vcl::Window>, TriState >  WindowPair;
    typedef std::vector< WindowPair >       WindowVec;

    DialControl&        mrCtrlDial;
diff --git a/svx/source/dialog/passwd.cxx b/svx/source/dialog/passwd.cxx
index 8f80ab8..84e56e0 100644
--- a/svx/source/dialog/passwd.cxx
+++ b/svx/source/dialog/passwd.cxx
@@ -97,6 +97,21 @@ SvxPasswordDialog::SvxPasswordDialog(vcl::Window* pParent, bool bAllowEmptyPassw
    }
}

SvxPasswordDialog::~SvxPasswordDialog()
{
    dispose();
}

void SvxPasswordDialog::dispose()
{
    m_pOldFL.clear();
    m_pOldPasswdFT.clear();
    m_pOldPasswdED.clear();
    m_pNewPasswdED.clear();
    m_pRepeatPasswdED.clear();
    m_pOKBtn.clear();
    SfxModalDialog::dispose();
}


/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/dialog/rubydialog.cxx b/svx/source/dialog/rubydialog.cxx
index 2400f2d..2ebbbec 100644
--- a/svx/source/dialog/rubydialog.cxx
+++ b/svx/source/dialog/rubydialog.cxx
@@ -271,6 +271,28 @@ void SvxRubyDialog::dispose()
    ClearCharStyleList();
    EventObject aEvent;
    xImpl->disposing(aEvent);
    m_pLeftFT.clear();
    m_pRightFT.clear();
    m_pLeft1ED.clear();
    m_pRight1ED.clear();
    m_pLeft2ED.clear();
    m_pRight2ED.clear();
    m_pLeft3ED.clear();
    m_pRight3ED.clear();
    m_pLeft4ED.clear();
    m_pRight4ED.clear();
    for (int i=0; i<7; i++)
        aEditArr[i].clear();
    m_pScrolledWindow.clear();
    m_pScrollSB.clear();
    m_pAdjustLB.clear();
    m_pPositionLB.clear();
    m_pCharStyleFT.clear();
    m_pCharStyleLB.clear();
    m_pStylistPB.clear();
    m_pPreviewWin.clear();
    m_pApplyPB.clear();
    m_pClosePB.clear();
    SfxModelessDialog::dispose();
}

@@ -766,6 +788,17 @@ RubyPreview::RubyPreview(vcl::Window *pParent)
    SetBorderStyle( WindowBorderStyle::MONO );
}

RubyPreview::~RubyPreview()
{
    dispose();
}

void RubyPreview::dispose()
{
    m_pParentDlg.clear();
    vcl::Window::dispose();
}

extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeRubyPreview(vcl::Window *pParent, VclBuilder::stringmap &)
{
    return new RubyPreview(pParent);
diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx
index 5820f28..24a5d33 100644
--- a/svx/source/dialog/srchdlg.cxx
+++ b/svx/source/dialog/srchdlg.cxx
@@ -364,6 +364,48 @@ void SvxSearchDialog::dispose()
    delete pImpl;
    delete pSearchList;
    delete pReplaceList;
    mpDocWin.clear();
    m_pSearchFrame.clear();
    m_pSearchLB.clear();
    m_pSearchTmplLB.clear();
    m_pSearchAttrText.clear();
    m_pSearchLabel.clear();
    m_pReplaceFrame.clear();
    m_pReplaceLB.clear();
    m_pReplaceTmplLB.clear();
    m_pReplaceAttrText.clear();
    m_pSearchBtn.clear();
    m_pSearchAllBtn.clear();
    m_pReplaceBtn.clear();
    m_pReplaceAllBtn.clear();
    m_pComponentFrame.clear();
    m_pSearchComponent1PB.clear();
    m_pSearchComponent2PB.clear();
    m_pMatchCaseCB.clear();
    m_pWordBtn.clear();
    m_pCloseBtn.clear();
    m_pIgnoreDiacritics.clear();
    m_pIgnoreKashida.clear();
    m_pSelectionBtn.clear();
    m_pBackwardsBtn.clear();
    m_pRegExpBtn.clear();
    m_pSimilarityBox.clear();
    m_pSimilarityBtn.clear();
    m_pLayoutBtn.clear();
    m_pNotesBtn.clear();
    m_pJapMatchFullHalfWidthCB.clear();
    m_pJapOptionsCB.clear();
    m_pJapOptionsBtn.clear();
    m_pAttributeBtn.clear();
    m_pFormatBtn.clear();
    m_pNoFormatBtn.clear();
    m_pCalcGrid.clear();
    m_pCalcSearchInFT.clear();
    m_pCalcSearchInLB.clear();
    m_pCalcSearchDirFT.clear();
    m_pRowsBtn.clear();
    m_pColumnsBtn.clear();
    m_pAllSheetsCB.clear();
    SfxModelessDialog::dispose();
}

@@ -2227,7 +2269,7 @@ SvxSearchDialogWrapper::SvxSearchDialogWrapper( vcl::Window* _pParent, sal_uInt1
    : SfxChildWindow( _pParent, nId )
    , dialog (new SvxSearchDialog (_pParent, this, *pBindings))
{
    pWindow = dialog;
    pWindow = dialog.get();
    dialog->Initialize( pInfo );

    pBindings->Update( SID_SEARCH_ITEM );
diff --git a/svx/source/dialog/svxruler.cxx b/svx/source/dialog/svxruler.cxx
index adf08f0..b2bfffd 100644
--- a/svx/source/dialog/svxruler.cxx
+++ b/svx/source/dialog/svxruler.cxx
@@ -363,6 +363,7 @@ void SvxRuler::dispose()

    pBindings->LeaveRegistrations();

    pEditWin.clear();
    Ruler::dispose();
}

diff --git a/svx/source/fmcomp/gridcell.cxx b/svx/source/fmcomp/gridcell.cxx
index 7e194f6..66984db 100644
--- a/svx/source/fmcomp/gridcell.cxx
+++ b/svx/source/fmcomp/gridcell.cxx
@@ -643,9 +643,6 @@ DbCellControl::~DbCellControl()
{
    lcl_clearBroadCaster(m_pModelChangeBroadcaster);
    lcl_clearBroadCaster(m_pFieldChangeBroadcaster);

    delete m_pWindow;
    delete m_pPainter;
}


@@ -838,7 +835,7 @@ void DbCellControl::implAdjustReadOnly( const Reference< XPropertySet >& _rxMode
    DBG_ASSERT( _rxModel.is(), "DbCellControl::implAdjustReadOnly: invalid model!" );
    if ( m_pWindow && _rxModel.is() )
    {
        Edit* pEditWindow = dynamic_cast< Edit* >( m_pWindow );
        Edit* pEditWindow = dynamic_cast< Edit* >( m_pWindow.get() );
        if ( pEditWindow )
        {
            bool bReadOnly = m_rColumn.IsReadOnly();
@@ -846,7 +843,7 @@ void DbCellControl::implAdjustReadOnly( const Reference< XPropertySet >& _rxMode
            {
                _rxModel->getPropertyValue( i_bReadOnly ? OUString(FM_PROP_READONLY) : OUString(FM_PROP_ISREADONLY)) >>= bReadOnly;
            }
            static_cast< Edit* >( m_pWindow )->SetReadOnly( bReadOnly );
            static_cast< Edit* >( m_pWindow.get() )->SetReadOnly( bReadOnly );
        }
    }
}
@@ -1126,18 +1123,18 @@ void DbTextField::Init( vcl::Window& rParent, const Reference< XRowSet >& xCurso
    if ( bIsMultiLine )
    {
        m_pWindow = new MultiLineTextCell( &rParent, nStyle );
        m_pEdit = new MultiLineEditImplementation( *static_cast< MultiLineTextCell* >( m_pWindow ) );
        m_pEdit = new MultiLineEditImplementation( *static_cast< MultiLineTextCell* >( m_pWindow.get() ) );

        m_pPainter = new MultiLineTextCell( &rParent, nStyle );
        m_pPainterImplementation = new MultiLineEditImplementation( *static_cast< MultiLineTextCell* >( m_pPainter ) );
        m_pPainterImplementation = new MultiLineEditImplementation( *static_cast< MultiLineTextCell* >( m_pPainter.get() ) );
    }
    else
    {
        m_pWindow = new Edit( &rParent, nStyle );
        m_pEdit = new EditImplementation( *static_cast< Edit* >( m_pWindow ) );
        m_pEdit = new EditImplementation( *static_cast< Edit* >( m_pWindow.get() ) );

        m_pPainter = new Edit( &rParent, nStyle );
        m_pPainterImplementation = new EditImplementation( *static_cast< Edit* >( m_pPainter ) );
        m_pPainterImplementation = new EditImplementation( *static_cast< Edit* >( m_pPainter.get() ) );
    }

    if ( WB_LEFT == nStyle )
@@ -1281,8 +1278,8 @@ void DbFormattedField::Init( vcl::Window& rParent, const Reference< XRowSet >& x

    implAdjustGenericFieldSetting( xUnoModel );

    static_cast< FormattedField* >( m_pWindow )->SetStrictFormat( false );
    static_cast< FormattedField* >( m_pPainter )->SetStrictFormat( false );
    static_cast< FormattedField* >( m_pWindow.get() )->SetStrictFormat( false );
    static_cast< FormattedField* >( m_pPainter.get() )->SetStrictFormat( false );
        // wenn man _irgendeine_ Formatierung zulaesst, kann man da sowieso keine Eingabe-Ueberpruefung
        // machen (das FormattedField unterstuetzt das sowieso nicht, nur abgeleitete Klassen)

@@ -1350,7 +1347,7 @@ void DbFormattedField::Init( vcl::Window& rParent, const Reference< XRowSet >& x
    // einen Standard-Formatter ...
    if (pFormatterUsed == NULL)
    {
        pFormatterUsed = static_cast<FormattedField*>(m_pWindow)->StandardFormatter();
        pFormatterUsed = static_cast<FormattedField*>(m_pWindow.get())->StandardFormatter();
        DBG_ASSERT(pFormatterUsed != NULL, "DbFormattedField::Init : no standard formatter given by the numeric field !");
    }
    // ... und einen Standard-Key
@@ -1359,14 +1356,14 @@ void DbFormattedField::Init( vcl::Window& rParent, const Reference< XRowSet >& x

    m_nKeyType  = comphelper::getNumberFormatType(m_xSupplier->getNumberFormats(), nFormatKey);

    static_cast<FormattedField*>(m_pWindow)->SetFormatter(pFormatterUsed);
    static_cast<FormattedField*>(m_pPainter)->SetFormatter(pFormatterUsed);
    static_cast<FormattedField*>(m_pWindow.get())->SetFormatter(pFormatterUsed);
    static_cast<FormattedField*>(m_pPainter.get())->SetFormatter(pFormatterUsed);

    static_cast<FormattedField*>(m_pWindow)->SetFormatKey(nFormatKey);
    static_cast<FormattedField*>(m_pPainter)->SetFormatKey(nFormatKey);
    static_cast<FormattedField*>(m_pWindow.get())->SetFormatKey(nFormatKey);
    static_cast<FormattedField*>(m_pPainter.get())->SetFormatKey(nFormatKey);

    static_cast<FormattedField*>(m_pWindow)->TreatAsNumber(m_rColumn.IsNumeric());
    static_cast<FormattedField*>(m_pPainter)->TreatAsNumber(m_rColumn.IsNumeric());
    static_cast<FormattedField*>(m_pWindow.get())->TreatAsNumber(m_rColumn.IsNumeric());
    static_cast<FormattedField*>(m_pPainter.get())->TreatAsNumber(m_rColumn.IsNumeric());

    // Min- und Max-Werte
    if (m_rColumn.IsNumeric())
@@ -1379,15 +1376,15 @@ void DbFormattedField::Init( vcl::Window& rParent, const Reference< XRowSet >& x
            {
                DBG_ASSERT(aMin.getValueType().getTypeClass() == TypeClass_DOUBLE, "DbFormattedField::Init : the model has an invalid min value !");
                double dMin = ::comphelper::getDouble(aMin);
                static_cast<FormattedField*>(m_pWindow)->SetMinValue(dMin);
                static_cast<FormattedField*>(m_pPainter)->SetMinValue(dMin);
                static_cast<FormattedField*>(m_pWindow.get())->SetMinValue(dMin);
                static_cast<FormattedField*>(m_pPainter.get())->SetMinValue(dMin);
                bClearMin = false;
            }
        }
        if (bClearMin)
        {
            static_cast<FormattedField*>(m_pWindow)->ClearMinValue();
            static_cast<FormattedField*>(m_pPainter)->ClearMinValue();
            static_cast<FormattedField*>(m_pWindow.get())->ClearMinValue();
            static_cast<FormattedField*>(m_pPainter.get())->ClearMinValue();
        }
        bool bClearMax = true;
        if (::comphelper::hasProperty(FM_PROP_EFFECTIVE_MAX, xUnoModel))
@@ -1397,15 +1394,15 @@ void DbFormattedField::Init( vcl::Window& rParent, const Reference< XRowSet >& x
            {
                DBG_ASSERT(aMin.getValueType().getTypeClass() == TypeClass_DOUBLE, "DbFormattedField::Init : the model has an invalid max value !");
                double dMin = ::comphelper::getDouble(aMin);
                static_cast<FormattedField*>(m_pWindow)->SetMaxValue(dMin);
                static_cast<FormattedField*>(m_pPainter)->SetMaxValue(dMin);
                static_cast<FormattedField*>(m_pWindow.get())->SetMaxValue(dMin);
                static_cast<FormattedField*>(m_pPainter.get())->SetMaxValue(dMin);
                bClearMax = false;
            }
        }
        if (bClearMax)
        {
            static_cast<FormattedField*>(m_pWindow)->ClearMaxValue();
            static_cast<FormattedField*>(m_pPainter)->ClearMaxValue();
            static_cast<FormattedField*>(m_pWindow.get())->ClearMaxValue();
            static_cast<FormattedField*>(m_pPainter.get())->ClearMaxValue();
        }
    }

@@ -1418,16 +1415,16 @@ void DbFormattedField::Init( vcl::Window& rParent, const Reference< XRowSet >& x
            case TypeClass_DOUBLE:
                if (m_rColumn.IsNumeric())
                {
                    static_cast<FormattedField*>(m_pWindow)->SetDefaultValue(::comphelper::getDouble(aDefault));
                    static_cast<FormattedField*>(m_pPainter)->SetDefaultValue(::comphelper::getDouble(aDefault));
                    static_cast<FormattedField*>(m_pWindow.get())->SetDefaultValue(::comphelper::getDouble(aDefault));
                    static_cast<FormattedField*>(m_pPainter.get())->SetDefaultValue(::comphelper::getDouble(aDefault));
                }
                else
                {
                    OUString sConverted;
                    Color* pDummy;
                    pFormatterUsed->GetOutputString(::comphelper::getDouble(aDefault), 0, sConverted, &pDummy);
                    static_cast<FormattedField*>(m_pWindow)->SetDefaultText(sConverted);
                    static_cast<FormattedField*>(m_pPainter)->SetDefaultText(sConverted);
                    static_cast<FormattedField*>(m_pWindow.get())->SetDefaultText(sConverted);
                    static_cast<FormattedField*>(m_pPainter.get())->SetDefaultText(sConverted);
                }
                break;
            case TypeClass_STRING:
@@ -1439,14 +1436,14 @@ void DbFormattedField::Init( vcl::Window& rParent, const Reference< XRowSet >& x
                    sal_uInt32 nTestFormat(0);
                    if (pFormatterUsed->IsNumberFormat(sDefault, nTestFormat, dVal))
                    {
                        static_cast<FormattedField*>(m_pWindow)->SetDefaultValue(dVal);
                        static_cast<FormattedField*>(m_pPainter)->SetDefaultValue(dVal);
                        static_cast<FormattedField*>(m_pWindow.get())->SetDefaultValue(dVal);
                        static_cast<FormattedField*>(m_pPainter.get())->SetDefaultValue(dVal);
                    }
                }
                else
                {
                    static_cast<FormattedField*>(m_pWindow)->SetDefaultText(sDefault);
                    static_cast<FormattedField*>(m_pPainter)->SetDefaultText(sDefault);
                    static_cast<FormattedField*>(m_pWindow.get())->SetDefaultText(sDefault);
                    static_cast<FormattedField*>(m_pPainter.get())->SetDefaultText(sDefault);
                }
            }
            break;
@@ -1461,7 +1458,7 @@ void DbFormattedField::Init( vcl::Window& rParent, const Reference< XRowSet >& x

CellControllerRef DbFormattedField::CreateController() const
{
    return new ::svt::FormattedFieldCellController( static_cast< FormattedField* >( m_pWindow ) );
    return new ::svt::FormattedFieldCellController( static_cast< FormattedField* >( m_pWindow.get() ) );
}


@@ -1474,9 +1471,9 @@ void DbFormattedField::_propertyChanged( const PropertyChangeEvent& _rEvent ) th

        DBG_ASSERT(m_pWindow && m_pPainter, "DbFormattedField::_propertyChanged : where are my windows ?");
        if (m_pWindow)
            static_cast< FormattedField* >( m_pWindow )->SetFormatKey( nNewKey );
            static_cast< FormattedField* >( m_pWindow.get() )->SetFormatKey( nNewKey );
        if (m_pPainter)
            static_cast< FormattedField* >( m_pPainter )->SetFormatKey( nNewKey );
            static_cast< FormattedField* >( m_pPainter.get() )->SetFormatKey( nNewKey );
    }
    else
    {
@@ -1508,7 +1505,7 @@ OUString DbFormattedField::GetFormatText(const Reference< ::com::sun::star::sdb:
            double dValue = getValue( _rxField, m_rColumn.GetParent().getNullDate() );
            if (_rxField->wasNull())
                return aText;
            static_cast<FormattedField*>(m_pPainter)->SetValue(dValue);
            static_cast<FormattedField*>(m_pPainter.get())->SetValue(dValue);
        }
        else
        {
@@ -1517,7 +1514,7 @@ OUString DbFormattedField::GetFormatText(const Reference< ::com::sun::star::sdb:
            aText = _rxField->getString();
            if (_rxField->wasNull())
                return aText;
            static_cast<FormattedField*>(m_pPainter)->SetTextFormatted(aText);
            static_cast<FormattedField*>(m_pPainter.get())->SetTextFormatted(aText);
        }
    }
    catch( const Exception& )
@@ -1527,7 +1524,7 @@ OUString DbFormattedField::GetFormatText(const Reference< ::com::sun::star::sdb:

    aText = m_pPainter->GetText();
    if (ppColor != NULL)
        *ppColor = static_cast<FormattedField*>(m_pPainter)->GetLastOutputColor();
        *ppColor = static_cast<FormattedField*>(m_pPainter.get())->GetLastOutputColor();

    return aText;
}
@@ -1537,7 +1534,7 @@ void DbFormattedField::UpdateFromField(const Reference< ::com::sun::star::sdb::X
{
    try
    {
        FormattedField* pFormattedWindow = static_cast<FormattedField*>(m_pWindow);
        FormattedField* pFormattedWindow = static_cast<FormattedField*>(m_pWindow.get());
        if (!_rxField.is())
        {   // NULL-Wert -> leerer Text
            m_pWindow->SetText(OUString());
@@ -1576,7 +1573,7 @@ void DbFormattedField::updateFromModel( Reference< XPropertySet > _rxModel )
{
    OSL_ENSURE( _rxModel.is() && m_pWindow, "DbFormattedField::updateFromModel: invalid call!" );

    FormattedField* pFormattedWindow = static_cast< FormattedField* >( m_pWindow );
    FormattedField* pFormattedWindow = static_cast< FormattedField* >( m_pWindow.get() );

    OUString sText;
    Any aValue = _rxModel->getPropertyValue( FM_PROP_EFFECTIVE_VALUE );
@@ -1597,7 +1594,7 @@ void DbFormattedField::updateFromModel( Reference< XPropertySet > _rxModel )
bool DbFormattedField::commitControl()
{
    Any aNewVal;
    FormattedField& rField = *static_cast<FormattedField*>(m_pWindow);
    FormattedField& rField = *static_cast<FormattedField*>(m_pWindow.get());
    DBG_ASSERT(&rField == m_pWindow, "DbFormattedField::commitControl : can't work with a window other than my own !");
    if (m_rColumn.IsNumeric())
    {
@@ -1658,8 +1655,8 @@ void DbCheckBox::Init( vcl::Window& rParent, const Reference< XRowSet >& xCursor

        bool bTristate = true;
        OSL_VERIFY( xModel->getPropertyValue( FM_PROP_TRISTATE ) >>= bTristate );
        static_cast< CheckBoxControl* >( m_pWindow )->GetBox().EnableTriState( bTristate );
        static_cast< CheckBoxControl* >( m_pPainter )->GetBox().EnableTriState( bTristate );
        static_cast< CheckBoxControl* >( m_pWindow.get() )->GetBox().EnableTriState( bTristate );
        static_cast< CheckBoxControl* >( m_pPainter.get() )->GetBox().EnableTriState( bTristate );
    }
    catch( const Exception& )
    {
@@ -1672,7 +1669,7 @@ void DbCheckBox::Init( vcl::Window& rParent, const Reference< XRowSet >& xCursor

CellControllerRef DbCheckBox::CreateController() const
{
    return new CheckBoxCellController(static_cast<CheckBoxControl*>(m_pWindow));
    return new CheckBoxCellController(static_cast<CheckBoxControl*>(m_pWindow.get()));
}

static void lcl_setCheckBoxState(   const Reference< ::com::sun::star::sdb::XColumn >& _rxField,
@@ -1698,7 +1695,7 @@ static void lcl_setCheckBoxState(   const Reference< ::com::sun::star::sdb::XCol

void DbCheckBox::UpdateFromField(const Reference< ::com::sun::star::sdb::XColumn >& _rxField, const Reference< XNumberFormatter >& /*xFormatter*/)
{
    lcl_setCheckBoxState( _rxField, static_cast<CheckBoxControl*>(m_pWindow) );
    lcl_setCheckBoxState( _rxField, static_cast<CheckBoxControl*>(m_pWindow.get()) );
}


@@ -1706,7 +1703,7 @@ void DbCheckBox::PaintFieldToCell(OutputDevice& rDev, const Rectangle& rRect,
                          const Reference< ::com::sun::star::sdb::XColumn >& _rxField,
                          const Reference< XNumberFormatter >& xFormatter)
{
    lcl_setCheckBoxState( _rxField, static_cast<CheckBoxControl*>(m_pPainter) );
    lcl_setCheckBoxState( _rxField, static_cast<CheckBoxControl*>(m_pPainter.get()) );
    DbCellControl::PaintFieldToCell( rDev, rRect, _rxField, xFormatter );
}

@@ -1717,14 +1714,14 @@ void DbCheckBox::updateFromModel( Reference< XPropertySet > _rxModel )

    sal_Int16 nState = TRISTATE_INDET;
    _rxModel->getPropertyValue( FM_PROP_STATE ) >>= nState;
    static_cast< CheckBoxControl* >( m_pWindow )->GetBox().SetState( static_cast< TriState >( nState ) );
    static_cast< CheckBoxControl* >( m_pWindow.get() )->GetBox().SetState( static_cast< TriState >( nState ) );
}


bool DbCheckBox::commitControl()
{
    m_rColumn.getModel()->setPropertyValue( FM_PROP_STATE,
                    makeAny( (sal_Int16)( static_cast< CheckBoxControl* >( m_pWindow )->GetBox().GetState() ) ) );
                    makeAny( (sal_Int16)( static_cast< CheckBoxControl* >( m_pWindow.get() )->GetBox().GetState() ) ) );
    return true;
}

@@ -1760,10 +1757,10 @@ void DbPatternField::implAdjustGenericFieldSetting( const Reference< XPropertySe

        OString aAsciiEditMask(OUStringToOString(aEditMask, RTL_TEXTENCODING_ASCII_US));

        static_cast< PatternField* >( m_pWindow )->SetMask( aAsciiEditMask, aLitMask );
        static_cast< PatternField* >( m_pPainter )->SetMask( aAsciiEditMask, aLitMask );
        static_cast< PatternField* >( m_pWindow )->SetStrictFormat( bStrict );
        static_cast< PatternField* >( m_pPainter )->SetStrictFormat( bStrict );
        static_cast< PatternField* >( m_pWindow.get() )->SetMask( aAsciiEditMask, aLitMask );
        static_cast< PatternField* >( m_pPainter.get() )->SetMask( aAsciiEditMask, aLitMask );
        static_cast< PatternField* >( m_pWindow.get() )->SetStrictFormat( bStrict );
        static_cast< PatternField* >( m_pPainter.get() )->SetStrictFormat( bStrict );
    }
}

@@ -1784,14 +1781,14 @@ void DbPatternField::Init( vcl::Window& rParent, const Reference< XRowSet >& xCu

CellControllerRef DbPatternField::CreateController() const
{
    return new SpinCellController( static_cast< PatternField* >( m_pWindow ) );
    return new SpinCellController( static_cast< PatternField* >( m_pWindow.get() ) );
}


OUString DbPatternField::impl_formatText( const OUString& _rText )
{
    m_pPainter->SetText( _rText );
    static_cast< PatternField* >( m_pPainter )->ReformatAll();
    static_cast< PatternField* >( m_pPainter.get() )->ReformatAll();
    return m_pPainter->GetText();
}

@@ -1822,8 +1819,8 @@ OUString DbPatternField::GetFormatText(const Reference< ::com::sun::star::sdb::X

void DbPatternField::UpdateFromField( const Reference< XColumn >& _rxField, const Reference< XNumberFormatter >& _rxFormatter )
{
    static_cast< Edit* >( m_pWindow )->SetText( GetFormatText( _rxField, _rxFormatter ) );
    static_cast< Edit* >( m_pWindow )->SetSelection( Selection( SELECTION_MAX, SELECTION_MIN ) );
    static_cast< Edit* >( m_pWindow.get() )->SetText( GetFormatText( _rxField, _rxFormatter ) );
    static_cast< Edit* >( m_pWindow.get() )->SetSelection( Selection( SELECTION_MAX, SELECTION_MIN ) );
}


@@ -1834,8 +1831,8 @@ void DbPatternField::updateFromModel( Reference< XPropertySet > _rxModel )
    OUString sText;
    _rxModel->getPropertyValue( FM_PROP_TEXT ) >>= sText;

    static_cast< Edit* >( m_pWindow )->SetText( impl_formatText( sText ) );
    static_cast< Edit* >( m_pWindow )->SetSelection( Selection( SELECTION_MAX, SELECTION_MIN ) );
    static_cast< Edit* >( m_pWindow.get() )->SetText( impl_formatText( sText ) );
    static_cast< Edit* >( m_pWindow.get() )->SetSelection( Selection( SELECTION_MAX, SELECTION_MIN ) );
}


@@ -1877,7 +1874,7 @@ void DbSpinField::Init( vcl::Window& _rParent, const Reference< XRowSet >& _rxCu

CellControllerRef DbSpinField::CreateController() const
{
    return new SpinCellController( static_cast< SpinField* >( m_pWindow ) );
    return new SpinCellController( static_cast< SpinField* >( m_pWindow.get() ) );
}

DbNumericField::DbNumericField( DbGridColumn& _rColumn )
@@ -1905,14 +1902,14 @@ void DbNumericField::implAdjustGenericFieldSetting( const Reference< XPropertySe
        sal_Int16   nScale      = getINT16( _rxModel->getPropertyValue( FM_PROP_DECIMAL_ACCURACY ) );
        bool    bThousand   = getBOOL( _rxModel->getPropertyValue( FM_PROP_SHOWTHOUSANDSEP ) );

        static_cast< DoubleNumericField* >( m_pWindow )->SetMinValue(nMin);
        static_cast< DoubleNumericField* >( m_pWindow )->SetMaxValue(nMax);
        static_cast< DoubleNumericField* >( m_pWindow )->SetSpinSize(nStep);
        static_cast< DoubleNumericField* >( m_pWindow )->SetStrictFormat(bStrict);
        static_cast< DoubleNumericField* >( m_pWindow.get() )->SetMinValue(nMin);
        static_cast< DoubleNumericField* >( m_pWindow.get() )->SetMaxValue(nMax);
        static_cast< DoubleNumericField* >( m_pWindow.get() )->SetSpinSize(nStep);
        static_cast< DoubleNumericField* >( m_pWindow.get() )->SetStrictFormat(bStrict);

        static_cast< DoubleNumericField* >( m_pPainter )->SetMinValue(nMin);
        static_cast< DoubleNumericField* >( m_pPainter )->SetMaxValue(nMax);
        static_cast< DoubleNumericField* >( m_pPainter )->SetStrictFormat(bStrict);
        static_cast< DoubleNumericField* >( m_pPainter.get() )->SetMinValue(nMin);
        static_cast< DoubleNumericField* >( m_pPainter.get() )->SetMaxValue(nMax);
        static_cast< DoubleNumericField* >( m_pPainter.get() )->SetStrictFormat(bStrict);


        // dem Field und dem Painter einen Formatter spendieren
@@ -1931,18 +1928,18 @@ void DbNumericField::implAdjustGenericFieldSetting( const Reference< XPropertySe
        }
        if ( NULL == pFormatterUsed )
        {   // der Cursor fuehrte nicht zum Erfolg -> Standard
            pFormatterUsed = static_cast< DoubleNumericField* >( m_pWindow )->StandardFormatter();
            pFormatterUsed = static_cast< DoubleNumericField* >( m_pWindow.get() )->StandardFormatter();
            DBG_ASSERT( pFormatterUsed != NULL, "DbNumericField::implAdjustGenericFieldSetting: no standard formatter given by the numeric field !" );
        }
        static_cast< DoubleNumericField* >( m_pWindow )->SetFormatter( pFormatterUsed );
        static_cast< DoubleNumericField* >( m_pPainter )->SetFormatter( pFormatterUsed );
        static_cast< DoubleNumericField* >( m_pWindow.get() )->SetFormatter( pFormatterUsed );
        static_cast< DoubleNumericField* >( m_pPainter.get() )->SetFormatter( pFormatterUsed );

        // und dann ein Format generieren, dass die gewuenschten Nachkommastellen usw. hat
        LanguageType aAppLanguage = Application::GetSettings().GetUILanguageTag().getLanguageType();
        OUString sFormatString = pFormatterUsed->GenerateFormat(0, aAppLanguage, bThousand, false, nScale);

        static_cast< DoubleNumericField* >( m_pWindow )->SetFormat( sFormatString, aAppLanguage );
        static_cast< DoubleNumericField* >( m_pPainter )->SetFormat( sFormatString, aAppLanguage );
        static_cast< DoubleNumericField* >( m_pWindow.get() )->SetFormat( sFormatString, aAppLanguage );
        static_cast< DoubleNumericField* >( m_pPainter.get() )->SetFormat( sFormatString, aAppLanguage );
    }
}

@@ -1998,7 +1995,7 @@ void DbNumericField::updateFromModel( Reference< XPropertySet > _rxModel )

    double dValue = 0;
    if ( _rxModel->getPropertyValue( FM_PROP_VALUE ) >>= dValue )
        static_cast< DoubleNumericField* >( m_pWindow )->SetValue( dValue );
        static_cast< DoubleNumericField* >( m_pWindow.get() )->SetValue( dValue );
    else
        m_pWindow->SetText( OUString() );
}
@@ -2011,7 +2008,7 @@ bool DbNumericField::commitControl()

    if (!aText.isEmpty())   // not empty
    {
        double fValue = static_cast<DoubleNumericField*>(m_pWindow)->GetValue();
        double fValue = static_cast<DoubleNumericField*>(m_pWindow.get())->GetValue();
        aVal <<= (double)fValue;
    }
    m_rColumn.getModel()->setPropertyValue(FM_PROP_VALUE, aVal);
@@ -2053,24 +2050,24 @@ void DbCurrencyField::implAdjustGenericFieldSetting( const Reference< XPropertyS
        nMin *= nMul;
        nMax *= nMul;

        static_cast< LongCurrencyField* >( m_pWindow )->SetUseThousandSep( bThousand );
        static_cast< LongCurrencyField* >( m_pWindow )->SetDecimalDigits( m_nScale );
        static_cast< LongCurrencyField* >( m_pWindow )->SetCurrencySymbol( aStr );
        static_cast< LongCurrencyField* >( m_pWindow )->SetFirst( nMin );
        static_cast< LongCurrencyField* >( m_pWindow )->SetLast( nMax );
        static_cast< LongCurrencyField* >( m_pWindow )->SetMin( nMin );
        static_cast< LongCurrencyField* >( m_pWindow )->SetMax( nMax );
        static_cast< LongCurrencyField* >( m_pWindow )->SetSpinSize( nStep );
        static_cast< LongCurrencyField* >( m_pWindow )->SetStrictFormat( bStrict );
        static_cast< LongCurrencyField* >( m_pWindow.get() )->SetUseThousandSep( bThousand );
        static_cast< LongCurrencyField* >( m_pWindow.get() )->SetDecimalDigits( m_nScale );
        static_cast< LongCurrencyField* >( m_pWindow.get() )->SetCurrencySymbol( aStr );
        static_cast< LongCurrencyField* >( m_pWindow.get() )->SetFirst( nMin );
        static_cast< LongCurrencyField* >( m_pWindow.get() )->SetLast( nMax );
        static_cast< LongCurrencyField* >( m_pWindow.get() )->SetMin( nMin );
        static_cast< LongCurrencyField* >( m_pWindow.get() )->SetMax( nMax );
        static_cast< LongCurrencyField* >( m_pWindow.get() )->SetSpinSize( nStep );
        static_cast< LongCurrencyField* >( m_pWindow.get() )->SetStrictFormat( bStrict );

        static_cast< LongCurrencyField* >( m_pPainter )->SetUseThousandSep( bThousand );
        static_cast< LongCurrencyField* >( m_pPainter )->SetDecimalDigits( m_nScale );
        static_cast< LongCurrencyField* >( m_pPainter )->SetCurrencySymbol( aStr );
        static_cast< LongCurrencyField* >( m_pPainter )->SetFirst( nMin );
        static_cast< LongCurrencyField* >( m_pPainter )->SetLast( nMax );
        static_cast< LongCurrencyField* >( m_pPainter )->SetMin( nMin );
        static_cast< LongCurrencyField* >( m_pPainter )->SetMax( nMax );
        static_cast< LongCurrencyField* >( m_pPainter )->SetStrictFormat( bStrict );
        static_cast< LongCurrencyField* >( m_pPainter.get() )->SetUseThousandSep( bThousand );
        static_cast< LongCurrencyField* >( m_pPainter.get() )->SetDecimalDigits( m_nScale );
        static_cast< LongCurrencyField* >( m_pPainter.get() )->SetCurrencySymbol( aStr );
        static_cast< LongCurrencyField* >( m_pPainter.get() )->SetFirst( nMin );
        static_cast< LongCurrencyField* >( m_pPainter.get() )->SetLast( nMax );
        static_cast< LongCurrencyField* >( m_pPainter.get() )->SetMin( nMin );
        static_cast< LongCurrencyField* >( m_pPainter.get() )->SetMax( nMax );
        static_cast< LongCurrencyField* >( m_pPainter.get() )->SetStrictFormat( bStrict );
    }
}

@@ -2146,7 +2143,7 @@ void DbCurrencyField::updateFromModel( Reference< XPropertySet > _rxModel )
            dValue = ::rtl::math::round(dValue, 0);
        }

        static_cast< LongCurrencyField* >( m_pWindow )->SetValue( dValue );
        static_cast< LongCurrencyField* >( m_pWindow.get() )->SetValue( dValue );
    }
    else
        m_pWindow->SetText( OUString() );
@@ -2159,7 +2156,7 @@ bool DbCurrencyField::commitControl()
    Any aVal;
    if (!aText.isEmpty())   // not empty
    {
        double fValue = static_cast<LongCurrencyField*>(m_pWindow)->GetValue();
        double fValue = static_cast<LongCurrencyField*>(m_pWindow.get())->GetValue();
        if (m_nScale)
        {
            fValue /= ::rtl::math::pow10Exp(1.0, m_nScale);
@@ -2216,21 +2213,21 @@ void DbDateField::implAdjustGenericFieldSetting( const Reference< XPropertySet >
        {
            bool bShowDateCentury = getBOOL( aCentury );

            static_cast<DateField*>( m_pWindow )->SetShowDateCentury( bShowDateCentury );
            static_cast<DateField*>( m_pPainter )->SetShowDateCentury( bShowDateCentury );
            static_cast<DateField*>( m_pWindow.get() )->SetShowDateCentury( bShowDateCentury );
            static_cast<DateField*>( m_pPainter.get() )->SetShowDateCentury( bShowDateCentury );
        }

        static_cast< DateField* >( m_pWindow )->SetExtDateFormat( (ExtDateFieldFormat)nFormat );
        static_cast< DateField* >( m_pWindow )->SetMin( aMin );
        static_cast< DateField* >( m_pWindow )->SetMax( aMax );
        static_cast< DateField* >( m_pWindow )->SetStrictFormat( bStrict );
        static_cast< DateField* >( m_pWindow )->EnableEmptyFieldValue( true );
        static_cast< DateField* >( m_pWindow.get() )->SetExtDateFormat( (ExtDateFieldFormat)nFormat );
        static_cast< DateField* >( m_pWindow.get() )->SetMin( aMin );
        static_cast< DateField* >( m_pWindow.get() )->SetMax( aMax );
        static_cast< DateField* >( m_pWindow.get() )->SetStrictFormat( bStrict );
        static_cast< DateField* >( m_pWindow.get() )->EnableEmptyFieldValue( true );

        static_cast< DateField* >( m_pPainter )->SetExtDateFormat( (ExtDateFieldFormat)nFormat );
        static_cast< DateField* >( m_pPainter )->SetMin( aMin );
        static_cast< DateField* >( m_pPainter )->SetMax( aMax );
        static_cast< DateField* >( m_pPainter )->SetStrictFormat( bStrict );
        static_cast< DateField* >( m_pPainter )->EnableEmptyFieldValue( true );
        static_cast< DateField* >( m_pPainter.get() )->SetExtDateFormat( (ExtDateFieldFormat)nFormat );
        static_cast< DateField* >( m_pPainter.get() )->SetMin( aMin );
        static_cast< DateField* >( m_pPainter.get() )->SetMax( aMax );
        static_cast< DateField* >( m_pPainter.get() )->SetStrictFormat( bStrict );
        static_cast< DateField* >( m_pPainter.get() )->EnableEmptyFieldValue( true );
    }
}

@@ -2264,13 +2261,13 @@ namespace

OUString DbDateField::GetFormatText(const Reference< ::com::sun::star::sdb::XColumn >& _rxField, const Reference< ::com::sun::star::util::XNumberFormatter >& /*xFormatter*/, Color** /*ppColor*/)
{
     return lcl_setFormattedDate_nothrow(dynamic_cast<DateField&>(*m_pPainter), _rxField);
     return lcl_setFormattedDate_nothrow(dynamic_cast<DateField&>(*m_pPainter.get()), _rxField);
}


void DbDateField::UpdateFromField(const Reference< ::com::sun::star::sdb::XColumn >& _rxField, const Reference< XNumberFormatter >& /*xFormatter*/)
{
    lcl_setFormattedDate_nothrow(dynamic_cast<DateField&>(*m_pWindow), _rxField);
    lcl_setFormattedDate_nothrow(dynamic_cast<DateField&>(*m_pWindow.get()), _rxField);
}


@@ -2280,9 +2277,9 @@ void DbDateField::updateFromModel( Reference< XPropertySet > _rxModel )

    util::Date aDate;
    if ( _rxModel->getPropertyValue( FM_PROP_DATE ) >>= aDate )
        static_cast< DateField* >( m_pWindow )->SetDate( ::Date( aDate ) );
        static_cast< DateField* >( m_pWindow.get() )->SetDate( ::Date( aDate ) );
    else
        static_cast< DateField* >( m_pWindow )->SetText( OUString() );
        static_cast< DateField* >( m_pWindow.get() )->SetText( OUString() );
}


@@ -2291,7 +2288,7 @@ bool DbDateField::commitControl()
    OUString aText(m_pWindow->GetText());
    Any aVal;
    if (!aText.isEmpty())
        aVal <<= static_cast<DateField*>(m_pWindow)->GetDate().GetUNODate();
        aVal <<= static_cast<DateField*>(m_pWindow.get())->GetDate().GetUNODate();
    else
        aVal.clear();

@@ -2328,17 +2325,17 @@ void DbTimeField::implAdjustGenericFieldSetting( const Reference< XPropertySet >
        OSL_VERIFY( _rxModel->getPropertyValue( FM_PROP_TIMEMAX ) >>= aMax );
        bool    bStrict     = getBOOL( _rxModel->getPropertyValue( FM_PROP_STRICTFORMAT ) );

        static_cast< TimeField* >( m_pWindow )->SetExtFormat( (ExtTimeFieldFormat)nFormat );
        static_cast< TimeField* >( m_pWindow )->SetMin( aMin );
        static_cast< TimeField* >( m_pWindow )->SetMax( aMax );
        static_cast< TimeField* >( m_pWindow )->SetStrictFormat( bStrict );
        static_cast< TimeField* >( m_pWindow )->EnableEmptyFieldValue( true );
        static_cast< TimeField* >( m_pWindow.get() )->SetExtFormat( (ExtTimeFieldFormat)nFormat );
        static_cast< TimeField* >( m_pWindow.get() )->SetMin( aMin );
        static_cast< TimeField* >( m_pWindow.get() )->SetMax( aMax );
        static_cast< TimeField* >( m_pWindow.get() )->SetStrictFormat( bStrict );
        static_cast< TimeField* >( m_pWindow.get() )->EnableEmptyFieldValue( true );

        static_cast< TimeField* >( m_pPainter )->SetExtFormat( (ExtTimeFieldFormat)nFormat );
        static_cast< TimeField* >( m_pPainter )->SetMin( aMin );
        static_cast< TimeField* >( m_pPainter )->SetMax( aMax );
        static_cast< TimeField* >( m_pPainter )->SetStrictFormat( bStrict );
        static_cast< TimeField* >( m_pPainter )->EnableEmptyFieldValue( true );
        static_cast< TimeField* >( m_pPainter.get() )->SetExtFormat( (ExtTimeFieldFormat)nFormat );
        static_cast< TimeField* >( m_pPainter.get() )->SetMin( aMin );
        static_cast< TimeField* >( m_pPainter.get() )->SetMax( aMax );
        static_cast< TimeField* >( m_pPainter.get() )->SetStrictFormat( bStrict );
        static_cast< TimeField* >( m_pPainter.get() )->EnableEmptyFieldValue( true );
    }
}

@@ -2372,13 +2369,13 @@ namespace

OUString DbTimeField::GetFormatText(const Reference< ::com::sun::star::sdb::XColumn >& _rxField, const Reference< ::com::sun::star::util::XNumberFormatter >& /*xFormatter*/, Color** /*ppColor*/)
{
    return lcl_setFormattedTime_nothrow( *static_cast< TimeField* >( m_pPainter ), _rxField );
    return lcl_setFormattedTime_nothrow( *static_cast< TimeField* >( m_pPainter.get() ), _rxField );
}


void DbTimeField::UpdateFromField(const Reference< ::com::sun::star::sdb::XColumn >& _rxField, const Reference< XNumberFormatter >& /*xFormatter*/)
{
    lcl_setFormattedTime_nothrow( *static_cast< TimeField* >( m_pWindow ), _rxField );
    lcl_setFormattedTime_nothrow( *static_cast< TimeField* >( m_pWindow.get() ), _rxField );
}


@@ -2388,9 +2385,9 @@ void DbTimeField::updateFromModel( Reference< XPropertySet > _rxModel )

    util::Time aTime;
    if ( _rxModel->getPropertyValue( FM_PROP_TIME ) >>= aTime )
        static_cast< TimeField* >( m_pWindow )->SetTime( ::tools::Time( aTime ) );
        static_cast< TimeField* >( m_pWindow.get() )->SetTime( ::tools::Time( aTime ) );
    else
        static_cast< TimeField* >( m_pWindow )->SetText( OUString() );
        static_cast< TimeField* >( m_pWindow.get() )->SetText( OUString() );
}


@@ -2399,7 +2396,7 @@ bool DbTimeField::commitControl()
    OUString aText(m_pWindow->GetText());
    Any aVal;
    if (!aText.isEmpty())
        aVal <<= static_cast<TimeField*>(m_pWindow)->GetTime().GetUNOTime();
        aVal <<= static_cast<TimeField*>(m_pWindow.get())->GetTime().GetUNOTime();
    else
        aVal.clear();

@@ -2432,7 +2429,7 @@ void DbComboBox::_propertyChanged( const PropertyChangeEvent& _rEvent ) throw( R

void DbComboBox::SetList(const Any& rItems)
{
    ComboBoxControl* pField = static_cast<ComboBoxControl*>(m_pWindow);
    ComboBoxControl* pField = static_cast<ComboBoxControl*>(m_pWindow.get());
    pField->Clear();

    ::comphelper::StringSequence aTest;
@@ -2456,7 +2453,7 @@ void DbComboBox::implAdjustGenericFieldSetting( const Reference< XPropertySet >&
    if ( m_pWindow && _rxModel.is() )
    {
        sal_Int16  nLines = getINT16( _rxModel->getPropertyValue( FM_PROP_LINECOUNT ) );
        static_cast< ComboBoxControl* >( m_pWindow )->SetDropDownLineCount( nLines );
        static_cast< ComboBoxControl* >( m_pWindow.get() )->SetDropDownLineCount( nLines );
    }
}

@@ -2486,7 +2483,7 @@ void DbComboBox::Init( vcl::Window& rParent, const Reference< XRowSet >& xCursor

CellControllerRef DbComboBox::CreateController() const
{
    return new ComboBoxCellController(static_cast<ComboBoxControl*>(m_pWindow));
    return new ComboBoxCellController(static_cast<ComboBoxControl*>(m_pWindow.get()));
}


@@ -2512,8 +2509,8 @@ void DbComboBox::updateFromModel( Reference< XPropertySet > _rxModel )
    OUString sText;
    _rxModel->getPropertyValue( FM_PROP_TEXT ) >>= sText;

    static_cast< ComboBox* >( m_pWindow )->SetText( sText );
    static_cast< ComboBox* >( m_pWindow )->SetSelection( Selection( SELECTION_MAX, SELECTION_MIN ) );
    static_cast< ComboBox* >( m_pWindow.get() )->SetText( sText );
    static_cast< ComboBox* >( m_pWindow.get() )->SetSelection( Selection( SELECTION_MAX, SELECTION_MIN ) );
}


@@ -2551,7 +2548,7 @@ void DbListBox::_propertyChanged( const ::com::sun::star::beans::PropertyChangeE

void DbListBox::SetList(const Any& rItems)
{
    ListBoxControl* pField = static_cast<ListBoxControl*>(m_pWindow);
    ListBoxControl* pField = static_cast<ListBoxControl*>(m_pWindow.get());

    pField->Clear();
    m_bBound = false;
@@ -2598,14 +2595,14 @@ void DbListBox::implAdjustGenericFieldSetting( const Reference< XPropertySet >& 
    if ( m_pWindow && _rxModel.is() )
    {
        sal_Int16  nLines   = getINT16( _rxModel->getPropertyValue( FM_PROP_LINECOUNT ) );
        static_cast< ListBoxControl* >( m_pWindow )->SetDropDownLineCount( nLines );
        static_cast< ListBoxControl* >( m_pWindow.get() )->SetDropDownLineCount( nLines );
    }
}


CellControllerRef DbListBox::CreateController() const
{
    return new ListBoxCellController(static_cast<ListBoxControl*>(m_pWindow));
    return new ListBoxCellController(static_cast<ListBoxControl*>(m_pWindow.get()));
}


@@ -2621,7 +2618,7 @@ OUString DbListBox::GetFormatText(const Reference< ::com::sun::star::sdb::XColum
            {
                Sequence< sal_Int16 > aPosSeq = ::comphelper::findValue( m_aValueList, sText, true );
                if ( aPosSeq.getLength() )
                    sText = static_cast<ListBox*>(m_pWindow)->GetEntry(aPosSeq.getConstArray()[0]);
                    sText = static_cast<ListBox*>(m_pWindow.get())->GetEntry(aPosSeq.getConstArray()[0]);
                else
                    sText.clear();
            }
@@ -2639,9 +2636,9 @@ void DbListBox::UpdateFromField(const Reference< ::com::sun::star::sdb::XColumn 
{
    OUString sFormattedText( GetFormatText( _rxField, xFormatter ) );
    if (!sFormattedText.isEmpty())
        static_cast< ListBox* >( m_pWindow )->SelectEntry( sFormattedText );
        static_cast< ListBox* >( m_pWindow.get() )->SelectEntry( sFormattedText );
    else
        static_cast< ListBox* >( m_pWindow )->SetNoSelection();
        static_cast< ListBox* >( m_pWindow.get() )->SetNoSelection();
}


@@ -2656,7 +2653,7 @@ void DbListBox::updateFromModel( Reference< XPropertySet > _rxModel )
    if ( aSelection.getLength() > 0 )
        nSelection = aSelection[ 0 ];

    ListBox* pListBox = static_cast< ListBox* >( m_pWindow );
    ListBox* pListBox = static_cast< ListBox* >( m_pWindow.get() );

    if ( ( nSelection >= 0 ) && ( nSelection < pListBox->GetEntryCount() ) )
        pListBox->SelectEntryPos( nSelection );
@@ -2669,10 +2666,10 @@ bool DbListBox::commitControl()
{
    Any aVal;
    Sequence<sal_Int16> aSelectSeq;
    if (static_cast<ListBox*>(m_pWindow)->GetSelectEntryCount())
    if (static_cast<ListBox*>(m_pWindow.get())->GetSelectEntryCount())
    {
        aSelectSeq.realloc(1);
        *(sal_Int16 *)aSelectSeq.getArray() = (sal_Int16)static_cast<ListBox*>(m_pWindow)->GetSelectEntryPos();
        *(sal_Int16 *)aSelectSeq.getArray() = (sal_Int16)static_cast<ListBox*>(m_pWindow.get())->GetSelectEntryPos();
    }
    aVal <<= aSelectSeq;
    m_rColumn.getModel()->setPropertyValue(FM_PROP_SELECT_SEQ, aVal);
@@ -2695,7 +2692,7 @@ DbFilterField::DbFilterField(const Reference< XComponentContext >& rxContext,DbG
DbFilterField::~DbFilterField()
{
    if (m_nControlClass == ::com::sun::star::form::FormComponentType::CHECKBOX)
        static_cast<CheckBoxControl*>(m_pWindow)->SetClickHdl( Link() );
        static_cast<CheckBoxControl*>(m_pWindow.get())->SetClickHdl( Link() );

}

@@ -2709,7 +2706,7 @@ void DbFilterField::PaintCell(OutputDevice& rDev, const Rectangle& rRect)
            DbCellControl::PaintCell( rDev, rRect );
            break;
        case FormComponentType::LISTBOX:
            rDev.DrawText(rRect, static_cast<ListBox*>(m_pWindow)->GetSelectEntry(), nStyle);
            rDev.DrawText(rRect, static_cast<ListBox*>(m_pWindow.get())->GetSelectEntry(), nStyle);
            break;
        default:
            rDev.DrawText(rRect, m_aText, nStyle);
@@ -2727,13 +2724,13 @@ void DbFilterField::SetList(const Any& rItems, bool bComboBox)
    {
        if (bComboBox)
        {
            ComboBox* pField = static_cast<ComboBox*>(m_pWindow);
            ComboBox* pField = static_cast<ComboBox*>(m_pWindow.get());
            for (sal_Int32 i = 0; i < nItems; ++i, ++pStrings )
                pField->InsertEntry(*pStrings, LISTBOX_APPEND);
        }
        else
        {
            ListBox* pField = static_cast<ListBox*>(m_pWindow);
            ListBox* pField = static_cast<ListBox*>(m_pWindow.get());
            for (sal_Int32 i = 0; i < nItems; ++i, ++pStrings )
                pField->InsertEntry(*pStrings, LISTBOX_APPEND);

@@ -2751,7 +2748,7 @@ void DbFilterField::CreateControl(vcl::Window* pParent, const Reference< ::com::
        case ::com::sun::star::form::FormComponentType::CHECKBOX:
            m_pWindow = new CheckBoxControl(pParent);
            m_pWindow->SetPaintTransparent( true );
            static_cast<CheckBoxControl*>(m_pWindow)->SetClickHdl( LINK( this, DbFilterField, OnClick ) );
            static_cast<CheckBoxControl*>(m_pWindow.get())->SetClickHdl( LINK( this, DbFilterField, OnClick ) );

            m_pPainter = new CheckBoxControl(pParent);
            m_pPainter->SetPaintTransparent( true );
@@ -2763,7 +2760,7 @@ void DbFilterField::CreateControl(vcl::Window* pParent, const Reference< ::com::
            sal_Int16  nLines       = ::comphelper::getINT16(xModel->getPropertyValue(FM_PROP_LINECOUNT));
            Any  aItems      = xModel->getPropertyValue(FM_PROP_STRINGITEMLIST);
            SetList(aItems, m_nControlClass == ::com::sun::star::form::FormComponentType::COMBOBOX);
            static_cast<ListBox*>(m_pWindow)->SetDropDownLineCount(nLines);
            static_cast<ListBox*>(m_pWindow.get())->SetDropDownLineCount(nLines);
        }   break;
        case ::com::sun::star::form::FormComponentType::COMBOBOX:
        {
@@ -2781,10 +2778,10 @@ void DbFilterField::CreateControl(vcl::Window* pParent, const Reference< ::com::
                sal_Int16  nLines       = ::comphelper::getINT16(xModel->getPropertyValue(FM_PROP_LINECOUNT));
                Any  aItems      = xModel->getPropertyValue(FM_PROP_STRINGITEMLIST);
                SetList(aItems, m_nControlClass == ::com::sun::star::form::FormComponentType::COMBOBOX);
                static_cast<ComboBox*>(m_pWindow)->SetDropDownLineCount(nLines);
                static_cast<ComboBox*>(m_pWindow.get())->SetDropDownLineCount(nLines);
            }
            else
                static_cast<ComboBox*>(m_pWindow)->SetDropDownLineCount(5);
                static_cast<ComboBox*>(m_pWindow.get())->SetDropDownLineCount(5);

        }   break;
        default:
@@ -2834,7 +2831,7 @@ void DbFilterField::Init( vcl::Window& rParent, const Reference< XRowSet >& xCur
    DbCellControl::Init( rParent, xCursor );

    // filter cells are never readonly
    Edit* pAsEdit = dynamic_cast< Edit* >( m_pWindow );
    Edit* pAsEdit = dynamic_cast< Edit* >( m_pWindow.get() );
    if ( pAsEdit )
        pAsEdit->SetReadOnly( false );
}
@@ -2846,19 +2843,19 @@ CellControllerRef DbFilterField::CreateController() const
    switch (m_nControlClass)
    {
        case ::com::sun::star::form::FormComponentType::CHECKBOX:
            xController = new CheckBoxCellController(static_cast<CheckBoxControl*>(m_pWindow));
            xController = new CheckBoxCellController(static_cast<CheckBoxControl*>(m_pWindow.get()));
            break;
        case ::com::sun::star::form::FormComponentType::LISTBOX:
            xController = new ListBoxCellController(static_cast<ListBoxControl*>(m_pWindow));
            xController = new ListBoxCellController(static_cast<ListBoxControl*>(m_pWindow.get()));
            break;
        case ::com::sun::star::form::FormComponentType::COMBOBOX:
            xController = new ComboBoxCellController(static_cast<ComboBoxControl*>(m_pWindow));
            xController = new ComboBoxCellController(static_cast<ComboBoxControl*>(m_pWindow.get()));
            break;
        default:
            if (m_bFilterList)
                xController = new ComboBoxCellController(static_cast<ComboBoxControl*>(m_pWindow));
                xController = new ComboBoxCellController(static_cast<ComboBoxControl*>(m_pWindow.get()));
            else
                xController = new EditCellController(static_cast<Edit*>(m_pWindow));
                xController = new EditCellController(static_cast<Edit*>(m_pWindow.get()));
    }
    return xController;
}
@@ -2884,9 +2881,9 @@ bool DbFilterField::commitControl()
            return true;
        case ::com::sun::star::form::FormComponentType::LISTBOX:
            aText.clear();
            if (static_cast<ListBox*>(m_pWindow)->GetSelectEntryCount())
            if (static_cast<ListBox*>(m_pWindow.get())->GetSelectEntryCount())
            {
                sal_Int16 nPos = (sal_Int16)static_cast<ListBox*>(m_pWindow)->GetSelectEntryPos();
                sal_Int16 nPos = (sal_Int16)static_cast<ListBox*>(m_pWindow.get())->GetSelectEntryPos();
                if ( ( nPos >= 0 ) && ( nPos < m_aValueList.getLength() ) )
                    aText = m_aValueList.getConstArray()[nPos];
            }
@@ -2967,16 +2964,16 @@ void DbFilterField::SetText(const OUString& rText)
            else
                eState = TRISTATE_INDET;

            static_cast<CheckBoxControl*>(m_pWindow)->GetBox().SetState(eState);
            static_cast<CheckBoxControl*>(m_pPainter)->GetBox().SetState(eState);
            static_cast<CheckBoxControl*>(m_pWindow.get())->GetBox().SetState(eState);
            static_cast<CheckBoxControl*>(m_pPainter.get())->GetBox().SetState(eState);
        }   break;
        case ::com::sun::star::form::FormComponentType::LISTBOX:
        {
            Sequence<sal_Int16> aPosSeq = ::comphelper::findValue(m_aValueList, m_aText, true);
            if (aPosSeq.getLength())
                static_cast<ListBox*>(m_pWindow)->SelectEntryPos(aPosSeq.getConstArray()[0], true);
                static_cast<ListBox*>(m_pWindow.get())->SelectEntryPos(aPosSeq.getConstArray()[0], true);
            else
                static_cast<ListBox*>(m_pWindow)->SetNoSelection();
                static_cast<ListBox*>(m_pWindow.get())->SetNoSelection();
        }   break;
        default:
            m_pWindow->SetText(m_aText);
@@ -3099,7 +3096,7 @@ void DbFilterField::Update()
            // filling the entries for the combobox
            for (::std::vector< OUString >::const_iterator iter = aStringList.begin();
                 iter != aStringList.end(); ++iter)
                static_cast<ComboBox*>(m_pWindow)->InsertEntry(*iter, LISTBOX_APPEND);
                static_cast<ComboBox*>(m_pWindow.get())->InsertEntry(*iter, LISTBOX_APPEND);
        }
    }
}
@@ -3119,7 +3116,7 @@ void DbFilterField::UpdateFromField(const Reference< XColumn >& /*_rxField*/, co

IMPL_LINK_NOARG(DbFilterField, OnClick)
{
    TriState eState = static_cast<CheckBoxControl*>(m_pWindow)->GetBox().GetState();
    TriState eState = static_cast<CheckBoxControl*>(m_pWindow.get())->GetBox().GetState();
    OUString aText;

    switch (eState)
diff --git a/svx/source/fmcomp/gridctrl.cxx b/svx/source/fmcomp/gridctrl.cxx
index 89caf26..21ba11a 100644
--- a/svx/source/fmcomp/gridctrl.cxx
+++ b/svx/source/fmcomp/gridctrl.cxx
@@ -88,7 +88,7 @@ using namespace com::sun::star::accessibility;

class RowSetEventListener : public ::cppu::WeakImplHelper1<XRowsChangeListener>
{
    DbGridControl* m_pControl;
    VclPtr<DbGridControl> m_pControl;
public:
    RowSetEventListener(DbGridControl* i_pControl) : m_pControl(i_pControl)
    {
@@ -250,10 +250,10 @@ bool CompareBookmark(const Any& aLeft, const Any& aRight)

class FmXGridSourcePropListener : public ::comphelper::OPropertyChangeListener
{
    DbGridControl* m_pParent;
    VclPtr<DbGridControl> m_pParent;

    // a DbGridControl has no mutex, so we use our own as the base class expects one
    osl::Mutex      m_aMutex;
    osl::Mutex          m_aMutex;
    sal_Int16           m_nSuspended;

public:
diff --git a/svx/source/form/datanavi.cxx b/svx/source/form/datanavi.cxx
index c09637e..b6823a2 100644
--- a/svx/source/form/datanavi.cxx
+++ b/svx/source/form/datanavi.cxx
@@ -148,6 +148,7 @@ namespace svxform
    void DataTreeListBox::dispose()
    {
        DeleteAndClear();
        m_pXFormsPage.clear();
        SvTreeListBox::dispose();
    }

@@ -374,6 +375,19 @@ namespace svxform
        ItemSelectHdl( m_pItemList );
    }

    XFormsPage::~XFormsPage()
    {
        dispose();
    }

    void XFormsPage::dispose()
    {
        m_pToolBox.clear();
        m_pItemList.clear();
        m_pNaviWin.clear();
        TabPage::dispose();
    }

    IMPL_LINK_NOARG(XFormsPage, TbxSelectHdl)
    {
        DoToolBoxAction( m_pToolBox->GetCurItemId() );
@@ -1418,16 +1432,10 @@ namespace svxform
        aAny <<= m_bShowDetails;
        aViewOpt.SetUserItem(CFGNAME_SHOWDETAILS,aAny);

        delete m_pInstPage;
        m_pInstPage = NULL;
        delete m_pSubmissionPage;
        m_pSubmissionPage = NULL;
        delete m_pBindingPage;
        m_pBindingPage = NULL;
        m_pInstPage.clear();
        m_pSubmissionPage.clear();
        m_pBindingPage.clear();

        sal_Int32 i, nCount = m_aPageList.size();
        for ( i = 0; i < nCount; ++i )
            delete m_aPageList[i];
        m_aPageList.clear();

        Reference< XFrameActionListener > xListener(
@@ -1436,6 +1444,10 @@ namespace svxform
        RemoveBroadcaster();
        m_xDataListener.clear();
        disposeBuilder();
        m_pModelsBox.clear();
        m_pModelBtn.clear();
        m_pTabCtrl.clear();
        m_pInstanceBtn.clear();
        vcl::Window::dispose();
    }

@@ -1712,7 +1724,7 @@ namespace svxform
                        }
                        else
                        {
                            DELETEZ( m_pInstPage );
                            m_pInstPage.clear();
                            bDoRemove = true;
                        }

@@ -2244,7 +2256,7 @@ namespace svxform
        pWindow = new DataNavigator( _pBindings, this, _pParent );
        eChildAlignment = SfxChildAlignment::RIGHT;
        pWindow->SetSizePixel( Size( 250, 400 ) );
        static_cast<SfxDockingWindow*>(pWindow)->Initialize( _pInfo );
        static_cast<SfxDockingWindow*>(pWindow.get())->Initialize( _pInfo );
    }

    AddDataItemDialog::AddDataItemDialog(vcl::Window* pParent, ItemNode* _pNode,
@@ -2316,6 +2328,26 @@ namespace svxform
            // remove binding, if it does not convey 'useful' information
            m_xUIHelper->removeBindingIfUseless( m_xBinding );
        }
        m_pItemFrame.clear();
        m_pNameFT.clear();
        m_pNameED.clear();
        m_pDefaultFT.clear();
        m_pDefaultED.clear();
        m_pDefaultBtn.clear();
        m_pSettingsFrame.clear();
        m_pDataTypeFT.clear();
        m_pDataTypeLB.clear();
        m_pRequiredCB.clear();
        m_pRequiredBtn.clear();
        m_pRelevantCB.clear();
        m_pRelevantBtn.clear();
        m_pConstraintCB.clear();
        m_pConstraintBtn.clear();
        m_pReadonlyCB.clear();
        m_pReadonlyBtn.clear();
        m_pCalculateCB.clear();
        m_pCalculateBtn.clear();
        m_pOKBtn.clear();
        ModalDialog::dispose();
    }

@@ -2785,6 +2817,19 @@ namespace svxform
        ResultHdl( &m_aResultIdle );
    }

    AddConditionDialog::~AddConditionDialog()
    {
        dispose();
    }

    void AddConditionDialog::dispose()
    {
        m_pConditionED.clear();
        m_pResultWin.clear();
        m_pEditNamespacesBtn.clear();
        m_pOKBtn.clear();
        ModalDialog::dispose();
    }

    IMPL_LINK_NOARG(AddConditionDialog, EditHdl)
    {
@@ -2903,7 +2948,12 @@ namespace svxform

    void NamespaceItemDialog::dispose()
    {
        delete m_pNamespacesList;
        m_pNamespacesList.clear();
        m_pAddNamespaceBtn.clear();
        m_pEditNamespaceBtn.clear();
        m_pDeleteNamespaceBtn.clear();
        m_pOKBtn.clear();
        m_pConditionDlg.clear();
        ModalDialog::dispose();
    }

@@ -3045,6 +3095,19 @@ namespace svxform
        m_pOKBtn->SetClickHdl( LINK( this, ManageNamespaceDialog, OKHdl ) );
    }

    ManageNamespaceDialog::~ManageNamespaceDialog()
    {
        dispose();
    }

    void ManageNamespaceDialog::dispose()
    {
        m_pOKBtn.clear();
        m_pPrefixED.clear();
        m_pUrlED.clear();
        m_pConditionDlg.clear();
        ModalDialog::dispose();
    }

    IMPL_LINK_NOARG(ManageNamespaceDialog, OKHdl)
    {
@@ -3103,6 +3166,14 @@ namespace svxform
        // #i38991# if we have added a binding, we need to remove it as well.
        if( m_xCreatedBinding.is() && m_xUIHelper.is() )
            m_xUIHelper->removeBindingIfUseless( m_xCreatedBinding );
        m_pNameED.clear();
        m_pActionED.clear();
        m_pMethodLB.clear();
        m_pRefED.clear();
        m_pRefBtn.clear();
        m_pBindLB.clear();
        m_pReplaceLB.clear();
        m_pOKBtn.clear();
        ModalDialog::dispose();
    }

@@ -3304,6 +3375,18 @@ namespace svxform
            SetText(get<FixedText>("alttitle")->GetText());
    }

    AddModelDialog::~AddModelDialog()
    {
        dispose();
    }

    void AddModelDialog::dispose()
    {
        m_pNameED.clear();
        m_pModifyCB.clear();
        ModalDialog::dispose();
    }

    AddInstanceDialog::AddInstanceDialog(vcl::Window* pParent, bool _bEdit)
        : ModalDialog(pParent, "AddInstanceDialog" , "svx/ui/addinstancedialog.ui")
    {
@@ -3323,6 +3406,20 @@ namespace svxform
        m_sAllFilterName = ResId(STR_FILTERNAME_ALL, *ResMgr::CreateResMgr("fps_office")).toString();
    }

    AddInstanceDialog::~AddInstanceDialog()
    {
        dispose();
    }

    void AddInstanceDialog::dispose()
    {
        m_pNameED.clear();
        m_pURLFT.clear();
        m_pURLED.clear();
        m_pFilePickerBtn.clear();
        m_pLinkInstanceCB.clear();
        ModalDialog::dispose();
    }

    IMPL_LINK_NOARG(AddInstanceDialog, FilePickerHdl)
    {
diff --git a/svx/source/form/filtnav.cxx b/svx/source/form/filtnav.cxx
index d5a48f6..ccfce93 100644
--- a/svx/source/form/filtnav.cxx
+++ b/svx/source/form/filtnav.cxx
@@ -1872,7 +1872,7 @@ FmFilterNavigatorWin::~FmFilterNavigatorWin()

void FmFilterNavigatorWin::dispose()
{
    delete m_pNavigator;
    m_pNavigator.clear();
    SfxDockingWindow::dispose();
}

@@ -1996,7 +1996,7 @@ FmFilterNavigatorWinMgr::FmFilterNavigatorWinMgr( vcl::Window *_pParent, sal_uIn
{
    pWindow = new FmFilterNavigatorWin( _pBindings, this, _pParent );
    eChildAlignment = SfxChildAlignment::NOALIGNMENT;
    static_cast<SfxDockingWindow*>(pWindow)->Initialize( _pInfo );
    static_cast<SfxDockingWindow*>(pWindow.get())->Initialize( _pInfo );
}


diff --git a/svx/source/form/fmPropBrw.cxx b/svx/source/form/fmPropBrw.cxx
index f3a4326..caef3ef 100644
--- a/svx/source/form/fmPropBrw.cxx
+++ b/svx/source/form/fmPropBrw.cxx
@@ -85,11 +85,10 @@ FmPropBrwMgr::FmPropBrwMgr( vcl::Window* _pParent, sal_uInt16 _nId,
{
    pWindow = new FmPropBrw( ::comphelper::getProcessComponentContext(), _pBindings, this, _pParent, _pInfo );
    eChildAlignment = SfxChildAlignment::NOALIGNMENT;
    static_cast<SfxFloatingWindow*>(pWindow)->Initialize( _pInfo );
    static_cast<SfxFloatingWindow*>(pWindow.get())->Initialize( _pInfo );
}



const long STD_WIN_SIZE_X = 300;
const long STD_WIN_SIZE_Y = 350;

diff --git a/svx/source/form/fmexpl.cxx b/svx/source/form/fmexpl.cxx
index 49caf56b..635d53f 100644
--- a/svx/source/form/fmexpl.cxx
+++ b/svx/source/form/fmexpl.cxx
@@ -519,7 +519,7 @@ namespace svxform

    void NavigatorFrame::dispose()
    {
        delete m_pNavigatorTree;
        m_pNavigatorTree.clear();
        SfxDockingWindow::dispose();
    }

@@ -615,7 +615,7 @@ namespace svxform
    {
        pWindow = new NavigatorFrame( _pBindings, this, _pParent );
        eChildAlignment = SfxChildAlignment::NOALIGNMENT;
        static_cast<SfxDockingWindow*>(pWindow)->Initialize( _pInfo );
        static_cast<SfxDockingWindow*>(pWindow.get())->Initialize( _pInfo );
    }


diff --git a/svx/source/form/tabwin.cxx b/svx/source/form/tabwin.cxx
index 19a306d..942f95a 100644
--- a/svx/source/form/tabwin.cxx
+++ b/svx/source/form/tabwin.cxx
@@ -113,6 +113,17 @@ FmFieldWinListBox::FmFieldWinListBox( FmFieldWin* pParent )
    SetHighlightRange( );
}

FmFieldWinListBox::~FmFieldWinListBox()
{
    dispose();
}

void FmFieldWinListBox::dispose()
{
    pTabWin.clear();
    SvTreeListBox::dispose();
}


sal_Int8 FmFieldWinListBox::AcceptDrop( const AcceptDropEvent& /*rEvt*/ )
{
@@ -198,7 +209,7 @@ void FmFieldWin::dispose()
        m_pChangeListener->release();
        //  delete m_pChangeListener;
    }
    delete pListBox;
    pListBox.clear();
    delete pData;
    SfxFloatingWindow::dispose();
}
@@ -416,7 +427,7 @@ FmFieldWinMgr::FmFieldWinMgr(vcl::Window* _pParent, sal_uInt16 _nId,
    pWindow = new FmFieldWin(_pBindings, this, _pParent);
    SetHideNotDelete(true);
    eChildAlignment = SfxChildAlignment::NOALIGNMENT;
    static_cast<SfxFloatingWindow*>(pWindow)->Initialize( _pInfo );
    static_cast<SfxFloatingWindow*>(pWindow.get())->Initialize( _pInfo );
}


diff --git a/svx/source/form/xfm_addcondition.cxx b/svx/source/form/xfm_addcondition.cxx
index 8a0c275..a0da5da 100644
--- a/svx/source/form/xfm_addcondition.cxx
+++ b/svx/source/form/xfm_addcondition.cxx
@@ -158,7 +158,7 @@ namespace svxform
    {
        OAddConditionDialogBase::executedDialog( _nExecutionResult );
        if ( _nExecutionResult == RET_OK )
            m_sConditionValue = static_cast< AddConditionDialog* >( m_pDialog )->GetCondition();
            m_sConditionValue = static_cast< AddConditionDialog* >( m_pDialog.get() )->GetCondition();
    }


diff --git a/svx/source/gallery2/galbrws1.cxx b/svx/source/gallery2/galbrws1.cxx
index e245dee..e64bd9a 100644
--- a/svx/source/gallery2/galbrws1.cxx
+++ b/svx/source/gallery2/galbrws1.cxx
@@ -152,8 +152,7 @@ GalleryBrowser1::~GalleryBrowser1()
void GalleryBrowser1::dispose()
{
    EndListening( *mpGallery );
    delete mpThemes;
    mpThemes = NULL;
    mpThemes.clear();
    delete mpExchangeData;
    mpExchangeData = NULL;
    maNewTheme.disposeAndClear();
diff --git a/svx/source/gallery2/galbrws1.hxx b/svx/source/gallery2/galbrws1.hxx
index 1b24dd9..bda3bdc 100644
--- a/svx/source/gallery2/galbrws1.hxx
+++ b/svx/source/gallery2/galbrws1.hxx
@@ -81,7 +81,7 @@ class GalleryBrowser1 : public Control, SfxListener
private:

    VclPtr<GalleryButton>   maNewTheme;
    GalleryThemeListBox*    mpThemes;
    VclPtr<GalleryThemeListBox>  mpThemes;
    Gallery*                mpGallery;
    ExchangeData*           mpExchangeData;
    SfxItemSet*             mpThemePropsDlgItemSet;
diff --git a/svx/source/gallery2/galbrws2.cxx b/svx/source/gallery2/galbrws2.cxx
index 83849bf..15bfd36 100644
--- a/svx/source/gallery2/galbrws2.cxx
+++ b/svx/source/gallery2/galbrws2.cxx
@@ -110,10 +110,10 @@ class GalleryThemePopup : public ::cppu::WeakImplHelper1< css::frame::XStatusLis
private:
    const GalleryTheme* mpTheme;
    sal_uIntPtr         mnObjectPos;
    bool            mbPreview;
    bool                mbPreview;
    PopupMenu           maPopupMenu;
    PopupMenu           maBackgroundPopup;
    GalleryBrowser2*    mpBrowser;
    VclPtr<GalleryBrowser2> mpBrowser;

    typedef std::map< int, CommandInfo > CommandInfoMap;
    CommandInfoMap   m_aCommandInfo;
@@ -481,9 +481,9 @@ void GalleryBrowser2::dispose()
{
    maMiscOptions.RemoveListenerLink( LINK( this, GalleryBrowser2, MiscHdl ) );

    delete mpPreview;
    delete mpListView;
    delete mpIconView;
    mpPreview.clear();
    mpListView.clear();
    mpIconView.clear();

    if( mpCurTheme )
        mpGallery->ReleaseTheme( mpCurTheme, *this );
@@ -740,9 +740,9 @@ bool GalleryBrowser2::KeyInput( const KeyEvent& rKEvt, vcl::Window* pWindow )

void GalleryBrowser2::SelectTheme( const OUString& rThemeName )
{
    delete mpIconView, mpIconView = NULL;
    delete mpListView, mpListView = NULL;
    delete mpPreview, mpPreview = NULL;
    mpIconView.clear();
    mpListView.clear();
    mpPreview.clear();

    if( mpCurTheme )
        mpGallery->ReleaseTheme( mpCurTheme, *this );
diff --git a/svx/source/inc/AccessibleFrameSelector.hxx b/svx/source/inc/AccessibleFrameSelector.hxx
index 62cf8cf..f1a5c91 100644
--- a/svx/source/inc/AccessibleFrameSelector.hxx
+++ b/svx/source/inc/AccessibleFrameSelector.hxx
@@ -34,6 +34,7 @@
#include <cppuhelper/interfacecontainer.hxx>
#include <comphelper/accessibleeventnotifier.hxx>
#include <svx/framebordertype.hxx>
#include <vcl/vclptr.hxx>

class VclSimpleEvent;
class VclWindowEvent;
@@ -109,7 +110,7 @@ private:
    void                IsValid() throw (::com::sun::star::uno::RuntimeException);
    void                RemoveFrameSelEventListener();

    FrameSelector*      mpFrameSel;
    VclPtr<FrameSelector>  mpFrameSel;
    ::osl::Mutex        maFocusMutex;
    ::osl::Mutex        maPropertyMutex;

diff --git a/svx/source/inc/GraphCtlAccessibleContext.hxx b/svx/source/inc/GraphCtlAccessibleContext.hxx
index 1c0955c..accef9c 100644
--- a/svx/source/inc/GraphCtlAccessibleContext.hxx
+++ b/svx/source/inc/GraphCtlAccessibleContext.hxx
@@ -225,7 +225,7 @@ private:
    typedef ::std::map< const SdrObject*, ::accessibility::AccessibleShape*, SdrObjectCompareLess > ShapesMapType;
    ShapesMapType mxShapes;

    GraphCtrl*  mpControl;
    VclPtr<GraphCtrl>  mpControl;

    SdrModel* mpModel;
    SdrPage* mpPage;
diff --git a/svx/source/inc/charmapacc.hxx b/svx/source/inc/charmapacc.hxx
index cc964f8..1c09cfc 100644
--- a/svx/source/inc/charmapacc.hxx
+++ b/svx/source/inc/charmapacc.hxx
@@ -40,7 +40,7 @@ namespace svx
    class SvxShowCharSetVirtualAcc : public ::comphelper::OAccessibleComponentHelper,
                                     public OAccessibleHelper_Base_2
    {
        SvxShowCharSet*     mpParent; // the vcl control
        VclPtr<SvxShowCharSet>     mpParent; // the vcl control
        SvxShowCharSetAcc*  m_pTable; // the table, which holds the characters shown by the vcl control
        ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > m_xAcc; // the ref to the table
    protected:
diff --git a/svx/source/inc/datalistener.hxx b/svx/source/inc/datalistener.hxx
index 875a7d5..32132b2 100644
--- a/svx/source/inc/datalistener.hxx
+++ b/svx/source/inc/datalistener.hxx
@@ -23,6 +23,7 @@
#include <com/sun/star/container/XContainerListener.hpp>
#include <com/sun/star/frame/XFrameActionListener.hpp>
#include <com/sun/star/xml/dom/events/XEventListener.hpp>
#include <vcl/vclptr.hxx>


namespace svxform
@@ -39,7 +40,7 @@ namespace svxform
    class DataListener : public DataListener_t
    {
    private:
        DataNavigatorWindow*        m_pNaviWin;
        VclPtr<DataNavigatorWindow>        m_pNaviWin;

    public:
        DataListener( DataNavigatorWindow* pNaviWin );
diff --git a/svx/source/inc/datanavi.hxx b/svx/source/inc/datanavi.hxx
index 9c54186..b2b605d 100644
--- a/svx/source/inc/datanavi.hxx
+++ b/svx/source/inc/datanavi.hxx
@@ -115,7 +115,7 @@ namespace svxform
    class DataTreeListBox : public SvTreeListBox
    {
    private:
        XFormsPage*             m_pXFormsPage;
        VclPtr<XFormsPage>      m_pXFormsPage;
        DataGroupType           m_eGroup;
        sal_uInt16              m_nAddId;
        sal_uInt16              m_nAddElementId;
@@ -250,8 +250,8 @@ namespace svxform
        MethodString                m_aMethodString;
        ReplaceString               m_aReplaceString;

        ToolBox                     *m_pToolBox;
        DataTreeListBox             *m_pItemList;
        VclPtr<ToolBox>             m_pToolBox;
        VclPtr<DataTreeListBox>     m_pItemList;
        sal_uInt16                  m_nAddId;
        sal_uInt16                  m_nAddElementId;
        sal_uInt16                  m_nAddAttributeId;
@@ -260,7 +260,7 @@ namespace svxform

        XFormsUIHelper1_ref         m_xUIHelper;

        DataNavigatorWindow*        m_pNaviWin;
        VclPtr<DataNavigatorWindow> m_pNaviWin;
        bool                        m_bHasModel;
        DataGroupType               m_eGroup;
        ImageList                   m_TbxImageList;
@@ -289,6 +289,8 @@ namespace svxform

    public:
        XFormsPage( vcl::Window* pParent, DataNavigatorWindow* _pNaviWin, DataGroupType _eGroup );
        virtual ~XFormsPage();
        virtual void dispose() SAL_OVERRIDE;

        virtual void                Resize() SAL_OVERRIDE;

@@ -319,20 +321,20 @@ namespace svxform



    typedef std::vector< XFormsPage* >          PageList;
    typedef std::vector< VclPtr<XFormsPage> >   PageList;
    typedef ::rtl::Reference < DataListener >   DataListener_ref;

    class DataNavigatorWindow : public vcl::Window, public VclBuilderContainer
    {
    private:
        ListBox*                    m_pModelsBox;
        MenuButton*                 m_pModelBtn;
        TabControl*                 m_pTabCtrl;
        MenuButton*                 m_pInstanceBtn;
        VclPtr<ListBox>             m_pModelsBox;
        VclPtr<MenuButton>          m_pModelBtn;
        VclPtr<TabControl>          m_pTabCtrl;
        VclPtr<MenuButton>          m_pInstanceBtn;

        XFormsPage*                 m_pInstPage;
        XFormsPage*                 m_pSubmissionPage;
        XFormsPage*                 m_pBindingPage;
        VclPtr<XFormsPage>          m_pInstPage;
        VclPtr<XFormsPage>          m_pSubmissionPage;
        VclPtr<XFormsPage>          m_pBindingPage;

        sal_Int32                   m_nLastSelectedPos;
        bool                        m_bShowDetails;
@@ -424,30 +426,30 @@ namespace svxform
    {
    private:

        VclFrame*           m_pItemFrame;
        FixedText*          m_pNameFT;
        Edit*               m_pNameED;
        FixedText*          m_pDefaultFT;
        Edit*               m_pDefaultED;
        PushButton*         m_pDefaultBtn;
        VclPtr<VclFrame>    m_pItemFrame;
        VclPtr<FixedText>   m_pNameFT;
        VclPtr<Edit>        m_pNameED;
        VclPtr<FixedText>   m_pDefaultFT;
        VclPtr<Edit>        m_pDefaultED;
        VclPtr<PushButton>  m_pDefaultBtn;

        VclFrame*           m_pSettingsFrame;
        VclPtr<VclFrame>    m_pSettingsFrame;

        FixedText*          m_pDataTypeFT;
        ListBox*            m_pDataTypeLB;
        VclPtr<FixedText>   m_pDataTypeFT;
        VclPtr<ListBox>     m_pDataTypeLB;

        CheckBox*           m_pRequiredCB;
        PushButton*         m_pRequiredBtn;
        CheckBox*           m_pRelevantCB;
        PushButton*         m_pRelevantBtn;
        CheckBox*           m_pConstraintCB;
        PushButton*         m_pConstraintBtn;
        CheckBox*           m_pReadonlyCB;
        PushButton*         m_pReadonlyBtn;
        CheckBox*           m_pCalculateCB;
        PushButton*         m_pCalculateBtn;
        VclPtr<CheckBox>    m_pRequiredCB;
        VclPtr<PushButton>  m_pRequiredBtn;
        VclPtr<CheckBox>    m_pRelevantCB;
        VclPtr<PushButton>  m_pRelevantBtn;
        VclPtr<CheckBox>    m_pConstraintCB;
        VclPtr<PushButton>  m_pConstraintBtn;
        VclPtr<CheckBox>    m_pReadonlyCB;
        VclPtr<PushButton>  m_pReadonlyBtn;
        VclPtr<CheckBox>    m_pCalculateCB;
        VclPtr<PushButton>  m_pCalculateBtn;

        OKButton*           m_pOKBtn;
        VclPtr<OKButton>    m_pOKBtn;

        XFormsUIHelper1_ref m_xUIHelper;
        XPropertySet_ref    m_xBinding;
@@ -481,13 +483,13 @@ namespace svxform
    class AddConditionDialog : public ModalDialog
    {
    private:
        VclMultiLineEdit*       m_pConditionED;
        VclMultiLineEdit*       m_pResultWin;
        PushButton*             m_pEditNamespacesBtn;
        OKButton*               m_pOKBtn;
        VclPtr<VclMultiLineEdit>       m_pConditionED;
        VclPtr<VclMultiLineEdit>       m_pResultWin;
        VclPtr<PushButton>             m_pEditNamespacesBtn;
        VclPtr<OKButton>               m_pOKBtn;

        Idle                    m_aResultIdle;
        OUString         m_sPropertyName;
        OUString                m_sPropertyName;

        XFormsUIHelper1_ref     m_xUIHelper;
        XPropertySet_ref        m_xBinding;
@@ -500,6 +502,8 @@ namespace svxform
    public:
        AddConditionDialog(vcl::Window* pParent,
            const OUString& _rPropertyName, const XPropertySet_ref& _rBinding);
        virtual ~AddConditionDialog();
        virtual void dispose() SAL_OVERRIDE;

        XFormsUIHelper1_ref GetUIHelper() const { return m_xUIHelper; }
        OUString GetCondition() const { return m_pConditionED->GetText(); }
@@ -516,13 +520,13 @@ namespace svxform
    private:
        typedef std::vector< OUString > PrefixList;

        SvSimpleTable*      m_pNamespacesList;
        PushButton*         m_pAddNamespaceBtn;
        PushButton*         m_pEditNamespaceBtn;
        PushButton*         m_pDeleteNamespaceBtn;
        OKButton*           m_pOKBtn;
        VclPtr<SvSimpleTable>      m_pNamespacesList;
        VclPtr<PushButton>         m_pAddNamespaceBtn;
        VclPtr<PushButton>         m_pEditNamespaceBtn;
        VclPtr<PushButton>         m_pDeleteNamespaceBtn;
        VclPtr<OKButton>           m_pOKBtn;

        AddConditionDialog* m_pConditionDlg;
        VclPtr<AddConditionDialog> m_pConditionDlg;
        PrefixList          m_aRemovedList;

        XNameContainer_ref& m_rNamespaces;
@@ -543,16 +547,18 @@ namespace svxform
    class ManageNamespaceDialog : public ModalDialog
    {
    private:
        Edit*               m_pPrefixED;
        Edit*               m_pUrlED;
        OKButton*           m_pOKBtn;
        VclPtr<Edit>               m_pPrefixED;
        VclPtr<Edit>               m_pUrlED;
        VclPtr<OKButton>           m_pOKBtn;

        AddConditionDialog* m_pConditionDlg;
        VclPtr<AddConditionDialog> m_pConditionDlg;

        DECL_LINK(OKHdl, void *);

    public:
        ManageNamespaceDialog(vcl::Window* pParent, AddConditionDialog* _pCondDlg, bool bIsEdit);
        virtual ~ManageNamespaceDialog();
        virtual void dispose() SAL_OVERRIDE;

        void SetNamespace(const OUString& _rPrefix, const OUString& _rURL)
        {
@@ -570,15 +576,15 @@ namespace svxform
        MethodString        m_aMethodString;
        ReplaceString       m_aReplaceString;

        Edit*               m_pNameED;
        Edit*               m_pActionED;
        ListBox*            m_pMethodLB;
        Edit*               m_pRefED;
        PushButton*         m_pRefBtn;
        ListBox*            m_pBindLB;
        ListBox*            m_pReplaceLB;
        VclPtr<Edit>        m_pNameED;
        VclPtr<Edit>        m_pActionED;
        VclPtr<ListBox>     m_pMethodLB;
        VclPtr<Edit>        m_pRefED;
        VclPtr<PushButton>  m_pRefBtn;
        VclPtr<ListBox>     m_pBindLB;
        VclPtr<ListBox>     m_pReplaceLB;

        OKButton*           m_pOKBtn;
        VclPtr<OKButton>    m_pOKBtn;

        ItemNode*           m_pItemNode;

@@ -606,11 +612,13 @@ namespace svxform
    class AddModelDialog : public ModalDialog
    {
    private:
        Edit* m_pNameED;
        CheckBox* m_pModifyCB;
        VclPtr<Edit>     m_pNameED;
        VclPtr<CheckBox> m_pModifyCB;

    public:
        AddModelDialog( vcl::Window* pParent, bool _bEdit );
        virtual ~AddModelDialog();
        virtual void dispose() SAL_OVERRIDE;

        OUString         GetName() const { return m_pNameED->GetText(); }
        void             SetName( const OUString& _rName ) { m_pNameED->SetText( _rName );}
@@ -623,11 +631,11 @@ namespace svxform
    class AddInstanceDialog : public ModalDialog
    {
    private:
        Edit*                   m_pNameED;
        FixedText*              m_pURLFT;
        SvtURLBox*              m_pURLED;
        PushButton*             m_pFilePickerBtn;
        CheckBox*               m_pLinkInstanceCB;
        VclPtr<Edit>                   m_pNameED;
        VclPtr<FixedText>              m_pURLFT;
        VclPtr<SvtURLBox>              m_pURLED;
        VclPtr<PushButton>             m_pFilePickerBtn;
        VclPtr<CheckBox>               m_pLinkInstanceCB;

        OUString                m_sAllFilterName;

@@ -635,6 +643,8 @@ namespace svxform

    public:
        AddInstanceDialog( vcl::Window* pParent, bool _bEdit );
        virtual ~AddInstanceDialog();
        virtual void dispose() SAL_OVERRIDE;

        void SetRenameMode()
        {
diff --git a/svx/source/inc/docrecovery.hxx b/svx/source/inc/docrecovery.hxx
index 216ca9e..326260e 100644
--- a/svx/source/inc/docrecovery.hxx
+++ b/svx/source/inc/docrecovery.hxx
@@ -319,7 +319,7 @@ class PluginProgress : public ::cppu::WeakImplHelper2< css::task::XStatusIndicat

        css::uno::Reference< css::task::XStatusIndicator > m_xProgress;

        PluginProgressWindow* m_pPlugProgressWindow;
        VclPtr<PluginProgressWindow> m_pPlugProgressWindow;


    // native interface
@@ -370,9 +370,9 @@ class SaveDialog : public Dialog
{
    // member
    private:
        FixedText*      m_pTitleFT;
        ListBox*        m_pFileListLB;
        OKButton*       m_pOkBtn;
        VclPtr<FixedText>      m_pTitleFT;
        VclPtr<ListBox>        m_pFileListLB;
        VclPtr<OKButton>       m_pOkBtn;
        RecoveryCore*   m_pCore;

    // interface
@@ -393,6 +393,8 @@ class SaveDialog : public Dialog
                    which should be shown inside this dialog.
         */
        SaveDialog(vcl::Window* pParent, RecoveryCore* pCore);
        virtual ~SaveDialog();
        virtual void dispose() SAL_OVERRIDE;

        DECL_LINK(OKButtonHdl, void*);
};
@@ -402,7 +404,7 @@ class SaveProgressDialog : public ModalDialog
{
    // member
    private:
        vcl::Window*       m_pProgrParent;
        VclPtr<vcl::Window>       m_pProgrParent;

        // @short   TODO
        RecoveryCore* m_pCore;
@@ -426,6 +428,8 @@ class SaveProgressDialog : public ModalDialog
         */
        SaveProgressDialog(vcl::Window*       pParent,
                           RecoveryCore* pCore  );
        virtual ~SaveProgressDialog();
        virtual void dispose() SAL_OVERRIDE;

        /** @short  start the emergency save operation. */
        virtual short Execute() SAL_OVERRIDE;
@@ -493,12 +497,12 @@ class RecoveryDialog : public Dialog
{
    // member
    private:
        FixedText*      m_pTitleFT;
        FixedText*      m_pDescrFT;
        vcl::Window*         m_pProgrParent;
        RecovDocList*   m_pFileListLB;
        PushButton*     m_pNextBtn;
        PushButton*     m_pCancelBtn;
        VclPtr<FixedText>      m_pTitleFT;
        VclPtr<FixedText>      m_pDescrFT;
        VclPtr<vcl::Window>    m_pProgrParent;
        VclPtr<RecovDocList>   m_pFileListLB;
        VclPtr<PushButton>     m_pNextBtn;
        VclPtr<PushButton>     m_pCancelBtn;
        OUString        m_aTitleRecoveryInProgress;
        OUString        m_aRecoveryOnlyFinish;
        OUString        m_aRecoveryOnlyFinishDescr;
@@ -554,11 +558,11 @@ class BrokenRecoveryDialog : public ModalDialog

    // member
    private:
        ListBox         *m_pFileListLB;
        Edit            *m_pSaveDirED;
        PushButton      *m_pSaveDirBtn;
        PushButton        *m_pOkBtn;
        CancelButton    *m_pCancelBtn;
        VclPtr<ListBox>         m_pFileListLB;
        VclPtr<Edit>            m_pSaveDirED;
        VclPtr<PushButton>      m_pSaveDirBtn;
        VclPtr<PushButton>      m_pOkBtn;
        VclPtr<CancelButton>    m_pCancelBtn;

        OUString m_sSavePath;
        RecoveryCore*   m_pCore;
@@ -574,6 +578,8 @@ class BrokenRecoveryDialog : public ModalDialog
        BrokenRecoveryDialog(vcl::Window*       pParent        ,
                             RecoveryCore* pCore          ,
                             bool      bBeforeRecovery);
        virtual ~BrokenRecoveryDialog();
        virtual void dispose() SAL_OVERRIDE;


        /** @short TODO */
diff --git a/svx/source/inc/filtnav.hxx b/svx/source/inc/filtnav.hxx
index 0fbd751..966a0f8 100644
--- a/svx/source/inc/filtnav.hxx
+++ b/svx/source/inc/filtnav.hxx
@@ -316,7 +316,7 @@ private:
class FmFilterNavigatorWin : public SfxDockingWindow, public SfxControllerItem
{
private:
    FmFilterNavigator* m_pNavigator;
    VclPtr<FmFilterNavigator> m_pNavigator;

protected:
    virtual void Resize() SAL_OVERRIDE;
diff --git a/svx/source/inc/fmexch.hxx b/svx/source/inc/fmexch.hxx
index 5f77950..8c2c6b2 100644
--- a/svx/source/inc/fmexch.hxx
+++ b/svx/source/inc/fmexch.hxx
@@ -98,7 +98,7 @@ namespace svxform
    class SVX_DLLPUBLIC OLocalExchangeHelper
    {
    protected:
        vcl::Window*             m_pDragSource;
        VclPtr<vcl::Window> m_pDragSource;
        OLocalExchange*     m_pTransferable;

    public:
diff --git a/svx/source/inc/fmexpl.hxx b/svx/source/inc/fmexpl.hxx
index e5baf40..187cd75 100644
--- a/svx/source/inc/fmexpl.hxx
+++ b/svx/source/inc/fmexpl.hxx
@@ -556,7 +556,7 @@ namespace svxform
    class NavigatorFrame : public SfxDockingWindow, public SfxControllerItem
    {
    private:
        ::svxform::NavigatorTree* m_pNavigatorTree;
        VclPtr<::svxform::NavigatorTree> m_pNavigatorTree;

    protected:
        virtual void Resize() SAL_OVERRIDE;
diff --git a/svx/source/inc/fmvwimp.hxx b/svx/source/inc/fmvwimp.hxx
index bc725c1..31a6adc 100644
--- a/svx/source/inc/fmvwimp.hxx
+++ b/svx/source/inc/fmvwimp.hxx
@@ -45,6 +45,7 @@
#include <cppuhelper/implbase3.hxx>
#include <comphelper/uno3.hxx>
#include <rtl/ref.hxx>
#include <vcl/vclptr.hxx>

class SdrPageWindow;

@@ -93,7 +94,7 @@ class FormViewPageWindowAdapter : public FormViewPageWindowAdapter_Base
    ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer >                            m_xControlContainer;
    css::uno::Reference<css::uno::XComponentContext>                                                        m_xContext;
    FmXFormView*                m_pViewImpl;
    vcl::Window*                     m_pWindow;
    VclPtr<vcl::Window>         m_pWindow;

protected:
    virtual ~FormViewPageWindowAdapter();
diff --git a/svx/source/inc/gridcell.hxx b/svx/source/inc/gridcell.hxx
index 8d1ddf9..0df523f 100644
--- a/svx/source/inc/gridcell.hxx
+++ b/svx/source/inc/gridcell.hxx
@@ -214,8 +214,8 @@ private:

protected:
    DbGridColumn&               m_rColumn;
    vcl::Window*                     m_pPainter;
    vcl::Window*                     m_pWindow;
    VclPtr<vcl::Window>         m_pPainter;
    VclPtr<vcl::Window>         m_pWindow;

protected:
    // attribute access
@@ -946,8 +946,8 @@ class FmXCheckBoxCell : public FmXDataCell,
{
    ::cppu::OInterfaceContainerHelper   m_aItemListeners;
    ::cppu::OInterfaceContainerHelper   m_aActionListeners;
    OUString                     m_aActionCommand;
    CheckBox*                           m_pBox;
    OUString                            m_aActionCommand;
    VclPtr<CheckBox>                    m_pBox;

protected:
    virtual ~FmXCheckBoxCell();
@@ -991,7 +991,7 @@ class FmXListBoxCell    :public FmXTextCell
{
    ::cppu::OInterfaceContainerHelper   m_aItemListeners,
                                        m_aActionListeners;
    ListBox*                            m_pBox;
    VclPtr<ListBox>                     m_pBox;

protected:
    virtual ~FmXListBoxCell();
@@ -1046,7 +1046,7 @@ class FmXComboBoxCell   :public FmXTextCell
private:
    ::cppu::OInterfaceContainerHelper   m_aItemListeners,
                                        m_aActionListeners;
    ComboBox*                           m_pComboBox;
    VclPtr<ComboBox>                    m_pComboBox;

protected:
    virtual ~FmXComboBoxCell();
diff --git a/svx/source/inc/svxrectctaccessiblecontext.hxx b/svx/source/inc/svxrectctaccessiblecontext.hxx
index 2ef9590..8710163 100644
--- a/svx/source/inc/svxrectctaccessiblecontext.hxx
+++ b/svx/source/inc/svxrectctaccessiblecontext.hxx
@@ -46,6 +46,7 @@
#include <cppuhelper/implbase7.hxx>
#include <comphelper/servicehelper.hxx>
#include <svx/rectenum.hxx>
#include <vcl/vclptr.hxx>

namespace com { namespace sun { namespace star { namespace awt {
    struct Point;
@@ -266,7 +267,7 @@ private:
                                        mxParent;

    /// pointer to internal representation
    SvxRectCtl*                         mpRepr;
    VclPtr<SvxRectCtl>                  mpRepr;

    /// array for all possible children
    SvxRectCtlChildAccessibleContext**  mpChildren;
diff --git a/svx/source/inc/tabwin.hxx b/svx/source/inc/tabwin.hxx
index 67230a9..77c17dc 100644
--- a/svx/source/inc/tabwin.hxx
+++ b/svx/source/inc/tabwin.hxx
@@ -35,13 +35,15 @@ class FmFieldWin;
class FmFieldWinListBox
                    :public SvTreeListBox
{
    FmFieldWin* pTabWin;
    VclPtr<FmFieldWin> pTabWin;

protected:
//  virtual void Command( const CommandEvent& rEvt );

public:
    FmFieldWinListBox( FmFieldWin* pParent );
    virtual ~FmFieldWinListBox();
    virtual void dispose() SAL_OVERRIDE;

    sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt ) SAL_OVERRIDE;
    sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt ) SAL_OVERRIDE;
@@ -72,7 +74,7 @@ class FmFieldWin :public SfxFloatingWindow
                    ,public ::svxform::OStaticDataAccessTools
{
    ::osl::Mutex        m_aMutex;
    FmFieldWinListBox* pListBox;
    VclPtr<FmFieldWinListBox> pListBox;
    FmFieldWinData*    pData;
    ::svxform::SharedConnection
                       m_aConnection;
diff --git a/svx/source/inc/tbxform.hxx b/svx/source/inc/tbxform.hxx
index 12bccf1..0014ba6 100644
--- a/svx/source/inc/tbxform.hxx
+++ b/svx/source/inc/tbxform.hxx
@@ -104,7 +104,7 @@ public:

class SvxFmTbxCtlRecTotal : public SfxToolBoxControl
{
    FixedText* pFixedText;
    VclPtr<FixedText> pFixedText;

public:
    SFX_DECL_TOOLBOX_CONTROL();
diff --git a/svx/source/sidebar/area/AreaPropertyPanel.cxx b/svx/source/sidebar/area/AreaPropertyPanel.cxx
index 43cf9d5..5a66785 100644
--- a/svx/source/sidebar/area/AreaPropertyPanel.cxx
+++ b/svx/source/sidebar/area/AreaPropertyPanel.cxx
@@ -113,6 +113,23 @@ AreaPropertyPanel::AreaPropertyPanel(
}


AreaPropertyPanel::~AreaPropertyPanel()
{
    dispose();
}

void AreaPropertyPanel::dispose()
{
    mpColorTextFT.clear();
    mpLbFillType.clear();
    mpLbFillAttr.clear();
    mpToolBoxColor.clear();
    mpTrspTextFT.clear();
    mpLBTransType.clear();
    mpMTRTransparent.clear();
    mpBTNGradient.clear();
    PanelLayout::dispose();
}

void AreaPropertyPanel::Initialize()
{
diff --git a/svx/source/sidebar/area/AreaPropertyPanel.hxx b/svx/source/sidebar/area/AreaPropertyPanel.hxx
index aec98db..12243fd 100644
--- a/svx/source/sidebar/area/AreaPropertyPanel.hxx
+++ b/svx/source/sidebar/area/AreaPropertyPanel.hxx
@@ -35,6 +35,7 @@
#include <vcl/lstbox.hxx>
#include <vcl/field.hxx>
#include <vcl/fixed.hxx>
#include <vcl/vclptr.hxx>
#include <svl/intitem.hxx>
#include <com/sun/star/ui/XUIElement.hpp>
#include <boost/scoped_ptr.hpp>
@@ -53,6 +54,9 @@ class AreaPropertyPanel
    public ::sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface
{
public:
    virtual ~AreaPropertyPanel();
    virtual void dispose() SAL_OVERRIDE;

    static AreaPropertyPanel* Create(
        vcl::Window* pParent,
        const css::uno::Reference<css::frame::XFrame>& rxFrame,
@@ -96,14 +100,14 @@ private:
    XGradient                                           maGradientRect;

    //ui controls
    FixedText*                                          mpColorTextFT;
    SvxFillTypeBox*                                     mpLbFillType;
    SvxFillAttrBox*                                     mpLbFillAttr;
    ToolBox*                                            mpToolBoxColor; // for new color picker
    FixedText*                                          mpTrspTextFT;
    ListBox*                                            mpLBTransType;
    MetricField*                                        mpMTRTransparent;
    ToolBox*                                            mpBTNGradient;
    VclPtr<FixedText>                                          mpColorTextFT;
    VclPtr<SvxFillTypeBox>                                     mpLbFillType;
    VclPtr<SvxFillAttrBox>                                     mpLbFillAttr;
    VclPtr<ToolBox>                                            mpToolBoxColor; // for new color picker
    VclPtr<FixedText>                                          mpTrspTextFT;
    VclPtr<ListBox>                                            mpLBTransType;
    VclPtr<MetricField>                                        mpMTRTransparent;
    VclPtr<ToolBox>                                            mpBTNGradient;

    ::boost::scoped_ptr< XFillStyleItem >               mpStyleItem;
    ::boost::scoped_ptr< XFillColorItem >               mpColorItem;
diff --git a/svx/source/sidebar/graphic/GraphicPropertyPanel.cxx b/svx/source/sidebar/graphic/GraphicPropertyPanel.cxx
index b1e6075..98e26fb 100644
--- a/svx/source/sidebar/graphic/GraphicPropertyPanel.cxx
+++ b/svx/source/sidebar/graphic/GraphicPropertyPanel.cxx
@@ -66,6 +66,23 @@ GraphicPropertyPanel::GraphicPropertyPanel(
    Initialize();
}

GraphicPropertyPanel::~GraphicPropertyPanel()
{
    dispose();
}

void GraphicPropertyPanel::dispose()
{
    mpMtrBrightness.clear();
    mpMtrContrast.clear();
    mpLBColorMode.clear();
    mpMtrTrans.clear();
    mpMtrRed.clear();
    mpMtrGreen.clear();
    mpMtrBlue.clear();
    mpMtrGamma.clear();
    PanelLayout::dispose();
}


void GraphicPropertyPanel::Initialize()
diff --git a/svx/source/sidebar/graphic/GraphicPropertyPanel.hxx b/svx/source/sidebar/graphic/GraphicPropertyPanel.hxx
index 11cb228..691d45f 100644
--- a/svx/source/sidebar/graphic/GraphicPropertyPanel.hxx
+++ b/svx/source/sidebar/graphic/GraphicPropertyPanel.hxx
@@ -39,6 +39,9 @@ class GraphicPropertyPanel
    public ::sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface
{
public:
    virtual ~GraphicPropertyPanel();
    virtual void dispose() SAL_OVERRIDE;

    static GraphicPropertyPanel* Create(
        vcl::Window* pParent,
        const css::uno::Reference<css::frame::XFrame>& rxFrame,
@@ -57,14 +60,14 @@ public:

private:
    //ui controls
    MetricField*                                        mpMtrBrightness;
    MetricField*                                        mpMtrContrast;
    ListBox*                                            mpLBColorMode;
    MetricField*                                        mpMtrTrans;
    MetricField*                                        mpMtrRed;
    MetricField*                                        mpMtrGreen;
    MetricField*                                        mpMtrBlue;
    MetricField*                                        mpMtrGamma;
    VclPtr<MetricField>                                        mpMtrBrightness;
    VclPtr<MetricField>                                        mpMtrContrast;
    VclPtr<ListBox>                                            mpLBColorMode;
    VclPtr<MetricField>                                        mpMtrTrans;
    VclPtr<MetricField>                                        mpMtrRed;
    VclPtr<MetricField>                                        mpMtrGreen;
    VclPtr<MetricField>                                        mpMtrBlue;
    VclPtr<MetricField>                                        mpMtrGamma;

    ::sfx2::sidebar::ControllerItem                     maBrightControl;
    ::sfx2::sidebar::ControllerItem                     maContrastControl;
diff --git a/svx/source/sidebar/insert/InsertPropertyPanel.cxx b/svx/source/sidebar/insert/InsertPropertyPanel.cxx
index 70fae60..08f2dad 100644
--- a/svx/source/sidebar/insert/InsertPropertyPanel.cxx
+++ b/svx/source/sidebar/insert/InsertPropertyPanel.cxx
@@ -87,6 +87,8 @@ void InsertPropertyPanel::dispose()
    while (pTopWindow->GetParent() != NULL)
        pTopWindow = pTopWindow->GetParent();
    pTopWindow->RemoveChildEventListener(LINK(this, InsertPropertyPanel, WindowEventListener));
    mpStandardShapesToolBox.clear();
    mpCustomShapesToolBox.clear();
    PanelLayout::dispose();
}

@@ -124,13 +126,13 @@ IMPL_LINK(InsertPropertyPanel, WindowEventListener, VclSimpleEvent*, pEvent)
    if (nId == 0)
        return 1;

    SidebarToolBox* pSidebarToolBox = dynamic_cast<SidebarToolBox*>(mpStandardShapesToolBox);
    SidebarToolBox* pSidebarToolBox = dynamic_cast<SidebarToolBox*>(mpStandardShapesToolBox.get());
    if (pSidebarToolBox == NULL)
        return 1;
    sal_uInt16 nItemId (pSidebarToolBox->GetItemIdForSubToolbarName(aURL.Path));
    if (nItemId == 0)
    {
        pSidebarToolBox = dynamic_cast<SidebarToolBox*>(mpCustomShapesToolBox);
        pSidebarToolBox = dynamic_cast<SidebarToolBox*>(mpCustomShapesToolBox.get());
        if (pSidebarToolBox == NULL)
            return 1;
        nItemId = pSidebarToolBox->GetItemIdForSubToolbarName(aURL.Path);
diff --git a/svx/source/sidebar/insert/InsertPropertyPanel.hxx b/svx/source/sidebar/insert/InsertPropertyPanel.hxx
index 391b69f..2539695 100644
--- a/svx/source/sidebar/insert/InsertPropertyPanel.hxx
+++ b/svx/source/sidebar/insert/InsertPropertyPanel.hxx
@@ -45,8 +45,8 @@ public:
    virtual void dispose() SAL_OVERRIDE;

private:
    ToolBox*        mpStandardShapesToolBox;
    ToolBox*        mpCustomShapesToolBox;
    VclPtr<ToolBox>        mpStandardShapesToolBox;
    VclPtr<ToolBox>        mpCustomShapesToolBox;
    const css::uno::Reference<css::frame::XFrame> mxFrame;

    DECL_LINK(WindowEventListener, VclSimpleEvent*);
diff --git a/svx/source/sidebar/line/LinePropertyPanel.cxx b/svx/source/sidebar/line/LinePropertyPanel.cxx
index d830f33..f2c7a94 100644
--- a/svx/source/sidebar/line/LinePropertyPanel.cxx
+++ b/svx/source/sidebar/line/LinePropertyPanel.cxx
@@ -192,6 +192,29 @@ LinePropertyPanel::LinePropertyPanel(
    Initialize();
}

LinePropertyPanel::~LinePropertyPanel()
{
    dispose();
}

void LinePropertyPanel::dispose()
{
    mpFTWidth.clear();
    mpTBWidth.clear();
    mpFTStyle.clear();
    mpLBStyle.clear();
    mpFTTrancparency.clear();
    mpMFTransparent.clear();
    mpFTArrow.clear();
    mpLBStart.clear();
    mpLBEnd.clear();
    mpFTEdgeStyle.clear();
    mpLBEdgeStyle.clear();
    mpFTCapStyle.clear();
    mpLBCapStyle.clear();
    PanelLayout::dispose();
}

void LinePropertyPanel::Initialize()
{
    mpIMGWidthIcon.reset(new Image[8]);
diff --git a/svx/source/sidebar/line/LinePropertyPanel.hxx b/svx/source/sidebar/line/LinePropertyPanel.hxx
index 84354e4..2567a5e 100644
--- a/svx/source/sidebar/line/LinePropertyPanel.hxx
+++ b/svx/source/sidebar/line/LinePropertyPanel.hxx
@@ -60,6 +60,9 @@ class LinePropertyPanel : public PanelLayout,
                          public sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface
{
public:
    virtual ~LinePropertyPanel();
    virtual void dispose() SAL_OVERRIDE;

    static LinePropertyPanel* Create(
        vcl::Window* pParent,
        const css::uno::Reference<css::frame::XFrame>& rxFrame,
@@ -84,19 +87,19 @@ public:

private:
    //ui controls
    FixedText*   mpFTWidth;
    ToolBox*     mpTBWidth;
    FixedText*   mpFTStyle;
    ListBox*     mpLBStyle;
    FixedText*   mpFTTrancparency;
    MetricField* mpMFTransparent;
    FixedText*   mpFTArrow;
    ListBox*     mpLBStart;
    ListBox*     mpLBEnd;
    FixedText*   mpFTEdgeStyle;
    ListBox*     mpLBEdgeStyle;
    FixedText*   mpFTCapStyle;
    ListBox*     mpLBCapStyle;
    VclPtr<FixedText>   mpFTWidth;
    VclPtr<ToolBox>     mpTBWidth;
    VclPtr<FixedText>   mpFTStyle;
    VclPtr<ListBox>     mpLBStyle;
    VclPtr<FixedText>   mpFTTrancparency;
    VclPtr<MetricField> mpMFTransparent;
    VclPtr<FixedText>   mpFTArrow;
    VclPtr<ListBox>     mpLBStart;
    VclPtr<ListBox>     mpLBEnd;
    VclPtr<FixedText>   mpFTEdgeStyle;
    VclPtr<ListBox>     mpLBEdgeStyle;
    VclPtr<FixedText>   mpFTCapStyle;
    VclPtr<ListBox>     mpLBCapStyle;

    //ControllerItem
    sfx2::sidebar::ControllerItem maStyleControl;
diff --git a/svx/source/sidebar/paragraph/ParaLineSpacingControl.cxx b/svx/source/sidebar/paragraph/ParaLineSpacingControl.cxx
index 9f3fe4a..ccb0b24 100644
--- a/svx/source/sidebar/paragraph/ParaLineSpacingControl.cxx
+++ b/svx/source/sidebar/paragraph/ParaLineSpacingControl.cxx
@@ -62,7 +62,7 @@ ParaLineSpacingControl::ParaLineSpacingControl(sal_uInt16 nId)
    mpLineDistAtPercentBox = get<MetricField>("percent_box");
    mpLineDistAtMetricBox = get<MetricField>("metric_box");

    mpActLineDistFld = mpLineDistAtPercentBox;
    mpActLineDistFld = mpLineDistAtPercentBox.get();

    meLNSpaceUnit = SFX_MAPUNIT_100TH_MM;

@@ -92,6 +92,25 @@ ParaLineSpacingControl::ParaLineSpacingControl(sal_uInt16 nId)
    Initialize();
}

ParaLineSpacingControl::~ParaLineSpacingControl()
{
    dispose();
}

void ParaLineSpacingControl::dispose()
{
    mpActLineDistFld.clear();
    mpSpacing1Button.clear();
    mpSpacing115Button.clear();
    mpSpacing15Button.clear();
    mpSpacing2Button.clear();
    mpLineDist.clear();
    mpLineDistLabel.clear();
    mpLineDistAtPercentBox.clear();
    mpLineDistAtMetricBox.clear();
    SfxPopupWindow::dispose();
}

void ParaLineSpacingControl::Initialize()
{
    const SfxPoolItem* pItem;
@@ -241,7 +260,7 @@ void ParaLineSpacingControl::UpdateMetricFields()
        case LLINESPACE_DURCH:
            mpLineDistAtPercentBox->Hide();

            mpActLineDistFld = mpLineDistAtMetricBox;
            mpActLineDistFld = mpLineDistAtMetricBox.get();
            mpLineDistAtMetricBox->SetMin(0);

            if (mpLineDistAtMetricBox->GetText().isEmpty())
@@ -255,7 +274,7 @@ void ParaLineSpacingControl::UpdateMetricFields()
        case LLINESPACE_MIN:
            mpLineDistAtPercentBox->Hide();

            mpActLineDistFld = mpLineDistAtMetricBox;
            mpActLineDistFld = mpLineDistAtMetricBox.get();
            mpLineDistAtMetricBox->SetMin(0);

            if (mpLineDistAtMetricBox->GetText().isEmpty())
@@ -269,7 +288,7 @@ void ParaLineSpacingControl::UpdateMetricFields()
        case LLINESPACE_PROP:
            mpLineDistAtMetricBox->Hide();

            mpActLineDistFld = mpLineDistAtPercentBox;
            mpActLineDistFld = mpLineDistAtPercentBox.get();

            if (mpLineDistAtPercentBox->GetText().isEmpty())
                mpLineDistAtPercentBox->SetValue(mpLineDistAtPercentBox->Normalize(100), FUNIT_TWIP);
@@ -282,7 +301,7 @@ void ParaLineSpacingControl::UpdateMetricFields()
        case LLINESPACE_FIX:
            mpLineDistAtPercentBox->Hide();

            mpActLineDistFld = mpLineDistAtMetricBox;
            mpActLineDistFld = mpLineDistAtMetricBox.get();
            sal_Int64 nTemp = mpLineDistAtMetricBox->GetValue();
            mpLineDistAtMetricBox->SetMin(mpLineDistAtMetricBox->Normalize(MIN_FIXED_DISTANCE), FUNIT_TWIP);

diff --git a/svx/source/sidebar/paragraph/ParaLineSpacingControl.hxx b/svx/source/sidebar/paragraph/ParaLineSpacingControl.hxx
index cabcba5..d5609eb 100644
--- a/svx/source/sidebar/paragraph/ParaLineSpacingControl.hxx
+++ b/svx/source/sidebar/paragraph/ParaLineSpacingControl.hxx
@@ -30,22 +30,24 @@ class ParaLineSpacingControl : public SfxPopupWindow
{
public:
    ParaLineSpacingControl(sal_uInt16 nId);
    virtual ~ParaLineSpacingControl();
    virtual void dispose() SAL_OVERRIDE;

private:
    SfxMapUnit              meLNSpaceUnit;

    Edit*                   mpActLineDistFld;
    VclPtr<Edit>                   mpActLineDistFld;

    PushButton*             mpSpacing1Button;
    PushButton*             mpSpacing115Button;
    PushButton*             mpSpacing15Button;
    PushButton*             mpSpacing2Button;
    VclPtr<PushButton>             mpSpacing1Button;
    VclPtr<PushButton>             mpSpacing115Button;
    VclPtr<PushButton>             mpSpacing15Button;
    VclPtr<PushButton>             mpSpacing2Button;

    ListBox*                mpLineDist;
    VclPtr<ListBox>                mpLineDist;

    FixedText*              mpLineDistLabel;
    MetricField*            mpLineDistAtPercentBox;
    MetricField*            mpLineDistAtMetricBox;
    VclPtr<FixedText>              mpLineDistLabel;
    VclPtr<MetricField>            mpLineDistAtPercentBox;
    VclPtr<MetricField>            mpLineDistAtMetricBox;

private:
    /// Setup the widgets with values from the document.
diff --git a/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx b/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
index 93a7896..0c9759b 100644
--- a/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
+++ b/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
@@ -746,6 +746,26 @@ ParaPropertyPanel::ParaPropertyPanel(vcl::Window* pParent,
    m_aMetricCtl.RequestUpdate();
}

ParaPropertyPanel::~ParaPropertyPanel()
{
    dispose();
}

void ParaPropertyPanel::dispose()
{
    mpTBxVertAlign.clear();
    mpTBxNumBullet.clear();
    mpTBxBackColor.clear();
    mpTopDist.clear();
    mpBottomDist.clear();
    mpTbxIndent_IncDec.clear();
    mpTbxProDemote.clear();
    mpLeftIndent.clear();
    mpRightIndent.clear();
    mpFLineIndent.clear();
    PanelLayout::dispose();
}

} } // end of namespace svx::sidebar

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/sidebar/paragraph/ParaPropertyPanel.hxx b/svx/source/sidebar/paragraph/ParaPropertyPanel.hxx
index f49ce15..2b4d877 100644
--- a/svx/source/sidebar/paragraph/ParaPropertyPanel.hxx
+++ b/svx/source/sidebar/paragraph/ParaPropertyPanel.hxx
@@ -43,6 +43,9 @@ class ParaPropertyPanel
      public ::sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface
{
public:
    virtual ~ParaPropertyPanel();
    virtual void dispose() SAL_OVERRIDE;

    static ParaPropertyPanel* Create (
        vcl::Window* pParent,
        const css::uno::Reference<css::frame::XFrame>& rxFrame,
@@ -66,18 +69,18 @@ public:
private:
    // UI controls
    //Alignment
    ToolBox*            mpTBxVertAlign;
    VclPtr<ToolBox>            mpTBxVertAlign;
    //NumBullet&Backcolor
    ToolBox*            mpTBxNumBullet;
    ToolBox*            mpTBxBackColor;
    VclPtr<ToolBox>            mpTBxNumBullet;
    VclPtr<ToolBox>            mpTBxBackColor;
    //Paragraph spacing
    SvxRelativeField*   mpTopDist;
    SvxRelativeField*   mpBottomDist;
    ToolBox*            mpTbxIndent_IncDec;
    ToolBox*            mpTbxProDemote;
    SvxRelativeField*   mpLeftIndent;
    SvxRelativeField*   mpRightIndent;
    SvxRelativeField*   mpFLineIndent;
    VclPtr<SvxRelativeField>   mpTopDist;
    VclPtr<SvxRelativeField>   mpBottomDist;
    VclPtr<ToolBox>            mpTbxIndent_IncDec;
    VclPtr<ToolBox>            mpTbxProDemote;
    VclPtr<SvxRelativeField>   mpLeftIndent;
    VclPtr<SvxRelativeField>   mpRightIndent;
    VclPtr<SvxRelativeField>   mpFLineIndent;

    // Resources
    Image  maSpace3;
diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
index 6d4d5ea..24dfebd 100644
--- a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
+++ b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
@@ -115,6 +115,29 @@ PosSizePropertyPanel::PosSizePropertyPanel(
    mpBindings->Update( SID_ATTR_METRIC );
}

PosSizePropertyPanel::~PosSizePropertyPanel()
{
    dispose();
}

void PosSizePropertyPanel::dispose()
{
    mpFtPosX.clear();
    mpMtrPosX.clear();
    mpFtPosY.clear();
    mpMtrPosY.clear();
    mpFtWidth.clear();
    mpMtrWidth.clear();
    mpFtHeight.clear();
    mpMtrHeight.clear();
    mpCbxScale.clear();
    mpFtAngle.clear();
    mpMtrAngle.clear();
    mpDial.clear();
    mpFtFlip.clear();
    mpFlipTbx.clear();
    PanelLayout::dispose();
}


namespace
diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.hxx b/svx/source/sidebar/possize/PosSizePropertyPanel.hxx
index 2eb297d..d8a2685 100644
--- a/svx/source/sidebar/possize/PosSizePropertyPanel.hxx
+++ b/svx/source/sidebar/possize/PosSizePropertyPanel.hxx
@@ -50,6 +50,9 @@ class PosSizePropertyPanel
    public ::sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface
{
public:
    virtual ~PosSizePropertyPanel();
    virtual void dispose() SAL_OVERRIDE;

    static PosSizePropertyPanel* Create(
        vcl::Window* pParent,
        const css::uno::Reference<css::frame::XFrame>& rxFrame,
@@ -72,28 +75,28 @@ public:

private:
    //Position
    FixedText*        mpFtPosX;
    MetricField*      mpMtrPosX;
    FixedText*        mpFtPosY;
    MetricField*      mpMtrPosY;
    VclPtr<FixedText>        mpFtPosX;
    VclPtr<MetricField>      mpMtrPosX;
    VclPtr<FixedText>        mpFtPosY;
    VclPtr<MetricField>      mpMtrPosY;

    // size
    FixedText*        mpFtWidth;
    MetricField*      mpMtrWidth;
    FixedText*        mpFtHeight;
    MetricField*      mpMtrHeight;
    CheckBox*         mpCbxScale;
    VclPtr<FixedText>        mpFtWidth;
    VclPtr<MetricField>      mpMtrWidth;
    VclPtr<FixedText>        mpFtHeight;
    VclPtr<MetricField>      mpMtrHeight;
    VclPtr<CheckBox>         mpCbxScale;

    //rotation
    FixedText*        mpFtAngle;
    MetricBox*        mpMtrAngle;
    VclPtr<FixedText>        mpFtAngle;
    VclPtr<MetricBox>        mpMtrAngle;

    //rotation control
    SidebarDialControl*  mpDial;
    VclPtr<SidebarDialControl>  mpDial;

    //flip
    FixedText*        mpFtFlip;
    ToolBox*          mpFlipTbx;
    VclPtr<FixedText>        mpFtFlip;
    VclPtr<ToolBox>          mpFlipTbx;

    // Internal variables
    basegfx::B2DRange                       maRect;
diff --git a/svx/source/sidebar/text/TextPropertyPanel.cxx b/svx/source/sidebar/text/TextPropertyPanel.cxx
index ee30483..667bb91 100644
--- a/svx/source/sidebar/text/TextPropertyPanel.cxx
+++ b/svx/source/sidebar/text/TextPropertyPanel.cxx
@@ -114,6 +114,21 @@ TextPropertyPanel::TextPropertyPanel ( vcl::Window* pParent, const css::uno::Ref
    mlKerning = 0;
}

TextPropertyPanel::~TextPropertyPanel()
{
    dispose();
}

void TextPropertyPanel::dispose()
{
    mpToolBoxFont.clear();
    mpToolBoxIncDec.clear();
    mpToolBoxSpacing.clear();
    mpToolBoxFontColorSw.clear();
    mpToolBoxFontColor.clear();
    PanelLayout::dispose();
}

void TextPropertyPanel::HandleContextChange (
    const ::sfx2::sidebar::EnumContext& rContext)
{
diff --git a/svx/source/sidebar/text/TextPropertyPanel.hxx b/svx/source/sidebar/text/TextPropertyPanel.hxx
index 87b12dc..a5f295f 100644
--- a/svx/source/sidebar/text/TextPropertyPanel.hxx
+++ b/svx/source/sidebar/text/TextPropertyPanel.hxx
@@ -46,6 +46,9 @@ class TextPropertyPanel
      public ::sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface
{
public:
    virtual ~TextPropertyPanel();
    virtual void dispose() SAL_OVERRIDE;

    static TextPropertyPanel* Create (
        vcl::Window* pParent,
        const css::uno::Reference<css::frame::XFrame>& rxFrame,
@@ -73,11 +76,11 @@ public:

private:
    //ui controls
    ToolBox* mpToolBoxFont;
    ToolBox* mpToolBoxIncDec;
    ToolBox* mpToolBoxSpacing;
    ToolBox* mpToolBoxFontColorSw;
    ToolBox* mpToolBoxFontColor;
    VclPtr<ToolBox> mpToolBoxFont;
    VclPtr<ToolBox> mpToolBoxIncDec;
    VclPtr<ToolBox> mpToolBoxSpacing;
    VclPtr<ToolBox> mpToolBoxFontColorSw;
    VclPtr<ToolBox> mpToolBoxFontColor;

    //control items
    ::sfx2::sidebar::ControllerItem maFontSizeControl;
diff --git a/svx/source/sidebar/tools/Popup.cxx b/svx/source/sidebar/tools/Popup.cxx
index 18109ec..91301c8 100644
--- a/svx/source/sidebar/tools/Popup.cxx
+++ b/svx/source/sidebar/tools/Popup.cxx
@@ -36,7 +36,7 @@ Popup::Popup (
      msAccessibleName(rsAccessibleName),
      mxContainer()
{
    OSL_ASSERT(mpParent!=NULL);
    OSL_ASSERT(mpParent!=nullptr);
    OSL_ASSERT(maControlCreator);
}

@@ -94,8 +94,8 @@ void Popup::SetPopupModeEndHandler (const ::boost::function<void(void)>& rCallba
void Popup::ProvideContainerAndControl (void)
{
    if ( ! (mxContainer && mxControl)
        && mpParent!=NULL
        && maControlCreator)
         && mpParent != nullptr
         && maControlCreator)
    {
        CreateContainerAndControl();
    }
diff --git a/svx/source/svdraw/sdrpaintwindow.cxx b/svx/source/svdraw/sdrpaintwindow.cxx
index 8692c53..22e4167 100644
--- a/svx/source/svdraw/sdrpaintwindow.cxx
+++ b/svx/source/svdraw/sdrpaintwindow.cxx
@@ -33,8 +33,8 @@
//sibling after that is going to fail hard
class CandidateMgr
{
    std::vector<vcl::Window*> m_aCandidates;
    std::set<vcl::Window*> m_aDeletedCandidates;
    std::vector<VclPtr<vcl::Window> > m_aCandidates;
    std::set<VclPtr<vcl::Window> > m_aDeletedCandidates;
    DECL_LINK(WindowEventListener, VclSimpleEvent*);
public:
    void PaintTransparentChildren(vcl::Window & rWindow, Rectangle const& rPixelRect);
@@ -58,10 +58,9 @@ IMPL_LINK(CandidateMgr, WindowEventListener, VclSimpleEvent*, pEvent)

CandidateMgr::~CandidateMgr()
{
    for (std::vector<vcl::Window*>::iterator aI = m_aCandidates.begin();
         aI != m_aCandidates.end(); ++aI)
    for (auto aI = m_aCandidates.begin(); aI != m_aCandidates.end(); ++aI)
    {
        vcl::Window* pCandidate = *aI;
        VclPtr<vcl::Window> pCandidate = *aI;
        if (m_aDeletedCandidates.find(pCandidate) != m_aDeletedCandidates.end())
            continue;
        pCandidate->RemoveEventListener(LINK(this, CandidateMgr, WindowEventListener));
@@ -97,8 +96,7 @@ void CandidateMgr::PaintTransparentChildren(vcl::Window & rWindow, Rectangle con
        pCandidate = pCandidate->GetWindow( WINDOW_NEXT );
    }

    for (std::vector<vcl::Window*>::iterator aI = m_aCandidates.begin();
         aI != m_aCandidates.end(); ++aI)
    for (auto aI = m_aCandidates.begin(); aI != m_aCandidates.end(); ++aI)
    {
        pCandidate = *aI;
        if (m_aDeletedCandidates.find(pCandidate) != m_aDeletedCandidates.end())
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index 367cd8f..660bb90 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -722,7 +722,7 @@ bool SdrObjEditView::SdrBeginTextEdit(
            pTextEditOutlinerView->ShowCursor();
            pTextEditOutliner->SetStatusEventHdl(LINK(this,SdrObjEditView,ImpOutlinerStatusEventHdl));
#ifdef DBG_UTIL
            if (pItemBrowser!=NULL) pItemBrowser->SetDirty();
            if (pItemBrowser!=nullptr) pItemBrowser->SetDirty();
#endif
            pTextEditOutliner->ClearModifyFlag();

@@ -1202,7 +1202,7 @@ bool SdrObjEditView::KeyInput(const KeyEvent& rKEvt, vcl::Window* pWin)

            if (pWin!=NULL && pWin!=pTextEditWin) SetTextEditWin(pWin);
#ifdef DBG_UTIL
            if (pItemBrowser!=NULL) pItemBrowser->SetDirty();
            if (pItemBrowser!=nullptr) pItemBrowser->SetDirty();
#endif
            ImpMakeTextCursorAreaVisible();
            return true;
@@ -1218,7 +1218,7 @@ bool SdrObjEditView::MouseButtonDown(const MouseEvent& rMEvt, vcl::Window* pWin)
        if (!bPostIt) {
            Point aPt(rMEvt.GetPosPixel());
            if (pWin!=NULL) aPt=pWin->PixelToLogic(aPt);
            else if (pTextEditWin!=NULL) aPt=pTextEditWin->PixelToLogic(aPt);
            else if (pTextEditWin!=nullptr) aPt=pTextEditWin->PixelToLogic(aPt);
            bPostIt=IsTextEditHit(aPt,nHitTolLog);
        }
        if (bPostIt) {
@@ -1236,7 +1236,7 @@ bool SdrObjEditView::MouseButtonDown(const MouseEvent& rMEvt, vcl::Window* pWin)
            if (pTextEditOutlinerView->MouseButtonDown(aMEvt)) {
                if (pWin!=NULL && pWin!=pTextEditWin) SetTextEditWin(pWin);
#ifdef DBG_UTIL
                if (pItemBrowser!=NULL) pItemBrowser->SetDirty();
                if (pItemBrowser!=nullptr) pItemBrowser->SetDirty();
#endif
                ImpMakeTextCursorAreaVisible();
                return true;
@@ -1253,7 +1253,7 @@ bool SdrObjEditView::MouseButtonUp(const MouseEvent& rMEvt, vcl::Window* pWin)
        if (!bPostIt) {
            Point aPt(rMEvt.GetPosPixel());
            if (pWin!=NULL) aPt=pWin->PixelToLogic(aPt);
            else if (pTextEditWin!=NULL) aPt=pTextEditWin->PixelToLogic(aPt);
            else if (pTextEditWin!=nullptr) aPt=pTextEditWin->PixelToLogic(aPt);
            bPostIt=IsTextEditHit(aPt,nHitTolLog);
        }
        if (bPostIt) {
@@ -1267,7 +1267,7 @@ bool SdrObjEditView::MouseButtonUp(const MouseEvent& rMEvt, vcl::Window* pWin)
                             rMEvt.GetButtons(),rMEvt.GetModifier());
            if (pTextEditOutlinerView->MouseButtonUp(aMEvt)) {
#ifdef DBG_UTIL
                if (pItemBrowser!=NULL) pItemBrowser->SetDirty();
                if (pItemBrowser!=nullptr) pItemBrowser->SetDirty();
#endif
                ImpMakeTextCursorAreaVisible();
                return true;
@@ -1305,7 +1305,7 @@ bool SdrObjEditView::MouseMove(const MouseEvent& rMEvt, vcl::Window* pWin)
                             rMEvt.GetButtons(),rMEvt.GetModifier());
            if (pTextEditOutlinerView->MouseMove(aMEvt) && bSelMode) {
#ifdef DBG_UTIL
                if (pItemBrowser!=NULL) pItemBrowser->SetDirty();
                if (pItemBrowser!=nullptr) pItemBrowser->SetDirty();
#endif
                ImpMakeTextCursorAreaVisible();
                return true;
@@ -1325,7 +1325,7 @@ bool SdrObjEditView::Command(const CommandEvent& rCEvt, vcl::Window* pWin)
            if (!bPostIt && rCEvt.IsMouseEvent()) {
                Point aPt(rCEvt.GetMousePosPixel());
                if (pWin!=NULL) aPt=pWin->PixelToLogic(aPt);
                else if (pTextEditWin!=NULL) aPt=pTextEditWin->PixelToLogic(aPt);
                else if (pTextEditWin!=nullptr) aPt=pTextEditWin->PixelToLogic(aPt);
                bPostIt=IsTextEditHit(aPt,nHitTolLog);
            }
            if (bPostIt) {
@@ -1342,7 +1342,7 @@ bool SdrObjEditView::Command(const CommandEvent& rCEvt, vcl::Window* pWin)
                pTextEditOutlinerView->Command(aCEvt);
                if (pWin!=NULL && pWin!=pTextEditWin) SetTextEditWin(pWin);
#ifdef DBG_UTIL
                if (pItemBrowser!=NULL) pItemBrowser->SetDirty();
                if (pItemBrowser!=nullptr) pItemBrowser->SetDirty();
#endif
                ImpMakeTextCursorAreaVisible();
                return true;
@@ -1392,7 +1392,7 @@ bool SdrObjEditView::ImpIsTextEditAllSelected() const

void SdrObjEditView::ImpMakeTextCursorAreaVisible()
{
    if (pTextEditOutlinerView!=NULL && pTextEditWin!=NULL) {
    if (pTextEditOutlinerView!=nullptr && pTextEditWin!=nullptr) {
        vcl::Cursor* pCsr=pTextEditWin->GetCursor();
        if (pCsr!=NULL) {
            Size aSiz(pCsr->GetSize());
@@ -1613,7 +1613,7 @@ bool SdrObjEditView::SetAttributes(const SfxItemSet& rSet, bool bReplaceAll)
            pTextEditOutlinerView->SetAttribs(rSet);

#ifdef DBG_UTIL
            if (pItemBrowser!=NULL)
            if (pItemBrowser!=nullptr)
                pItemBrowser->SetDirty();
#endif

diff --git a/svx/source/svdraw/svdibrow.cxx b/svx/source/svdraw/svdibrow.cxx
index eb1fcfb..cc0b28d 100644
--- a/svx/source/svdraw/svdibrow.cxx
+++ b/svx/source/svdraw/svdibrow.cxx
@@ -162,14 +162,15 @@ bool ImpItemListRow::operator==(const ImpItemListRow& rEntry) const

class ImpItemEdit: public Edit
{
    _SdrItemBrowserControl*     pBrowse;
    VclPtr<_SdrItemBrowserControl>     pBrowse;

public:
    ImpItemEdit(vcl::Window* pParent, _SdrItemBrowserControl* pBrowse_, WinBits nBits=0)
    :   Edit(pParent, nBits),
        pBrowse(pBrowse_)
    {}

    virtual ~ImpItemEdit() { dispose(); }
    virtual void dispose() SAL_OVERRIDE { pBrowse.clear(); Edit::dispose(); }
    virtual void KeyInput(const KeyEvent& rEvt) SAL_OVERRIDE;
};

@@ -217,7 +218,7 @@ _SdrItemBrowserControl::~_SdrItemBrowserControl()

void _SdrItemBrowserControl::dispose()
{
    delete pEditControl;
    pEditControl.clear();

    delete pAktChangeEntry;

@@ -529,10 +530,9 @@ bool _SdrItemBrowserControl::BegChangeEntry(sal_uIntPtr nPos)
bool _SdrItemBrowserControl::EndChangeEntry()
{
    bool bRet = false;
    if (pEditControl!=NULL) {
    if (pEditControl!=nullptr) {
        aEntryChangedHdl.Call(this);
        delete pEditControl;
        pEditControl=NULL;
        pEditControl.clear();
        delete pAktChangeEntry;
        pAktChangeEntry=NULL;
        vcl::Window* pParent=GetParent();
@@ -545,9 +545,8 @@ bool _SdrItemBrowserControl::EndChangeEntry()

void _SdrItemBrowserControl::BrkChangeEntry()
{
    if (pEditControl!=NULL) {
        delete pEditControl;
        pEditControl=NULL;
    if (pEditControl!=nullptr) {
        pEditControl.clear();
        delete pAktChangeEntry;
        pAktChangeEntry=NULL;
        vcl::Window* pParent=GetParent();
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index 52194e4..cfc0cb9 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -2091,7 +2091,7 @@ void SdrMarkView::MarkListHasChanged()
    bMarkedObjRectDirty=true;
    bMarkedPointsRectsDirty=true;
#ifdef DBG_UTIL
    if (pItemBrowser!=NULL) pItemBrowser->SetDirty();
    if (pItemBrowser!=nullptr) pItemBrowser->SetDirty();
#endif
    bool bOneEdgeMarked=false;
    if (GetMarkedObjectCount()==1) {
diff --git a/svx/source/svdraw/svdpntv.cxx b/svx/source/svdraw/svdpntv.cxx
index c50ba58..a30737b 100644
--- a/svx/source/svdraw/svdpntv.cxx
+++ b/svx/source/svdraw/svdpntv.cxx
@@ -235,10 +235,7 @@ SdrPaintView::~SdrPaintView()
    ClearPageView();

#ifdef DBG_UTIL
    if(pItemBrowser)
    {
        delete pItemBrowser;
    }
    pItemBrowser.clear();
#endif

    // delete existing SdrPaintWindows
@@ -474,7 +471,7 @@ void SdrPaintView::AddWindowToPaintView(OutputDevice* pNewWin)
    }

#ifdef DBG_UTIL
    if (pItemBrowser!=NULL)
    if (pItemBrowser!=nullptr)
        pItemBrowser->ForceParent();
#endif
}
@@ -496,7 +493,7 @@ void SdrPaintView::DeleteWindowFromPaintView(OutputDevice* pOldWin)
    }

#ifdef DBG_UTIL
    if (pItemBrowser!=NULL)
    if (pItemBrowser!=nullptr)
        pItemBrowser->ForceParent();
#endif
}
@@ -1061,7 +1058,7 @@ void SdrPaintView::SetDefaultAttr(const SfxItemSet& rAttr, bool bReplaceAll)
    else aDefaultAttr.Put(rAttr,false); // if FALSE, regard InvalidItems as "holes," not as Default
    SetNotPersistDefaultAttr(rAttr,bReplaceAll);
#ifdef DBG_UTIL
    if (pItemBrowser!=NULL) pItemBrowser->SetDirty();
    if (pItemBrowser!=nullptr) pItemBrowser->SetDirty();
#endif
}

@@ -1084,7 +1081,7 @@ void SdrPaintView::SetDefaultStyleSheet(SfxStyleSheet* pStyleSheet, bool bDontRe
        }
    }
#ifdef DBG_UTIL
    if (pItemBrowser!=NULL) pItemBrowser->SetDirty();
    if (pItemBrowser!=nullptr) pItemBrowser->SetDirty();
#endif
}

@@ -1127,16 +1124,15 @@ bool SdrPaintView::SetStyleSheet(SfxStyleSheet* pStyleSheet, bool bDontRemoveHar
void SdrPaintView::ShowItemBrowser(bool bShow)
{
    if (bShow) {
        if (pItemBrowser==NULL) {
        if (pItemBrowser==nullptr) {
            pItemBrowser=new SdrItemBrowser(*static_cast<SdrView*>(this));
        }
        pItemBrowser->Show();
        pItemBrowser->GrabFocus();
    } else {
        if (pItemBrowser!=NULL) {
        if (pItemBrowser!=nullptr) {
            pItemBrowser->Hide();
            delete pItemBrowser;
            pItemBrowser=NULL;
            pItemBrowser.clear();
        }
    }
}
diff --git a/svx/source/svdraw/svdview.cxx b/svx/source/svdraw/svdview.cxx
index 89589ba..44cb7f0 100644
--- a/svx/source/svdraw/svdview.cxx
+++ b/svx/source/svdraw/svdview.cxx
@@ -1362,7 +1362,7 @@ void SdrView::MarkAll()
    if (IsTextEdit()) {
        GetTextEditOutlinerView()->SetSelection(ESelection(0,0,EE_PARA_ALL,EE_TEXTPOS_ALL));
#ifdef DBG_UTIL
        if (pItemBrowser!=NULL) pItemBrowser->SetDirty();
        if (pItemBrowser!=nullptr) pItemBrowser->SetDirty();
#endif
    } else if (IsGluePointEditMode()) MarkAllGluePoints();
    else if (HasMarkablePoints()) MarkAllPoints();
@@ -1377,7 +1377,7 @@ void SdrView::UnmarkAll()
        eSel.nStartPos=eSel.nEndPos;
        GetTextEditOutlinerView()->SetSelection(eSel);
#ifdef DBG_UTIL
        if (pItemBrowser!=NULL) pItemBrowser->SetDirty();
        if (pItemBrowser!=nullptr) pItemBrowser->SetDirty();
#endif
    } else if (HasMarkedGluePoints()) UnmarkAllGluePoints();
    else if (HasMarkedPoints()) UnmarkAllPoints(); // Marked, not Markable!
diff --git a/svx/source/tbxctrls/bulletsnumbering.cxx b/svx/source/tbxctrls/bulletsnumbering.cxx
index bc47a66..4e7c2db 100644
--- a/svx/source/tbxctrls/bulletsnumbering.cxx
+++ b/svx/source/tbxctrls/bulletsnumbering.cxx
@@ -40,13 +40,15 @@ class NumberingPopup : public svtools::ToolbarMenu
{
    bool mbBulletItem;
    NumberingToolBoxControl& mrController;
    SvxNumValueSet* mpValueSet;
    VclPtr<SvxNumValueSet> mpValueSet;
    DECL_LINK( VSSelectHdl, void * );

public:
    NumberingPopup( NumberingToolBoxControl& rController,
                    const css::uno::Reference< css::frame::XFrame >& rFrame,
                    vcl::Window* pParent, bool bBulletItem );
    virtual ~NumberingPopup();
    virtual void dispose() SAL_OVERRIDE;

    virtual void statusChanged( const css::frame::FeatureStateEvent& rEvent )
        throw ( css::uno::RuntimeException ) SAL_OVERRIDE;
@@ -133,6 +135,17 @@ NumberingPopup::NumberingPopup( NumberingToolBoxControl& rController,
        AddStatusListener( ".uno:CurrentNumListType" );
}

NumberingPopup::~NumberingPopup()
{
    dispose();
}

void NumberingPopup::dispose()
{
    mpValueSet.clear();
    ToolbarMenu::dispose();
}

void NumberingPopup::statusChanged( const css::frame::FeatureStateEvent& rEvent )
    throw ( css::uno::RuntimeException )
{
diff --git a/svx/source/tbxctrls/colorwindow.hxx b/svx/source/tbxctrls/colorwindow.hxx
index a05ec80..eae25a8 100644
--- a/svx/source/tbxctrls/colorwindow.hxx
+++ b/svx/source/tbxctrls/colorwindow.hxx
@@ -37,13 +37,13 @@ class SvxColorWindow_Impl : public SfxPopupWindow

private:
    const sal_uInt16    theSlotId;
    SvxColorValueSet*   mpColorSet;
    SvxColorValueSet*   mpRecentColorSet;
    VclPtr<SvxColorValueSet>   mpColorSet;
    VclPtr<SvxColorValueSet>   mpRecentColorSet;

    ListBox*            mpPaletteListBox;
    PushButton*         mpButtonAutoColor;
    PushButton*         mpButtonPicker;
    FixedLine*          mpAutomaticSeparator;
    VclPtr<ListBox>     mpPaletteListBox;
    VclPtr<PushButton>  mpButtonAutoColor;
    VclPtr<PushButton>  mpButtonPicker;
    VclPtr<FixedLine>   mpAutomaticSeparator;
    OUString            maCommand;
    Link                maSelectedLink;

@@ -67,6 +67,8 @@ public:
                         const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame,
                         const OUString& rWndTitle,
                         vcl::Window* pParentWindow);
    virtual ~SvxColorWindow_Impl();
    virtual void        dispose() SAL_OVERRIDE;
    void                StartSelection();

    virtual void        KeyInput( const KeyEvent& rKEvt ) SAL_OVERRIDE;
diff --git a/svx/source/tbxctrls/extrusioncontrols.cxx b/svx/source/tbxctrls/extrusioncontrols.cxx
index cafd700..4366ac1 100644
--- a/svx/source/tbxctrls/extrusioncontrols.cxx
+++ b/svx/source/tbxctrls/extrusioncontrols.cxx
@@ -104,6 +104,17 @@ ExtrusionDirectionWindow::ExtrusionDirectionWindow(
    AddStatusListener( msExtrusionProjection );
}

ExtrusionDirectionWindow::~ExtrusionDirectionWindow()
{
    dispose();
}

void ExtrusionDirectionWindow::dispose()
{
    mpDirectionSet.clear();
    ToolbarMenu::dispose();
}

void ExtrusionDirectionWindow::DataChanged( const DataChangedEvent& rDCEvt )
{
    ToolbarMenu::DataChanged( rDCEvt );
@@ -298,6 +309,17 @@ ExtrusionDepthDialog::ExtrusionDepthDialog( vcl::Window* pParent, double fDepth,
    m_pMtrDepth->SetValue( (int) fDepth * 100, FUNIT_100TH_MM );
}

ExtrusionDepthDialog::~ExtrusionDepthDialog()
{
    dispose();
}

void ExtrusionDepthDialog::dispose()
{
    m_pMtrDepth.clear();
    ModalDialog::dispose();
}

double ExtrusionDepthDialog::getDepth() const
{
    return (double)( m_pMtrDepth->GetValue( FUNIT_100TH_MM ) ) / 100.0;
@@ -578,6 +600,17 @@ ExtrusionLightingWindow::ExtrusionLightingWindow(svt::ToolboxController& rContro
    AddStatusListener( msExtrusionLightingIntensity );
}

ExtrusionLightingWindow::~ExtrusionLightingWindow()
{
    dispose();
}

void ExtrusionLightingWindow::dispose()
{
    mpLightingSet.clear();
    ToolbarMenu::dispose();
}

void ExtrusionLightingWindow::implSetIntensity( int nLevel, bool bEnabled )
{
    mnLevel = nLevel;
diff --git a/svx/source/tbxctrls/extrusioncontrols.hxx b/svx/source/tbxctrls/extrusioncontrols.hxx
index 4371153..210d64d 100644
--- a/svx/source/tbxctrls/extrusioncontrols.hxx
+++ b/svx/source/tbxctrls/extrusioncontrols.hxx
@@ -41,13 +41,15 @@ class ExtrusionDirectionWindow : public svtools::ToolbarMenu
{
public:
    ExtrusionDirectionWindow( svt::ToolboxController& rController, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame, vcl::Window* pParentWindow );
    virtual ~ExtrusionDirectionWindow();
    virtual void dispose() SAL_OVERRIDE;

    virtual void statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw ( ::com::sun::star::uno::RuntimeException ) SAL_OVERRIDE;
    virtual void DataChanged( const DataChangedEvent& rDCEvt ) SAL_OVERRIDE;

private:
    svt::ToolboxController& mrController;
    ValueSet* mpDirectionSet;
    VclPtr<ValueSet>        mpDirectionSet;

    Image       maImgDirection[9];
    Image       maImgPerspective;
@@ -137,7 +139,7 @@ class ExtrusionLightingWindow : public svtools::ToolbarMenu
{
private:
    svt::ToolboxController& mrController;
    ValueSet*    mpLightingSet;
    VclPtr<ValueSet>        mpLightingSet;

    Image maImgLightingOff[9];
    Image maImgLightingOn[9];
@@ -161,6 +163,8 @@ private:
    DECL_LINK( SelectHdl, void * );
public:
    ExtrusionLightingWindow( svt::ToolboxController& rController, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame, vcl::Window* pParentWindow );
    virtual ~ExtrusionLightingWindow();
    virtual void dispose() SAL_OVERRIDE;

    virtual void statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw ( ::com::sun::star::uno::RuntimeException ) SAL_OVERRIDE;
    virtual void DataChanged( const DataChangedEvent& rDCEvt ) SAL_OVERRIDE;
diff --git a/svx/source/tbxctrls/fillctrl.cxx b/svx/source/tbxctrls/fillctrl.cxx
index 0ce6f92..eb677739 100644
--- a/svx/source/tbxctrls/fillctrl.cxx
+++ b/svx/source/tbxctrls/fillctrl.cxx
@@ -567,8 +567,8 @@ FillControl::~FillControl()

void FillControl::dispose()
{
    delete mpLbFillType;
    delete mpLbFillAttr;
    mpLbFillType.clear();
    mpLbFillAttr.clear();
    vcl::Window::dispose();
}

diff --git a/svx/source/tbxctrls/fontworkgallery.cxx b/svx/source/tbxctrls/fontworkgallery.cxx
index a0ec590..c36e582 100644
--- a/svx/source/tbxctrls/fontworkgallery.cxx
+++ b/svx/source/tbxctrls/fontworkgallery.cxx
@@ -94,6 +94,17 @@ FontWorkGalleryDialog::FontWorkGalleryDialog( SdrView* pSdrView, vcl::Window* pP
    fillFavorites( GALLERY_THEME_FONTWORK );
}

FontWorkGalleryDialog::~FontWorkGalleryDialog()
{
    dispose();
}

void FontWorkGalleryDialog::dispose()
{
    mpCtlFavorites.clear();
    mpOKButton.clear();
    ModalDialog::dispose();
}

void FontWorkGalleryDialog::initFavorites(sal_uInt16 nThemeId)
{
@@ -708,6 +719,17 @@ FontworkCharacterSpacingDialog::FontworkCharacterSpacingDialog( vcl::Window* pPa
    m_pMtrScale->SetValue( nScale );
}

FontworkCharacterSpacingDialog::~FontworkCharacterSpacingDialog()
{
    dispose();
}

void FontworkCharacterSpacingDialog::dispose()
{
    m_pMtrScale.clear();
    ModalDialog::dispose();
}

sal_Int32 FontworkCharacterSpacingDialog::getScale() const
{
    return (sal_Int32)m_pMtrScale->GetValue();
diff --git a/svx/source/tbxctrls/lboxctrl.cxx b/svx/source/tbxctrls/lboxctrl.cxx
index f65d68f..1f500a7 100644
--- a/svx/source/tbxctrls/lboxctrl.cxx
+++ b/svx/source/tbxctrls/lboxctrl.cxx
@@ -54,14 +54,16 @@ class SvxPopupWindowListBox: public SfxPopupWindow
{
    using FloatingWindow::StateChanged;

    ListBox *       m_pListBox;
    VclPtr<ListBox> m_pListBox;
    ToolBox &       rToolBox;
    bool            bUserSel;
    sal_uInt16          nTbxId;
    OUString   maCommandURL;
    sal_uInt16      nTbxId;
    OUString        maCommandURL;

public:
    SvxPopupWindowListBox( sal_uInt16 nSlotId, const OUString& rCommandURL, sal_uInt16 nTbxId, ToolBox& rTbx );
    virtual ~SvxPopupWindowListBox();
    virtual void dispose() SAL_OVERRIDE;

    // SfxPopupWindow
    virtual SfxPopupWindow *    Clone() const SAL_OVERRIDE;
@@ -96,6 +98,17 @@ SvxPopupWindowListBox::SvxPopupWindowListBox(sal_uInt16 nSlotId, const OUString&
    AddStatusListener( rCommandURL );
}

SvxPopupWindowListBox::~SvxPopupWindowListBox()
{
    dispose();
}

void SvxPopupWindowListBox::dispose()
{
    m_pListBox.clear();
    SfxPopupWindow::dispose();
}

SfxPopupWindow* SvxPopupWindowListBox::Clone() const
{
    return new SvxPopupWindowListBox( GetId(), maCommandURL, nTbxId, rToolBox );
@@ -140,9 +153,7 @@ SvxListBoxControl::SvxListBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBo


SvxListBoxControl::~SvxListBoxControl()
{
}

{}

SfxPopupWindow* SvxListBoxControl::CreatePopupWindow()
{
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index b2926fd..79f1edf 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -1242,6 +1242,22 @@ SvxColorWindow_Impl::SvxColorWindow_Impl( const OUString&            rCommand,
    }
}

SvxColorWindow_Impl::~SvxColorWindow_Impl()
{
    dispose();
}

void SvxColorWindow_Impl::dispose()
{
    mpColorSet.clear();
    mpRecentColorSet.clear();
    mpPaletteListBox.clear();
    mpButtonAutoColor.clear();
    mpButtonPicker.clear();
    mpAutomaticSeparator.clear();
    SfxPopupWindow::dispose();
}

void SvxColorWindow_Impl::KeyInput( const KeyEvent& rKEvt )
{
    mpColorSet->KeyInput(rKEvt);
diff --git a/svx/source/tbxctrls/tbunocontroller.cxx b/svx/source/tbxctrls/tbunocontroller.cxx
index 680e9a3..18bb2ba 100644
--- a/svx/source/tbxctrls/tbunocontroller.cxx
+++ b/svx/source/tbxctrls/tbunocontroller.cxx
@@ -80,7 +80,7 @@ class FontHeightToolBoxControl : public svt::ToolboxController,
        using svt::ToolboxController::dispatchCommand;

    private:
        SvxFontSizeBox_Impl*                  m_pBox;
        VclPtr<SvxFontSizeBox_Impl>           m_pBox;
        ::com::sun::star::awt::FontDescriptor m_aCurrentFont;
};

@@ -343,8 +343,7 @@ throw (uno::RuntimeException, std::exception)
    svt::ToolboxController::dispose();

    SolarMutexGuard aSolarMutexGuard;
    delete m_pBox;
    m_pBox = 0;
    m_pBox.clear();
}

// XStatusListener
diff --git a/svx/source/tbxctrls/tbunosearchcontrollers.cxx b/svx/source/tbxctrls/tbunosearchcontrollers.cxx
index 4931df0..1d175ff 100644
--- a/svx/source/tbxctrls/tbunosearchcontrollers.cxx
+++ b/svx/source/tbxctrls/tbunosearchcontrollers.cxx
@@ -415,8 +415,7 @@ void SAL_CALL FindTextToolbarController::dispose() throw ( css::uno::RuntimeExce
    if (m_pFindTextFieldControl != nullptr) {
        SearchToolbarControllersManager::createControllersManager()
            .saveSearchHistory(m_pFindTextFieldControl);
        delete m_pFindTextFieldControl;
        m_pFindTextFieldControl = 0;
        m_pFindTextFieldControl.disposeAndClear();
    }
}

@@ -661,8 +660,7 @@ void SAL_CALL MatchCaseToolboxController::dispose() throw ( css::uno::RuntimeExc

    svt::ToolboxController::dispose();

    delete m_pMatchCaseControl;
    m_pMatchCaseControl = 0;
    m_pMatchCaseControl.clear();
}

// XInitialization
diff --git a/svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx b/svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx
index 3cae7ea..7a461ef 100644
--- a/svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx
+++ b/svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx
@@ -60,6 +60,19 @@ DictionaryList::DictionaryList(SvSimpleTableContainer& rParent, WinBits nBits)
{
}

DictionaryList::~DictionaryList()
{
    dispose();
}

void DictionaryList::dispose()
{
    m_pED_Term.clear();
    m_pED_Mapping.clear();
    m_pLB_Property.clear();
    SvSimpleTable::dispose();
}

OUString DictionaryList::getPropertyTypeName( sal_Int16 nConversionPropertyType ) const
{
    if(!m_pLB_Property || !m_pLB_Property->GetEntryCount())
@@ -548,8 +561,22 @@ ChineseDictionaryDialog::~ChineseDictionaryDialog()
void ChineseDictionaryDialog::dispose()
{
    m_xContext=0;
    delete m_pCT_DictionaryToSimplified;
    delete m_pCT_DictionaryToTraditional;
    m_pCT_DictionaryToSimplified.clear();
    m_pCT_DictionaryToTraditional.clear();
    m_pRB_To_Simplified.clear();
    m_pRB_To_Traditional.clear();
    m_pCB_Reverse.clear();
    m_pFT_Term.clear();
    m_pED_Term.clear();
    m_pFT_Mapping.clear();
    m_pED_Mapping.clear();
    m_pFT_Property.clear();
    m_pLB_Property.clear();
    mpToSimplifiedContainer.clear();
    mpToTraditionalContainer.clear();
    m_pPB_Add.clear();
    m_pPB_Modify.clear();
    m_pPB_Delete.clear();
    ModalDialog::dispose();
}

diff --git a/svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.hxx b/svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.hxx
index 6b50ef7..50498b4 100644
--- a/svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.hxx
+++ b/svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.hxx
@@ -61,6 +61,8 @@ class DictionaryList : public SvSimpleTable
{
public:
    DictionaryList(SvSimpleTableContainer& rParent, WinBits nBits);
    virtual ~DictionaryList();
    virtual void dispose() SAL_OVERRIDE;

    void init(const css::uno::Reference< css::linguistic2::XConversionDictionary>& xDictionary,
        vcl::Window *pED_Term, vcl::Window *pED_Mapping, ListBox *pLB_Property,
@@ -99,9 +101,9 @@ public:
    css::uno::Reference<css::linguistic2::XConversionDictionary>  m_xDictionary;

private:
    vcl::Window*     m_pED_Term;
    vcl::Window*     m_pED_Mapping;
    ListBox*    m_pLB_Property;
    VclPtr<vcl::Window>     m_pED_Term;
    VclPtr<vcl::Window>     m_pED_Mapping;
    VclPtr<ListBox>         m_pLB_Property;

    std::vector< DictionaryEntry* > m_aToBeDeleted;

@@ -147,28 +149,28 @@ private:
private:
    sal_Int32    m_nTextConversionOptions; //i18n::TextConversionOption

    RadioButton* m_pRB_To_Simplified;
    RadioButton* m_pRB_To_Traditional;
    VclPtr<RadioButton> m_pRB_To_Simplified;
    VclPtr<RadioButton> m_pRB_To_Traditional;

    CheckBox*    m_pCB_Reverse;
    VclPtr<CheckBox>    m_pCB_Reverse;

    FixedText*   m_pFT_Term;
    Edit*        m_pED_Term;
    VclPtr<FixedText>   m_pFT_Term;
    VclPtr<Edit>        m_pED_Term;

    FixedText*   m_pFT_Mapping;
    Edit*        m_pED_Mapping;
    VclPtr<FixedText>   m_pFT_Mapping;
    VclPtr<Edit>        m_pED_Mapping;

    FixedText*   m_pFT_Property;
    ListBox*     m_pLB_Property;
    VclPtr<FixedText>   m_pFT_Property;
    VclPtr<ListBox>     m_pLB_Property;

    SvSimpleTableContainer* mpToSimplifiedContainer;
    DictionaryList* m_pCT_DictionaryToSimplified;
    SvSimpleTableContainer* mpToTraditionalContainer;
    DictionaryList* m_pCT_DictionaryToTraditional;
    VclPtr<SvSimpleTableContainer> mpToSimplifiedContainer;
    VclPtr<DictionaryList>         m_pCT_DictionaryToSimplified;
    VclPtr<SvSimpleTableContainer> mpToTraditionalContainer;
    VclPtr<DictionaryList>         m_pCT_DictionaryToTraditional;

    PushButton*  m_pPB_Add;
    PushButton*  m_pPB_Modify;
    PushButton*  m_pPB_Delete;
    VclPtr<PushButton>  m_pPB_Add;
    VclPtr<PushButton>  m_pPB_Modify;
    VclPtr<PushButton>  m_pPB_Delete;

    css::uno::Reference<css::uno::XComponentContext> m_xContext;
};
diff --git a/svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog.cxx b/svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog.cxx
index 0de8dbb..7cdf4a9 100644
--- a/svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog.cxx
+++ b/svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog.cxx
@@ -58,8 +58,7 @@ void ChineseTranslation_UnoDialog::impl_DeleteDialog()
    {
        if(m_pDialog->IsInExecute())
            m_pDialog->EndDialog(RET_CANCEL);
        delete m_pDialog;
        m_pDialog = 0;
        m_pDialog.clear();
    }
}

diff --git a/svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog.hxx b/svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog.hxx
index 5349c55..9c39681 100644
--- a/svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog.hxx
+++ b/svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog.hxx
@@ -29,6 +29,7 @@
#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <cppuhelper/implbase5.hxx>
#include <vcl/vclptr.hxx>


namespace textconversiondlgs
@@ -121,7 +122,7 @@ private:
    com::sun::star::uno::Reference<
        com::sun::star::awt::XWindow >               m_xParentWindow;

    ChineseTranslationDialog*     m_pDialog;
    VclPtr<ChineseTranslationDialog>     m_pDialog;

    bool m_bDisposed; ///Dispose call ready.
    bool m_bInDispose;///In dispose call
diff --git a/svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.cxx b/svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.cxx
index 2253d34..feaaf3b 100644
--- a/svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.cxx
+++ b/svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.cxx
@@ -72,8 +72,13 @@ void ChineseTranslationDialog::dispose()
    {
        if(m_pDictionaryDialog->IsInExecute())
            m_pDictionaryDialog->EndDialog();
        delete m_pDictionaryDialog;
    }
    m_pDictionaryDialog.clear();
    m_pRB_To_Simplified.clear();
    m_pRB_To_Traditional.clear();
    m_pCB_Translate_Commonterms.clear();
    m_pPB_Editterms.clear();
    m_pBP_OK.clear();
    ModalDialog::dispose();
}

diff --git a/svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.hxx b/svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.hxx
index 6afeadf..0ec0bf3 100644
--- a/svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.hxx
+++ b/svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.hxx
@@ -51,15 +51,15 @@ private:
    void impl_UpdateVariantsCheckBox();

private:
    RadioButton* m_pRB_To_Simplified;
    RadioButton* m_pRB_To_Traditional;
    VclPtr<RadioButton> m_pRB_To_Simplified;
    VclPtr<RadioButton> m_pRB_To_Traditional;

    CheckBox*   m_pCB_Translate_Commonterms;
    PushButton* m_pPB_Editterms;
    VclPtr<CheckBox>   m_pCB_Translate_Commonterms;
    VclPtr<PushButton> m_pPB_Editterms;

    OKButton*   m_pBP_OK;
    VclPtr<OKButton>   m_pBP_OK;

    ChineseDictionaryDialog* m_pDictionaryDialog;
    VclPtr<ChineseDictionaryDialog> m_pDictionaryDialog;
};


diff --git a/svx/source/unodraw/recoveryui.cxx b/svx/source/unodraw/recoveryui.cxx
index 7451504..3c9ce92 100644
--- a/svx/source/unodraw/recoveryui.cxx
+++ b/svx/source/unodraw/recoveryui.cxx
@@ -67,7 +67,7 @@ class RecoveryUI : public ::cppu::WeakImplHelper2< css::lang::XServiceInfo      
        css::uno::Reference< css::uno::XComponentContext > m_xContext;

        /** @short TODO */
        vcl::Window* m_pParentWindow;
        VclPtr<vcl::Window> m_pParentWindow;

        /** @short TODO */
        RecoveryUI::EJob m_eJob;
diff --git a/svx/source/unodraw/unoshtxt.cxx b/svx/source/unodraw/unoshtxt.cxx
index 377cf00..d4172b1 100644
--- a/svx/source/unodraw/unoshtxt.cxx
+++ b/svx/source/unodraw/unoshtxt.cxx
@@ -88,7 +88,7 @@ private:
    SdrObject*                      mpObject;
    SdrText*                        mpText;
    SdrView*                        mpView;
    const vcl::Window*                   mpWindow;
    VclPtr<const vcl::Window>       mpWindow;
    SdrModel*                       mpModel;
    SdrOutliner*                    mpOutliner;
    SvxOutlinerForwarder*           mpTextForwarder;
diff --git a/sw/inc/PostItMgr.hxx b/sw/inc/PostItMgr.hxx
index f880d60..c74fc3b 100644
--- a/sw/inc/PostItMgr.hxx
+++ b/sw/inc/PostItMgr.hxx
@@ -32,6 +32,7 @@
#include <com/sun/star/uno/Any.hxx>
#include <SidebarWindowsTypes.hxx>
#include <svl/lstner.hxx>
#include <vcl/vclptr.hxx>

class OutputDevice;
class SwWrtShell;
@@ -139,12 +140,12 @@ class SwPostItMgr: public SfxListener
    private:
        SwView*                         mpView;
        SwWrtShell*                     mpWrtShell;
        SwEditWin*                      mpEditWin;
        VclPtr<SwEditWin>               mpEditWin;
        std::list< SwSidebarItem*>      mvPostItFlds;
        std::vector<SwPostItPageItem*>  mPages;
        ImplSVEvent *                   mnEventId;
        bool                            mbWaitingForCalcRects;
        sw::sidebarwindows::SwSidebarWin* mpActivePostIt;
        VclPtr<sw::sidebarwindows::SwSidebarWin> mpActivePostIt;
        bool                            mbLayout;
        long                            mbLayoutHeight;
        bool                            mbLayouting;
diff --git a/sw/inc/SidebarWin.hxx b/sw/inc/SidebarWin.hxx
index 5d3dcda..3495713 100644
--- a/sw/inc/SidebarWin.hxx
+++ b/sw/inc/SidebarWin.hxx
@@ -211,11 +211,11 @@ class SwSidebarWin : public vcl::Window
        OutlinerView*   mpOutlinerView;
        Outliner*       mpOutliner;

        sw::sidebarwindows::SidebarTxtControl* mpSidebarTxtControl;
        ScrollBar*      mpVScrollbar;
        Edit*           mpMetadataAuthor;
        Edit*           mpMetadataDate;
        MenuButton*     mpMenuButton;
        VclPtr<sw::sidebarwindows::SidebarTxtControl> mpSidebarTxtControl;
        VclPtr<ScrollBar>      mpVScrollbar;
        VclPtr<Edit>           mpMetadataAuthor;
        VclPtr<Edit>           mpMetadataDate;
        VclPtr<MenuButton>     mpMenuButton;

        sw::sidebarwindows::AnchorOverlayObject* mpAnchor;
        sw::sidebarwindows::ShadowOverlayObject* mpShadow;
diff --git a/sw/inc/colwd.hxx b/sw/inc/colwd.hxx
index 448e07e..1e466c4 100644
--- a/sw/inc/colwd.hxx
+++ b/sw/inc/colwd.hxx
@@ -28,8 +28,8 @@ class SwTableFUNC;

class SwTableWidthDlg : public SvxStandardDialog
{
    NumericField*   m_pColNF;
    MetricField*    m_pWidthMF;
    VclPtr<NumericField>   m_pColNF;
    VclPtr<MetricField>    m_pWidthMF;
    SwTableFUNC     &rFnc;

protected:
@@ -38,6 +38,8 @@ protected:

public:
    SwTableWidthDlg(vcl::Window *pParent, SwTableFUNC &rFnc );
    virtual ~SwTableWidthDlg();
    virtual void dispose() SAL_OVERRIDE;
};

#endif
diff --git a/sw/inc/hhcwrp.hxx b/sw/inc/hhcwrp.hxx
index 138c72c..43c1e32 100644
--- a/sw/inc/hhcwrp.hxx
+++ b/sw/inc/hhcwrp.hxx
@@ -30,7 +30,7 @@ class SwPaM;
class SW_DLLPUBLIC SwHHCWrapper : public editeng::HangulHanjaConversion
{
    SwView *    m_pView;
    vcl::Window*     m_pWin;
    VclPtr<vcl::Window>     m_pWin;
    SwWrtShell &m_rWrtShell;

    SwConversionArgs *m_pConvArgs;    /**< object for arguments (and results) needed
diff --git a/sw/inc/postithelper.hxx b/sw/inc/postithelper.hxx
index 80b26ac..cf1f7c0 100644
--- a/sw/inc/postithelper.hxx
+++ b/sw/inc/postithelper.hxx
@@ -89,7 +89,7 @@ namespace SwPostItHelper
class SwSidebarItem
{
public:
    sw::sidebarwindows::SwSidebarWin* pPostIt;
    VclPtr<sw::sidebarwindows::SwSidebarWin> pPostIt;
    bool bShow;
    bool bFocus;

diff --git a/sw/inc/viewsh.hxx b/sw/inc/viewsh.hxx
index 01b3083..7ad04e5 100644
--- a/sw/inc/viewsh.hxx
+++ b/sw/inc/viewsh.hxx
@@ -128,7 +128,7 @@ class SW_DLLPUBLIC SwViewShell : public sw::Ring<SwViewShell>
    SwViewShellImp    *mpImp;             // Core-internals of SwViewShell.
                                    // The pointer is never 0.

    ::vcl::Window *mpWin;             ///< = 0 during printing or pdf export
    VclPtr<::vcl::Window> mpWin;             ///< = 0 during printing or pdf export
    OutputDevice *mpOut;              ///< Window, Printer, VirtDev, ...
    OutputDevice* mpTmpRef;           // Temporariy reference device. Is used
                                     // during (printer depending) prospect
diff --git a/sw/qa/tiledrendering/tiledrendering.cxx b/sw/qa/tiledrendering/tiledrendering.cxx
index f3c245d..00a4b1f 100644
--- a/sw/qa/tiledrendering/tiledrendering.cxx
+++ b/sw/qa/tiledrendering/tiledrendering.cxx
@@ -58,24 +58,24 @@ class TiledRenderingDialog: public ModalDialog
{
private:
    TiledRenderingApp *mpApp;
    NumericField *mpContextWidth;
    NumericField *mpContextHeight;
    NumericField *mpTilePosX;
    NumericField *mpTilePosY;
    NumericField *mpTileWidth;
    NumericField *mpTileHeight;
    FixedImage *mpImage;
    VclPtr<NumericField> mpContextWidth;
    VclPtr<NumericField> mpContextHeight;
    VclPtr<NumericField> mpTilePosX;
    VclPtr<NumericField> mpTilePosY;
    VclPtr<NumericField> mpTileWidth;
    VclPtr<NumericField> mpTileHeight;
    VclPtr<FixedImage> mpImage;

public:
    TiledRenderingDialog(TiledRenderingApp * app) :
        ModalDialog(DIALOG_NO_PARENT, "TiledRendering", "qa/sw/ui/tiledrendering.ui"),
        mpApp(app)
    {
        PushButton * renderButton;
        VclPtr<PushButton> renderButton;
        get(renderButton, "buttonRenderTile");
        renderButton->SetClickHdl( LINK( this, TiledRenderingDialog, RenderHdl));

        PushButton * chooseDocumentButton;
        VclPtr<PushButton> chooseDocumentButton;
        get(chooseDocumentButton, "buttonChooseDocument");
        chooseDocumentButton->SetClickHdl( LINK( this, TiledRenderingDialog, ChooseDocumentHdl));

@@ -92,6 +92,19 @@ public:

    virtual ~TiledRenderingDialog()
    {
        dispose();
    }

    virtual void dispose() SAL_OVERRIDE
    {
        mpContextWidth.clear();
        mpContextHeight.clear();
        mpTilePosX.clear();
        mpTilePosY.clear();
        mpTileWidth.clear();
        mpTileHeight.clear();
        mpImage.clear();
        ModalDialog::dispose();
    }

    DECL_LINK ( RenderHdl, Button * );
diff --git a/sw/source/core/access/accdoc.hxx b/sw/source/core/access/accdoc.hxx
index 7f630af..1ed2be4 100644
--- a/sw/source/core/access/accdoc.hxx
+++ b/sw/source/core/access/accdoc.hxx
@@ -36,7 +36,7 @@ class SwAccessibleDocumentBase : public SwAccessibleContext
    ::com::sun::star::uno::Reference<
        ::com::sun::star::accessibility::XAccessible> mxParent;

    vcl::Window* mpChildWin; // protected by solar mutext
    VclPtr<vcl::Window> mpChildWin; // protected by solar mutext

    using SwAccessibleFrame::SetVisArea;

diff --git a/sw/source/core/access/accfrmobj.cxx b/sw/source/core/access/accfrmobj.cxx
index 0953d7f..b340993 100644
--- a/sw/source/core/access/accfrmobj.cxx
+++ b/sw/source/core/access/accfrmobj.cxx
@@ -213,7 +213,7 @@ bool SwAccessibleChild::IsValid() const
{
    return mpFrm != 0 ||
           mpDrawObj != 0 ||
           mpWindow != 0;
           mpWindow != nullptr;
}

bool SwAccessibleChild::IsVisibleChildrenOnly() const
diff --git a/sw/source/core/access/accfrmobj.hxx b/sw/source/core/access/accfrmobj.hxx
index bfd188f..31a489e 100644
--- a/sw/source/core/access/accfrmobj.hxx
+++ b/sw/source/core/access/accfrmobj.hxx
@@ -20,6 +20,7 @@
#ifndef INCLUDED_SW_SOURCE_CORE_ACCESS_ACCFRMOBJ_HXX
#define INCLUDED_SW_SOURCE_CORE_ACCESS_ACCFRMOBJ_HXX

#include <vcl/vclptr.hxx>

class SwAccessibleMap;
class SwFrm;
@@ -71,7 +72,7 @@ class SwAccessibleChild
    private:
        const SwFrm* mpFrm;
        const SdrObject* mpDrawObj;
        vcl::Window* mpWindow;
        VclPtr<vcl::Window> mpWindow;

        void Init( const SdrObject* pDrawObj );
        void Init( const SwFrm* pFrm );
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index 7af4b3b..0d2893c 100644
--- a/sw/source/core/view/viewsh.cxx
+++ b/sw/source/core/view/viewsh.cxx
@@ -2262,7 +2262,7 @@ SwViewShell::CreateAccessiblePreview()

void SwViewShell::InvalidateAccessibleFocus()
{
    if( this && Imp() && Imp()->IsAccessible() )
    if( Imp() && Imp()->IsAccessible() )
        Imp()->GetAccessibleMap().InvalidateFocus();
}

diff --git a/sw/source/ui/chrdlg/break.cxx b/sw/source/ui/chrdlg/break.cxx
index a761688..9db5c7d 100644
--- a/sw/source/ui/chrdlg/break.cxx
+++ b/sw/source/ui/chrdlg/break.cxx
@@ -173,6 +173,23 @@ SwBreakDlg::SwBreakDlg( vcl::Window *pParent, SwWrtShell &rS )
    m_pPageNumEdit->SetText(OUString());
}

SwBreakDlg::~SwBreakDlg()
{
    dispose();
}

void SwBreakDlg::dispose()
{
    m_pLineBtn.clear();
    m_pColumnBtn.clear();
    m_pPageBtn.clear();
    m_pPageCollText.clear();
    m_pPageCollBox.clear();
    m_pPageNumBox.clear();
    m_pPageNumEdit.clear();
    SvxStandardDialog::dispose();
}

void SwBreakDlg::CheckEnable()
{
    bool bEnable = true;
@@ -206,8 +223,4 @@ void SwBreakDlg::CheckEnable()
    m_pPageNumEdit->Enable(bEnable);
}

SwBreakDlg::~SwBreakDlg()
{
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/chrdlg/chardlg.cxx b/sw/source/ui/chrdlg/chardlg.cxx
index 688ea18..e19be02 100644
--- a/sw/source/ui/chrdlg/chardlg.cxx
+++ b/sw/source/ui/chrdlg/chardlg.cxx
@@ -191,6 +191,16 @@ SwCharURLPage::~SwCharURLPage()
void SwCharURLPage::dispose()
{
    delete pINetItem;
    m_pURLED.clear();
    m_pTextFT.clear();
    m_pTextED.clear();
    m_pNameED.clear();
    m_pTargetFrmLB.clear();
    m_pURLPB.clear();
    m_pEventPB.clear();
    m_pVisitedLB.clear();
    m_pNotVisitedLB.clear();
    m_pCharStyleContainer.clear();
    SfxTabPage::dispose();
}

diff --git a/sw/source/ui/chrdlg/drpcps.cxx b/sw/source/ui/chrdlg/drpcps.cxx
index d06e0d66..6390f46 100644
--- a/sw/source/ui/chrdlg/drpcps.cxx
+++ b/sw/source/ui/chrdlg/drpcps.cxx
@@ -62,7 +62,7 @@ const sal_uInt16 SwDropCapsPage::aPageRg[] = {

class SwDropCapsPict : public Control
{
    SwDropCapsPage* mpPage;
    VclPtr<SwDropCapsPage> mpPage;
    OUString        maText;
    OUString        maScriptText;
    Color           maBackColor;
@@ -210,6 +210,7 @@ void SwDropCapsPict::dispose()
{
     if( mbDelPrinter )
         delete mpPrinter;
     mpPage.clear();
     Control::dispose();
}

@@ -575,6 +576,25 @@ SwDropCapsPage::SwDropCapsPage(vcl::Window *pParent, const SfxItemSet &rSet)

SwDropCapsPage::~SwDropCapsPage()
{
    dispose();
}

void SwDropCapsPage::dispose()
{
    m_pDropCapsBox.clear();
    m_pWholeWordCB.clear();
    m_pSwitchText.clear();
    m_pDropCapsField.clear();
    m_pLinesText.clear();
    m_pLinesField.clear();
    m_pDistanceText.clear();
    m_pDistanceField.clear();
    m_pTextText.clear();
    m_pTextEdit.clear();
    m_pTemplateText.clear();
    m_pTemplateBox.clear();
    m_pPict.clear();
    SfxTabPage::dispose();
}

int  SwDropCapsPage::DeactivatePage(SfxItemSet * _pSet)
diff --git a/sw/source/ui/chrdlg/numpara.cxx b/sw/source/ui/chrdlg/numpara.cxx
index 29429aa..04e923c 100644
--- a/sw/source/ui/chrdlg/numpara.cxx
+++ b/sw/source/ui/chrdlg/numpara.cxx
@@ -101,6 +101,26 @@ SwParagraphNumTabPage::SwParagraphNumTabPage(vcl::Window* pParent, const SfxItem

SwParagraphNumTabPage::~SwParagraphNumTabPage()
{
    dispose();
}

void SwParagraphNumTabPage::dispose()
{
    m_pOutlineStartBX.clear();
    m_pOutlineLvLB.clear();
    m_pNumberStyleBX.clear();
    m_pNumberStyleLB.clear();
    m_pEditNumStyleBtn.clear();
    m_pNewStartCB.clear();
    m_pNewStartBX.clear();
    m_pNewStartNumberCB.clear();
    m_pNewStartNF.clear();
    m_pCountParaFram.clear();
    m_pCountParaCB.clear();
    m_pRestartParaCountCB.clear();
    m_pRestartBX.clear();
    m_pRestartNF.clear();
    SfxTabPage::dispose();
}

SfxTabPage* SwParagraphNumTabPage::Create(  vcl::Window* pParent,
diff --git a/sw/source/ui/chrdlg/swuiccoll.cxx b/sw/source/ui/chrdlg/swuiccoll.cxx
index bc13468..f279d54 100644
--- a/sw/source/ui/chrdlg/swuiccoll.cxx
+++ b/sw/source/ui/chrdlg/swuiccoll.cxx
@@ -132,6 +132,16 @@ void SwCondCollPage::dispose()
    for(sal_Int32 i = 0; i < m_pFilterLB->GetEntryCount(); ++i)
        delete static_cast<sal_uInt16*>(m_pFilterLB->GetEntryData(i));

    m_pConditionCB.clear();
    m_pContextFT.clear();
    m_pUsedFT.clear();
    m_pTbLinks.clear();
    m_pStyleFT.clear();
    m_pStyleLB.clear();
    m_pFilterLB.clear();
    m_pRemovePB.clear();
    m_pAssignPB.clear();

    SfxTabPage::dispose();
}

diff --git a/sw/source/ui/config/mailconfigpage.cxx b/sw/source/ui/config/mailconfigpage.cxx
index 4b006c0..c902ed7 100644
--- a/sw/source/ui/config/mailconfigpage.cxx
+++ b/sw/source/ui/config/mailconfigpage.cxx
@@ -45,16 +45,16 @@ using namespace ::com::sun::star::beans;

class SwTestAccountSettingsDialog : public SfxModalDialog
{
    VclMultiLineEdit*   m_pErrorsED;
    VclPtr<VclMultiLineEdit>   m_pErrorsED;

    PushButton*         m_pStopPB;
    VclPtr<PushButton>         m_pStopPB;

    FixedText*          m_pEstablish;
    FixedText*          m_pFind;
    FixedText*          m_pResult1;
    FixedText*          m_pResult2;
    FixedImage*         m_pImage1;
    FixedImage*         m_pImage2;
    VclPtr<FixedText>          m_pEstablish;
    VclPtr<FixedText>          m_pFind;
    VclPtr<FixedText>          m_pResult1;
    VclPtr<FixedText>          m_pResult2;
    VclPtr<FixedImage>         m_pImage1;
    VclPtr<FixedImage>         m_pImage2;

    Image               m_aCompletedImg;
    Image               m_aFailedImg;
@@ -62,7 +62,7 @@ class SwTestAccountSettingsDialog : public SfxModalDialog
    OUString            m_sFailed;
    OUString            m_sErrorServer;

    SwMailConfigPage*   m_pParent;
    VclPtr<SwMailConfigPage>   m_pParent;

    bool                m_bStop;

@@ -71,35 +71,37 @@ class SwTestAccountSettingsDialog : public SfxModalDialog
    DECL_STATIC_LINK(SwTestAccountSettingsDialog, TestHdl, void*);
public:
    SwTestAccountSettingsDialog(SwMailConfigPage* pParent);
    virtual ~SwTestAccountSettingsDialog();
    virtual void dispose() SAL_OVERRIDE;
};

class SwAuthenticationSettingsDialog : public SfxModalDialog
{
    CheckBox*        m_pAuthenticationCB;
    VclPtr<CheckBox>        m_pAuthenticationCB;

    RadioButton*     m_pSeparateAuthenticationRB;
    RadioButton*     m_pSMTPAfterPOPRB;
    VclPtr<RadioButton>     m_pSeparateAuthenticationRB;
    VclPtr<RadioButton>     m_pSMTPAfterPOPRB;

    FixedText*       m_pOutgoingServerFT;
    FixedText*       m_pUserNameFT;
    Edit*            m_pUserNameED;
    FixedText*       m_pOutPasswordFT;
    Edit*            m_pOutPasswordED;
    VclPtr<FixedText>       m_pOutgoingServerFT;
    VclPtr<FixedText>       m_pUserNameFT;
    VclPtr<Edit>            m_pUserNameED;
    VclPtr<FixedText>       m_pOutPasswordFT;
    VclPtr<Edit>            m_pOutPasswordED;

    FixedText*       m_pIncomingServerFT;
    FixedText*       m_pServerFT;
    Edit*            m_pServerED;
    FixedText*       m_pPortFT;
    NumericField*    m_pPortNF;
    FixedText*       m_pProtocolFT;
    RadioButton*     m_pPOP3RB;
    RadioButton*     m_pIMAPRB;
    FixedText*       m_pInUsernameFT;
    Edit*            m_pInUsernameED;
    FixedText*       m_pInPasswordFT;
    Edit*            m_pInPasswordED;
    VclPtr<FixedText>       m_pIncomingServerFT;
    VclPtr<FixedText>       m_pServerFT;
    VclPtr<Edit>            m_pServerED;
    VclPtr<FixedText>       m_pPortFT;
    VclPtr<NumericField>    m_pPortNF;
    VclPtr<FixedText>       m_pProtocolFT;
    VclPtr<RadioButton>     m_pPOP3RB;
    VclPtr<RadioButton>     m_pIMAPRB;
    VclPtr<FixedText>       m_pInUsernameFT;
    VclPtr<Edit>            m_pInUsernameED;
    VclPtr<FixedText>       m_pInPasswordFT;
    VclPtr<Edit>            m_pInPasswordED;

    OKButton*        m_pOKPB;
    VclPtr<OKButton>        m_pOKPB;

    SwMailMergeConfigItem& rConfigItem;

@@ -110,6 +112,7 @@ class SwAuthenticationSettingsDialog : public SfxModalDialog
public:
    SwAuthenticationSettingsDialog(SwMailConfigPage* pParent, SwMailMergeConfigItem& rItem);
    virtual ~SwAuthenticationSettingsDialog();
    virtual void dispose() SAL_OVERRIDE;
};

SwMailConfigPage::SwMailConfigPage( vcl::Window* pParent, const SfxItemSet& rSet ) :
@@ -141,6 +144,16 @@ SwMailConfigPage::~SwMailConfigPage()
void SwMailConfigPage::dispose()
{
    delete m_pConfigItem;
    m_pDisplayNameED.clear();
    m_pAddressED.clear();
    m_pReplyToCB.clear();
    m_pReplyToFT.clear();
    m_pReplyToED.clear();
    m_pServerED.clear();
    m_pPortNF.clear();
    m_pSecureCB.clear();
    m_pServerAuthenticationPB.clear();
    m_pTestPB.clear();
    SfxTabPage::dispose();
}

@@ -244,6 +257,25 @@ SwTestAccountSettingsDialog::SwTestAccountSettingsDialog(SwMailConfigPage* pPare
    Application::PostUserEvent( STATIC_LINK( this, SwTestAccountSettingsDialog, TestHdl ), this );
}

SwTestAccountSettingsDialog::~SwTestAccountSettingsDialog()
{
    dispose();
}

void SwTestAccountSettingsDialog::dispose()
{
    m_pErrorsED.clear();
    m_pStopPB.clear();
    m_pEstablish.clear();
    m_pFind.clear();
    m_pResult1.clear();
    m_pResult2.clear();
    m_pImage1.clear();
    m_pImage2.clear();
    m_pParent.clear();
    SfxModalDialog::dispose();
}

IMPL_LINK_NOARG(SwTestAccountSettingsDialog, StopHdl)
{
    m_bStop = true;
@@ -420,6 +452,33 @@ SwAuthenticationSettingsDialog::SwAuthenticationSettingsDialog(

SwAuthenticationSettingsDialog::~SwAuthenticationSettingsDialog()
{
    dispose();
}

void SwAuthenticationSettingsDialog::dispose()
{
    m_pAuthenticationCB.clear();
    m_pSeparateAuthenticationRB.clear();
    m_pSMTPAfterPOPRB.clear();
    m_pOutgoingServerFT.clear();
    m_pUserNameFT.clear();
    m_pUserNameED.clear();
    m_pOutPasswordFT.clear();
    m_pOutPasswordED.clear();
    m_pIncomingServerFT.clear();
    m_pServerFT.clear();
    m_pServerED.clear();
    m_pPortFT.clear();
    m_pPortNF.clear();
    m_pProtocolFT.clear();
    m_pPOP3RB.clear();
    m_pIMAPRB.clear();
    m_pInUsernameFT.clear();
    m_pInUsernameED.clear();
    m_pInPasswordFT.clear();
    m_pInPasswordED.clear();
    m_pOKPB.clear();
    SfxModalDialog::dispose();
}

IMPL_LINK_NOARG(SwAuthenticationSettingsDialog, OKHdl_Impl)
diff --git a/sw/source/ui/config/optcomp.cxx b/sw/source/ui/config/optcomp.cxx
index a0deaa4..b902150 100644
--- a/sw/source/ui/config/optcomp.cxx
+++ b/sw/source/ui/config/optcomp.cxx
@@ -134,6 +134,10 @@ SwCompatibilityOptPage::~SwCompatibilityOptPage()
void SwCompatibilityOptPage::dispose()
{
    delete m_pImpl;
    m_pMain.clear();
    m_pFormattingLB.clear();
    m_pOptionsLB.clear();
    m_pDefaultPB.clear();
    SfxTabPage::dispose();
}

diff --git a/sw/source/ui/config/optload.cxx b/sw/source/ui/config/optload.cxx
index 643e643..d0c8d8a 100644
--- a/sw/source/ui/config/optload.cxx
+++ b/sw/source/ui/config/optload.cxx
@@ -125,6 +125,30 @@ SwLoadOptPage::SwLoadOptPage(vcl::Window* pParent, const SfxItemSet& rSet)
    m_pShowStandardizedPageCount->SetClickHdl(aLink);
}

SwLoadOptPage::~SwLoadOptPage()
{
    dispose();
}

void SwLoadOptPage::dispose()
{
    m_pAlwaysRB.clear();
    m_pRequestRB.clear();
    m_pNeverRB.clear();
    m_pAutoUpdateFields.clear();
    m_pAutoUpdateCharts.clear();
    m_pMetricLB.clear();
    m_pTabFT.clear();
    m_pTabMF.clear();
    m_pUseSquaredPageMode.clear();
    m_pUseCharUnit.clear();
    m_pWordCountED.clear();
    m_pShowStandardizedPageCount.clear();
    m_pStandardizedPageSizeNF.clear();
    SfxTabPage::dispose();
}


SfxTabPage* SwLoadOptPage::Create( vcl::Window* pParent,
                                const SfxItemSet* rAttrSet )
{
@@ -524,6 +548,24 @@ void SwCaptionOptPage::dispose()
{
    DelUserData();
    delete pMgr;
    m_pCheckLB.clear();
    m_pLbCaptionOrder.clear();
    m_pPreview.clear();
    m_pSettingsGroup.clear();
    m_pCategoryBox.clear();
    m_pFormatText.clear();
    m_pFormatBox.clear();
    m_pNumberingSeparatorFT.clear();
    m_pNumberingSeparatorED.clear();
    m_pTextText.clear();
    m_pTextEdit.clear();
    m_pPosBox.clear();
    m_pNumCapt.clear();
    m_pLbLevel.clear();
    m_pEdDelim.clear();
    m_pCategory.clear();
    m_pCharStyleLB.clear();
    m_pApplyBorderCB.clear();
    SfxTabPage::dispose();
}

diff --git a/sw/source/ui/config/optpage.cxx b/sw/source/ui/config/optpage.cxx
index 5d7bafc..5acc585 100644
--- a/sw/source/ui/config/optpage.cxx
+++ b/sw/source/ui/config/optpage.cxx
@@ -156,8 +156,34 @@ SwContentOptPage::SwContentOptPage( vcl::Window* pParent,

SwContentOptPage::~SwContentOptPage()
{
    dispose();
}

void SwContentOptPage::dispose()
{
    m_pCrossCB.clear();
    m_pHScrollBox.clear();
    m_pVScrollBox.clear();
    m_pAnyRulerCB.clear();
    m_pHRulerCBox.clear();
    m_pHMetric.clear();
    m_pVRulerCBox.clear();
    m_pVRulerRightCBox.clear();
    m_pVMetric.clear();
    m_pSmoothCBox.clear();
    m_pGrfCB.clear();
    m_pTblCB.clear();
    m_pDrwCB.clear();
    m_pFldNameCB.clear();
    m_pPostItCB.clear();
    m_pSettingsFrame.clear();
    m_pSettingsLabel.clear();
    m_pMetricLabel.clear();
    m_pMetricLB.clear();
    SfxTabPage::dispose();
}


SfxTabPage* SwContentOptPage::Create( vcl::Window* pParent,
                                const SfxItemSet* rAttrSet)
{
@@ -352,6 +378,36 @@ SwAddPrinterTabPage::SwAddPrinterTabPage(vcl::Window* pParent,
    m_pProspectCB_RTL->Show(aCTLOptions.IsCTLFontEnabled());
}

SwAddPrinterTabPage::~SwAddPrinterTabPage()
{
    dispose();
}

void SwAddPrinterTabPage::dispose()
{
    m_pGrfCB.clear();
    m_pCtrlFldCB.clear();
    m_pBackgroundCB.clear();
    m_pBlackFontCB.clear();
    m_pPrintHiddenTextCB.clear();
    m_pPrintTextPlaceholderCB.clear();
    m_pPagesFrame.clear();
    m_pLeftPageCB.clear();
    m_pRightPageCB.clear();
    m_pProspectCB.clear();
    m_pProspectCB_RTL.clear();
    m_pCommentsFrame.clear();
    m_pNoRB.clear();
    m_pOnlyRB.clear();
    m_pEndRB.clear();
    m_pEndPageRB.clear();
    m_pInMarginsRB.clear();
    m_pPrintEmptyPagesCB.clear();
    m_pPaperFromSetupCB.clear();
    m_pFaxLB.clear();
    SfxTabPage::dispose();
}

void SwAddPrinterTabPage::SetPreview(bool bPrev)
{
    bPreview = bPrev;
@@ -583,6 +639,19 @@ void SwStdFontTabPage::dispose()
    {
        delete pPrt;
    }
    pLabelFT.clear();
    pStandardBox.clear();
    pStandardHeightLB.clear();
    pTitleBox.clear();
    pTitleHeightLB.clear();
    pListBox.clear();
    pListHeightLB.clear();
    pLabelBox.clear();
    pLabelHeightLB.clear();
    pIdxBox.clear();
    pIndexHeightLB.clear();
    pDocOnlyCB.clear();
    pStandardPB.clear();
    SfxTabPage::dispose();
}

@@ -1088,6 +1157,26 @@ SwTableOptionsTabPage::SwTableOptionsTabPage( vcl::Window* pParent, const SfxIte

SwTableOptionsTabPage::~SwTableOptionsTabPage()
{
    dispose();
}

void SwTableOptionsTabPage::dispose()
{
    pHeaderCB.clear();
    pRepeatHeaderCB.clear();
    pDontSplitCB.clear();
    pBorderCB.clear();
    pNumFormattingCB.clear();
    pNumFmtFormattingCB.clear();
    pNumAlignmentCB.clear();
    pRowMoveMF.clear();
    pColMoveMF.clear();
    pRowInsertMF.clear();
    pColInsertMF.clear();
    pFixRB.clear();
    pFixPropRB.clear();
    pVarRB.clear();
    SfxTabPage::dispose();
}

SfxTabPage* SwTableOptionsTabPage::Create( vcl::Window* pParent,
@@ -1324,6 +1413,31 @@ SwShdwCrsrOptionsTabPage::SwShdwCrsrOptionsTabPage( vcl::Window* pParent,

SwShdwCrsrOptionsTabPage::~SwShdwCrsrOptionsTabPage()
{
    dispose();
}

void SwShdwCrsrOptionsTabPage::dispose()
{
    m_pParaCB.clear();
    m_pSHyphCB.clear();
    m_pSpacesCB.clear();
    m_pHSpacesCB.clear();
    m_pTabCB.clear();
    m_pBreakCB.clear();
    m_pCharHiddenCB.clear();
    m_pFldHiddenCB.clear();
    m_pFldHiddenParaCB.clear();
    m_pDirectCursorFrame.clear();
    m_pOnOffCB.clear();
    m_pFillMarginRB.clear();
    m_pFillIndentRB.clear();
    m_pFillTabRB.clear();
    m_pFillSpaceRB.clear();
    m_pCursorProtFrame.clear();
    m_pCrsrInProtCB.clear();
    m_pIgnoreProtCB.clear();
    m_pMathBaselineAlignmentCB.clear();
    SfxTabPage::dispose();
}

SfxTabPage* SwShdwCrsrOptionsTabPage::Create( vcl::Window* pParent, const SfxItemSet* rSet )
@@ -1737,6 +1851,24 @@ SwRedlineOptionsTabPage::SwRedlineOptionsTabPage( vcl::Window* pParent,

SwRedlineOptionsTabPage::~SwRedlineOptionsTabPage()
{
    dispose();
}

void SwRedlineOptionsTabPage::dispose()
{
    pInsertLB.clear();
    pInsertColorLB.clear();
    pInsertedPreviewWN.clear();
    pDeletedLB.clear();
    pDeletedColorLB.clear();
    pDeletedPreviewWN.clear();
    pChangedLB.clear();
    pChangedColorLB.clear();
    pChangedPreviewWN.clear();
    pMarkPosLB.clear();
    pMarkColorLB.clear();
    pMarkPreviewWN.clear();
    SfxTabPage::dispose();
}

SfxTabPage* SwRedlineOptionsTabPage::Create( vcl::Window* pParent, const SfxItemSet* rSet)
@@ -2238,6 +2370,19 @@ SwCompareOptionsTabPage::SwCompareOptionsTabPage(  vcl::Window* pParent, const S

SwCompareOptionsTabPage::~SwCompareOptionsTabPage()
{
    dispose();
}

void SwCompareOptionsTabPage::dispose()
{
    m_pAutoRB.clear();
    m_pWordRB.clear();
    m_pCharRB.clear();
    m_pRsidCB.clear();
    m_pIgnoreCB.clear();
    m_pLenNF.clear();
    m_pStoreRsidCB.clear();
    SfxTabPage::dispose();
}

SfxTabPage* SwCompareOptionsTabPage::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet )
@@ -2373,6 +2518,26 @@ SwTestTabPage::SwTestTabPage(vcl::Window* pParent, const SfxItemSet& rCoreSet)

}

SwTestTabPage::~SwTestTabPage()
{
    dispose();
}

void SwTestTabPage::dispose()
{
    m_pTest1CBox.clear();
    m_pTest2CBox.clear();
    m_pTest3CBox.clear();
    m_pTest4CBox.clear();
    m_pTest5CBox.clear();
    m_pTest6CBox.clear();
    m_pTest7CBox.clear();
    m_pTest8CBox.clear();
    m_pTest9CBox.clear();
    m_pTest10CBox.clear();
    SfxTabPage::dispose();
}

SfxTabPage* SwTestTabPage::Create( vcl::Window* pParent,
                                       const SfxItemSet* rAttrSet )
{
diff --git a/sw/source/ui/dbui/addresslistdialog.cxx b/sw/source/ui/dbui/addresslistdialog.cxx
index 3a469ac..71d69b2 100644
--- a/sw/source/ui/dbui/addresslistdialog.cxx
+++ b/sw/source/ui/dbui/addresslistdialog.cxx
@@ -277,7 +277,15 @@ void SwAddressListDialog::dispose()
        delete pUserData;
        pEntry = m_pListLB->Next( pEntry );
    }
    delete m_pListLB;
    m_pAddressPage.clear();
    m_pListLB.clear();
    m_pDescriptionFI.clear();
    m_pLoadListPB.clear();
    m_pCreateListPB.clear();
    m_pFilterPB.clear();
    m_pEditPB.clear();
    m_pTablePB.clear();
    m_pOK.clear();
    SfxModalDialog::dispose();
}

diff --git a/sw/source/ui/dbui/addresslistdialog.hxx b/sw/source/ui/dbui/addresslistdialog.hxx
index 59d2c40..7088764 100644
--- a/sw/source/ui/dbui/addresslistdialog.hxx
+++ b/sw/source/ui/dbui/addresslistdialog.hxx
@@ -46,17 +46,17 @@ class SwAddrSourceLB;

class SwAddressListDialog : public SfxModalDialog
{
    FixedText*      m_pDescriptionFI;
    VclPtr<FixedText>      m_pDescriptionFI;

    SwAddrSourceLB* m_pListLB;
    VclPtr<SwAddrSourceLB> m_pListLB;

    PushButton*     m_pLoadListPB;
    PushButton*     m_pCreateListPB;
    PushButton*     m_pFilterPB;
    PushButton*     m_pEditPB;
    PushButton*     m_pTablePB;
    VclPtr<PushButton>     m_pLoadListPB;
    VclPtr<PushButton>     m_pCreateListPB;
    VclPtr<PushButton>     m_pFilterPB;
    VclPtr<PushButton>     m_pEditPB;
    VclPtr<PushButton>     m_pTablePB;

    OKButton*       m_pOK;
    VclPtr<OKButton>       m_pOK;

    OUString        m_sName;
    OUString        m_sTable;
@@ -66,7 +66,7 @@ class SwAddressListDialog : public SfxModalDialog

    bool            m_bInSelectHdl;

    SwMailMergeAddressBlockPage* m_pAddressPage;
    VclPtr<SwMailMergeAddressBlockPage> m_pAddressPage;

    ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XDatabaseContext> m_xDBContext;

diff --git a/sw/source/ui/dbui/createaddresslistdialog.cxx b/sw/source/ui/dbui/createaddresslistdialog.cxx
index 2806672..d54a313 100644
--- a/sw/source/ui/dbui/createaddresslistdialog.cxx
+++ b/sw/source/ui/dbui/createaddresslistdialog.cxx
@@ -46,11 +46,11 @@ using namespace ::com::sun::star::ui::dialogs;

class SwAddressControl_Impl : public Control
{
    ScrollBar                       *m_pScrollBar;
    Window                          *m_pWindow;
    VclPtr<ScrollBar>                       m_pScrollBar;
    VclPtr<Window>                          m_pWindow;

    ::std::vector<FixedText*>       m_aFixedTexts;
    ::std::vector<Edit*>            m_aEdits;
    ::std::vector<VclPtr<FixedText> >       m_aFixedTexts;
    ::std::vector<VclPtr<Edit> >            m_aEdits;

    SwCSVData*                      m_pData;
    Size                            m_aWinOutputSize;
@@ -119,14 +119,10 @@ SwAddressControl_Impl::~SwAddressControl_Impl()

void SwAddressControl_Impl::dispose()
{
    ::std::vector<FixedText*>::iterator aTextIter;
    for(aTextIter = m_aFixedTexts.begin(); aTextIter != m_aFixedTexts.end(); ++aTextIter)
        delete *aTextIter;
    ::std::vector<Edit*>::iterator aEditIter;
    for(aEditIter = m_aEdits.begin(); aEditIter != m_aEdits.end(); ++aEditIter)
        delete *aEditIter;
    delete m_pScrollBar;
    delete m_pWindow;
    m_aFixedTexts.clear();
    m_aEdits.clear();
    m_pScrollBar.clear();
    m_pWindow.clear();
    Control::dispose();
}

@@ -136,12 +132,6 @@ void SwAddressControl_Impl::SetData(SwCSVData& rDBData)
    //when the address data is updated then remove the controls an build again
    if(m_aFixedTexts.size())
    {
        ::std::vector<FixedText*>::iterator aTextIter;
        for(aTextIter = m_aFixedTexts.begin(); aTextIter != m_aFixedTexts.end(); ++aTextIter)
            delete *aTextIter;
        ::std::vector<Edit*>::iterator aEditIter;
        for(aEditIter = m_aEdits.begin(); aEditIter != m_aEdits.end(); ++aEditIter)
            delete *aEditIter;
        m_aFixedTexts.clear();
        m_aEdits.clear();
        m_bNoDataSet = true;
@@ -251,9 +241,8 @@ void SwAddressControl_Impl::SetCurrentDataSet(sal_uInt32 nSet)
        OSL_ENSURE(m_pData->aDBData.size() > m_nCurrentDataSet, "wrong data set index");
        if(m_pData->aDBData.size() > m_nCurrentDataSet)
        {
            ::std::vector<Edit*>::iterator aEditIter;
            sal_uInt32 nIndex = 0;
            for(aEditIter = m_aEdits.begin(); aEditIter != m_aEdits.end(); ++aEditIter, ++nIndex)
            for(auto aEditIter = m_aEdits.begin(); aEditIter != m_aEdits.end(); ++aEditIter, ++nIndex)
            {
                OSL_ENSURE(nIndex < m_pData->aDBData[m_nCurrentDataSet].size(),
                            "number of columns doesn't match number of Edits");
@@ -387,8 +376,7 @@ void SwAddressControl_Impl::Resize()
    {
        long nNewEditSize = aSize.Width() - (*m_aEdits.begin())->GetPosPixel().X() - nScrollBarWidth - 6;

        ::std::vector<Edit*>::iterator aEditIter;
        for(aEditIter = m_aEdits.begin(); aEditIter != m_aEdits.end(); ++aEditIter)
        for(auto aEditIter = m_aEdits.begin(); aEditIter != m_aEdits.end(); ++aEditIter)
        {
            (*aEditIter)->SetSizePixel(Size(nNewEditSize, (*aEditIter)->GetSizePixel().Height()));
        }
@@ -508,7 +496,18 @@ SwCreateAddressListDialog::~SwCreateAddressListDialog()
void SwCreateAddressListDialog::dispose()
{
    delete m_pCSVData;
    delete m_pFindDlg;
    m_pAddressControl.clear();
    m_pNewPB.clear();
    m_pDeletePB.clear();
    m_pFindPB.clear();
    m_pCustomizePB.clear();
    m_pStartPB.clear();
    m_pPrevPB.clear();
    m_pSetNoNF.clear();
    m_pNextPB.clear();
    m_pEndPB.clear();
    m_pOK.clear();
    m_pFindDlg.clear();
    SfxModalDialog::dispose();
}

@@ -764,6 +763,23 @@ SwFindEntryDialog::SwFindEntryDialog(SwCreateAddressListDialog* pParent)
    m_pCancel->SetClickHdl(LINK(this, SwFindEntryDialog, CloseHdl_Impl));
}

SwFindEntryDialog::~SwFindEntryDialog()
{
    dispose();
}

void SwFindEntryDialog::dispose()
{
    m_pFindED.clear();
    m_pFindOnlyCB.clear();
    m_pFindOnlyLB.clear();
    m_pFindPB.clear();
    m_pCancel.clear();
    m_pParent.clear();
    ModelessDialog::dispose();
}


IMPL_LINK_NOARG(SwFindEntryDialog, FindHdl_Impl)
{
    sal_Int32 nColumn = -1;
diff --git a/sw/source/ui/dbui/createaddresslistdialog.hxx b/sw/source/ui/dbui/createaddresslistdialog.hxx
index dec027a5..ac6ed41 100644
--- a/sw/source/ui/dbui/createaddresslistdialog.hxx
+++ b/sw/source/ui/dbui/createaddresslistdialog.hxx
@@ -40,27 +40,27 @@ struct SwCSVData
class SwFindEntryDialog;
class SwCreateAddressListDialog : public SfxModalDialog
{
    SwAddressControl_Impl*  m_pAddressControl;
    VclPtr<SwAddressControl_Impl>   m_pAddressControl;

    PushButton              *m_pNewPB;
    PushButton              *m_pDeletePB;
    PushButton              *m_pFindPB;
    PushButton              *m_pCustomizePB;
    VclPtr<PushButton>              m_pNewPB;
    VclPtr<PushButton>              m_pDeletePB;
    VclPtr<PushButton>              m_pFindPB;
    VclPtr<PushButton>              m_pCustomizePB;

    PushButton              *m_pStartPB;
    PushButton              *m_pPrevPB;
    NumericField            *m_pSetNoNF;
    PushButton              *m_pNextPB;
    PushButton              *m_pEndPB;
    VclPtr<PushButton>              m_pStartPB;
    VclPtr<PushButton>              m_pPrevPB;
    VclPtr<NumericField>            m_pSetNoNF;
    VclPtr<PushButton>              m_pNextPB;
    VclPtr<PushButton>              m_pEndPB;


    OKButton                *m_pOK;
    VclPtr<OKButton>                m_pOK;

    OUString                m_sAddressListFilterName;
    OUString                m_sURL;

    SwCSVData*              m_pCSVData;
    SwFindEntryDialog*      m_pFindDlg;
    VclPtr<SwFindEntryDialog>      m_pFindDlg;

    DECL_LINK(NewHdl_Impl, void *);
    DECL_LINK(DeleteHdl_Impl, void *);
@@ -84,14 +84,14 @@ public:

class SwFindEntryDialog : public ModelessDialog
{
    Edit*         m_pFindED;
    CheckBox*     m_pFindOnlyCB;
    ListBox*      m_pFindOnlyLB;
    VclPtr<Edit>         m_pFindED;
    VclPtr<CheckBox>     m_pFindOnlyCB;
    VclPtr<ListBox>      m_pFindOnlyLB;

    PushButton*   m_pFindPB;
    CancelButton* m_pCancel;
    VclPtr<PushButton>   m_pFindPB;
    VclPtr<CancelButton> m_pCancel;

    SwCreateAddressListDialog*  m_pParent;
    VclPtr<SwCreateAddressListDialog>  m_pParent;

    DECL_LINK(FindHdl_Impl, void *);
    DECL_LINK(FindEnableHdl_Impl, void *);
@@ -99,6 +99,8 @@ class SwFindEntryDialog : public ModelessDialog

public:
    SwFindEntryDialog(SwCreateAddressListDialog* pParent);
    virtual ~SwFindEntryDialog();
    virtual void dispose() SAL_OVERRIDE;

    ListBox& GetFieldsListBox()
    {
diff --git a/sw/source/ui/dbui/customizeaddresslistdialog.cxx b/sw/source/ui/dbui/customizeaddresslistdialog.cxx
index c812fcd..5db3c7c 100644
--- a/sw/source/ui/dbui/customizeaddresslistdialog.cxx
+++ b/sw/source/ui/dbui/customizeaddresslistdialog.cxx
@@ -24,7 +24,6 @@
#include <vcl/msgbox.hxx>
#include <dbui.hrc>
#include <helpid.h>
#include <boost/scoped_ptr.hpp>

SwCustomizeAddressListDialog::SwCustomizeAddressListDialog(
        vcl::Window* pParent, const SwCSVData& rOldData)
@@ -61,8 +60,21 @@ SwCustomizeAddressListDialog::SwCustomizeAddressListDialog(

SwCustomizeAddressListDialog::~SwCustomizeAddressListDialog()
{
    dispose();
}

void SwCustomizeAddressListDialog::dispose()
{
    m_pFieldsLB.clear();
    m_pAddPB.clear();
    m_pDeletePB.clear();
    m_pRenamePB.clear();
    m_pUpPB.clear();
    m_pDownPB.clear();
    SfxModalDialog::dispose();
}


IMPL_LINK_NOARG(SwCustomizeAddressListDialog, ListBoxSelectHdl_Impl)
{
    UpdateButtons();
@@ -76,11 +88,11 @@ IMPL_LINK(SwCustomizeAddressListDialog, AddRenameHdl_Impl, PushButton*, pButton)
    if(nPos == LISTBOX_ENTRY_NOTFOUND)
        nPos = 0;

    boost::scoped_ptr<SwAddRenameEntryDialog> pDlg;
    VclPtr<SwAddRenameEntryDialog> pDlg;
    if (bRename)
        pDlg.reset(new SwRenameEntryDialog(pButton, m_pNewData->aDBColumnHeaders));
        pDlg = new SwRenameEntryDialog(pButton, m_pNewData->aDBColumnHeaders);
    else
        pDlg.reset(new SwAddEntryDialog(pButton, m_pNewData->aDBColumnHeaders));
        pDlg = new SwAddEntryDialog(pButton, m_pNewData->aDBColumnHeaders);
    if(bRename)
    {
        OUString aTemp = m_pFieldsLB->GetEntry(nPos);
@@ -111,7 +123,6 @@ IMPL_LINK(SwCustomizeAddressListDialog, AddRenameHdl_Impl, PushButton*, pButton)
        m_pFieldsLB->InsertEntry(sNew, nPos);
        m_pFieldsLB->SelectEntryPos(nPos);
    }
    pDlg.reset();
    UpdateButtons();
    return 0;
}
@@ -184,6 +195,18 @@ SwAddRenameEntryDialog::SwAddRenameEntryDialog(
    ModifyHdl_Impl(m_pFieldNameED);
}

SwAddRenameEntryDialog::~SwAddRenameEntryDialog()
{
    dispose();
}

void SwAddRenameEntryDialog::dispose()
{
    m_pFieldNameED.clear();
    m_pOK.clear();
    SfxModalDialog::dispose();
}

IMPL_LINK(SwAddRenameEntryDialog, ModifyHdl_Impl, Edit*, pEdit)
{
    OUString sEntry = pEdit->GetText();
diff --git a/sw/source/ui/dbui/customizeaddresslistdialog.hxx b/sw/source/ui/dbui/customizeaddresslistdialog.hxx
index e059208..e943f65 100644
--- a/sw/source/ui/dbui/customizeaddresslistdialog.hxx
+++ b/sw/source/ui/dbui/customizeaddresslistdialog.hxx
@@ -29,14 +29,14 @@ struct SwCSVData;

class SwCustomizeAddressListDialog : public SfxModalDialog
{
    ListBox*     m_pFieldsLB;
    VclPtr<ListBox>     m_pFieldsLB;

    PushButton*  m_pAddPB;
    PushButton*  m_pDeletePB;
    PushButton*  m_pRenamePB;
    VclPtr<PushButton>  m_pAddPB;
    VclPtr<PushButton>  m_pDeletePB;
    VclPtr<PushButton>  m_pRenamePB;

    PushButton*  m_pUpPB;
    PushButton*  m_pDownPB;
    VclPtr<PushButton>  m_pUpPB;
    VclPtr<PushButton>  m_pDownPB;

    SwCSVData*   m_pNewData;

@@ -49,20 +49,24 @@ class SwCustomizeAddressListDialog : public SfxModalDialog
public:
    SwCustomizeAddressListDialog(vcl::Window* pParent, const SwCSVData& rOldData);
    virtual ~SwCustomizeAddressListDialog();
    virtual void dispose() SAL_OVERRIDE;

    SwCSVData*    GetNewData() { return m_pNewData;}
};

class SwAddRenameEntryDialog : public SfxModalDialog
{
    Edit*     m_pFieldNameED;
    OKButton* m_pOK;
    VclPtr<Edit>     m_pFieldNameED;
    VclPtr<OKButton> m_pOK;
    const std::vector< OUString >& m_rCSVHeader;

    DECL_LINK(ModifyHdl_Impl, Edit*);
protected:
    SwAddRenameEntryDialog(vcl::Window* pParent, const OUString& rID,
        const OUString& rUIXMLDescription, const std::vector< OUString >& rCSVHeader);
    virtual ~SwAddRenameEntryDialog();
    virtual void dispose() SAL_OVERRIDE;

public:
    void                SetFieldName(const OUString& rName) {m_pFieldNameED->SetText(rName);}
    OUString            GetFieldName() const {return m_pFieldNameED->GetText();};
diff --git a/sw/source/ui/dbui/dbinsdlg.cxx b/sw/source/ui/dbui/dbinsdlg.cxx
index 247a531..4c8da21 100644
--- a/sw/source/ui/dbui/dbinsdlg.cxx
+++ b/sw/source/ui/dbui/dbinsdlg.cxx
@@ -421,6 +421,31 @@ void SwInsertDBColAutoPilot::dispose()
    delete pRep;

    delete pTAutoFmt;
    m_pRbAsTable.clear();
    m_pRbAsField.clear();
    m_pRbAsText.clear();
    m_pHeadFrame.clear();
    m_pLbTblDbColumn.clear();
    m_pLbTxtDbColumn.clear();
    m_pFormatFrame.clear();
    m_pRbDbFmtFromDb.clear();
    m_pRbDbFmtFromUsr.clear();
    m_pLbDbFmtFromUsr.clear();
    m_pIbDbcolToEdit.clear();
    m_pEdDbText.clear();
    m_pFtDbParaColl.clear();
    m_pLbDbParaColl.clear();
    m_pIbDbcolAllTo.clear();
    m_pIbDbcolOneTo.clear();
    m_pIbDbcolOneFrom.clear();
    m_pIbDbcolAllFrom.clear();
    m_pFtTableCol.clear();
    m_pLbTableCol.clear();
    m_pCbTableHeadon.clear();
    m_pRbHeadlColnms.clear();
    m_pRbHeadlEmpty.clear();
    m_pPbTblFormat.clear();
    m_pPbTblAutofmt.clear();
    SfxModalDialog::dispose();
}

@@ -773,9 +798,9 @@ IMPL_LINK( SwInsertDBColAutoPilot, SelectHdl, ListBox*, pBox )
    ListBox* pGetBox = pBox == m_pLbDbFmtFromUsr
                            ? ( m_pRbAsTable->IsChecked()
                                    ? ( 0 == m_pLbTableCol->GetEntryData( 0 )
                                        ? m_pLbTblDbColumn
                                        : m_pLbTableCol )
                                    : m_pLbTxtDbColumn )
                                        ? m_pLbTblDbColumn.get()
                                        : m_pLbTableCol.get() )
                                    : m_pLbTxtDbColumn.get() )
                            : pBox;

    SwInsDBColumn aSrch( pGetBox->GetSelectEntry(), 0 );
@@ -823,7 +848,7 @@ IMPL_LINK( SwInsertDBColAutoPilot, SelectHdl, ListBox*, pBox )

        // to know later on, what ListBox was the "active", a Flag
        // is remembered in the 1st entry
        void* pPtr = pBox == m_pLbTableCol ? m_pLbTableCol : 0;
        void* pPtr = pBox == m_pLbTableCol ? m_pLbTableCol.get() : 0;
        m_pLbTableCol->SetEntryData( 0, pPtr );
    }
    return 0;
diff --git a/sw/source/ui/dbui/dbtablepreviewdialog.cxx b/sw/source/ui/dbui/dbtablepreviewdialog.cxx
index 76c66c7..d62f410 100644
--- a/sw/source/ui/dbui/dbtablepreviewdialog.cxx
+++ b/sw/source/ui/dbui/dbtablepreviewdialog.cxx
@@ -91,6 +91,8 @@ void SwDBTablePreviewDialog::dispose()
        m_xFrame->setComponent(NULL, NULL);
        m_xFrame->dispose();
    }
    m_pDescriptionFI.clear();
    m_pBeamerWIN.clear();
    SfxModalDialog::dispose();
}

diff --git a/sw/source/ui/dbui/dbtablepreviewdialog.hxx b/sw/source/ui/dbui/dbtablepreviewdialog.hxx
index a1d9dce..bae176d 100644
--- a/sw/source/ui/dbui/dbtablepreviewdialog.hxx
+++ b/sw/source/ui/dbui/dbtablepreviewdialog.hxx
@@ -31,8 +31,8 @@ namespace com{ namespace sun{ namespace star{

class SwDBTablePreviewDialog : public SfxModalDialog
{
    FixedText*      m_pDescriptionFI;
    vcl::Window*         m_pBeamerWIN;
    VclPtr<FixedText>      m_pDescriptionFI;
    VclPtr<vcl::Window>    m_pBeamerWIN;

    ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame2 >         m_xFrame;
public:
diff --git a/sw/source/ui/dbui/mmaddressblockpage.cxx b/sw/source/ui/dbui/mmaddressblockpage.cxx
index 4698f3d..73476fd 100644
--- a/sw/source/ui/dbui/mmaddressblockpage.cxx
+++ b/sw/source/ui/dbui/mmaddressblockpage.cxx
@@ -93,6 +93,32 @@ SwMailMergeAddressBlockPage::SwMailMergeAddressBlockPage( SwMailMergeWizard* _pP
    m_pNextSetIB->SetClickHdl(aLink);
}

SwMailMergeAddressBlockPage::~SwMailMergeAddressBlockPage()
{
    dispose();
}

void SwMailMergeAddressBlockPage::dispose()
{
    m_pAddressListPB.clear();
    m_pCurrentAddressFI.clear();
    m_pStep2.clear();
    m_pStep3.clear();
    m_pStep4.clear();
    m_pSettingsFI.clear();
    m_pAddressCB.clear();
    m_pSettingsWIN.clear();
    m_pSettingsPB.clear();
    m_pHideEmptyParagraphsCB.clear();
    m_pAssignPB.clear();
    m_pPreviewWIN.clear();
    m_pDocumentIndexFI.clear();
    m_pPrevSetIB.clear();
    m_pNextSetIB.clear();
    m_pWizard.clear();
    svt::OWizardPage::dispose();
}

bool SwMailMergeAddressBlockPage::canAdvance() const
{
    return m_pWizard->GetConfigItem().GetResultSet().is();
@@ -330,6 +356,20 @@ SwSelectAddressBlockDialog::SwSelectAddressBlockDialog(

SwSelectAddressBlockDialog::~SwSelectAddressBlockDialog()
{
    dispose();
}

void SwSelectAddressBlockDialog::dispose()
{
    m_pPreview.clear();
    m_pNewPB.clear();
    m_pCustomizePB.clear();
    m_pDeletePB.clear();
    m_pNeverRB.clear();
    m_pAlwaysRB.clear();
    m_pDependentRB.clear();
    m_pCountryED.clear();
    SfxModalDialog::dispose();
}

void SwSelectAddressBlockDialog::SetAddressBlocks(const uno::Sequence< OUString>& rBlocks,
@@ -533,6 +573,26 @@ SwCustomizeAddressBlockDialog::SwCustomizeAddressBlockDialog(

SwCustomizeAddressBlockDialog::~SwCustomizeAddressBlockDialog()
{
    dispose();
}

void SwCustomizeAddressBlockDialog::dispose()
{
    m_pAddressElementsFT.clear();
    m_pAddressElementsLB.clear();
    m_pInsertFieldIB.clear();
    m_pRemoveFieldIB.clear();
    m_pDragFT.clear();
    m_pDragED.clear();
    m_pUpIB.clear();
    m_pLeftIB.clear();
    m_pRightIB.clear();
    m_pDownIB.clear();
    m_pFieldFT.clear();
    m_pFieldCB.clear();
    m_pPreviewWIN.clear();
    m_pOK.clear();
    SfxModalDialog::dispose();
}

IMPL_LINK_NOARG(SwCustomizeAddressBlockDialog, OKHdl_Impl)
@@ -750,9 +810,9 @@ class SwAssignFieldsControl : public Control
    VclPtr<HeaderBar>           m_aHeaderHB;
    VclPtr<Window>              m_aWindow;

    ::std::vector<FixedText*>   m_aFieldNames;
    ::std::vector<ListBox*>     m_aMatches;
    ::std::vector<FixedText*>   m_aPreviews;
    ::std::vector<VclPtr<FixedText> >   m_aFieldNames;
    ::std::vector<VclPtr<ListBox> >     m_aMatches;
    ::std::vector<VclPtr<FixedText> >   m_aPreviews;

    SwMailMergeConfigItem*      m_rConfigItem;

@@ -929,14 +989,9 @@ SwAssignFieldsControl::~SwAssignFieldsControl()

void SwAssignFieldsControl::dispose()
{
    ::std::vector<FixedText*>::iterator aFIIter;
    for(aFIIter = m_aFieldNames.begin(); aFIIter != m_aFieldNames.end(); ++aFIIter)
        delete *aFIIter;
    ::std::vector<ListBox*>::iterator aLBIter;
    for(aLBIter = m_aMatches.begin(); aLBIter != m_aMatches.end(); ++aLBIter)
        delete *aLBIter;
    for(aFIIter = m_aPreviews.begin(); aFIIter != m_aPreviews.end(); ++aFIIter)
        delete *aFIIter;
    m_aFieldNames.clear();
    m_aMatches.clear();
    m_aPreviews.clear();

    m_aVScroll.disposeAndClear();
    m_aHeaderHB.disposeAndClear();
@@ -972,16 +1027,14 @@ void SwAssignFieldsControl::Resize()
    long nControlHeight = std::max(m_aFieldNames[0]->get_preferred_size().Height(),
                                   m_aMatches[0]->get_preferred_size().Height());

    ::std::vector<FixedText*>::iterator aFIIter;
    for(aFIIter = m_aFieldNames.begin(); aFIIter != m_aFieldNames.end(); ++aFIIter)
    for(auto aFIIter = m_aFieldNames.begin(); aFIIter != m_aFieldNames.end(); ++aFIIter)
        (*aFIIter)->SetSizePixel(Size(nColWidth - 6, nControlHeight));
    ::std::vector<ListBox*>::iterator aLBIter;
    for(aLBIter = m_aMatches.begin(); aLBIter != m_aMatches.end(); ++aLBIter)
    for(auto aLBIter = m_aMatches.begin(); aLBIter != m_aMatches.end(); ++aLBIter)
    {
        long nPosY = (*aLBIter)->GetPosPixel().Y();
        (*aLBIter)->SetPosSizePixel(Point(nColWidth, nPosY), Size(nColWidth - 6, nControlHeight));
    }
    for(aFIIter = m_aPreviews.begin(); aFIIter != m_aPreviews.end(); ++aFIIter)
    for(auto aFIIter = m_aPreviews.begin(); aFIIter != m_aPreviews.end(); ++aFIIter)
    {
        long nPosY = (*aFIIter)->GetPosPixel().Y();
        (*aFIIter)->SetPosSizePixel(Point(2 * nColWidth + 6, nPosY), Size(nColWidth, nControlHeight));
@@ -1046,14 +1099,11 @@ IMPL_LINK(SwAssignFieldsControl, ScrollHdl_Impl, ScrollBar*, pScroll)
    long nMove = m_nFirstYPos - (*m_aMatches.begin())->GetPosPixel().Y() - (nThumb * m_nYOffset);

    SetUpdateMode(false);
    long nIndex;
    ::std::vector<FixedText*>::iterator aFIIter;
    for(nIndex = 0, aFIIter = m_aFieldNames.begin(); aFIIter != m_aFieldNames.end(); ++aFIIter, ++nIndex)
    for(auto aFIIter = m_aFieldNames.begin(); aFIIter != m_aFieldNames.end(); ++aFIIter)
        lcl_Move(*aFIIter, nMove);
    ::std::vector<ListBox*>::iterator aLBIter;
    for(nIndex = 0, aLBIter = m_aMatches.begin(); aLBIter != m_aMatches.end(); ++aLBIter, ++nIndex)
    for(auto aLBIter = m_aMatches.begin(); aLBIter != m_aMatches.end(); ++aLBIter)
        lcl_Move(*aLBIter, nMove);
    for(nIndex = 0, aFIIter = m_aPreviews.begin(); aFIIter != m_aPreviews.end(); ++aFIIter, ++nIndex)
    for(auto aFIIter = m_aPreviews.begin(); aFIIter != m_aPreviews.end(); ++aFIIter)
        lcl_Move(*aFIIter, nMove);
    SetUpdateMode(true);

@@ -1082,9 +1132,8 @@ IMPL_LINK(SwAssignFieldsControl, MatchHdl_Impl, ListBox*, pBox)
            }
        }
    }
    ::std::vector<ListBox*>::iterator aLBIter;
    sal_Int32 nIndex = 0;
    for(aLBIter = m_aMatches.begin(); aLBIter != m_aMatches.end(); ++aLBIter, ++nIndex)
    for(auto aLBIter = m_aMatches.begin(); aLBIter != m_aMatches.end(); ++aLBIter, ++nIndex)
    {
        if(*aLBIter == pBox)
        {
@@ -1101,8 +1150,7 @@ IMPL_LINK(SwAssignFieldsControl, GotFocusHdl_Impl, ListBox*, pBox)
    if(0 != (GETFOCUS_TAB & pBox->GetGetFocusFlags()))
    {
        sal_Int32 nIndex = 0;
        ::std::vector<ListBox*>::iterator aLBIter;
        for(aLBIter = m_aMatches.begin(); aLBIter != m_aMatches.end(); ++aLBIter, ++nIndex)
        for(auto aLBIter = m_aMatches.begin(); aLBIter != m_aMatches.end(); ++aLBIter, ++nIndex)
        {
            if(*aLBIter == pBox)
            {
@@ -1161,6 +1209,17 @@ SwAssignFieldsDialog::SwAssignFieldsDialog(

SwAssignFieldsDialog::~SwAssignFieldsDialog()
{
    dispose();
}

void SwAssignFieldsDialog::dispose()
{
    m_pMatchingFI.clear();
    m_pFieldsControl.clear();
    m_pPreviewFI.clear();
    m_pPreviewWIN.clear();
    m_pOK.clear();
    SfxModalDialog::dispose();
}

uno::Sequence< OUString > SwAssignFieldsDialog::CreateAssignments()
@@ -1168,9 +1227,8 @@ uno::Sequence< OUString > SwAssignFieldsDialog::CreateAssignments()
    uno::Sequence< OUString > aAssignments(
            m_rConfigItem.GetDefaultAddressHeaders().Count());
    OUString* pAssignments = aAssignments.getArray();
    ::std::vector<ListBox*>::iterator aLBIter;
    sal_Int32 nIndex = 0;
    for(aLBIter = m_pFieldsControl->m_aMatches.begin();
    for(auto aLBIter = m_pFieldsControl->m_aMatches.begin();
                aLBIter != m_pFieldsControl->m_aMatches.end();
                    ++aLBIter, ++nIndex)
    {
@@ -1213,6 +1271,18 @@ DDListBox::DDListBox(vcl::Window* pParent, WinBits nStyle)

}

DDListBox::~DDListBox()
{
    dispose();
}

void DDListBox::dispose()
{
    m_pParentDialog.clear();
    SvTreeListBox::dispose();
}


extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeDDListBox(vcl::Window *pParent, VclBuilder::stringmap &rMap)
{
    WinBits nWinStyle = WB_TABSTOP;
@@ -1257,6 +1327,19 @@ AddressMultiLineEdit::AddressMultiLineEdit(vcl::Window* pParent, WinBits nBits)
    EnableFocusSelectionHide(false);
}

AddressMultiLineEdit::~AddressMultiLineEdit()
{
    dispose();
}

void AddressMultiLineEdit::dispose()
{
    EndListening(*GetTextEngine());
    m_pParentDialog.clear();
    VclMultiLineEdit::dispose();
}


Size AddressMultiLineEdit::GetOptimalSize() const
{
    return LogicToPixel(Size(160, 60), MAP_APPFONT);
@@ -1276,11 +1359,6 @@ void AddressMultiLineEdit::SetAddressDialog(SwCustomizeAddressBlockDialog *pPare
    m_pParentDialog = pParent;
}

AddressMultiLineEdit::~AddressMultiLineEdit()
{
    EndListening(*GetTextEngine());
}

void AddressMultiLineEdit::Notify(SfxBroadcaster& /*rBC*/, const SfxHint& rHint)
{
    if (m_aSelectionLink.IsSet() && dynamic_cast<const TextHint*>(&rHint))
diff --git a/sw/source/ui/dbui/mmaddressblockpage.hxx b/sw/source/ui/dbui/mmaddressblockpage.hxx
index 6824bed..2f93a75 100644
--- a/sw/source/ui/dbui/mmaddressblockpage.hxx
+++ b/sw/source/ui/dbui/mmaddressblockpage.hxx
@@ -37,31 +37,31 @@ class SwMailMergeConfigItem;

class SwMailMergeAddressBlockPage : public svt::OWizardPage
{
    PushButton*         m_pAddressListPB;
    FixedText*          m_pCurrentAddressFI;
    VclPtr<PushButton>         m_pAddressListPB;
    VclPtr<FixedText>          m_pCurrentAddressFI;

    VclContainer*       m_pStep2;
    VclContainer*       m_pStep3;
    VclContainer*       m_pStep4;
    VclPtr<VclContainer>       m_pStep2;
    VclPtr<VclContainer>       m_pStep3;
    VclPtr<VclContainer>       m_pStep4;

    FixedText*          m_pSettingsFI;
    CheckBox*           m_pAddressCB;
    SwAddressPreview*   m_pSettingsWIN;
    PushButton*         m_pSettingsPB;
    CheckBox*           m_pHideEmptyParagraphsCB;
    VclPtr<FixedText>          m_pSettingsFI;
    VclPtr<CheckBox>           m_pAddressCB;
    VclPtr<SwAddressPreview>   m_pSettingsWIN;
    VclPtr<PushButton>         m_pSettingsPB;
    VclPtr<CheckBox>           m_pHideEmptyParagraphsCB;

    PushButton*         m_pAssignPB;
    VclPtr<PushButton>         m_pAssignPB;

    SwAddressPreview*   m_pPreviewWIN;
    FixedText*          m_pDocumentIndexFI;
    PushButton*         m_pPrevSetIB;
    PushButton*         m_pNextSetIB;
    VclPtr<SwAddressPreview>   m_pPreviewWIN;
    VclPtr<FixedText>          m_pDocumentIndexFI;
    VclPtr<PushButton>         m_pPrevSetIB;
    VclPtr<PushButton>         m_pNextSetIB;

    OUString            m_sDocument;
    OUString            m_sCurrentAddress;
    OUString            m_sChangeAddress;

    SwMailMergeWizard*  m_pWizard;
    VclPtr<SwMailMergeWizard>  m_pWizard;

    DECL_LINK(AddressListHdl_Impl, void *);
    DECL_LINK(SettingsHdl_Impl, PushButton*);
@@ -79,20 +79,22 @@ class SwMailMergeAddressBlockPage : public svt::OWizardPage

public:
    SwMailMergeAddressBlockPage(SwMailMergeWizard* _pParent);
    virtual ~SwMailMergeAddressBlockPage();
    virtual void dispose() SAL_OVERRIDE;
    SwMailMergeWizard* GetWizard() { return m_pWizard; }
};

class SwSelectAddressBlockDialog : public SfxModalDialog
{
    SwAddressPreview*   m_pPreview;
    PushButton*         m_pNewPB;
    PushButton*         m_pCustomizePB;
    PushButton*         m_pDeletePB;
    VclPtr<SwAddressPreview>   m_pPreview;
    VclPtr<PushButton>         m_pNewPB;
    VclPtr<PushButton>         m_pCustomizePB;
    VclPtr<PushButton>         m_pDeletePB;

    RadioButton*        m_pNeverRB;
    RadioButton*        m_pAlwaysRB;
    RadioButton*        m_pDependentRB;
    Edit*               m_pCountryED;
    VclPtr<RadioButton>        m_pNeverRB;
    VclPtr<RadioButton>        m_pAlwaysRB;
    VclPtr<RadioButton>        m_pDependentRB;
    VclPtr<Edit>               m_pCountryED;

    com::sun::star::uno::Sequence< OUString>    m_aAddressBlocks;
    SwMailMergeConfigItem& m_rConfig;
@@ -106,6 +108,7 @@ class SwSelectAddressBlockDialog : public SfxModalDialog
public:
    SwSelectAddressBlockDialog(vcl::Window* pParent, SwMailMergeConfigItem& rConfig);
    virtual ~SwSelectAddressBlockDialog();
    virtual void dispose() SAL_OVERRIDE;

    void    SetAddressBlocks(const com::sun::star::uno::Sequence< OUString>& rBlocks,
                                sal_uInt16 nSelected);
@@ -119,9 +122,11 @@ public:
class SwCustomizeAddressBlockDialog;
class DDListBox : public SvTreeListBox
{
    SwCustomizeAddressBlockDialog*   m_pParentDialog;
    VclPtr<SwCustomizeAddressBlockDialog>   m_pParentDialog;
public:
    DDListBox(vcl::Window* pParent, const WinBits nStyle);
    virtual ~DDListBox();
    virtual void dispose() SAL_OVERRIDE;

    void SetAddressDialog(SwCustomizeAddressBlockDialog *pParent);

@@ -136,7 +141,7 @@ public:
class AddressMultiLineEdit : public VclMultiLineEdit, public SfxListener
{
    Link                            m_aSelectionLink;
    SwCustomizeAddressBlockDialog*  m_pParentDialog;
    VclPtr<SwCustomizeAddressBlockDialog>  m_pParentDialog;

    using VclMultiLineEdit::Notify;

@@ -147,6 +152,7 @@ protected:
public:
    AddressMultiLineEdit(vcl::Window* pParent, WinBits nWinStyle = WB_LEFT | WB_BORDER);
    virtual ~AddressMultiLineEdit();
    virtual void    dispose() SAL_OVERRIDE;

    void            SetAddressDialog(SwCustomizeAddressBlockDialog *pParent);

@@ -183,26 +189,26 @@ public:
        GREETING_MALE
    };
private:
    FixedText*              m_pAddressElementsFT;
    DDListBox*              m_pAddressElementsLB;
    VclPtr<FixedText>              m_pAddressElementsFT;
    VclPtr<DDListBox>              m_pAddressElementsLB;

    PushButton*             m_pInsertFieldIB;
    PushButton*             m_pRemoveFieldIB;
    VclPtr<PushButton>             m_pInsertFieldIB;
    VclPtr<PushButton>             m_pRemoveFieldIB;

    FixedText*              m_pDragFT;
    AddressMultiLineEdit*   m_pDragED;
    PushButton*             m_pUpIB;
    PushButton*             m_pLeftIB;
    PushButton*             m_pRightIB;
    PushButton*             m_pDownIB;
    VclPtr<FixedText>              m_pDragFT;
    VclPtr<AddressMultiLineEdit>   m_pDragED;
    VclPtr<PushButton>             m_pUpIB;
    VclPtr<PushButton>             m_pLeftIB;
    VclPtr<PushButton>             m_pRightIB;
    VclPtr<PushButton>             m_pDownIB;

    FixedText*              m_pFieldFT;
    ComboBox*               m_pFieldCB;
    VclPtr<FixedText>              m_pFieldFT;
    VclPtr<ComboBox>               m_pFieldCB;
    TextFilter              m_aTextFilter;

    SwAddressPreview*       m_pPreviewWIN;
    VclPtr<SwAddressPreview>       m_pPreviewWIN;

    OKButton*               m_pOK;
    VclPtr<OKButton>               m_pOK;

    ::std::vector<OUString>   m_aSalutations;
    ::std::vector<OUString>   m_aPunctuations;
@@ -228,6 +234,7 @@ private:
public:
    SwCustomizeAddressBlockDialog(vcl::Window* pParent, SwMailMergeConfigItem& rConfig, DialogType);
    virtual ~SwCustomizeAddressBlockDialog();
    virtual void dispose() SAL_OVERRIDE;

    void            SetAddress(const OUString& rAddress);
    OUString GetAddress();
@@ -236,14 +243,13 @@ public:
class SwAssignFieldsControl;
class SwAssignFieldsDialog : public SfxModalDialog
{
    FixedText               *m_pMatchingFI;
    SwAssignFieldsControl   *m_pFieldsControl;
    VclPtr<FixedText>               m_pMatchingFI;
    VclPtr<SwAssignFieldsControl>   m_pFieldsControl;

    FixedText               *m_pPreviewFI;
    SwAddressPreview        *m_pPreviewWIN;
    VclPtr<FixedText>               m_pPreviewFI;
    VclPtr<SwAddressPreview>        m_pPreviewWIN;


    OKButton                *m_pOK;
    VclPtr<OKButton>                m_pOK;

    OUString                m_sNone;
    OUString                m_rPreviewString;
@@ -260,6 +266,7 @@ public:
                const OUString& rPreview,
                bool bIsAddressBlock);
    virtual ~SwAssignFieldsDialog();
    virtual void dispose() SAL_OVERRIDE;
};
#endif

diff --git a/sw/source/ui/dbui/mmdocselectpage.cxx b/sw/source/ui/dbui/mmdocselectpage.cxx
index 85440c6..fff6018 100644
--- a/sw/source/ui/dbui/mmdocselectpage.cxx
+++ b/sw/source/ui/dbui/mmdocselectpage.cxx
@@ -92,6 +92,21 @@ SwMailMergeDocSelectPage::SwMailMergeDocSelectPage(SwMailMergeWizard* pParent)

SwMailMergeDocSelectPage::~SwMailMergeDocSelectPage()
{
    dispose();
}

void SwMailMergeDocSelectPage::dispose()
{
    m_pCurrentDocRB.clear();
    m_pNewDocRB.clear();
    m_pLoadDocRB.clear();
    m_pLoadTemplateRB.clear();
    m_pRecentDocRB.clear();
    m_pBrowseDocPB.clear();
    m_pBrowseTemplatePB.clear();
    m_pRecentDocLB.clear();
    m_pWizard.clear();
    svt::OWizardPage::dispose();
}

IMPL_LINK(SwMailMergeDocSelectPage, DocSelectHdl, RadioButton*, pButton)
diff --git a/sw/source/ui/dbui/mmdocselectpage.hxx b/sw/source/ui/dbui/mmdocselectpage.hxx
index b2e2412..931fc4d 100644
--- a/sw/source/ui/dbui/mmdocselectpage.hxx
+++ b/sw/source/ui/dbui/mmdocselectpage.hxx
@@ -28,21 +28,21 @@ class SwMailMergeWizard;

class SwMailMergeDocSelectPage : public svt::OWizardPage
{
    RadioButton*        m_pCurrentDocRB;
    RadioButton*        m_pNewDocRB;
    RadioButton*        m_pLoadDocRB;
    RadioButton*        m_pLoadTemplateRB;
    RadioButton*        m_pRecentDocRB;
    VclPtr<RadioButton>        m_pCurrentDocRB;
    VclPtr<RadioButton>        m_pNewDocRB;
    VclPtr<RadioButton>        m_pLoadDocRB;
    VclPtr<RadioButton>        m_pLoadTemplateRB;
    VclPtr<RadioButton>        m_pRecentDocRB;

    PushButton*         m_pBrowseDocPB;
    PushButton*         m_pBrowseTemplatePB;
    VclPtr<PushButton>         m_pBrowseDocPB;
    VclPtr<PushButton>         m_pBrowseTemplatePB;

    ListBox*            m_pRecentDocLB;
    VclPtr<ListBox>            m_pRecentDocLB;

    OUString            m_sLoadFileName;
    OUString            m_sLoadTemplateName;

    SwMailMergeWizard*  m_pWizard;
    VclPtr<SwMailMergeWizard>  m_pWizard;

    DECL_LINK(DocSelectHdl, RadioButton*);
    DECL_LINK(FileSelectHdl, PushButton*);
@@ -52,6 +52,7 @@ class SwMailMergeDocSelectPage : public svt::OWizardPage
public:
        SwMailMergeDocSelectPage( SwMailMergeWizard* _pParent);
        virtual ~SwMailMergeDocSelectPage();
    virtual void dispose() SAL_OVERRIDE;

};

diff --git a/sw/source/ui/dbui/mmgreetingspage.cxx b/sw/source/ui/dbui/mmgreetingspage.cxx
index 7355613..15aa60b 100644
--- a/sw/source/ui/dbui/mmgreetingspage.cxx
+++ b/sw/source/ui/dbui/mmgreetingspage.cxx
@@ -292,6 +292,18 @@ SwMailMergeGreetingsPage::SwMailMergeGreetingsPage(SwMailMergeWizard* _pParent)

SwMailMergeGreetingsPage::~SwMailMergeGreetingsPage()
{
    dispose();
}

void SwMailMergeGreetingsPage::dispose()
{
    m_pPreviewFI.clear();
    m_pPreviewWIN.clear();
    m_pAssignPB.clear();
    m_pDocumentIndexFI.clear();
    m_pPrevSetIB.clear();
    m_pNextSetIB.clear();
    svt::OWizardPage::dispose();
}

void SwMailMergeGreetingsPage::ActivatePage()
@@ -472,6 +484,15 @@ SwMailBodyDialog::SwMailBodyDialog(vcl::Window* pParent, SwMailMergeWizard* _pWi

SwMailBodyDialog::~SwMailBodyDialog()
{
    dispose();
}

void SwMailBodyDialog::dispose()
{
    m_pBodyFT.clear();
    m_pBodyMLE.clear();
    m_pOK.clear();
    SfxModalDialog::dispose();
}

IMPL_LINK(SwMailBodyDialog, ContainsHdl_Impl, CheckBox*, pBox)
diff --git a/sw/source/ui/dbui/mmgreetingspage.hxx b/sw/source/ui/dbui/mmgreetingspage.hxx
index d74b542..d351191 100644
--- a/sw/source/ui/dbui/mmgreetingspage.hxx
+++ b/sw/source/ui/dbui/mmgreetingspage.hxx
@@ -33,30 +33,30 @@ class SwMailMergeWizard;
class SwGreetingsHandler
{
protected:
    CheckBox*           m_pGreetingLineCB;
    VclPtr<CheckBox>           m_pGreetingLineCB;

    CheckBox*           m_pPersonalizedCB;
    VclPtr<CheckBox>           m_pPersonalizedCB;

    FixedText*          m_pFemaleFT;
    ListBox*            m_pFemaleLB;
    PushButton*         m_pFemalePB;
    VclPtr<FixedText>          m_pFemaleFT;
    VclPtr<ListBox>            m_pFemaleLB;
    VclPtr<PushButton>         m_pFemalePB;

    FixedText*          m_pMaleFT;
    ListBox*            m_pMaleLB;
    PushButton*         m_pMalePB;
    VclPtr<FixedText>          m_pMaleFT;
    VclPtr<ListBox>            m_pMaleLB;
    VclPtr<PushButton>         m_pMalePB;

    FixedText*          m_pFemaleFI;
    FixedText*          m_pFemaleColumnFT;
    ListBox*            m_pFemaleColumnLB;
    FixedText*          m_pFemaleFieldFT;
    ComboBox*           m_pFemaleFieldCB;
    VclPtr<FixedText>          m_pFemaleFI;
    VclPtr<FixedText>          m_pFemaleColumnFT;
    VclPtr<ListBox>            m_pFemaleColumnLB;
    VclPtr<FixedText>          m_pFemaleFieldFT;
    VclPtr<ComboBox>           m_pFemaleFieldCB;

    FixedText*          m_pNeutralFT;
    ComboBox*           m_pNeutralCB;
    VclPtr<FixedText>          m_pNeutralFT;
    VclPtr<ComboBox>           m_pNeutralCB;

    bool                m_bIsTabPage;

    SwMailMergeWizard*  m_pWizard;
    VclPtr<SwMailMergeWizard>  m_pWizard;

    ~SwGreetingsHandler() {}

@@ -70,12 +70,12 @@ protected:
class SwMailMergeGreetingsPage : public svt::OWizardPage,
                                    public SwGreetingsHandler
{
    FixedText*          m_pPreviewFI;
    SwAddressPreview*   m_pPreviewWIN;
    PushButton*         m_pAssignPB;
    FixedText*          m_pDocumentIndexFI;
    PushButton*         m_pPrevSetIB;
    PushButton*         m_pNextSetIB;
    VclPtr<FixedText>          m_pPreviewFI;
    VclPtr<SwAddressPreview>   m_pPreviewWIN;
    VclPtr<PushButton>         m_pAssignPB;
    VclPtr<FixedText>          m_pDocumentIndexFI;
    VclPtr<PushButton>         m_pPrevSetIB;
    VclPtr<PushButton>         m_pNextSetIB;

    OUString            m_sDocument;

@@ -90,21 +90,23 @@ class SwMailMergeGreetingsPage : public svt::OWizardPage,
public:
        SwMailMergeGreetingsPage( SwMailMergeWizard* _pParent);
        virtual ~SwMailMergeGreetingsPage();
    virtual void dispose() SAL_OVERRIDE;

};

class SwMailBodyDialog : public SfxModalDialog, public SwGreetingsHandler
{
    FixedText           *m_pBodyFT;
    VclMultiLineEdit    *m_pBodyMLE;
    VclPtr<FixedText>           m_pBodyFT;
    VclPtr<VclMultiLineEdit>    m_pBodyMLE;

    OKButton            *m_pOK;
    VclPtr<OKButton>            m_pOK;

    DECL_LINK(ContainsHdl_Impl, CheckBox*);
    DECL_LINK(OKHdl, void *);
public:
    SwMailBodyDialog(vcl::Window* pParent, SwMailMergeWizard* pWizard);
    virtual ~SwMailBodyDialog();
    virtual void dispose() SAL_OVERRIDE;

    void            SetBody(const OUString& rBody ) {m_pBodyMLE->SetText(rBody);}
    OUString        GetBody() const {return m_pBodyMLE->GetText();}
diff --git a/sw/source/ui/dbui/mmlayoutpage.cxx b/sw/source/ui/dbui/mmlayoutpage.cxx
index 67b1245..c023331 100644
--- a/sw/source/ui/dbui/mmlayoutpage.cxx
+++ b/sw/source/ui/dbui/mmlayoutpage.cxx
@@ -162,6 +162,17 @@ void SwMailMergeLayoutPage::dispose()
{
    delete m_pExampleFrame;
    File::remove( m_sExampleURL );
    m_pPosition.clear();
    m_pAlignToBodyCB.clear();
    m_pLeftFT.clear();
    m_pLeftMF.clear();
    m_pTopMF.clear();
    m_pGreetingLine.clear();
    m_pUpPB.clear();
    m_pDownPB.clear();
    m_pExampleContainerWIN.clear();
    m_pZoomLB.clear();
    m_pWizard.clear();
    svt::OWizardPage::dispose();
}

diff --git a/sw/source/ui/dbui/mmlayoutpage.hxx b/sw/source/ui/dbui/mmlayoutpage.hxx
index 69e534b..5b9f9a8 100644
--- a/sw/source/ui/dbui/mmlayoutpage.hxx
+++ b/sw/source/ui/dbui/mmlayoutpage.hxx
@@ -38,20 +38,20 @@ namespace com{ namespace sun{ namespace star{ namespace beans{ class XPropertySe

class SwMailMergeLayoutPage : public svt::OWizardPage
{
    VclContainer*       m_pPosition;
    VclPtr<VclContainer>       m_pPosition;

    CheckBox*           m_pAlignToBodyCB;
    FixedText*          m_pLeftFT;
    MetricField*        m_pLeftMF;
    MetricField*        m_pTopMF;
    VclPtr<CheckBox>           m_pAlignToBodyCB;
    VclPtr<FixedText>          m_pLeftFT;
    VclPtr<MetricField>        m_pLeftMF;
    VclPtr<MetricField>        m_pTopMF;

    VclContainer*       m_pGreetingLine;
    PushButton*         m_pUpPB;
    PushButton*         m_pDownPB;
    VclPtr<VclContainer>       m_pGreetingLine;
    VclPtr<PushButton>         m_pUpPB;
    VclPtr<PushButton>         m_pDownPB;

    vcl::Window*             m_pExampleContainerWIN;
    VclPtr<vcl::Window>             m_pExampleContainerWIN;

    ListBox*            m_pZoomLB;
    VclPtr<ListBox>            m_pZoomLB;

    SwOneExampleFrame*  m_pExampleFrame;
    SwWrtShell*         m_pExampleWrtShell;
@@ -61,7 +61,7 @@ class SwMailMergeLayoutPage : public svt::OWizardPage

    bool                m_bIsGreetingInserted;

    SwMailMergeWizard*  m_pWizard;
    VclPtr<SwMailMergeWizard>  m_pWizard;

    ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >  m_xViewProperties;

diff --git a/sw/source/ui/dbui/mmmergepage.cxx b/sw/source/ui/dbui/mmmergepage.cxx
index f0fbebc..f2e4169 100644
--- a/sw/source/ui/dbui/mmmergepage.cxx
+++ b/sw/source/ui/dbui/mmmergepage.cxx
@@ -50,6 +50,25 @@ SwMailMergeMergePage::SwMailMergeMergePage(SwMailMergeWizard* _pParent)

}

SwMailMergeMergePage::~SwMailMergeMergePage()
{
    dispose();
}

void SwMailMergeMergePage::dispose()
{
    m_pEditFI.clear();
    m_pEditPB.clear();
    m_pFindED.clear();
    m_pFindPB.clear();
    m_pWholeWordsCB.clear();
    m_pBackwardsCB.clear();
    m_pMatchCaseCB.clear();
    m_pWizard.clear();
    svt::OWizardPage::dispose();
}


IMPL_LINK_NOARG(SwMailMergeMergePage, EditDocumentHdl_Impl)
{
    m_pWizard->SetRestartPage(MM_MERGEPAGE);
diff --git a/sw/source/ui/dbui/mmmergepage.hxx b/sw/source/ui/dbui/mmmergepage.hxx
index b415586..2ff8187 100644
--- a/sw/source/ui/dbui/mmmergepage.hxx
+++ b/sw/source/ui/dbui/mmmergepage.hxx
@@ -29,17 +29,17 @@ class SwMailMergeWizard;

class SwMailMergeMergePage : public svt::OWizardPage
{
    FixedText*      m_pEditFI;
    PushButton*     m_pEditPB;
    VclPtr<FixedText>      m_pEditFI;
    VclPtr<PushButton>     m_pEditPB;

    ReturnActionEdit* m_pFindED;
    PushButton*     m_pFindPB;
    VclPtr<ReturnActionEdit> m_pFindED;
    VclPtr<PushButton>     m_pFindPB;

    CheckBox*       m_pWholeWordsCB;
    CheckBox*       m_pBackwardsCB;
    CheckBox*       m_pMatchCaseCB;
    VclPtr<CheckBox>       m_pWholeWordsCB;
    VclPtr<CheckBox>       m_pBackwardsCB;
    VclPtr<CheckBox>       m_pMatchCaseCB;

    SwMailMergeWizard*  m_pWizard;
    VclPtr<SwMailMergeWizard>  m_pWizard;

    DECL_LINK(EditDocumentHdl_Impl, void *);
    DECL_LINK(FindHdl_Impl, void *);
@@ -47,6 +47,8 @@ class SwMailMergeMergePage : public svt::OWizardPage

public:
    SwMailMergeMergePage( SwMailMergeWizard* _pParent);
    virtual ~SwMailMergeMergePage();
    virtual void dispose() SAL_OVERRIDE;

};

diff --git a/sw/source/ui/dbui/mmoutputpage.cxx b/sw/source/ui/dbui/mmoutputpage.cxx
index c75a8d6..1de4133 100644
--- a/sw/source/ui/dbui/mmoutputpage.cxx
+++ b/sw/source/ui/dbui/mmoutputpage.cxx
@@ -194,8 +194,8 @@ IMPL_LINK( SwSendQueryBox_Impl, ModifyHdl, Edit*, pEdit)

class SwCopyToDialog : public SfxModalDialog
{
    Edit* m_pCCED;
    Edit* m_pBCCED;
    VclPtr<Edit> m_pCCED;
    VclPtr<Edit> m_pBCCED;

public:
    SwCopyToDialog(vcl::Window* pParent)
@@ -205,6 +205,13 @@ public:
        get(m_pCCED, "cc");
        get(m_pBCCED, "bcc");
    }
    virtual ~SwCopyToDialog() { dispose(); }
    virtual void dispose() SAL_OVERRIDE
    {
        m_pCCED.clear();
        m_pBCCED.clear();
        SfxModalDialog::dispose();
    }

    OUString GetCC() {return m_pCCED->GetText();}
    void SetCC(const OUString& rSet) {m_pCCED->SetText(rSet);}
@@ -306,6 +313,37 @@ SwMailMergeOutputPage::~SwMailMergeOutputPage()
void SwMailMergeOutputPage::dispose()
{
    delete m_pTempPrinter;
    m_pSaveStartDocRB.clear();
    m_pSaveMergedDocRB.clear();
    m_pPrintRB.clear();
    m_pSendMailRB.clear();
    m_pSeparator.clear();
    m_pSaveStartDocPB.clear();
    m_pSaveAsOneRB.clear();
    m_pSaveIndividualRB.clear();
    m_pPrintAllRB.clear();
    m_pSendAllRB.clear();
    m_pFromRB.clear();
    m_pFromNF.clear();
    m_pToFT.clear();
    m_pToNF.clear();
    m_pSaveNowPB.clear();
    m_pPrinterFT.clear();
    m_pPrinterLB.clear();
    m_pPrinterSettingsPB.clear();
    m_pPrintNowPB.clear();
    m_pMailToFT.clear();
    m_pMailToLB.clear();
    m_pCopyToPB.clear();
    m_pSubjectFT.clear();
    m_pSubjectED.clear();
    m_pSendAsFT.clear();
    m_pSendAsLB.clear();
    m_pAttachmentGroup.clear();
    m_pAttachmentED.clear();
    m_pSendAsPB.clear();
    m_pSendDocumentsPB.clear();
    m_pWizard.clear();
    svt::OWizardPage::dispose();
}

@@ -485,7 +523,7 @@ IMPL_LINK(SwMailMergeOutputPage, OutputTypeHdl_Impl, RadioButton*, pButton)
            SendTypeHdl_Impl(m_pSendAsLB);
        }
    }
    m_pFromRB->GetClickHdl().Call(m_pFromRB->IsChecked() ? m_pFromRB : 0);
    m_pFromRB->GetClickHdl().Call(m_pFromRB->IsChecked() ? m_pFromRB.get() : 0);

    SetUpdateMode(false);
    return 0;
diff --git a/sw/source/ui/dbui/mmoutputpage.hxx b/sw/source/ui/dbui/mmoutputpage.hxx
index 37cc92c..41e3188 100644
--- a/sw/source/ui/dbui/mmoutputpage.hxx
+++ b/sw/source/ui/dbui/mmoutputpage.hxx
@@ -45,42 +45,42 @@ namespace com{ namespace sun{ namespace star{

class SwMailMergeOutputPage : public svt::OWizardPage
{
    RadioButton*    m_pSaveStartDocRB;
    RadioButton*    m_pSaveMergedDocRB;
    RadioButton*    m_pPrintRB;
    RadioButton*    m_pSendMailRB;
    VclPtr<RadioButton>    m_pSaveStartDocRB;
    VclPtr<RadioButton>    m_pSaveMergedDocRB;
    VclPtr<RadioButton>    m_pPrintRB;
    VclPtr<RadioButton>    m_pSendMailRB;

    VclFrame*       m_pSeparator;
    VclPtr<VclFrame>       m_pSeparator;

    PushButton*     m_pSaveStartDocPB;
    VclPtr<PushButton>     m_pSaveStartDocPB;

    RadioButton*    m_pSaveAsOneRB;
    RadioButton*    m_pSaveIndividualRB;
    RadioButton*    m_pPrintAllRB; //has to be here for tab control reasons
    RadioButton*    m_pSendAllRB;  //has to be here for tab control reasons
    VclPtr<RadioButton>    m_pSaveAsOneRB;
    VclPtr<RadioButton>    m_pSaveIndividualRB;
    VclPtr<RadioButton>    m_pPrintAllRB; //has to be here for tab control reasons
    VclPtr<RadioButton>    m_pSendAllRB;  //has to be here for tab control reasons
    //this group is used in save and print
    RadioButton*    m_pFromRB;
    NumericField*   m_pFromNF;
    FixedText*      m_pToFT;
    NumericField*   m_pToNF;
    PushButton*     m_pSaveNowPB;
    VclPtr<RadioButton>    m_pFromRB;
    VclPtr<NumericField>   m_pFromNF;
    VclPtr<FixedText>      m_pToFT;
    VclPtr<NumericField>   m_pToNF;
    VclPtr<PushButton>     m_pSaveNowPB;

    FixedText*      m_pPrinterFT;
    ListBox*        m_pPrinterLB;
    PushButton*     m_pPrinterSettingsPB;
    PushButton*     m_pPrintNowPB;
    VclPtr<FixedText>      m_pPrinterFT;
    VclPtr<ListBox>        m_pPrinterLB;
    VclPtr<PushButton>     m_pPrinterSettingsPB;
    VclPtr<PushButton>     m_pPrintNowPB;

    FixedText*      m_pMailToFT;
    ListBox*        m_pMailToLB;
    PushButton*     m_pCopyToPB;
    FixedText*      m_pSubjectFT;
    Edit*           m_pSubjectED;
    FixedText*      m_pSendAsFT;
    ListBox*        m_pSendAsLB;
    VclContainer*   m_pAttachmentGroup;
    Edit*           m_pAttachmentED;
    PushButton*     m_pSendAsPB;
    PushButton*     m_pSendDocumentsPB;
    VclPtr<FixedText>      m_pMailToFT;
    VclPtr<ListBox>        m_pMailToLB;
    VclPtr<PushButton>     m_pCopyToPB;
    VclPtr<FixedText>      m_pSubjectFT;
    VclPtr<Edit>           m_pSubjectED;
    VclPtr<FixedText>      m_pSendAsFT;
    VclPtr<ListBox>        m_pSendAsLB;
    VclPtr<VclContainer>   m_pAttachmentGroup;
    VclPtr<Edit>           m_pAttachmentED;
    VclPtr<PushButton>     m_pSendAsPB;
    VclPtr<PushButton>     m_pSendDocumentsPB;

    //some FixedLine labels
    OUString        m_sSaveStartST;
@@ -97,7 +97,7 @@ class SwMailMergeOutputPage : public svt::OWizardPage

    bool            m_bCancelSaving;

    SwMailMergeWizard*  m_pWizard;
    VclPtr<SwMailMergeWizard>  m_pWizard;

    //some dialog data
    Printer*        m_pTempPrinter;
@@ -147,17 +147,17 @@ struct SwSendMailDialog_Impl;
class SwMailMergeConfigItem;
class SwSendMailDialog : public ModelessDialog //SfxModalDialog
{
    FixedText               *m_pTransferStatus;
    FixedText               *m_pPaused;
    ProgressBar             *m_pProgressBar;
    FixedText               *m_pErrorStatus;
    VclPtr<FixedText>               m_pTransferStatus;
    VclPtr<FixedText>               m_pPaused;
    VclPtr<ProgressBar>             m_pProgressBar;
    VclPtr<FixedText>               m_pErrorStatus;

    SvSimpleTableContainer  *m_pContainer;
    HeaderBar               *m_pStatusHB;
    SvSimpleTable           *m_pStatus;
    VclPtr<SvSimpleTableContainer>  m_pContainer;
    VclPtr<HeaderBar>               m_pStatusHB;
    VclPtr<SvSimpleTable>           m_pStatus;

    PushButton              *m_pStop;
    PushButton              *m_pClose;
    VclPtr<PushButton>              m_pStop;
    VclPtr<PushButton>              m_pClose;

    OUString                m_sContinue;
    OUString                m_sStop;
diff --git a/sw/source/ui/dbui/mmoutputtypepage.cxx b/sw/source/ui/dbui/mmoutputtypepage.cxx
index cc4f519..9ce000b 100644
--- a/sw/source/ui/dbui/mmoutputtypepage.cxx
+++ b/sw/source/ui/dbui/mmoutputtypepage.cxx
@@ -48,6 +48,22 @@ SwMailMergeOutputTypePage::SwMailMergeOutputTypePage(SwMailMergeWizard* pParent)

}

SwMailMergeOutputTypePage::~SwMailMergeOutputTypePage()
{
    dispose();
}

void SwMailMergeOutputTypePage::dispose()
{
    m_pLetterRB.clear();
    m_pMailRB.clear();
    m_pLetterHint.clear();
    m_pMailHint.clear();
    m_pWizard.clear();
    svt::OWizardPage::dispose();
}


IMPL_LINK_NOARG(SwMailMergeOutputTypePage, TypeHdl_Impl)
{
    bool bLetter = m_pLetterRB->IsChecked();
@@ -123,7 +139,7 @@ const SwMailDescriptor* SwSendMailDialog_Impl::GetNextDescriptor()
using namespace ::com::sun::star;
class SwMailDispatcherListener_Impl : public IMailDispatcherListener
{
    SwSendMailDialog* m_pSendMailDialog;
    VclPtr<SwSendMailDialog> m_pSendMailDialog;

public:
    SwMailDispatcherListener_Impl(SwSendMailDialog& rParentDlg);
@@ -208,9 +224,15 @@ void SwMailDispatcherListener_Impl::DeleteAttachments( uno::Reference< mail::XMa

class SwSendWarningBox_Impl : public MessageDialog
{
    VclMultiLineEdit  *m_pDetailED;
    VclPtr<VclMultiLineEdit> m_pDetailED;
public:
    SwSendWarningBox_Impl(vcl::Window* pParent, const OUString& rDetails);
    virtual ~SwSendWarningBox_Impl() { dispose(); }
    virtual void dispose() SAL_OVERRIDE
    {
        m_pDetailED.clear();
        MessageDialog::dispose();
    }
};

SwSendWarningBox_Impl::SwSendWarningBox_Impl(vcl::Window* pParent, const OUString& rDetails)
@@ -311,8 +333,16 @@ void SwSendMailDialog::dispose()
        {
        }
    }
    delete m_pStatus;
    delete m_pImpl;
    m_pStatus.clear();
    m_pTransferStatus.clear();
    m_pPaused.clear();
    m_pProgressBar.clear();
    m_pErrorStatus.clear();
    m_pContainer.clear();
    m_pStatusHB.clear();
    m_pStop.clear();
    m_pClose.clear();
    ModelessDialog::dispose();
}

diff --git a/sw/source/ui/dbui/mmoutputtypepage.hxx b/sw/source/ui/dbui/mmoutputtypepage.hxx
index 81769f2..9c967c0 100644
--- a/sw/source/ui/dbui/mmoutputtypepage.hxx
+++ b/sw/source/ui/dbui/mmoutputtypepage.hxx
@@ -27,18 +27,20 @@ class SwMailMergeWizard;

class SwMailMergeOutputTypePage : public svt::OWizardPage
{
    RadioButton*    m_pLetterRB;
    RadioButton*    m_pMailRB;
    VclPtr<RadioButton>    m_pLetterRB;
    VclPtr<RadioButton>    m_pMailRB;

    FixedText*      m_pLetterHint;
    FixedText*      m_pMailHint;
    VclPtr<FixedText>      m_pLetterHint;
    VclPtr<FixedText>      m_pMailHint;

    SwMailMergeWizard*  m_pWizard;
    VclPtr<SwMailMergeWizard>  m_pWizard;

    DECL_LINK(TypeHdl_Impl, void *);

public:
    SwMailMergeOutputTypePage( SwMailMergeWizard* _pParent);
    virtual ~SwMailMergeOutputTypePage();
    virtual void dispose() SAL_OVERRIDE;
};
#endif

diff --git a/sw/source/ui/dbui/mmpreparemergepage.cxx b/sw/source/ui/dbui/mmpreparemergepage.cxx
index 272ae0f..d768c88 100644
--- a/sw/source/ui/dbui/mmpreparemergepage.cxx
+++ b/sw/source/ui/dbui/mmpreparemergepage.cxx
@@ -58,6 +58,24 @@ SwMailMergePrepareMergePage::SwMailMergePrepareMergePage( SwMailMergeWizard* _pP
    aMoveLink.Call(m_pRecordED);
}

SwMailMergePrepareMergePage::~SwMailMergePrepareMergePage()
{
    dispose();
}

void SwMailMergePrepareMergePage::dispose()
{
    m_pFirstPB.clear();
    m_pPrevPB.clear();
    m_pRecordED.clear();
    m_pNextPB.clear();
    m_pLastPB.clear();
    m_pExcludeCB.clear();
    m_pEditPB.clear();
    m_pWizard.clear();
    svt::OWizardPage::dispose();
}

IMPL_LINK_NOARG(SwMailMergePrepareMergePage, EditDocumentHdl_Impl)
{
    m_pWizard->SetRestartPage(MM_PREPAREMERGEPAGE);
diff --git a/sw/source/ui/dbui/mmpreparemergepage.hxx b/sw/source/ui/dbui/mmpreparemergepage.hxx
index bdaef54..8bfdfbe 100644
--- a/sw/source/ui/dbui/mmpreparemergepage.hxx
+++ b/sw/source/ui/dbui/mmpreparemergepage.hxx
@@ -29,16 +29,16 @@ class SwMailMergeWizard;

class SwMailMergePrepareMergePage : public svt::OWizardPage
{
    PushButton*     m_pFirstPB;
    PushButton*     m_pPrevPB;
    NumericField*   m_pRecordED;
    PushButton*     m_pNextPB;
    PushButton*     m_pLastPB;
    CheckBox*       m_pExcludeCB;
    VclPtr<PushButton>     m_pFirstPB;
    VclPtr<PushButton>     m_pPrevPB;
    VclPtr<NumericField>   m_pRecordED;
    VclPtr<PushButton>     m_pNextPB;
    VclPtr<PushButton>     m_pLastPB;
    VclPtr<CheckBox>       m_pExcludeCB;

    PushButton*     m_pEditPB;
    VclPtr<PushButton>     m_pEditPB;

    SwMailMergeWizard*  m_pWizard;
    VclPtr<SwMailMergeWizard>  m_pWizard;

    DECL_LINK(EditDocumentHdl_Impl, void *);
    DECL_LINK(ExcludeHdl_Impl, CheckBox*);
@@ -49,6 +49,8 @@ class SwMailMergePrepareMergePage : public svt::OWizardPage

public:
    SwMailMergePrepareMergePage( SwMailMergeWizard* _pParent);
    virtual ~SwMailMergePrepareMergePage();
    virtual void dispose() SAL_OVERRIDE;
};

#endif
diff --git a/sw/source/ui/dbui/selectdbtabledialog.cxx b/sw/source/ui/dbui/selectdbtabledialog.cxx
index ec74985..c31485a 100644
--- a/sw/source/ui/dbui/selectdbtabledialog.cxx
+++ b/sw/source/ui/dbui/selectdbtabledialog.cxx
@@ -152,7 +152,8 @@ SwSelectDBTableDialog::~SwSelectDBTableDialog()

void SwSelectDBTableDialog::dispose()
{
    delete m_pTable;
    m_pTable.clear();
    m_pPreviewPB.clear();
    SfxModalDialog::dispose();
}

diff --git a/sw/source/ui/dbui/selectdbtabledialog.hxx b/sw/source/ui/dbui/selectdbtabledialog.hxx
index 52c8c05..b02b74b 100644
--- a/sw/source/ui/dbui/selectdbtabledialog.hxx
+++ b/sw/source/ui/dbui/selectdbtabledialog.hxx
@@ -35,8 +35,8 @@ class SwAddressTable;

class SwSelectDBTableDialog : public SfxModalDialog
{
    SwAddressTable* m_pTable;
    PushButton*     m_pPreviewPB;
    VclPtr<SwAddressTable> m_pTable;
    VclPtr<PushButton>     m_pPreviewPB;

    OUString        m_sName;
    OUString        m_sType;
diff --git a/sw/source/ui/dialog/abstract.cxx b/sw/source/ui/dialog/abstract.cxx
index f335772..192da3c 100644
--- a/sw/source/ui/dialog/abstract.cxx
+++ b/sw/source/ui/dialog/abstract.cxx
@@ -31,6 +31,18 @@ SwInsertAbstractDlg::SwInsertAbstractDlg(vcl::Window* pParent)
    get(m_pParaNF, "paras");
}

SwInsertAbstractDlg::~SwInsertAbstractDlg()
{
    dispose();
}

void SwInsertAbstractDlg::dispose()
{
    m_pLevelNF.clear();
    m_pParaNF.clear();
    SfxModalDialog::dispose();
}

sal_uInt8 SwInsertAbstractDlg::GetLevel() const
{
    return static_cast<sal_uInt8>(m_pLevelNF->GetValue() - 1);
diff --git a/sw/source/ui/dialog/ascfldlg.cxx b/sw/source/ui/dialog/ascfldlg.cxx
index f097f0f..6960908 100644
--- a/sw/source/ui/dialog/ascfldlg.cxx
+++ b/sw/source/ui/dialog/ascfldlg.cxx
@@ -242,8 +242,23 @@ SwAsciiFilterDlg::SwAsciiFilterDlg( vcl::Window* pParent, SwDocShell& rDocSh,

SwAsciiFilterDlg::~SwAsciiFilterDlg()
{
    dispose();
}

void SwAsciiFilterDlg::dispose()
{
    m_pCharSetLB.clear();
    m_pFontFT.clear();
    m_pFontLB.clear();
    m_pLanguageFT.clear();
    m_pLanguageLB.clear();
    m_pCRLF_RB.clear();
    m_pCR_RB.clear();
    m_pLF_RB.clear();
    SfxModalDialog::dispose();
}


void SwAsciiFilterDlg::FillOptions( SwAsciiOptions& rOptions )
{
    sal_uLong nCCode = m_pCharSetLB->GetSelectTextEncoding();
diff --git a/sw/source/ui/dialog/docstdlg.cxx b/sw/source/ui/dialog/docstdlg.cxx
index 48ae2aa..9e76121 100644
--- a/sw/source/ui/dialog/docstdlg.cxx
+++ b/sw/source/ui/dialog/docstdlg.cxx
@@ -73,8 +73,25 @@ SwDocStatPage::SwDocStatPage(vcl::Window *pParent, const SfxItemSet &rSet)

}

 SwDocStatPage::~SwDocStatPage()
SwDocStatPage::~SwDocStatPage()
{
    dispose();
}

void SwDocStatPage::dispose()
{
    m_pPageNo.clear();
    m_pTableNo.clear();
    m_pGrfNo.clear();
    m_pOLENo.clear();
    m_pParaNo.clear();
    m_pWordNo.clear();
    m_pCharNo.clear();
    m_pCharExclSpacesNo.clear();
    m_pLineLbl.clear();
    m_pLineNo.clear();
    m_pUpdatePB.clear();
    SfxTabPage::dispose();
}

// Description: fill ItemSet when changed
diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx
index a64cb08..a65a7cb 100644
--- a/sw/source/ui/dialog/swdlgfact.cxx
+++ b/sw/source/ui/dialog/swdlgfact.cxx
@@ -595,7 +595,6 @@ void AbstractSwWordCountFloatDlg_Impl::SetCounts(const SwDocStat &rCurrCnt, cons

AbstractMailMergeWizard_Impl::~AbstractMailMergeWizard_Impl()
{
    delete pDlg;
}

void AbstractMailMergeWizard_Impl::StartExecuteModal( const Link& rEndDialogHdl )
diff --git a/sw/source/ui/dialog/swdlgfact.hxx b/sw/source/ui/dialog/swdlgfact.hxx
index 9e6ff470..ea38f71 100644
--- a/sw/source/ui/dialog/swdlgfact.hxx
+++ b/sw/source/ui/dialog/swdlgfact.hxx
@@ -48,7 +48,7 @@ class DropDownFieldDialog;

#define DECL_ABSTDLG_BASE(Class,DialogClass)        \
protected:                                          \
    DialogClass*        pDlg;                       \
    VclPtr<DialogClass> pDlg;                       \
public:                                             \
                    Class( DialogClass* p)          \
                     : pDlg(p)                      \
@@ -59,7 +59,6 @@ public:                                             \
#define IMPL_ABSTDLG_BASE(Class)                    \
Class::~Class()                                     \
{                                                   \
    delete pDlg;                                    \
}                                                   \
short Class::Execute()                             \
{                                                   \
@@ -350,7 +349,7 @@ class AbstractAuthMarkFloatDlg_Impl : public AbstractMarkFloatDlg
class SwMailMergeWizard;
class AbstractMailMergeWizard_Impl : public AbstractMailMergeWizard
{
    SwMailMergeWizard* pDlg;
    VclPtr<SwMailMergeWizard> pDlg;
    Link               aEndDlgHdl;

    DECL_LINK( EndDialogHdl, SwMailMergeWizard* );
diff --git a/sw/source/ui/dialog/swmessdialog.cxx b/sw/source/ui/dialog/swmessdialog.cxx
index 2e085f4..a93e12a 100644
--- a/sw/source/ui/dialog/swmessdialog.cxx
+++ b/sw/source/ui/dialog/swmessdialog.cxx
@@ -30,4 +30,19 @@ SwMessageAndEditDialog::SwMessageAndEditDialog(vcl::Window* pParent, const OUStr
    get(m_pEdit, "edit");
}

SwMessageAndEditDialog::~SwMessageAndEditDialog()
{
    dispose();
}

void SwMessageAndEditDialog::dispose()
{
    m_pOKPB.clear();
    m_pImageIM.clear();
    m_pPrimaryMessage.clear();
    m_pSecondaryMessage.clear();
    m_pEdit.clear();
    ModalDialog::dispose();
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/dialog/swuiexp.cxx b/sw/source/ui/dialog/swuiexp.cxx
index f90812f..dbbac54 100644
--- a/sw/source/ui/dialog/swuiexp.cxx
+++ b/sw/source/ui/dialog/swuiexp.cxx
@@ -18,7 +18,32 @@
 */

#include "swdlgfact.hxx"

#include "abstract.hxx"
#include "ascfldlg.hxx"
#include "break.hxx"
#include "convert.hxx"
#include "dialmgr.hxx"
#include "dbinsdlg.hxx"
#include "DropDownFieldDialog.hxx"
#include "fldtdlg.hxx"
#include "glossary.hxx"
#include "inpdlg.hxx"
#include "insfnote.hxx"
#include "instable.hxx"
#include "javaedit.hxx"
#include "label.hxx"
#include "mailmrge.hxx"
#include "mailmergewizard.hxx"
#include "regionsw.hxx"
#include "selglos.hxx"
#include "splittbl.hxx"
#include "tautofmt.hxx"
#include "swmodalredlineacceptdlg.hxx"
#include "swrenamexnameddlg.hxx"
#include "swuiidxmrk.hxx"
#include "swuicnttab.hxx"
#include "wordcountdialog.hxx"
#include <swuiexp.hxx>

namespace swui
diff --git a/sw/source/ui/dialog/uiregionsw.cxx b/sw/source/ui/dialog/uiregionsw.cxx
index 8d16c7a..6896f5c 100644
--- a/sw/source/ui/dialog/uiregionsw.cxx
+++ b/sw/source/ui/dialog/uiregionsw.cxx
@@ -529,6 +529,28 @@ void SwEditRegionDlg::dispose()
    }

    delete m_pDocInserter;
    m_pCurName.clear();
    m_pTree.clear();
    m_pFileCB.clear();
    m_pDDECB.clear();
    m_pDDEFrame.clear();
    m_pFileNameFT.clear();
    m_pDDECommandFT.clear();
    m_pFileNameED.clear();
    m_pFilePB.clear();
    m_pSubRegionFT.clear();
    m_pSubRegionED.clear();
    m_pProtectCB.clear();
    m_pPasswdCB.clear();
    m_pPasswdPB.clear();
    m_pHideCB.clear();
    m_pConditionFT.clear();
    m_pConditionED.clear();
    m_pEditInReadonlyCB.clear();
    m_pOK.clear();
    m_pOptionsPB.clear();
    m_pDismiss.clear();
    m_pOldDefDlgParent.clear();
    SfxModalDialog::dispose();
}

@@ -1545,6 +1567,23 @@ SwInsertSectionTabPage::~SwInsertSectionTabPage()
void SwInsertSectionTabPage::dispose()
{
    delete m_pDocInserter;
    m_pCurName.clear();
    m_pFileCB.clear();
    m_pDDECB.clear();
    m_pDDECommandFT.clear();
    m_pFileNameFT.clear();
    m_pFileNameED.clear();
    m_pFilePB.clear();
    m_pSubRegionFT.clear();
    m_pSubRegionED.clear();
    m_pProtectCB.clear();
    m_pPasswdCB.clear();
    m_pPasswdPB.clear();
    m_pHideCB.clear();
    m_pConditionFT.clear();
    m_pConditionED.clear();
    m_pEditInReadonlyCB.clear();
    m_pOldDefDlgParent.clear();
    SfxTabPage::dispose();
}

@@ -1847,6 +1886,32 @@ SwSectionFtnEndTabPage::SwSectionFtnEndTabPage( vcl::Window *pParent,

SwSectionFtnEndTabPage::~SwSectionFtnEndTabPage()
{
    dispose();
}

void SwSectionFtnEndTabPage::dispose()
{
    pFtnNtAtTextEndCB.clear();
    pFtnNtNumCB.clear();
    pFtnOffsetLbl.clear();
    pFtnOffsetFld.clear();
    pFtnNtNumFmtCB.clear();
    pFtnPrefixFT.clear();
    pFtnPrefixED.clear();
    pFtnNumViewBox.clear();
    pFtnSuffixFT.clear();
    pFtnSuffixED.clear();
    pEndNtAtTextEndCB.clear();
    pEndNtNumCB.clear();
    pEndOffsetLbl.clear();
    pEndOffsetFld.clear();
    pEndNtNumFmtCB.clear();
    pEndPrefixFT.clear();
    pEndPrefixED.clear();
    pEndNumViewBox.clear();
    pEndSuffixFT.clear();
    pEndSuffixED.clear();
    SfxTabPage::dispose();
}

bool SwSectionFtnEndTabPage::FillItemSet( SfxItemSet* rSet )
@@ -2108,6 +2173,15 @@ SwSectionIndentTabPage::SwSectionIndentTabPage(vcl::Window *pParent, const SfxIt

SwSectionIndentTabPage::~SwSectionIndentTabPage()
{
    dispose();
}

void SwSectionIndentTabPage::dispose()
{
    m_pBeforeMF.clear();
    m_pAfterMF.clear();
    m_pPreviewWin.clear();
    SfxTabPage::dispose();
}

bool SwSectionIndentTabPage::FillItemSet( SfxItemSet* rSet)
diff --git a/sw/source/ui/dialog/wordcountdialog.cxx b/sw/source/ui/dialog/wordcountdialog.cxx
index 9f5f562..8f0ff7d 100644
--- a/sw/source/ui/dialog/wordcountdialog.cxx
+++ b/sw/source/ui/dialog/wordcountdialog.cxx
@@ -52,6 +52,19 @@ SwWordCountFloatDlg::~SwWordCountFloatDlg()
void SwWordCountFloatDlg::dispose()
{
    SwViewShell::SetCareWin( 0 );
    m_pCurrentWordFT.clear();
    m_pCurrentCharacterFT.clear();
    m_pCurrentCharacterExcludingSpacesFT.clear();
    m_pCurrentCjkcharsFT.clear();
    m_pCurrentStandardizedPagesFT.clear();
    m_pDocWordFT.clear();
    m_pDocCharacterFT.clear();
    m_pDocCharacterExcludingSpacesFT.clear();
    m_pDocCjkcharsFT.clear();
    m_pDocStandardizedPagesFT.clear();
    m_pCjkcharsLabelFT.clear();
    m_pStandardizedPagesLabelFT.clear();
    m_pClosePB.clear();
    SfxModelessDialog::dispose();
}

diff --git a/sw/source/ui/dochdl/selglos.cxx b/sw/source/ui/dochdl/selglos.cxx
index 5cdc698..5809ab2 100644
--- a/sw/source/ui/dochdl/selglos.cxx
+++ b/sw/source/ui/dochdl/selglos.cxx
@@ -35,6 +35,17 @@ SwSelGlossaryDlg::SwSelGlossaryDlg(vcl::Window * pParent, const OUString &rShort
    m_pGlosBox->SetDoubleClickHdl(LINK(this, SwSelGlossaryDlg, DoubleClickHdl));
}

SwSelGlossaryDlg::~SwSelGlossaryDlg()
{
    dispose();
}

void SwSelGlossaryDlg::dispose()
{
    m_pGlosBox.clear();
    ModalDialog::dispose();
}

IMPL_LINK(SwSelGlossaryDlg, DoubleClickHdl, ListBox*, /*pBox*/)
{
    EndDialog(RET_OK);
diff --git a/sw/source/ui/envelp/envfmt.cxx b/sw/source/ui/envelp/envfmt.cxx
index a18dd07..943aa0b 100644
--- a/sw/source/ui/envelp/envfmt.cxx
+++ b/sw/source/ui/envelp/envfmt.cxx
@@ -197,6 +197,27 @@ SwEnvFmtPage::SwEnvFmtPage(vcl::Window* pParent, const SfxItemSet& rSet)

}

SwEnvFmtPage::~SwEnvFmtPage()
{
    dispose();
}

void SwEnvFmtPage::dispose()
{
    m_pAddrLeftField.clear();
    m_pAddrTopField.clear();
    m_pAddrEditButton.clear();
    m_pSendLeftField.clear();
    m_pSendTopField.clear();
    m_pSendEditButton.clear();
    m_pSizeFormatBox.clear();
    m_pSizeWidthField.clear();
    m_pSizeHeightField.clear();
    m_pPreview.clear();
    SfxTabPage::dispose();
}


IMPL_LINK_INLINE_START( SwEnvFmtPage, ModifyHdl, Edit *, pEdit )
{
    long lWVal = static_cast< long >(GetFldVal(*m_pSizeWidthField ));
diff --git a/sw/source/ui/envelp/envfmt.hxx b/sw/source/ui/envelp/envfmt.hxx
index 0d89e4f..6a0b096 100644
--- a/sw/source/ui/envelp/envfmt.hxx
+++ b/sw/source/ui/envelp/envfmt.hxx
@@ -30,16 +30,16 @@ class SwTxtFmtColl;

class SwEnvFmtPage : public SfxTabPage
{
    MetricField*  m_pAddrLeftField;
    MetricField*  m_pAddrTopField;
    MenuButton*   m_pAddrEditButton;
    MetricField*  m_pSendLeftField;
    MetricField*  m_pSendTopField;
    MenuButton*   m_pSendEditButton;
    ListBox*      m_pSizeFormatBox;
    MetricField*  m_pSizeWidthField;
    MetricField*  m_pSizeHeightField;
    SwEnvPreview* m_pPreview;
    VclPtr<MetricField>  m_pAddrLeftField;
    VclPtr<MetricField>  m_pAddrTopField;
    VclPtr<MenuButton>   m_pAddrEditButton;
    VclPtr<MetricField>  m_pSendLeftField;
    VclPtr<MetricField>  m_pSendTopField;
    VclPtr<MenuButton>   m_pSendEditButton;
    VclPtr<ListBox>      m_pSizeFormatBox;
    VclPtr<MetricField>  m_pSizeWidthField;
    VclPtr<MetricField>  m_pSizeHeightField;
    VclPtr<SwEnvPreview> m_pPreview;

    std::vector<sal_uInt16>  aIDs;

@@ -59,6 +59,8 @@ class SwEnvFmtPage : public SfxTabPage
    using TabPage::DeactivatePage;

public:
    virtual ~SwEnvFmtPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create(vcl::Window* pParent, const SfxItemSet* rSet);

diff --git a/sw/source/ui/envelp/envlop1.cxx b/sw/source/ui/envelp/envlop1.cxx
index edaab64..b0df406 100644
--- a/sw/source/ui/envelp/envlop1.cxx
+++ b/sw/source/ui/envelp/envlop1.cxx
@@ -235,6 +235,20 @@ SwEnvPage::SwEnvPage(vcl::Window* pParent, const SfxItemSet& rSet)

SwEnvPage::~SwEnvPage()
{
    dispose();
}

void SwEnvPage::dispose()
{
    m_pAddrEdit.clear();
    m_pDatabaseLB.clear();
    m_pTableLB.clear();
    m_pDBFieldLB.clear();
    m_pInsertBT.clear();
    m_pSenderBox.clear();
    m_pSenderEdit.clear();
    m_pPreview.clear();
    SfxTabPage::dispose();
}

IMPL_LINK( SwEnvPage, DatabaseHdl, ListBox *, pListBox )
diff --git a/sw/source/ui/envelp/envprt.cxx b/sw/source/ui/envelp/envprt.cxx
index 288884a..02c99db 100644
--- a/sw/source/ui/envelp/envprt.cxx
+++ b/sw/source/ui/envelp/envprt.cxx
@@ -67,6 +67,23 @@ SwEnvPrtPage::SwEnvPrtPage(vcl::Window* pParent, const SfxItemSet& rSet)
    m_aIds[ENV_VER_RGHT] = m_pAlignBox->GetItemId("vertright");
}

SwEnvPrtPage::~SwEnvPrtPage()
{
    dispose();
}

void SwEnvPrtPage::dispose()
{
    m_pAlignBox.clear();
    m_pTopButton.clear();
    m_pBottomButton.clear();
    m_pRightField.clear();
    m_pDownField.clear();
    m_pPrinterInfo.clear();
    m_pPrtSetup.clear();
    SfxTabPage::dispose();
}

IMPL_LINK_NOARG(SwEnvPrtPage, ClickHdl)
{
    if (m_pBottomButton->IsChecked())
diff --git a/sw/source/ui/envelp/envprt.hxx b/sw/source/ui/envelp/envprt.hxx
index bee4944..e0f37df 100644
--- a/sw/source/ui/envelp/envprt.hxx
+++ b/sw/source/ui/envelp/envprt.hxx
@@ -35,13 +35,13 @@ class SwEnvDlg;

class SwEnvPrtPage : public SfxTabPage
{
    ToolBox*     m_pAlignBox;
    RadioButton* m_pTopButton;
    RadioButton* m_pBottomButton;
    MetricField* m_pRightField;
    MetricField* m_pDownField;
    FixedText*   m_pPrinterInfo;
    PushButton*  m_pPrtSetup;
    VclPtr<ToolBox>     m_pAlignBox;
    VclPtr<RadioButton> m_pTopButton;
    VclPtr<RadioButton> m_pBottomButton;
    VclPtr<MetricField> m_pRightField;
    VclPtr<MetricField> m_pDownField;
    VclPtr<FixedText>   m_pPrinterInfo;
    VclPtr<PushButton>  m_pPrtSetup;

    sal_uInt16 m_aIds[ENV_VER_RGHT-ENV_HOR_LEFT+1];

@@ -59,6 +59,8 @@ class SwEnvPrtPage : public SfxTabPage
    using TabPage::DeactivatePage;

public:
    virtual ~SwEnvPrtPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create(vcl::Window* pParent, const SfxItemSet* rSet);

diff --git a/sw/source/ui/envelp/label1.cxx b/sw/source/ui/envelp/label1.cxx
index 5f163c7..c91582b 100644
--- a/sw/source/ui/envelp/label1.cxx
+++ b/sw/source/ui/envelp/label1.cxx
@@ -176,6 +176,7 @@ SwLabDlg::~SwLabDlg()
void SwLabDlg::dispose()
{
    delete pRecs;
    pPrtPage.clear();
    SfxTabDialog::dispose();
}

@@ -292,6 +293,29 @@ SwLabPage::SwLabPage(vcl::Window* pParent, const SfxItemSet& rSet)
    m_pMakeBox->GetSelectHdl().Call(m_pMakeBox);
}

SwLabPage::~SwLabPage()
{
    dispose();
}

void SwLabPage::dispose()
{
    m_pAddressFrame.clear();
    m_pAddrBox.clear();
    m_pWritingEdit.clear();
    m_pDatabaseLB.clear();
    m_pTableLB.clear();
    m_pInsertBT.clear();
    m_pDBFieldLB.clear();
    m_pContButton.clear();
    m_pSheetButton.clear();
    m_pMakeBox.clear();
    m_pTypeBox.clear();
    m_pHiddenSortTypeBox.clear();
    m_pFormatInfo.clear();
    SfxTabPage::dispose();
}

void SwLabPage::SetToBusinessCard()
{
    SetHelpId(HID_BUSINESS_FMT_PAGE);
@@ -603,6 +627,9 @@ void SwVisitingCardPage::dispose()

    ClearUserData();
    delete pExampleFrame;
    m_pAutoTextLB.clear();
    m_pAutoTextGroupLB.clear();
    m_pExampleWIN.clear();
    SfxTabPage::dispose();
}

@@ -739,6 +766,34 @@ SwPrivateDataPage::SwPrivateDataPage(vcl::Window* pParent, const SfxItemSet& rSe
    SetExchangeSupport();
}

SwPrivateDataPage::~SwPrivateDataPage()
{
    dispose();
}

void SwPrivateDataPage::dispose()
{
    m_pFirstNameED.clear();
    m_pNameED.clear();
    m_pShortCutED.clear();
    m_pFirstName2ED.clear();
    m_pName2ED.clear();
    m_pShortCut2ED.clear();
    m_pStreetED.clear();
    m_pZipED.clear();
    m_pCityED.clear();
    m_pCountryED.clear();
    m_pStateED.clear();
    m_pTitleED.clear();
    m_pProfessionED.clear();
    m_pPhoneED.clear();
    m_pMobilePhoneED.clear();
    m_pFaxED.clear();
    m_pHomePageED.clear();
    m_pMailED.clear();
    SfxTabPage::dispose();
}

SfxTabPage* SwPrivateDataPage::Create(vcl::Window* pParent, const SfxItemSet* rSet)
{
    return new SwPrivateDataPage(pParent, *rSet);
@@ -827,6 +882,31 @@ SwBusinessDataPage::SwBusinessDataPage(vcl::Window* pParent, const SfxItemSet& r
    SetExchangeSupport();
}

SwBusinessDataPage::~SwBusinessDataPage()
{
    dispose();
}

void SwBusinessDataPage::dispose()
{
    m_pCompanyED.clear();
    m_pCompanyExtED.clear();
    m_pSloganED.clear();
    m_pStreetED.clear();
    m_pZipED.clear();
    m_pCityED.clear();
    m_pCountryED.clear();
    m_pStateED.clear();
    m_pPositionED.clear();
    m_pPhoneED.clear();
    m_pMobilePhoneED.clear();
    m_pFaxED.clear();
    m_pHomePageED.clear();
    m_pMailED.clear();
    SfxTabPage::dispose();
}


SfxTabPage* SwBusinessDataPage::Create(vcl::Window* pParent, const SfxItemSet* rSet)
{
    return new SwBusinessDataPage(pParent, *rSet);
diff --git a/sw/source/ui/envelp/labfmt.cxx b/sw/source/ui/envelp/labfmt.cxx
index f0ce862..0b2a826 100644
--- a/sw/source/ui/envelp/labfmt.cxx
+++ b/sw/source/ui/envelp/labfmt.cxx
@@ -353,8 +353,29 @@ SwLabFmtPage::SwLabFmtPage(vcl::Window* pParent, const SfxItemSet& rSet)

SwLabFmtPage::~SwLabFmtPage()
{
    dispose();
}

void SwLabFmtPage::dispose()
{
    m_pMakeFI.clear();
    m_pTypeFI.clear();
    m_pPreview.clear();
    m_pHDistField.clear();
    m_pVDistField.clear();
    m_pWidthField.clear();
    m_pHeightField.clear();
    m_pLeftField.clear();
    m_pUpperField.clear();
    m_pColsField.clear();
    m_pRowsField.clear();
    m_pPWidthField.clear();
    m_pPHeightField.clear();
    m_pSavePB.clear();
    SfxTabPage::dispose();
}


// Modify-handler of MetricFields. start preview timer
IMPL_LINK_NOARG_INLINE_START(SwLabFmtPage, ModifyHdl)
{
@@ -600,6 +621,20 @@ SwSaveLabelDlg::SwSaveLabelDlg(SwLabFmtPage* pParent, SwLabRec& rRec)
    }
}

SwSaveLabelDlg::~SwSaveLabelDlg()
{
    dispose();
}

void SwSaveLabelDlg::dispose()
{
    m_pMakeCB.clear();
    m_pTypeED.clear();
    m_pOKPB.clear();
    pLabPage.clear();
    ModalDialog::dispose();
}

IMPL_LINK_NOARG(SwSaveLabelDlg, OkHdl)
{
    SwLabelConfig& rCfg = pLabPage->GetParentSwLabDlg()->GetLabelsConfig();
diff --git a/sw/source/ui/envelp/labfmt.hxx b/sw/source/ui/envelp/labfmt.hxx
index 13dc533..1606ccd 100644
--- a/sw/source/ui/envelp/labfmt.hxx
+++ b/sw/source/ui/envelp/labfmt.hxx
@@ -69,20 +69,20 @@ public:

class SwLabFmtPage : public SfxTabPage
{
    FixedText*    m_pMakeFI;
    FixedText*    m_pTypeFI;
    SwLabPreview* m_pPreview;
    MetricField*  m_pHDistField;
    MetricField*  m_pVDistField;
    MetricField*  m_pWidthField;
    MetricField*  m_pHeightField;
    MetricField*  m_pLeftField;
    MetricField*  m_pUpperField;
    NumericField* m_pColsField;
    NumericField* m_pRowsField;
    MetricField*  m_pPWidthField;
    MetricField*  m_pPHeightField;
    PushButton*   m_pSavePB;
    VclPtr<FixedText>    m_pMakeFI;
    VclPtr<FixedText>    m_pTypeFI;
    VclPtr<SwLabPreview> m_pPreview;
    VclPtr<MetricField>  m_pHDistField;
    VclPtr<MetricField>  m_pVDistField;
    VclPtr<MetricField>  m_pWidthField;
    VclPtr<MetricField>  m_pHeightField;
    VclPtr<MetricField>  m_pLeftField;
    VclPtr<MetricField>  m_pUpperField;
    VclPtr<NumericField> m_pColsField;
    VclPtr<NumericField> m_pRowsField;
    VclPtr<MetricField>  m_pPWidthField;
    VclPtr<MetricField>  m_pPHeightField;
    VclPtr<PushButton>   m_pSavePB;

    Idle aPreviewIdle;
    bool  bModified;
@@ -90,7 +90,6 @@ class SwLabFmtPage : public SfxTabPage
    SwLabItem    aItem;

     SwLabFmtPage(vcl::Window* pParent, const SfxItemSet& rSet);
    virtual ~SwLabFmtPage();

    DECL_LINK(ModifyHdl, void *);
    DECL_LINK(PreviewHdl, void *);
@@ -103,6 +102,8 @@ class SwLabFmtPage : public SfxTabPage
    using TabPage::DeactivatePage;

public:
    virtual ~SwLabFmtPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create(vcl::Window* pParent, const SfxItemSet* rSet);

@@ -117,12 +118,12 @@ public:

class SwSaveLabelDlg : public ModalDialog
{
    ComboBox*   m_pMakeCB;
    Edit*       m_pTypeED;
    OKButton*   m_pOKPB;
    VclPtr<ComboBox>   m_pMakeCB;
    VclPtr<Edit>       m_pTypeED;
    VclPtr<OKButton>   m_pOKPB;

    bool        bSuccess;
    SwLabFmtPage*   pLabPage;
    VclPtr<SwLabFmtPage>   pLabPage;
    SwLabRec&       rLabRec;

    DECL_LINK(OkHdl, void *);
@@ -130,6 +131,8 @@ class SwSaveLabelDlg : public ModalDialog

public:
    SwSaveLabelDlg(SwLabFmtPage* pParent, SwLabRec& rRec);
    virtual ~SwSaveLabelDlg();
    virtual void dispose() SAL_OVERRIDE;

    void SetLabel(const OUString& rMake, const OUString& rType)
    {
diff --git a/sw/source/ui/envelp/labprt.cxx b/sw/source/ui/envelp/labprt.cxx
index dab2e8a..c52b88f 100644
--- a/sw/source/ui/envelp/labprt.cxx
+++ b/sw/source/ui/envelp/labprt.cxx
@@ -68,6 +68,15 @@ SwLabPrtPage::~SwLabPrtPage()
void SwLabPrtPage::dispose()
{
    delete pPrinter;
    m_pPageButton.clear();
    m_pSingleButton.clear();
    m_pSingleGrid.clear();
    m_pPrinterFrame.clear();
    m_pColField.clear();
    m_pRowField.clear();
    m_pSynchronCB.clear();
    m_pPrinterInfo.clear();
    m_pPrtSetup.clear();
    SfxTabPage::dispose();
}

diff --git a/sw/source/ui/envelp/labprt.hxx b/sw/source/ui/envelp/labprt.hxx
index ee0bf43..1953c29 100644
--- a/sw/source/ui/envelp/labprt.hxx
+++ b/sw/source/ui/envelp/labprt.hxx
@@ -33,20 +33,18 @@ class SwLabPrtPage : public SfxTabPage
{
    Printer*      pPrinter;             // for the shaft setting - unfortunately

    RadioButton*  m_pPageButton;
    RadioButton*  m_pSingleButton;
    VclContainer* m_pSingleGrid;
    VclContainer* m_pPrinterFrame;
    NumericField* m_pColField;
    NumericField* m_pRowField;
    CheckBox*     m_pSynchronCB;
    VclPtr<RadioButton>  m_pPageButton;
    VclPtr<RadioButton>  m_pSingleButton;
    VclPtr<VclContainer> m_pSingleGrid;
    VclPtr<VclContainer> m_pPrinterFrame;
    VclPtr<NumericField> m_pColField;
    VclPtr<NumericField> m_pRowField;
    VclPtr<CheckBox>     m_pSynchronCB;

    FixedText*    m_pPrinterInfo;
    PushButton*   m_pPrtSetup;
    VclPtr<FixedText>    m_pPrinterInfo;
    VclPtr<PushButton>   m_pPrtSetup;

     SwLabPrtPage(vcl::Window* pParent, const SfxItemSet& rSet);
    virtual ~SwLabPrtPage();
    virtual void dispose() SAL_OVERRIDE;

    DECL_LINK( CountHdl, Button * );

@@ -56,6 +54,8 @@ class SwLabPrtPage : public SfxTabPage
    using TabPage::DeactivatePage;

public:
    virtual ~SwLabPrtPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create(vcl::Window* pParent, const SfxItemSet* rSet);

diff --git a/sw/source/ui/envelp/mailmrge.cxx b/sw/source/ui/envelp/mailmrge.cxx
index 315f096..e7f9173 100644
--- a/sw/source/ui/envelp/mailmrge.cxx
+++ b/sw/source/ui/envelp/mailmrge.cxx
@@ -406,6 +406,38 @@ void SwMailMergeDlg::dispose()
        delete pData;
    }
    delete pImpl;
    m_pBeamerWin.clear();
    m_pAllRB.clear();
    m_pMarkedRB.clear();
    m_pFromRB.clear();
    m_pFromNF.clear();
    m_pToNF.clear();
    m_pPrinterRB.clear();
    m_pMailingRB.clear();
    m_pFileRB.clear();
    m_pSingleJobsCB.clear();
    m_pSaveMergedDocumentFT.clear();
    m_pSaveSingleDocRB.clear();
    m_pSaveIndividualRB.clear();
    m_pGenerateFromDataBaseCB.clear();
    m_pColumnFT.clear();
    m_pColumnLB.clear();
    m_pPathFT.clear();
    m_pPathED.clear();
    m_pPathPB.clear();
    m_pFilterFT.clear();
    m_pFilterLB.clear();
    m_pAddressFldLB.clear();
    m_pSubjectFT.clear();
    m_pSubjectED.clear();
    m_pFormatFT.clear();
    m_pAttachFT.clear();
    m_pAttachED.clear();
    m_pAttachPB.clear();
    m_pFormatHtmlCB.clear();
    m_pFormatRtfCB.clear();
    m_pFormatSwCB.clear();
    m_pOkBTN.clear();
    SvxStandardDialog::dispose();
}

@@ -639,6 +671,17 @@ SwMailMergeCreateFromDlg::SwMailMergeCreateFromDlg(vcl::Window* pParent)
    get(m_pThisDocRB, "document");
}

SwMailMergeCreateFromDlg::~SwMailMergeCreateFromDlg()
{
    dispose();
}

void SwMailMergeCreateFromDlg::dispose()
{
    m_pThisDocRB.clear();
    ModalDialog::dispose();
}

SwMailMergeFieldConnectionsDlg::SwMailMergeFieldConnectionsDlg(vcl::Window* pParent)
    : ModalDialog(pParent, "MergeConnectDialog",
        "modules/swriter/ui/mergeconnectdialog.ui")
@@ -646,4 +689,15 @@ SwMailMergeFieldConnectionsDlg::SwMailMergeFieldConnectionsDlg(vcl::Window* pPar
    get(m_pUseExistingRB, "existing");
}

SwMailMergeFieldConnectionsDlg::~SwMailMergeFieldConnectionsDlg()
{
    dispose();
}

void SwMailMergeFieldConnectionsDlg::dispose()
{
    m_pUseExistingRB.clear();
    ModalDialog::dispose();
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/envelp/swuilabimp.hxx b/sw/source/ui/envelp/swuilabimp.hxx
index 126c1a7..f6ca588 100644
--- a/sw/source/ui/envelp/swuilabimp.hxx
+++ b/sw/source/ui/envelp/swuilabimp.hxx
@@ -29,21 +29,21 @@ class SwLabPage : public SfxTabPage
    OUString      sActDBName;
    SwLabItem     aItem;

    VclContainer* m_pAddressFrame;
    VclPtr<VclContainer> m_pAddressFrame;

    CheckBox*         m_pAddrBox;
    VclMultiLineEdit* m_pWritingEdit;
    ListBox*          m_pDatabaseLB;
    ListBox*          m_pTableLB;
    PushButton*       m_pInsertBT;
    ListBox*          m_pDBFieldLB;
    VclPtr<CheckBox>         m_pAddrBox;
    VclPtr<VclMultiLineEdit> m_pWritingEdit;
    VclPtr<ListBox>          m_pDatabaseLB;
    VclPtr<ListBox>          m_pTableLB;
    VclPtr<PushButton>       m_pInsertBT;
    VclPtr<ListBox>          m_pDBFieldLB;

    RadioButton*      m_pContButton;
    RadioButton*      m_pSheetButton;
    ListBox*          m_pMakeBox;
    ListBox*          m_pTypeBox;
    ListBox*          m_pHiddenSortTypeBox;
    FixedText*        m_pFormatInfo;
    VclPtr<RadioButton>      m_pContButton;
    VclPtr<RadioButton>      m_pSheetButton;
    VclPtr<ListBox>          m_pMakeBox;
    VclPtr<ListBox>          m_pTypeBox;
    VclPtr<ListBox>          m_pHiddenSortTypeBox;
    VclPtr<FixedText>        m_pFormatInfo;

    bool        m_bLabel;

@@ -63,6 +63,8 @@ class SwLabPage : public SfxTabPage
    using TabPage::DeactivatePage;

public:
    virtual ~SwLabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create(vcl::Window* pParent, const SfxItemSet* rSet);

@@ -84,9 +86,9 @@ public:
class SwOneExampleFrame;
class SwVisitingCardPage : public SfxTabPage
{
    SvTreeListBox*  m_pAutoTextLB;
    ListBox*        m_pAutoTextGroupLB;
    vcl::Window*         m_pExampleWIN;
    VclPtr<SvTreeListBox>  m_pAutoTextLB;
    VclPtr<ListBox>        m_pAutoTextGroupLB;
    VclPtr<vcl::Window>    m_pExampleWIN;

    OUString        sTempURL;

@@ -127,26 +129,26 @@ public:

class SwPrivateDataPage : public SfxTabPage
{
    Edit* m_pFirstNameED;
    Edit* m_pNameED;
    Edit* m_pShortCutED;
    VclPtr<Edit> m_pFirstNameED;
    VclPtr<Edit> m_pNameED;
    VclPtr<Edit> m_pShortCutED;

    Edit* m_pFirstName2ED;
    Edit* m_pName2ED;
    Edit* m_pShortCut2ED;
    VclPtr<Edit> m_pFirstName2ED;
    VclPtr<Edit> m_pName2ED;
    VclPtr<Edit> m_pShortCut2ED;

    Edit* m_pStreetED;
    Edit* m_pZipED;
    Edit* m_pCityED;
    Edit* m_pCountryED;
    Edit* m_pStateED;
    Edit* m_pTitleED;
    Edit* m_pProfessionED;
    Edit* m_pPhoneED;
    Edit* m_pMobilePhoneED;
    Edit* m_pFaxED;
    Edit* m_pHomePageED;
    Edit* m_pMailED;
    VclPtr<Edit> m_pStreetED;
    VclPtr<Edit> m_pZipED;
    VclPtr<Edit> m_pCityED;
    VclPtr<Edit> m_pCountryED;
    VclPtr<Edit> m_pStateED;
    VclPtr<Edit> m_pTitleED;
    VclPtr<Edit> m_pProfessionED;
    VclPtr<Edit> m_pPhoneED;
    VclPtr<Edit> m_pMobilePhoneED;
    VclPtr<Edit> m_pFaxED;
    VclPtr<Edit> m_pHomePageED;
    VclPtr<Edit> m_pMailED;

    SwPrivateDataPage(vcl::Window* pParent, const SfxItemSet& rSet);

@@ -154,6 +156,8 @@ class SwPrivateDataPage : public SfxTabPage
    using TabPage::DeactivatePage;

public:
    virtual ~SwPrivateDataPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create(vcl::Window* pParent, const SfxItemSet* rSet);

@@ -165,24 +169,24 @@ public:

class SwBusinessDataPage : public SfxTabPage
{
    Edit* m_pCompanyED;
    Edit* m_pCompanyExtED;
    Edit* m_pSloganED;
    VclPtr<Edit> m_pCompanyED;
    VclPtr<Edit> m_pCompanyExtED;
    VclPtr<Edit> m_pSloganED;

    Edit* m_pStreetED;
    Edit* m_pZipED;
    Edit* m_pCityED;
    Edit* m_pCountryED;
    Edit* m_pStateED;
    VclPtr<Edit> m_pStreetED;
    VclPtr<Edit> m_pZipED;
    VclPtr<Edit> m_pCityED;
    VclPtr<Edit> m_pCountryED;
    VclPtr<Edit> m_pStateED;

    Edit* m_pPositionED;
    VclPtr<Edit> m_pPositionED;

    Edit* m_pPhoneED;
    Edit* m_pMobilePhoneED;
    Edit* m_pFaxED;
    VclPtr<Edit> m_pPhoneED;
    VclPtr<Edit> m_pMobilePhoneED;
    VclPtr<Edit> m_pFaxED;

    Edit* m_pHomePageED;
    Edit* m_pMailED;
    VclPtr<Edit> m_pHomePageED;
    VclPtr<Edit> m_pMailED;

    SwBusinessDataPage(vcl::Window* pParent, const SfxItemSet& rSet);

@@ -190,6 +194,8 @@ class SwBusinessDataPage : public SfxTabPage
    using TabPage::DeactivatePage;

public:
    virtual ~SwBusinessDataPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create(vcl::Window* pParent, const SfxItemSet* rSet);

diff --git a/sw/source/ui/fldui/DropDownFieldDialog.cxx b/sw/source/ui/fldui/DropDownFieldDialog.cxx
index fce5029d..13453ca 100644
--- a/sw/source/ui/fldui/DropDownFieldDialog.cxx
+++ b/sw/source/ui/fldui/DropDownFieldDialog.cxx
@@ -71,6 +71,20 @@ sw::DropDownFieldDialog::DropDownFieldDialog(vcl::Window *pParent, SwWrtShell &r
    m_pListItemsLB->GrabFocus();
}

sw::DropDownFieldDialog::~DropDownFieldDialog()
{
    dispose();
}

void sw::DropDownFieldDialog::dispose()
{
    m_pListItemsLB.clear();
    m_pOKPB.clear();
    m_pNextPB.clear();
    m_pEditPB.clear();
    SvxStandardDialog::dispose();
}

void sw::DropDownFieldDialog::Apply()
{
    if(pDropField)
diff --git a/sw/source/ui/fldui/changedb.cxx b/sw/source/ui/fldui/changedb.cxx
index a2a9c7c..224f56b 100644
--- a/sw/source/ui/fldui/changedb.cxx
+++ b/sw/source/ui/fldui/changedb.cxx
@@ -170,6 +170,11 @@ SwChangeDBDlg::~SwChangeDBDlg()
void SwChangeDBDlg::dispose()
{
    delete pMgr;
    m_pUsedDBTLB.clear();
    m_pAvailDBTLB.clear();
    m_pAddDBPB.clear();
    m_pDocDBNameFT.clear();
    m_pDefineBT.clear();
    SvxStandardDialog::dispose();
}

diff --git a/sw/source/ui/fldui/flddb.cxx b/sw/source/ui/fldui/flddb.cxx
index a2af66a..5faa704 100644
--- a/sw/source/ui/fldui/flddb.cxx
+++ b/sw/source/ui/fldui/flddb.cxx
@@ -74,6 +74,24 @@ SwFldDBPage::SwFldDBPage(vcl::Window* pParent, const SfxItemSet& rCoreSet)

SwFldDBPage::~SwFldDBPage()
{
    dispose();
}

void SwFldDBPage::dispose()
{
    m_pTypeLB.clear();
    m_pDatabaseTLB.clear();
    m_pAddDBPB.clear();
    m_pCondition.clear();
    m_pConditionED.clear();
    m_pValue.clear();
    m_pValueED.clear();
    m_pDBFormatRB.clear();
    m_pNewFormatRB.clear();
    m_pNumFormatLB.clear();
    m_pFormatLB.clear();
    m_pFormat.clear();
    SwFldPage::dispose();
}

// initialise TabPage
diff --git a/sw/source/ui/fldui/flddb.hxx b/sw/source/ui/fldui/flddb.hxx
index 6163cb9..a54efb9 100644
--- a/sw/source/ui/fldui/flddb.hxx
+++ b/sw/source/ui/fldui/flddb.hxx
@@ -32,20 +32,20 @@

class SwFldDBPage : public SwFldPage
{
    ListBox*            m_pTypeLB;
    SwDBTreeList*       m_pDatabaseTLB;
    VclPtr<ListBox>            m_pTypeLB;
    VclPtr<SwDBTreeList>       m_pDatabaseTLB;

    PushButton*         m_pAddDBPB;
    VclPtr<PushButton>         m_pAddDBPB;

    VclContainer*       m_pCondition;
    ConditionEdit*      m_pConditionED;
    VclContainer*       m_pValue;
    Edit*               m_pValueED;
    RadioButton*        m_pDBFormatRB;
    RadioButton*        m_pNewFormatRB;
    NumFormatListBox*   m_pNumFormatLB;
    ListBox*            m_pFormatLB;
    VclContainer*       m_pFormat;
    VclPtr<VclContainer>       m_pCondition;
    VclPtr<ConditionEdit>      m_pConditionED;
    VclPtr<VclContainer>       m_pValue;
    VclPtr<Edit>               m_pValueED;
    VclPtr<RadioButton>        m_pDBFormatRB;
    VclPtr<RadioButton>        m_pNewFormatRB;
    VclPtr<NumFormatListBox>   m_pNumFormatLB;
    VclPtr<ListBox>            m_pFormatLB;
    VclPtr<VclContainer>       m_pFormat;

    OUString            m_sOldDBName;
    OUString            m_sOldTableName;
@@ -71,6 +71,7 @@ public:
                        SwFldDBPage(vcl::Window* pParent, const SfxItemSet& rSet);

                        virtual ~SwFldDBPage();
    virtual void        dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create(vcl::Window* pParent, const SfxItemSet* rAttrSet);

diff --git a/sw/source/ui/fldui/flddinf.cxx b/sw/source/ui/fldui/flddinf.cxx
index 1655f57..58a9fd0 100644
--- a/sw/source/ui/fldui/flddinf.cxx
+++ b/sw/source/ui/fldui/flddinf.cxx
@@ -89,6 +89,18 @@ SwFldDokInfPage::SwFldDokInfPage(vcl::Window* pParent, const SfxItemSet& rCoreSe

SwFldDokInfPage::~SwFldDokInfPage()
{
    dispose();
}

void SwFldDokInfPage::dispose()
{
    m_pTypeTLB.clear();
    m_pSelection.clear();
    m_pSelectionLB.clear();
    m_pFormat.clear();
    m_pFormatLB.clear();
    m_pFixedCB.clear();
    SwFldPage::dispose();
}

void SwFldDokInfPage::Reset(const SfxItemSet* )
diff --git a/sw/source/ui/fldui/flddinf.hxx b/sw/source/ui/fldui/flddinf.hxx
index 596d3bc..5b7f444 100644
--- a/sw/source/ui/fldui/flddinf.hxx
+++ b/sw/source/ui/fldui/flddinf.hxx
@@ -36,12 +36,12 @@ namespace com{namespace sun{ namespace star{ namespace beans{

class SwFldDokInfPage : public SwFldPage
{
    SvTreeListBox*      m_pTypeTLB;
    VclContainer*       m_pSelection;
    ListBox*            m_pSelectionLB;
    VclContainer*       m_pFormat;
    NumFormatListBox*   m_pFormatLB;
    CheckBox*           m_pFixedCB;
    VclPtr<SvTreeListBox>      m_pTypeTLB;
    VclPtr<VclContainer>       m_pSelection;
    VclPtr<ListBox>            m_pSelectionLB;
    VclPtr<VclContainer>       m_pFormat;
    VclPtr<NumFormatListBox>   m_pFormatLB;
    VclPtr<CheckBox>           m_pFixedCB;

    SvTreeListEntry*        pSelEntry;
    com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet > xCustomPropertySet;
@@ -62,6 +62,7 @@ public:
                        SwFldDokInfPage(vcl::Window* pWindow, const SfxItemSet& rSet);

                        virtual ~SwFldDokInfPage();
    virtual void        dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create(vcl::Window* pParent, const SfxItemSet* rAttrSet);

diff --git a/sw/source/ui/fldui/flddok.cxx b/sw/source/ui/fldui/flddok.cxx
index ea3ec74..18df09e 100644
--- a/sw/source/ui/fldui/flddok.cxx
+++ b/sw/source/ui/fldui/flddok.cxx
@@ -80,8 +80,29 @@ SwFldDokPage::SwFldDokPage(vcl::Window* pParent, const SfxItemSet& rCoreSet )

SwFldDokPage::~SwFldDokPage()
{
    dispose();
}

void SwFldDokPage::dispose()
{
    m_pTypeLB.clear();
    m_pSelection.clear();
    m_pSelectionLB.clear();
    m_pValueFT.clear();
    m_pValueED.clear();
    m_pLevelFT.clear();
    m_pLevelED.clear();
    m_pDateFT.clear();
    m_pTimeFT.clear();
    m_pDateOffsetED.clear();
    m_pFormat.clear();
    m_pFormatLB.clear();
    m_pNumFormatLB.clear();
    m_pFixedCB.clear();
    SwFldPage::dispose();
}


void SwFldDokPage::Reset(const SfxItemSet* )
{
    SavePos(m_pTypeLB);
diff --git a/sw/source/ui/fldui/flddok.hxx b/sw/source/ui/fldui/flddok.hxx
index 4e8abc2..ab98dc5 100644
--- a/sw/source/ui/fldui/flddok.hxx
+++ b/sw/source/ui/fldui/flddok.hxx
@@ -32,20 +32,20 @@

class SwFldDokPage : public SwFldPage
{
    ListBox*            m_pTypeLB;
    VclContainer*       m_pSelection;
    ListBox*            m_pSelectionLB;
    FixedText*          m_pValueFT;
    Edit*               m_pValueED;
    FixedText*          m_pLevelFT;
    NumericField*       m_pLevelED;
    FixedText*          m_pDateFT;
    FixedText*          m_pTimeFT;
    NumericField*       m_pDateOffsetED;
    VclContainer*       m_pFormat;
    ListBox*            m_pFormatLB;
    NumFormatListBox*   m_pNumFormatLB;
    CheckBox*           m_pFixedCB;
    VclPtr<ListBox>            m_pTypeLB;
    VclPtr<VclContainer>       m_pSelection;
    VclPtr<ListBox>            m_pSelectionLB;
    VclPtr<FixedText>          m_pValueFT;
    VclPtr<Edit>               m_pValueED;
    VclPtr<FixedText>          m_pLevelFT;
    VclPtr<NumericField>       m_pLevelED;
    VclPtr<FixedText>          m_pDateFT;
    VclPtr<FixedText>          m_pTimeFT;
    VclPtr<NumericField>       m_pDateOffsetED;
    VclPtr<VclContainer>       m_pFormat;
    VclPtr<ListBox>            m_pFormatLB;
    VclPtr<NumFormatListBox>   m_pNumFormatLB;
    VclPtr<CheckBox>           m_pFixedCB;

    sal_Int32               nOldSel;
    sal_uLong               nOldFormat;
@@ -64,6 +64,7 @@ public:
                        SwFldDokPage(vcl::Window* pWindow, const SfxItemSet& rSet);

                        virtual ~SwFldDokPage();
    virtual void        dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create(vcl::Window* pParent, const SfxItemSet* rAttrSet);

diff --git a/sw/source/ui/fldui/fldedt.cxx b/sw/source/ui/fldui/fldedt.cxx
index fc40ec5..f936b66 100644
--- a/sw/source/ui/fldui/fldedt.cxx
+++ b/sw/source/ui/fldui/fldedt.cxx
@@ -221,6 +221,9 @@ void SwFldEditDlg::dispose()
{
    SwViewShell::SetCareWin(NULL);
    pSh->EnterStdMode();
    m_pPrevBT.clear();
    m_pNextBT.clear();
    m_pAddressBT.clear();
    SfxSingleTabDialog::dispose();
}

diff --git a/sw/source/ui/fldui/fldfunc.cxx b/sw/source/ui/fldui/fldfunc.cxx
index b190d69..944512b 100644
--- a/sw/source/ui/fldui/fldfunc.cxx
+++ b/sw/source/ui/fldui/fldfunc.cxx
@@ -91,6 +91,37 @@ SwFldFuncPage::SwFldFuncPage(vcl::Window* pParent, const SfxItemSet& rCoreSet)

SwFldFuncPage::~SwFldFuncPage()
{
    dispose();
}

void SwFldFuncPage::dispose()
{
    m_pTypeLB.clear();
    m_pSelectionLB.clear();
    m_pFormat.clear();
    m_pFormatLB.clear();
    m_pNameFT.clear();
    m_pNameED.clear();
    m_pValueGroup.clear();
    m_pValueFT.clear();
    m_pValueED.clear();
    m_pCond1FT.clear();
    m_pCond1ED.clear();
    m_pCond2FT.clear();
    m_pCond2ED.clear();
    m_pMacroBT.clear();
    m_pListGroup.clear();
    m_pListItemFT.clear();
    m_pListItemED.clear();
    m_pListAddPB.clear();
    m_pListItemsFT.clear();
    m_pListItemsLB.clear();
    m_pListRemovePB.clear();
    m_pListUpPB.clear();
    m_pListDownPB.clear();
    m_pListNameFT.clear();
    m_pListNameED.clear();
    SwFldPage::dispose();
}

void SwFldFuncPage::Reset(const SfxItemSet* )
diff --git a/sw/source/ui/fldui/fldfunc.hxx b/sw/source/ui/fldui/fldfunc.hxx
index fb8cfa9..6ec851b 100644
--- a/sw/source/ui/fldui/fldfunc.hxx
+++ b/sw/source/ui/fldui/fldfunc.hxx
@@ -32,33 +32,33 @@

class SwFldFuncPage : public SwFldPage
{
    ListBox*        m_pTypeLB;
    ListBox*        m_pSelectionLB;
    VclContainer*   m_pFormat;
    ListBox*        m_pFormatLB;
    FixedText*      m_pNameFT;
    ConditionEdit*  m_pNameED;
    VclContainer*   m_pValueGroup;
    FixedText*      m_pValueFT;
    Edit*           m_pValueED;
    FixedText*      m_pCond1FT;
    ConditionEdit*  m_pCond1ED;
    FixedText*      m_pCond2FT;
    ConditionEdit*  m_pCond2ED;
    PushButton*     m_pMacroBT;
    VclPtr<ListBox>        m_pTypeLB;
    VclPtr<ListBox>        m_pSelectionLB;
    VclPtr<VclContainer>   m_pFormat;
    VclPtr<ListBox>        m_pFormatLB;
    VclPtr<FixedText>      m_pNameFT;
    VclPtr<ConditionEdit>  m_pNameED;
    VclPtr<VclContainer>   m_pValueGroup;
    VclPtr<FixedText>      m_pValueFT;
    VclPtr<Edit>           m_pValueED;
    VclPtr<FixedText>      m_pCond1FT;
    VclPtr<ConditionEdit>  m_pCond1ED;
    VclPtr<FixedText>      m_pCond2FT;
    VclPtr<ConditionEdit>  m_pCond2ED;
    VclPtr<PushButton>     m_pMacroBT;

    //controls of "Input list"
    VclContainer*   m_pListGroup;
    FixedText*      m_pListItemFT;
    ReturnActionEdit* m_pListItemED;
    PushButton*     m_pListAddPB;
    FixedText*      m_pListItemsFT;
    ListBox*        m_pListItemsLB;
    PushButton*     m_pListRemovePB;
    PushButton*     m_pListUpPB;
    PushButton*     m_pListDownPB;
    FixedText*      m_pListNameFT;
    Edit*           m_pListNameED;
    VclPtr<VclContainer>   m_pListGroup;
    VclPtr<FixedText>      m_pListItemFT;
    VclPtr<ReturnActionEdit> m_pListItemED;
    VclPtr<PushButton>     m_pListAddPB;
    VclPtr<FixedText>      m_pListItemsFT;
    VclPtr<ListBox>        m_pListItemsLB;
    VclPtr<PushButton>     m_pListRemovePB;
    VclPtr<PushButton>     m_pListUpPB;
    VclPtr<PushButton>     m_pListDownPB;
    VclPtr<FixedText>      m_pListNameFT;
    VclPtr<Edit>           m_pListNameED;

    OUString        m_sOldValueFT;
    OUString        m_sOldNameFT;
@@ -86,6 +86,7 @@ public:
                        SwFldFuncPage(vcl::Window* pParent, const SfxItemSet& rSet);

                        virtual ~SwFldFuncPage();
    virtual void        dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create(vcl::Window* pParent, const SfxItemSet* rAttrSet);

diff --git a/sw/source/ui/fldui/fldref.cxx b/sw/source/ui/fldui/fldref.cxx
index 247dda1..4bb357e 100644
--- a/sw/source/ui/fldui/fldref.cxx
+++ b/sw/source/ui/fldui/fldref.cxx
@@ -107,6 +107,21 @@ SwFldRefPage::SwFldRefPage(vcl::Window* pParent, const SfxItemSet& rCoreSet )

SwFldRefPage::~SwFldRefPage()
{
    dispose();
}

void SwFldRefPage::dispose()
{
    m_pTypeLB.clear();
    m_pSelection.clear();
    m_pSelectionLB.clear();
    m_pSelectionToolTipLB.clear();
    m_pFormat.clear();
    m_pFormatLB.clear();
    m_pNameFT.clear();
    m_pNameED.clear();
    m_pValueED.clear();
    SwFldPage::dispose();
}

// #i83479#
diff --git a/sw/source/ui/fldui/fldref.hxx b/sw/source/ui/fldui/fldref.hxx
index 27e5ab4..959c1e0 100644
--- a/sw/source/ui/fldui/fldref.hxx
+++ b/sw/source/ui/fldui/fldref.hxx
@@ -34,16 +34,16 @@ class SwTxtNode;

class SwFldRefPage : public SwFldPage
{
    ListBox*        m_pTypeLB;
    VclContainer*   m_pSelection;
    ListBox*        m_pSelectionLB;
    VclPtr<ListBox>        m_pTypeLB;
    VclPtr<VclContainer>   m_pSelection;
    VclPtr<ListBox>        m_pSelectionLB;
    // #i83479#
    SwFldRefTreeListBox* m_pSelectionToolTipLB;
    VclContainer*   m_pFormat;
    ListBox*        m_pFormatLB;
    FixedText*      m_pNameFT;
    Edit*           m_pNameED;
    Edit*           m_pValueED;
    VclPtr<SwFldRefTreeListBox> m_pSelectionToolTipLB;
    VclPtr<VclContainer>   m_pFormat;
    VclPtr<ListBox>        m_pFormatLB;
    VclPtr<FixedText>      m_pNameFT;
    VclPtr<Edit>           m_pNameED;
    VclPtr<Edit>           m_pValueED;
    OUString    sBookmarkTxt;
    OUString    sFootnoteTxt;
    OUString    sEndnoteTxt;
@@ -77,6 +77,7 @@ public:
                        SwFldRefPage(vcl::Window* pParent, const SfxItemSet& rSet);

                        virtual ~SwFldRefPage();
    virtual void        dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create(vcl::Window* pParent, const SfxItemSet* rAttrSet);

diff --git a/sw/source/ui/fldui/fldvar.cxx b/sw/source/ui/fldui/fldvar.cxx
index a72e4c9..9452d98 100644
--- a/sw/source/ui/fldui/fldvar.cxx
+++ b/sw/source/ui/fldui/fldvar.cxx
@@ -87,6 +87,28 @@ SwFldVarPage::SwFldVarPage(vcl::Window* pParent, const SfxItemSet& rCoreSet )

SwFldVarPage::~SwFldVarPage()
{
    dispose();
}

void SwFldVarPage::dispose()
{
    m_pTypeLB.clear();
    m_pSelection.clear();
    m_pSelectionLB.clear();
    m_pNameFT.clear();
    m_pNameED.clear();
    m_pValueFT.clear();
    m_pValueED.clear();
    m_pFormat.clear();
    m_pNumFormatLB.clear();
    m_pFormatLB.clear();
    m_pChapterFrame.clear();
    m_pChapterLevelLB.clear();
    m_pInvisibleCB.clear();
    m_pSeparatorFT.clear();
    m_pSeparatorED.clear();
    m_pNewDelTBX.clear();
    SwFldPage::dispose();
}

void SwFldVarPage::Reset(const SfxItemSet* )
diff --git a/sw/source/ui/fldui/fldvar.hxx b/sw/source/ui/fldui/fldvar.hxx
index 9d1a37f..bac7fc7 100644
--- a/sw/source/ui/fldui/fldvar.hxx
+++ b/sw/source/ui/fldui/fldvar.hxx
@@ -51,22 +51,22 @@ class SwFldVarPage : public SwFldPage
{
    friend class SelectionListBox;

    ListBox*            m_pTypeLB;
    VclContainer*       m_pSelection;
    SelectionListBox*   m_pSelectionLB;
    FixedText*          m_pNameFT;
    Edit*               m_pNameED;
    FixedText*          m_pValueFT;
    ConditionEdit*      m_pValueED;
    VclContainer*       m_pFormat;
    NumFormatListBox*   m_pNumFormatLB;
    ListBox*            m_pFormatLB;
    VclContainer*       m_pChapterFrame;
    ListBox*            m_pChapterLevelLB;
    CheckBox*           m_pInvisibleCB;
    FixedText*          m_pSeparatorFT;
    Edit*               m_pSeparatorED;
    ToolBox*            m_pNewDelTBX;
    VclPtr<ListBox>            m_pTypeLB;
    VclPtr<VclContainer>       m_pSelection;
    VclPtr<SelectionListBox>   m_pSelectionLB;
    VclPtr<FixedText>          m_pNameFT;
    VclPtr<Edit>               m_pNameED;
    VclPtr<FixedText>          m_pValueFT;
    VclPtr<ConditionEdit>      m_pValueED;
    VclPtr<VclContainer>       m_pFormat;
    VclPtr<NumFormatListBox>   m_pNumFormatLB;
    VclPtr<ListBox>            m_pFormatLB;
    VclPtr<VclContainer>       m_pChapterFrame;
    VclPtr<ListBox>            m_pChapterLevelLB;
    VclPtr<CheckBox>           m_pInvisibleCB;
    VclPtr<FixedText>          m_pSeparatorFT;
    VclPtr<Edit>               m_pSeparatorED;
    VclPtr<ToolBox>            m_pNewDelTBX;
    sal_uInt16          m_nApplyId;
    sal_uInt16          m_nDeleteId;

@@ -93,6 +93,7 @@ public:
                        SwFldVarPage(vcl::Window* pParent, const SfxItemSet& rSet);

                        virtual ~SwFldVarPage();
    virtual void        dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create(vcl::Window* pParent, const SfxItemSet* rAttrSet);

diff --git a/sw/source/ui/fldui/inpdlg.cxx b/sw/source/ui/fldui/inpdlg.cxx
index 3346d84..38226fa 100644
--- a/sw/source/ui/fldui/inpdlg.cxx
+++ b/sw/source/ui/fldui/inpdlg.cxx
@@ -106,6 +106,20 @@ SwFldInputDlg::SwFldInputDlg( vcl::Window *pParent, SwWrtShell &rS,
        m_pEditED->SetText(convertLineEnd(aStr, GetSystemLineEnd()));
}

SwFldInputDlg::~SwFldInputDlg()
{
    dispose();
}

void SwFldInputDlg::dispose()
{
    m_pLabelED.clear();
    m_pEditED.clear();
    m_pOKBT.clear();
    m_pNextBT.clear();
    SvxStandardDialog::dispose();
}

void SwFldInputDlg::StateChanged( StateChangedType nType )
{
    if ( nType == StateChangedType::INITSHOW )
diff --git a/sw/source/ui/fldui/javaedit.cxx b/sw/source/ui/fldui/javaedit.cxx
index 8a7cf86..a265ff89 100644
--- a/sw/source/ui/fldui/javaedit.cxx
+++ b/sw/source/ui/fldui/javaedit.cxx
@@ -97,6 +97,16 @@ void SwJavaEditDialog::dispose()
    delete pMgr;
    delete pFileDlg;
    Application::SetDefDialogParent( pOldDefDlgParent );
    m_pTypeED.clear();
    m_pUrlRB.clear();
    m_pEditRB.clear();
    m_pUrlPB.clear();
    m_pUrlED.clear();
    m_pEditED.clear();
    m_pOKBtn.clear();
    m_pPrevBtn.clear();
    m_pNextBtn.clear();
    pOldDefDlgParent.clear();
    SvxStandardDialog::dispose();
}

diff --git a/sw/source/ui/frmdlg/column.cxx b/sw/source/ui/frmdlg/column.cxx
index bf0ca5f..01eab60 100644
--- a/sw/source/ui/frmdlg/column.cxx
+++ b/sw/source/ui/frmdlg/column.cxx
@@ -219,10 +219,11 @@ SwColumnDlg::~SwColumnDlg()

void SwColumnDlg::dispose()
{
    delete pTabPage;
    delete pPageSet;
    delete pSectionSet;
    delete pSelectionSet;
    m_pApplyToLB.clear();
    pTabPage.clear();
    SfxModalDialog::dispose();
}

@@ -554,6 +555,29 @@ SwColumnPage::~SwColumnPage()
void SwColumnPage::dispose()
{
    delete pColMgr;
    m_pCLNrEdt.clear();
    m_pDefaultVS.clear();
    m_pBalanceColsCB.clear();
    m_pBtnBack.clear();
    m_pLbl1.clear();
    m_pLbl2.clear();
    m_pLbl3.clear();
    m_pBtnNext.clear();
    m_pAutoWidthBox.clear();
    m_pLineTypeLbl.clear();
    m_pLineTypeDLB.clear();
    m_pLineWidthLbl.clear();
    m_pLineWidthEdit.clear();
    m_pLineColorLbl.clear();
    m_pLineColorDLB.clear();
    m_pLineHeightLbl.clear();
    m_pLineHeightEdit.clear();
    m_pLinePosLbl.clear();
    m_pLinePosDLB.clear();
    m_pTextDirectionFT.clear();
    m_pTextDirectionLB.clear();
    m_pPgeExampleWN.clear();
    m_pFrmExampleWN.clear();
    SfxTabPage::dispose();
}

diff --git a/sw/source/ui/frmdlg/cption.cxx b/sw/source/ui/frmdlg/cption.cxx
index 89b798c..82d350b 100644
--- a/sw/source/ui/frmdlg/cption.cxx
+++ b/sw/source/ui/frmdlg/cption.cxx
@@ -51,14 +51,14 @@ using namespace ::com::sun::star;

class SwSequenceOptionDialog : public SvxStandardDialog
{
    ListBox*        m_pLbLevel;
    Edit*           m_pEdDelim;
    VclPtr<ListBox>        m_pLbLevel;
    VclPtr<Edit>           m_pEdDelim;

    ListBox*        m_pLbCharStyle;
    CheckBox*       m_pApplyBorderAndShadowCB;
    VclPtr<ListBox>        m_pLbCharStyle;
    VclPtr<CheckBox>       m_pApplyBorderAndShadowCB;

    //#i61007# order of captions
    ListBox*        m_pLbCaptionOrder;
    VclPtr<ListBox>        m_pLbCaptionOrder;

    SwView&         rView;
    OUString        aFldTypeName;
@@ -67,6 +67,7 @@ public:
    SwSequenceOptionDialog( vcl::Window *pParent, SwView &rV,
                            const OUString& rSeqFldType );
    virtual ~SwSequenceOptionDialog();
    virtual void dispose() SAL_OVERRIDE;
    virtual void Apply() SAL_OVERRIDE;

    bool IsApplyBorderAndShadow( void ) { return m_pApplyBorderAndShadowCB->IsChecked(); }
@@ -417,6 +418,20 @@ SwCaptionDialog::~SwCaptionDialog()
void SwCaptionDialog::dispose()
{
    delete pMgr;
    m_pTextEdit.clear();
    m_pCategoryBox.clear();
    m_pFormatText.clear();
    m_pFormatBox.clear();
    m_pNumberingSeparatorFT.clear();
    m_pNumberingSeparatorED.clear();
    m_pSepText.clear();
    m_pSepEdit.clear();
    m_pPosText.clear();
    m_pPosBox.clear();
    m_pOKButton.clear();
    m_pAutoCaptionButton.clear();
    m_pOptionButton.clear();
    m_pPreview.clear();
    SvxStandardDialog::dispose();
}

@@ -461,8 +476,20 @@ SwSequenceOptionDialog::SwSequenceOptionDialog( vcl::Window *pParent, SwView &rV

SwSequenceOptionDialog::~SwSequenceOptionDialog()
{
    dispose();
}

void SwSequenceOptionDialog::dispose()
{
    m_pLbLevel.clear();
    m_pEdDelim.clear();
    m_pLbCharStyle.clear();
    m_pApplyBorderAndShadowCB.clear();
    m_pLbCaptionOrder.clear();
    SvxStandardDialog::dispose();
}


void SwSequenceOptionDialog::Apply()
{
    SwWrtShell &rSh = rView.GetWrtShell();
diff --git a/sw/source/ui/frmdlg/frmpage.cxx b/sw/source/ui/frmdlg/frmpage.cxx
index dfa735d0..34254ac 100644
--- a/sw/source/ui/frmdlg/frmpage.cxx
+++ b/sw/source/ui/frmdlg/frmpage.cxx
@@ -712,6 +712,49 @@ SwFrmPage::SwFrmPage(vcl::Window *pParent, const SfxItemSet &rSet)
    m_pAutoHeightCB->SetClickHdl( LINK( this, SwFrmPage, AutoHeightClickHdl ) );
}

SwFrmPage::~SwFrmPage()
{
    dispose();
}

void SwFrmPage::dispose()
{
    m_pWidthFT.clear();
    m_pWidthAutoFT.clear();
    m_pRelWidthCB.clear();
    m_pRelWidthRelationLB.clear();
    m_pAutoWidthCB.clear();
    m_pHeightFT.clear();
    m_pHeightAutoFT.clear();
    m_pRelHeightCB.clear();
    m_pRelHeightRelationLB.clear();
    m_pAutoHeightCB.clear();
    m_pFixedRatioCB.clear();
    m_pRealSizeBT.clear();
    m_pAnchorFrame.clear();
    m_pAnchorAtPageRB.clear();
    m_pAnchorAtParaRB.clear();
    m_pAnchorAtCharRB.clear();
    m_pAnchorAsCharRB.clear();
    m_pAnchorAtFrameRB.clear();
    m_pHorizontalFT.clear();
    m_pHorizontalDLB.clear();
    m_pAtHorzPosFT.clear();
    m_pAtHorzPosED.clear();
    m_pHoriRelationFT.clear();
    m_pHoriRelationLB.clear();
    m_pMirrorPagesCB.clear();
    m_pVerticalFT.clear();
    m_pVerticalDLB.clear();
    m_pAtVertPosFT.clear();
    m_pAtVertPosED.clear();
    m_pVertRelationFT.clear();
    m_pVertRelationLB.clear();
    m_pFollowTextFlowCB.clear();
    m_pExampleWN.clear();
    SfxTabPage::dispose();
}

namespace
{
    struct FrmMaps
@@ -815,10 +858,6 @@ void SwFrmPage::setOptimalRelWidth()
    m_pHoriRelationLB->Clear();
}

SwFrmPage::~SwFrmPage()
{
}

SfxTabPage* SwFrmPage::Create(vcl::Window *pParent, const SfxItemSet *rSet)
{
    return new SwFrmPage( pParent, *rSet );
@@ -2370,6 +2409,15 @@ SwGrfExtPage::~SwGrfExtPage()
void SwGrfExtPage::dispose()
{
    delete pGrfDlg;
    m_pMirror.clear();
    m_pMirrorVertBox.clear();
    m_pMirrorHorzBox.clear();
    m_pAllPagesRB.clear();
    m_pLeftPagesRB.clear();
    m_pRightPagesRB.clear();
    m_pBmpWin.clear();
    m_pConnectED.clear();
    m_pBrowseBT.clear();
    SfxTabPage::dispose();
}

@@ -2708,6 +2756,18 @@ SwFrmURLPage::SwFrmURLPage( vcl::Window *pParent, const SfxItemSet &rSet ) :

SwFrmURLPage::~SwFrmURLPage()
{
    dispose();
}

void SwFrmURLPage::dispose()
{
    pURLED.clear();
    pSearchPB.clear();
    pNameED.clear();
    pFrameCB.clear();
    pServerCB.clear();
    pClientCB.clear();
    SfxTabPage::dispose();
}

void SwFrmURLPage::Reset( const SfxItemSet *rSet )
@@ -2850,8 +2910,35 @@ SwFrmAddPage::SwFrmAddPage(vcl::Window *pParent, const SfxItemSet &rSet)

SwFrmAddPage::~SwFrmAddPage()
{
    dispose();
}

void SwFrmAddPage::dispose()
{
    pNameFrame.clear();
    pNameFT.clear();
    pNameED.clear();
    pAltNameFT.clear();
    pAltNameED.clear();
    pPrevFT.clear();
    pPrevLB.clear();
    pNextFT.clear();
    pNextLB.clear();
    pProtectFrame.clear();
    pProtectContentCB.clear();
    pProtectFrameCB.clear();
    pProtectSizeCB.clear();
    m_pContentAlignFrame.clear();
    m_pVertAlignLB.clear();
    pPropertiesFrame.clear();
    pEditInReadonlyCB.clear();
    pPrintFrameCB.clear();
    pTextFlowFT.clear();
    pTextFlowLB.clear();
    SfxTabPage::dispose();
}


SfxTabPage* SwFrmAddPage::Create(vcl::Window *pParent, const SfxItemSet *rSet)
{
    return new SwFrmAddPage(pParent, *rSet);
diff --git a/sw/source/ui/frmdlg/wrap.cxx b/sw/source/ui/frmdlg/wrap.cxx
index 898a1c6..df3c5c7 100644
--- a/sw/source/ui/frmdlg/wrap.cxx
+++ b/sw/source/ui/frmdlg/wrap.cxx
@@ -133,6 +133,26 @@ SwWrapTabPage::SwWrapTabPage(vcl::Window *pParent, const SfxItemSet &rSet)

SwWrapTabPage::~SwWrapTabPage()
{
    dispose();
}

void SwWrapTabPage::dispose()
{
    m_pNoWrapRB.clear();
    m_pWrapLeftRB.clear();
    m_pWrapRightRB.clear();
    m_pWrapParallelRB.clear();
    m_pWrapThroughRB.clear();
    m_pIdealWrapRB.clear();
    m_pLeftMarginED.clear();
    m_pRightMarginED.clear();
    m_pTopMarginED.clear();
    m_pBottomMarginED.clear();
    m_pWrapAnchorOnlyCB.clear();
    m_pWrapTransparentCB.clear();
    m_pWrapOutlineCB.clear();
    m_pWrapOutsideCB.clear();
    SfxTabPage::dispose();
}

SfxTabPage* SwWrapTabPage::Create(vcl::Window *pParent, const SfxItemSet *rSet)
diff --git a/sw/source/ui/index/cnttab.cxx b/sw/source/ui/index/cnttab.cxx
index 0005136..589d1a7 100644
--- a/sw/source/ui/index/cnttab.cxx
+++ b/sw/source/ui/index/cnttab.cxx
@@ -188,9 +188,9 @@ public:

class SwAutoMarkDlg_Impl : public ModalDialog
{
    OKButton*           m_pOKPB;
    VclPtr<OKButton>           m_pOKPB;

    SwEntryBrowseBox*   m_pEntriesBB;
    VclPtr<SwEntryBrowseBox>   m_pEntriesBB;

    OUString            sAutoMarkURL;

@@ -344,6 +344,8 @@ void SwMultiTOXTabDialog::dispose()
    delete[] pDescArr;
    delete pMgr;
    delete pExampleFrame;
    m_pExampleContainerWIN.clear();
    m_pShowExampleCB.clear();
    SfxTabDialog::dispose();
}

@@ -509,7 +511,7 @@ IMPL_LINK_NOARG( SwMultiTOXTabDialog, ShowPreviewHdl )
        && pExampleFrame && pExampleFrame->IsServiceAvailable();

    m_pExampleContainerWIN->Show( bSetViewWindow );
    SetViewWindow( bSetViewWindow ? m_pExampleContainerWIN : 0 );
    SetViewWindow( bSetViewWindow ? m_pExampleContainerWIN.get() : 0 );

    setOptimalLayoutSize();

@@ -626,11 +628,11 @@ void SwIndexTreeLB::setColSizes()

class SwAddStylesDlg_Impl : public SfxModalDialog
{
    OKButton*       m_pOk;
    VclPtr<OKButton>       m_pOk;

    SwIndexTreeLB*  m_pHeaderTree;
    PushButton*     m_pLeftPB;
    PushButton*     m_pRightPB;
    VclPtr<SwIndexTreeLB>  m_pHeaderTree;
    VclPtr<PushButton>     m_pLeftPB;
    VclPtr<PushButton>     m_pRightPB;

    OUString*       pStyleArr;

@@ -721,7 +723,10 @@ SwAddStylesDlg_Impl::~SwAddStylesDlg_Impl()

void SwAddStylesDlg_Impl::dispose()
{
    delete m_pHeaderTree;
    m_pHeaderTree.clear();
    m_pOk.clear();
    m_pLeftPB.clear();
    m_pRightPB.clear();
    SfxModalDialog::dispose();
}

@@ -904,6 +909,47 @@ void SwTOXSelectTabPage::dispose()
{
    delete pIndexRes;
    delete pIndexEntryWrapper;
    m_pTitleED.clear();
    m_pTypeFT.clear();
    m_pTypeLB.clear();
    m_pReadOnlyCB.clear();
    m_pAreaFrame.clear();
    m_pAreaLB.clear();
    m_pLevelFT.clear();
    m_pLevelNF.clear();
    m_pCreateFrame.clear();
    m_pFromHeadingsCB.clear();
    m_pAddStylesCB.clear();
    m_pAddStylesPB.clear();
    m_pFromTablesCB.clear();
    m_pFromFramesCB.clear();
    m_pFromGraphicsCB.clear();
    m_pFromOLECB.clear();
    m_pLevelFromChapterCB.clear();
    m_pFromCaptionsRB.clear();
    m_pFromObjectNamesRB.clear();
    m_pCaptionSequenceFT.clear();
    m_pCaptionSequenceLB.clear();
    m_pDisplayTypeFT.clear();
    m_pDisplayTypeLB.clear();
    m_pTOXMarksCB.clear();
    m_pIdxOptionsFrame.clear();
    m_pCollectSameCB.clear();
    m_pUseFFCB.clear();
    m_pUseDashCB.clear();
    m_pCaseSensitiveCB.clear();
    m_pInitialCapsCB.clear();
    m_pKeyAsEntryCB.clear();
    m_pFromFileCB.clear();
    m_pAutoMarkPB.clear();
    m_pFromObjCLB.clear();
    m_pFromObjFrame.clear();
    m_pSequenceCB.clear();
    m_pBracketLB.clear();
    m_pAuthorityFrame.clear();
    m_pSortFrame.clear();
    m_pLanguageLB.clear();
    m_pSortAlgorithmLB.clear();
    SfxTabPage::dispose();
}

@@ -1482,7 +1528,7 @@ class SwTOXEdit : public Edit
    SwFormToken aFormToken;
    Link        aPrevNextControlLink;
    bool     bNextControl;
    SwTokenWindow* m_pParent;
    VclPtr<SwTokenWindow> m_pParent;
public:
    SwTOXEdit( vcl::Window* pParent, SwTokenWindow* pTokenWin,
                const SwFormToken& aToken)
@@ -1492,6 +1538,8 @@ public:
        m_pParent( pTokenWin )
    {
    }
    virtual ~SwTOXEdit() { dispose(); }
    virtual void dispose() SAL_OVERRIDE { m_pParent.clear(); Edit::dispose(); }

    virtual void    KeyInput( const KeyEvent& rKEvt ) SAL_OVERRIDE;
    virtual void    RequestHelp( const HelpEvent& rHEvt ) SAL_OVERRIDE;
@@ -1567,7 +1615,7 @@ class SwTOXButton : public PushButton
    SwFormToken aFormToken;
    Link        aPrevNextControlLink;
    bool        bNextControl;
    SwTokenWindow* m_pParent;
    VclPtr<SwTokenWindow> m_pParent;
public:
    SwTOXButton( vcl::Window* pParent, SwTokenWindow* pTokenWin,
                const SwFormToken& rToken)
@@ -1577,6 +1625,8 @@ public:
        m_pParent(pTokenWin)
    {
    }
    virtual ~SwTOXButton() { dispose(); }
    virtual void dispose() SAL_OVERRIDE { m_pParent.clear(); PushButton::dispose(); }

    virtual void KeyInput( const KeyEvent& rKEvt ) SAL_OVERRIDE;
    virtual void RequestHelp( const HelpEvent& rHEvt ) SAL_OVERRIDE;
@@ -1697,6 +1747,17 @@ SwIdxTreeListBox::SwIdxTreeListBox(vcl::Window* pPar, WinBits nStyle)
{
}

SwIdxTreeListBox::~SwIdxTreeListBox()
{
    dispose();
}

void SwIdxTreeListBox::dispose()
{
    pParent.clear();
    SvTreeListBox::dispose();
}

extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeSwIdxTreeListBox(vcl::Window *pParent, VclBuilder::stringmap &rMap)
{
    WinBits nWinStyle = WB_TABSTOP;
@@ -1895,6 +1956,63 @@ SwTOXEntryTabPage::SwTOXEntryTabPage(vcl::Window* pParent, const SfxItemSet& rAt
    m_pSecondKeyLB->SelectEntryPos(0);
    m_pThirdKeyLB->SelectEntryPos(0);
}

SwTOXEntryTabPage::~SwTOXEntryTabPage()
{
    dispose();
}

void SwTOXEntryTabPage::dispose()
{
    m_pLevelFT.clear();
    m_pLevelLB.clear();
    m_pTokenWIN.clear();
    m_pAllLevelsPB.clear();
    m_pEntryNoPB.clear();
    m_pEntryPB.clear();
    m_pTabPB.clear();
    m_pChapterInfoPB.clear();
    m_pPageNoPB.clear();
    m_pHyperLinkPB.clear();
    m_pAuthFieldsLB.clear();
    m_pAuthInsertPB.clear();
    m_pAuthRemovePB.clear();
    m_pCharStyleLB.clear();
    m_pEditStylePB.clear();
    m_pChapterEntryFT.clear();
    m_pChapterEntryLB.clear();
    m_pNumberFormatFT.clear();
    m_pNumberFormatLB.clear();
    m_pEntryOutlineLevelFT.clear();
    m_pEntryOutlineLevelNF.clear();
    m_pFillCharFT.clear();
    m_pFillCharCB.clear();
    m_pTabPosFT.clear();
    m_pTabPosMF.clear();
    m_pAutoRightCB.clear();
    m_pFormatFrame.clear();
    m_pMainEntryStyleFT.clear();
    m_pMainEntryStyleLB.clear();
    m_pAlphaDelimCB.clear();
    m_pCommaSeparatedCB.clear();
    m_pRelToStyleCB.clear();
    m_pSortingFrame.clear();
    m_pSortDocPosRB.clear();
    m_pSortContentRB.clear();
    m_pSortKeyFrame.clear();
    m_pFirstKeyLB.clear();
    m_pFirstSortUpRB.clear();
    m_pFirstSortDownRB.clear();
    m_pSecondKeyLB.clear();
    m_pSecondSortUpRB.clear();
    m_pSecondSortDownRB.clear();
    m_pThirdKeyLB.clear();
    m_pThirdSortUpRB.clear();
    m_pThirdSortDownRB.clear();
    SfxTabPage::dispose();
}


// pVoid is used as signal to change all levels of the example
IMPL_LINK(SwTOXEntryTabPage, ModifyHdl, void*, pVoid)
{
@@ -1912,10 +2030,6 @@ IMPL_LINK(SwTOXEntryTabPage, ModifyHdl, void*, pVoid)
    return 0;
}

SwTOXEntryTabPage::~SwTOXEntryTabPage()
{
}

bool SwTOXEntryTabPage::FillItemSet( SfxItemSet* )
{
    // nothing to do
@@ -2660,6 +2774,11 @@ void SwTokenWindow::dispose()
    }
    aControlList.clear();
    disposeBuilder();
    m_pLeftScrollWin.clear();
    m_pCtrlParentWin.clear();
    m_pRightScrollWin.clear();
    pActiveCtrl.clear();
    m_pParent.clear();
    VclHBox::dispose();
}

@@ -2671,9 +2790,6 @@ void SwTokenWindow::SetForm(SwForm& rForm, sal_uInt16 nL)
    if(pForm)
    {
        //apply current level settings to the form
        for (ctrl_iterator iter = aControlList.begin(); iter != aControlList.end(); ++iter)
            delete (*iter);

        aControlList.clear();
    }

@@ -2755,9 +2871,9 @@ void SwTokenWindow::SetActiveControl(Control* pSet)
            //it must be a SwTOXEdit
            const SwFormToken* pFToken;
            if( WINDOW_EDIT == pActiveCtrl->GetType() )
                pFToken = &static_cast<SwTOXEdit*>(pActiveCtrl)->GetFormToken();
                pFToken = &static_cast<SwTOXEdit*>(pActiveCtrl.get())->GetFormToken();
            else
                pFToken = &static_cast<SwTOXButton*>(pActiveCtrl)->GetFormToken();
                pFToken = &static_cast<SwTOXButton*>(pActiveCtrl.get())->GetFormToken();

            SwFormToken aTemp( *pFToken );
            aButtonSelectedHdl.Call( &aTemp );
@@ -2978,15 +3094,15 @@ void SwTokenWindow::InsertAtSelection(const OUString& rText, const SwFormToken& 
    {
        ++iterActive;

        Selection aSel = static_cast<SwTOXEdit*>(pActiveCtrl)->GetSelection();
        Selection aSel = static_cast<SwTOXEdit*>(pActiveCtrl.get())->GetSelection();
        aSel.Justify();

        const OUString sEditText = static_cast<SwTOXEdit*>(pActiveCtrl)->GetText();
        const OUString sEditText = static_cast<SwTOXEdit*>(pActiveCtrl.get())->GetText();
        const OUString sLeft = sEditText.copy( 0, aSel.A() );
        const OUString sRight = sEditText.copy( aSel.B() );

        static_cast<SwTOXEdit*>(pActiveCtrl)->SetText(sLeft);
        static_cast<SwTOXEdit*>(pActiveCtrl)->AdjustSize();
        static_cast<SwTOXEdit*>(pActiveCtrl.get())->SetText(sLeft);
        static_cast<SwTOXEdit*>(pActiveCtrl.get())->AdjustSize();

        SwFormToken aTmpToken(TOKEN_TEXT);
        SwTOXEdit* pEdit = new SwTOXEdit(m_pCtrlParentWin, this, aTmpToken);
@@ -3017,7 +3133,7 @@ void SwTokenWindow::InsertAtSelection(const OUString& rText, const SwFormToken& 
    {
        iterActive = aControlList.erase(iterActive);
        pActiveCtrl->Hide();
        delete pActiveCtrl;
        pActiveCtrl.clear();
    }

    //now the new button
@@ -3082,7 +3198,7 @@ void SwTokenWindow::RemoveControl(SwTOXButton* pDel, bool bInternalCall )

    aControlList.erase(it);
    pActiveCtrl->Hide();
    delete pActiveCtrl;
    pActiveCtrl.clear();

    SetActiveControl(pLeftEdit);
    AdjustPositions();
@@ -3541,6 +3657,11 @@ SwTOXStylesTabPage::~SwTOXStylesTabPage()
void SwTOXStylesTabPage::dispose()
{
    delete m_pCurrentForm;
    m_pLevelLB.clear();
    m_pAssignBT.clear();
    m_pParaLayLB.clear();
    m_pStdBT.clear();
    m_pEditStyleBT.clear();
    SfxTabPage::dispose();
}

@@ -4095,7 +4216,8 @@ SwAutoMarkDlg_Impl::~SwAutoMarkDlg_Impl()

void SwAutoMarkDlg_Impl::dispose()
{
    delete m_pEntriesBB;
    m_pEntriesBB.clear();
    m_pOKPB.clear();
    ModalDialog::dispose();
}

diff --git a/sw/source/ui/index/multmrk.cxx b/sw/source/ui/index/multmrk.cxx
index 7fe0e65..5d1dfa0 100644
--- a/sw/source/ui/index/multmrk.cxx
+++ b/sw/source/ui/index/multmrk.cxx
@@ -61,6 +61,17 @@ void SwMultiTOXMarkDlg::Apply()
    rMgr.SetCurTOXMark(nPos);
}

SwMultiTOXMarkDlg::~SwMultiTOXMarkDlg() {}
SwMultiTOXMarkDlg::~SwMultiTOXMarkDlg()
{
    dispose();
}

void SwMultiTOXMarkDlg::dispose()
{
    m_pTextFT.clear();
    m_pTOXLB.clear();
    SvxStandardDialog::dispose();
}


/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/index/swuiidxmrk.cxx b/sw/source/ui/index/swuiidxmrk.cxx
index 9a5f798..75e48ab 100644
--- a/sw/source/ui/index/swuiidxmrk.cxx
+++ b/sw/source/ui/index/swuiidxmrk.cxx
@@ -546,8 +546,8 @@ void SwIndexMarkPane::UpdateKeyBoxes()

class SwNewUserIdxDlg : public ModalDialog
{
    OKButton*        m_pOKPB;
    Edit*            m_pNameED;
    VclPtr<OKButton>        m_pOKPB;
    VclPtr<Edit>            m_pNameED;

    SwIndexMarkPane* m_pDlg;

@@ -565,6 +565,13 @@ class SwNewUserIdxDlg : public ModalDialog
                m_pOKPB->Enable(false);
                m_pNameED->GrabFocus();
            }
    virtual ~SwNewUserIdxDlg() { dispose(); }
    virtual void dispose() SAL_OVERRIDE
    {
        m_pOKPB.clear();
        m_pNameED.clear();
        ModalDialog::dispose();
    }

    OUString  GetName(){return m_pNameED->GetText();}
};
@@ -982,12 +989,12 @@ void SwIndexMarkModalDlg::Apply()

class SwCreateAuthEntryDlg_Impl : public ModalDialog
{
    FixedText*      pFixedTexts[AUTH_FIELD_END];
    ListBox*        pTypeListBox;
    ComboBox*       pIdentifierBox;
    Edit*           pEdits[AUTH_FIELD_END];
    VclPtr<FixedText>      pFixedTexts[AUTH_FIELD_END];
    VclPtr<ListBox>        pTypeListBox;
    VclPtr<ComboBox>       pIdentifierBox;
    VclPtr<Edit>           pEdits[AUTH_FIELD_END];

    OKButton*       m_pOKBT;
    VclPtr<OKButton>       m_pOKBT;

    Link            aShortNameCheckLink;

@@ -1527,11 +1534,12 @@ void SwCreateAuthEntryDlg_Impl::dispose()
{
    for(int i = 0; i < AUTH_FIELD_END; i++)
    {
        delete pFixedTexts[i];
        delete pEdits[i];
        pFixedTexts[i].clear();
        pEdits[i].clear();
    }
    delete pTypeListBox;
    delete pIdentifierBox;
    pTypeListBox.clear();
    pIdentifierBox.clear();
    m_pOKBT.clear();
    ModalDialog::dispose();
}

diff --git a/sw/source/ui/misc/bookmark.cxx b/sw/source/ui/misc/bookmark.cxx
index 5957628..13bc3e7 100644
--- a/sw/source/ui/misc/bookmark.cxx
+++ b/sw/source/ui/misc/bookmark.cxx
@@ -147,6 +147,15 @@ SwInsertBookmarkDlg::SwInsertBookmarkDlg( vcl::Window *pParent, SwWrtShell &rS, 

SwInsertBookmarkDlg::~SwInsertBookmarkDlg()
{
    dispose();
}

void SwInsertBookmarkDlg::dispose()
{
    m_pBookmarkBox.clear();
    m_pOkBtn.clear();
    m_pDeleteBtn.clear();
    SvxStandardDialog::dispose();
}

BookmarkCombo::BookmarkCombo(vcl::Window* pWin, WinBits nStyle)
diff --git a/sw/source/ui/misc/docfnote.cxx b/sw/source/ui/misc/docfnote.cxx
index 15cfb94..49bd6c9 100644
--- a/sw/source/ui/misc/docfnote.cxx
+++ b/sw/source/ui/misc/docfnote.cxx
@@ -117,6 +117,33 @@ SwEndNoteOptionPage::SwEndNoteOptionPage(vcl::Window *pParent, bool bEN,
    get(m_pFtnCharTextTemplBox, "charstylelb");
}

SwEndNoteOptionPage::~SwEndNoteOptionPage()
{
    dispose();
}

void SwEndNoteOptionPage::dispose()
{
    m_pNumViewBox.clear();
    m_pOffsetLbl.clear();
    m_pOffsetFld.clear();
    m_pNumCountBox.clear();
    m_pPrefixED.clear();
    m_pSuffixED.clear();
    m_pPosFT.clear();
    m_pPosPageBox.clear();
    m_pPosChapterBox.clear();
    m_pStylesContainer.clear();
    m_pParaTemplBox.clear();
    m_pPageTemplLbl.clear();
    m_pPageTemplBox.clear();
    m_pFtnCharAnchorTemplBox.clear();
    m_pFtnCharTextTemplBox.clear();
    m_pContEdit.clear();
    m_pContFromEdit.clear();
    SfxTabPage::dispose();
}

void SwEndNoteOptionPage::Reset( const SfxItemSet* )
{
    boost::scoped_ptr<SwEndNoteInfo> pInf(bEndNote ? new SwEndNoteInfo( pSh->GetEndNoteInfo() )
@@ -219,10 +246,6 @@ void SwEndNoteOptionPage::Reset( const SfxItemSet* )
    m_pPageTemplBox->SelectEntry( pInf->GetPageDesc( *pSh->GetDoc() )->GetName());
}

SwEndNoteOptionPage::~SwEndNoteOptionPage()
{
}

SfxTabPage *SwEndNoteOptionPage::Create( vcl::Window *pParent, const SfxItemSet *rSet )
{
    return new SwEndNoteOptionPage( pParent, true, *rSet );
diff --git a/sw/source/ui/misc/glosbib.cxx b/sw/source/ui/misc/glosbib.cxx
index fcdec5a..26b2b94 100644
--- a/sw/source/ui/misc/glosbib.cxx
+++ b/sw/source/ui/misc/glosbib.cxx
@@ -112,6 +112,18 @@ SwGlossaryGroupDlg::SwGlossaryGroupDlg(vcl::Window * pParent,

SwGlossaryGroupDlg::~SwGlossaryGroupDlg()
{
    dispose();
}

void SwGlossaryGroupDlg::dispose()
{
    m_pNameED.clear();
    m_pPathLB.clear();
    m_pGroupTLB.clear();
    m_pNewPB.clear();
    m_pDelPB.clear();
    m_pRenamePB.clear();
    SvxStandardDialog::dispose();
}

void SwGlossaryGroupDlg::Apply()
diff --git a/sw/source/ui/misc/glossary.cxx b/sw/source/ui/misc/glossary.cxx
index 47fb568..42f0b99 100644
--- a/sw/source/ui/misc/glossary.cxx
+++ b/sw/source/ui/misc/glossary.cxx
@@ -115,12 +115,12 @@ struct GroupUserData
// dialog for new block name
class SwNewGlosNameDlg : public ModalDialog
{
    Edit*        m_pNewName;
    TextFilter   m_aNoSpaceFilter;
    Edit*        m_pNewShort;
    OKButton*    m_pOk;
    Edit*        m_pOldName;
    Edit*        m_pOldShort;
    VclPtr<Edit>        m_pNewName;
    TextFilter          m_aNoSpaceFilter;
    VclPtr<Edit>        m_pNewShort;
    VclPtr<OKButton>    m_pOk;
    VclPtr<Edit>        m_pOldName;
    VclPtr<Edit>        m_pOldShort;

protected:
    DECL_LINK( Modify, Edit * );
@@ -130,6 +130,8 @@ public:
    SwNewGlosNameDlg( vcl::Window* pParent,
                      const OUString& rOldName,
                      const OUString& rOldShort );
    virtual ~SwNewGlosNameDlg();
    virtual void dispose() SAL_OVERRIDE;

    OUString GetNewName()  const { return m_pNewName->GetText(); }
    OUString GetNewShort() const { return m_pNewShort->GetText(); }
@@ -156,6 +158,21 @@ SwNewGlosNameDlg::SwNewGlosNameDlg(vcl::Window* pParent,
    m_pNewName->GrabFocus();
}

SwNewGlosNameDlg::~SwNewGlosNameDlg()
{
    dispose();
}

void SwNewGlosNameDlg::dispose()
{
    m_pNewName.clear();
    m_pNewShort.clear();
    m_pOk.clear();
    m_pOldName.clear();
    m_pOldShort.clear();
    ModalDialog::dispose();
}

// query / set currently set group
OUString SwGlossaryDlg::GetCurrGroup()
{
@@ -239,6 +256,18 @@ void SwGlossaryDlg::dispose()
{
    m_pCategoryBox->Clear();
    delete pExampleFrame;
    m_pInsertTipCB.clear();
    m_pNameED.clear();
    m_pShortNameLbl.clear();
    m_pShortNameEdit.clear();
    m_pCategoryBox.clear();
    m_pFileRelCB.clear();
    m_pNetRelCB.clear();
    m_pExampleWIN.clear();
    m_pInsertBtn.clear();
    m_pEditBtn.clear();
    m_pBibBtn.clear();
    m_pPathBtn.clear();
    SvxStandardDialog::dispose();
}

diff --git a/sw/source/ui/misc/impfnote.hxx b/sw/source/ui/misc/impfnote.hxx
index f9808c4..02f4c07 100644
--- a/sw/source/ui/misc/impfnote.hxx
+++ b/sw/source/ui/misc/impfnote.hxx
@@ -30,27 +30,27 @@ class SwWrtShell;

class SwEndNoteOptionPage : public SfxTabPage
{
    SwNumberingTypeListBox* m_pNumViewBox;
    FixedText* m_pOffsetLbl;
    NumericField* m_pOffsetFld;
    ListBox* m_pNumCountBox;
    Edit* m_pPrefixED;
    Edit* m_pSuffixED;
    FixedText* m_pPosFT;
    RadioButton* m_pPosPageBox;
    RadioButton* m_pPosChapterBox;
    VclPtr<SwNumberingTypeListBox> m_pNumViewBox;
    VclPtr<FixedText> m_pOffsetLbl;
    VclPtr<NumericField> m_pOffsetFld;
    VclPtr<ListBox> m_pNumCountBox;
    VclPtr<Edit> m_pPrefixED;
    VclPtr<Edit> m_pSuffixED;
    VclPtr<FixedText> m_pPosFT;
    VclPtr<RadioButton> m_pPosPageBox;
    VclPtr<RadioButton> m_pPosChapterBox;

    VclContainer *m_pStylesContainer;
    VclPtr<VclContainer> m_pStylesContainer;

    ListBox* m_pParaTemplBox;
    FixedText* m_pPageTemplLbl;
    ListBox* m_pPageTemplBox;
    VclPtr<ListBox> m_pParaTemplBox;
    VclPtr<FixedText> m_pPageTemplLbl;
    VclPtr<ListBox> m_pPageTemplBox;

    ListBox* m_pFtnCharAnchorTemplBox;
    ListBox* m_pFtnCharTextTemplBox;
    VclPtr<ListBox> m_pFtnCharAnchorTemplBox;
    VclPtr<ListBox> m_pFtnCharTextTemplBox;

    Edit* m_pContEdit;
    Edit* m_pContFromEdit;
    VclPtr<Edit> m_pContEdit;
    VclPtr<Edit> m_pContFromEdit;

    OUString aNumDoc;
    OUString aNumPage;
@@ -70,6 +70,7 @@ public:
    SwEndNoteOptionPage( vcl::Window *pParent, bool bEndNote,
                         const SfxItemSet &rSet );
    virtual ~SwEndNoteOptionPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage *Create(vcl::Window *pParent, const SfxItemSet *rSet);
    virtual bool FillItemSet(SfxItemSet *rSet) SAL_OVERRIDE;
diff --git a/sw/source/ui/misc/insfnote.cxx b/sw/source/ui/misc/insfnote.cxx
index dd403bc..023db17 100644
--- a/sw/source/ui/misc/insfnote.cxx
+++ b/sw/source/ui/misc/insfnote.cxx
@@ -214,6 +214,16 @@ void SwInsFootNoteDlg::dispose()
    if (bEdit)
        rSh.ResetSelect(0, false);

    m_pNumberFrame.clear();
    m_pNumberAutoBtn.clear();
    m_pNumberCharBtn.clear();
    m_pNumberCharEdit.clear();
    m_pNumberExtChar.clear();
    m_pFtnBtn.clear();
    m_pEndNoteBtn.clear();
    m_pOkBtn.clear();
    m_pPrevBT.clear();
    m_pNextBT.clear();
    SvxStandardDialog::dispose();
}

diff --git a/sw/source/ui/misc/linenum.cxx b/sw/source/ui/misc/linenum.cxx
index db98b1c..ee63406 100644
--- a/sw/source/ui/misc/linenum.cxx
+++ b/sw/source/ui/misc/linenum.cxx
@@ -169,8 +169,30 @@ SwLineNumberingDlg::SwLineNumberingDlg(SwView *pVw)

SwLineNumberingDlg::~SwLineNumberingDlg()
{
    dispose();
}

void SwLineNumberingDlg::dispose()
{
    m_pBodyContent.clear();
    m_pDivIntervalFT.clear();
    m_pDivIntervalNF.clear();
    m_pDivRowsFT.clear();
    m_pNumIntervalNF.clear();
    m_pCharStyleLB.clear();
    m_pFormatLB.clear();
    m_pPosLB.clear();
    m_pOffsetMF.clear();
    m_pDivisorED.clear();
    m_pCountEmptyLinesCB.clear();
    m_pCountFrameLinesCB.clear();
    m_pRestartEachPageCB.clear();
    m_pNumberingOnCB.clear();
    m_pNumberingOnFooterHeader.clear();
    SfxModalDialog::dispose();
}


IMPL_LINK_NOARG(SwLineNumberingDlg, OKHdl)
{
    SwLineNumberInfo aInf(pSh->GetLineNumberInfo());
diff --git a/sw/source/ui/misc/num.cxx b/sw/source/ui/misc/num.cxx
index 6554380..69d7d24 100644
--- a/sw/source/ui/misc/num.cxx
+++ b/sw/source/ui/misc/num.cxx
@@ -169,6 +169,30 @@ SwNumPositionTabPage::~SwNumPositionTabPage()
void SwNumPositionTabPage::dispose()
{
    delete pActNum;
    m_pLevelLB.clear();
    m_pPositionFrame.clear();
    m_pDistBorderFT.clear();
    m_pDistBorderMF.clear();
    m_pRelativeCB.clear();
    m_pIndentFT.clear();
    m_pIndentMF.clear();
    m_pDistNumFT.clear();
    m_pDistNumMF.clear();
    m_pAlignFT.clear();
    m_pAlignLB.clear();
    m_pLabelFollowedByFT.clear();
    m_pLabelFollowedByLB.clear();
    m_pListtabFT.clear();
    m_pListtabMF.clear();
    m_pAlign2FT.clear();
    m_pAlign2LB.clear();
    m_pAlignedAtFT.clear();
    m_pAlignedAtMF.clear();
    m_pIndentAtFT.clear();
    m_pIndentAtMF.clear();
    m_pStandardPB.clear();
    m_pPreviewWIN.clear();
    pOutlineDlg.clear();
    SfxTabPage::dispose();
}

@@ -181,9 +205,9 @@ void SwNumPositionTabPage::InitControls()
                                  USHRT_MAX != nActNumLvl;

    m_pDistBorderMF->Enable( !bLabelAlignmentPosAndSpaceModeActive &&
                          ( bSingleSelection || bRelative || pOutlineDlg != 0 ) );
                          ( bSingleSelection || bRelative || pOutlineDlg.get() != 0 ) );
    m_pDistBorderFT->Enable( !bLabelAlignmentPosAndSpaceModeActive &&
                          ( bSingleSelection || bRelative || pOutlineDlg != 0 ) );
                          ( bSingleSelection || bRelative || pOutlineDlg.get() != 0 ) );

    bool bSetDistEmpty = false;
    bool bSameDistBorderNum = !bLabelAlignmentPosAndSpaceModeActive;
diff --git a/sw/source/ui/misc/outline.cxx b/sw/source/ui/misc/outline.cxx
index 0230c94..c4216d09 100644
--- a/sw/source/ui/misc/outline.cxx
+++ b/sw/source/ui/misc/outline.cxx
@@ -60,9 +60,9 @@ using namespace ::com::sun::star;

class SwNumNamesDlg : public ModalDialog
{
    Edit*     m_pFormEdit;
    ListBox*  m_pFormBox;
    OKButton* m_pOKBtn;
    VclPtr<Edit>     m_pFormEdit;
    VclPtr<ListBox>  m_pFormBox;
    VclPtr<OKButton> m_pOKBtn;

    DECL_LINK( ModifyHdl, Edit * );
    DECL_LINK( SelectHdl, ListBox * );
@@ -70,11 +70,27 @@ class SwNumNamesDlg : public ModalDialog

public:
    SwNumNamesDlg(vcl::Window *pParent);
    virtual ~SwNumNamesDlg();
    virtual void dispose() SAL_OVERRIDE;
    void SetUserNames(const OUString *pList[]);
    OUString GetName() const { return m_pFormEdit->GetText(); }
    sal_Int32 GetCurEntryPos() const { return m_pFormBox->GetSelectEntryPos(); }
};

SwNumNamesDlg::~SwNumNamesDlg()
{
    dispose();
}

void SwNumNamesDlg::dispose()
{
    m_pFormEdit.clear();
    m_pFormBox.clear();
    m_pOKBtn.clear();
    ModalDialog::dispose();
}


// remember selected entry
IMPL_LINK_INLINE_START( SwNumNamesDlg, SelectHdl, ListBox *, pBox )
{
@@ -746,8 +762,25 @@ IMPL_LINK_NOARG(SwOutlineSettingsTabPage, CharFmtHdl)

SwOutlineSettingsTabPage::~SwOutlineSettingsTabPage()
{
    dispose();
}

void SwOutlineSettingsTabPage::dispose()
{
    m_pLevelLB.clear();
    m_pCollBox.clear();
    m_pNumberBox.clear();
    m_pCharFmtLB.clear();
    m_pAllLevelFT.clear();
    m_pAllLevelNF.clear();
    m_pPrefixED.clear();
    m_pSuffixED.clear();
    m_pStartEdit.clear();
    m_pPreviewWIN.clear();
    SfxTabPage::dispose();
}


void SwOutlineSettingsTabPage::SetWrtShell(SwWrtShell* pShell)
{
    pSh = pShell;
diff --git a/sw/source/ui/misc/pgfnote.cxx b/sw/source/ui/misc/pgfnote.cxx
index 68e6d1a..cd75060 100644
--- a/sw/source/ui/misc/pgfnote.cxx
+++ b/sw/source/ui/misc/pgfnote.cxx
@@ -135,8 +135,25 @@ SwFootNotePage::SwFootNotePage(vcl::Window *pParent, const SfxItemSet &rSet)

SwFootNotePage::~SwFootNotePage()
{
    dispose();
}

void SwFootNotePage::dispose()
{
    m_pMaxHeightPageBtn.clear();
    m_pMaxHeightBtn.clear();
    m_pMaxHeightEdit.clear();
    m_pDistEdit.clear();
    m_pLinePosBox.clear();
    m_pLineTypeBox.clear();
    m_pLineWidthEdit.clear();
    m_pLineColorBox.clear();
    m_pLineLengthEdit.clear();
    m_pLineDistEdit.clear();
    SfxTabPage::dispose();
}


SfxTabPage* SwFootNotePage::Create(vcl::Window *pParent, const SfxItemSet *rSet)
{
    return new SwFootNotePage(pParent, *rSet);
diff --git a/sw/source/ui/misc/pggrid.cxx b/sw/source/ui/misc/pggrid.cxx
index 76ab9a1..0ff7f97 100644
--- a/sw/source/ui/misc/pggrid.cxx
+++ b/sw/source/ui/misc/pggrid.cxx
@@ -151,6 +151,33 @@ SwTextGridPage::SwTextGridPage(vcl::Window *pParent, const SfxItemSet &rSet) :

SwTextGridPage::~SwTextGridPage()
{
    dispose();
}

void SwTextGridPage::dispose()
{
    m_pNoGridRB.clear();
    m_pLinesGridRB.clear();
    m_pCharsGridRB.clear();
    m_pSnapToCharsCB.clear();
    m_pExampleWN.clear();
    m_pLayoutFL.clear();
    m_pLinesPerPageNF.clear();
    m_pLinesRangeFT.clear();
    m_pTextSizeMF.clear();
    m_pCharsPerLineFT.clear();
    m_pCharsPerLineNF.clear();
    m_pCharsRangeFT.clear();
    m_pCharWidthFT.clear();
    m_pCharWidthMF.clear();
    m_pRubySizeFT.clear();
    m_pRubySizeMF.clear();
    m_pRubyBelowCB.clear();
    m_pDisplayFL.clear();
    m_pDisplayCB.clear();
    m_pPrintCB.clear();
    m_pColorLB.clear();
    SfxTabPage::dispose();
}

SfxTabPage *SwTextGridPage::Create(vcl::Window *pParent, const SfxItemSet *rSet)
@@ -460,7 +487,7 @@ IMPL_LINK(SwTextGridPage, TextSizeChangedHdl, SpinField*, pField)

IMPL_LINK(SwTextGridPage, GridTypeHdl, RadioButton*, pButton)
{
    bool bEnable = m_pNoGridRB != pButton;
    bool bEnable = m_pNoGridRB.get() != pButton;
    m_pLayoutFL->Enable(bEnable);
    m_pDisplayFL->Enable(bEnable);

diff --git a/sw/source/ui/misc/srtdlg.cxx b/sw/source/ui/misc/srtdlg.cxx
index 90904c5..1b94783 100644
--- a/sw/source/ui/misc/srtdlg.cxx
+++ b/sw/source/ui/misc/srtdlg.cxx
@@ -259,6 +259,31 @@ void SwSortDlg::dispose()
    ::lcl_ClearLstBoxAndDelUserData(*m_pTypDLB2);
    ::lcl_ClearLstBoxAndDelUserData(*m_pTypDLB3);
    delete pColRes;
    m_pColLbl.clear();
    m_pTypLbl.clear();
    m_pKeyCB1.clear();
    m_pColEdt1.clear();
    m_pTypDLB1.clear();
    m_pSortUp1RB.clear();
    m_pSortDn1RB.clear();
    m_pKeyCB2.clear();
    m_pColEdt2.clear();
    m_pTypDLB2.clear();
    m_pSortUp2RB.clear();
    m_pSortDn2RB.clear();
    m_pKeyCB3.clear();
    m_pColEdt3.clear();
    m_pTypDLB3.clear();
    m_pSortUp3RB.clear();
    m_pSortDn3RB.clear();
    m_pColumnRB.clear();
    m_pRowRB.clear();
    m_pDelimTabRB.clear();
    m_pDelimFreeRB.clear();
    m_pDelimEdt.clear();
    m_pDelimPB.clear();
    m_pLangLB.clear();
    m_pCaseCB.clear();
    SvxStandardDialog::dispose();
}

@@ -387,7 +412,8 @@ IMPL_LINK_NOARG(SwSortDlg, DelimCharHdl)

IMPL_LINK( SwSortDlg, CheckHdl, void *, pControl )
{
    if( pControl == m_pRowRB)
    if( pControl == m_pRowRB.get())
r
    {
        m_pColLbl->SetText(aColTxt);
        m_pColEdt1->SetMax(nY);
@@ -398,7 +424,7 @@ IMPL_LINK( SwSortDlg, CheckHdl, void *, pControl )
        m_pColEdt2->SetAccessibleName(aColTxt);
        m_pColEdt3->SetAccessibleName(aColTxt);
    }
    else if( pControl == m_pColumnRB)
    else if( pControl == m_pColumnRB.get())
    {
        m_pColLbl->SetText(aRowTxt);
        m_pColEdt1->SetMax(nX);
diff --git a/sw/source/ui/misc/titlepage.cxx b/sw/source/ui/misc/titlepage.cxx
index 76fe927..da0a0d4 100644
--- a/sw/source/ui/misc/titlepage.cxx
+++ b/sw/source/ui/misc/titlepage.cxx
@@ -276,6 +276,18 @@ SwTitlePageDlg::~SwTitlePageDlg()
void SwTitlePageDlg::dispose()
{
    delete mpPageFmtDesc;
    m_pUseExistingPagesRB.clear();
    m_pPageCountNF.clear();
    m_pDocumentStartRB.clear();
    m_pPageStartRB.clear();
    m_pPageStartNF.clear();
    m_pRestartNumberingCB.clear();
    m_pRestartNumberingNF.clear();
    m_pSetPageNumberCB.clear();
    m_pSetPageNumberNF.clear();
    m_pPagePropertiesLB.clear();
    m_pPagePropertiesPB.clear();
    m_pOkPB.clear();
    SfxModalDialog::dispose();
}

diff --git a/sw/source/ui/table/colwd.cxx b/sw/source/ui/table/colwd.cxx
index 751b5a4..b7a212b 100644
--- a/sw/source/ui/table/colwd.cxx
+++ b/sw/source/ui/table/colwd.cxx
@@ -66,6 +66,18 @@ SwTableWidthDlg::SwTableWidthDlg(vcl::Window *pParent, SwTableFUNC &rTableFnc )
    LoseFocusHdl();
}

SwTableWidthDlg::~SwTableWidthDlg()
{
    dispose();
}

void SwTableWidthDlg::dispose()
{
    m_pColNF.clear();
    m_pWidthMF.clear();
    SvxStandardDialog::dispose();
}

void SwTableWidthDlg::Apply()
{
    rFnc.InitTabCols();
diff --git a/sw/source/ui/table/convert.cxx b/sw/source/ui/table/convert.cxx
index 5d0567df..907b6cd 100644
--- a/sw/source/ui/table/convert.cxx
+++ b/sw/source/ui/table/convert.cxx
@@ -180,6 +180,20 @@ SwConvertTableDlg:: ~SwConvertTableDlg()
void SwConvertTableDlg::dispose()
{
    delete pTAutoFmt;
    mpTabBtn.clear();
    mpSemiBtn.clear();
    mpParaBtn.clear();
    mpOtherBtn.clear();
    mpOtherEd.clear();
    mpKeepColumn.clear();
    mpOptions.clear();
    mpHeaderCB.clear();
    mpRepeatHeaderCB.clear();
    mpRepeatRows.clear();
    mpRepeatHeaderNF.clear();
    mpDontSplitCB.clear();
    mpBorderCB.clear();
    mpAutoFmtBtn.clear();
    SfxModalDialog::dispose();
}

diff --git a/sw/source/ui/table/instable.cxx b/sw/source/ui/table/instable.cxx
index 817667f..d4f9d3a2 100644
--- a/sw/source/ui/table/instable.cxx
+++ b/sw/source/ui/table/instable.cxx
@@ -143,6 +143,17 @@ SwInsTableDlg::~SwInsTableDlg()
void SwInsTableDlg::dispose()
{
    delete pTAutoFmt;
    m_pNameEdit.clear();
    m_pColNF.clear();
    m_pRowNF.clear();
    m_pHeaderCB.clear();
    m_pRepeatHeaderCB.clear();
    m_pRepeatHeaderNF.clear();
    m_pRepeatGroup.clear();
    m_pDontSplitCB.clear();
    m_pBorderCB.clear();
    m_pInsertBtn.clear();
    m_pAutoFmtBtn.clear();
    SfxModalDialog::dispose();
}

diff --git a/sw/source/ui/table/mergetbl.cxx b/sw/source/ui/table/mergetbl.cxx
index 6c1dd944..6e687b7 100644
--- a/sw/source/ui/table/mergetbl.cxx
+++ b/sw/source/ui/table/mergetbl.cxx
@@ -28,6 +28,18 @@ SwMergeTblDlg::SwMergeTblDlg( vcl::Window *pParent, bool& rWithPrev )
    m_pMergePrevRB->Check();
}

SwMergeTblDlg::~SwMergeTblDlg()
{
    dispose();
}

void SwMergeTblDlg::dispose()
{
    m_pMergePrevRB.clear();
    SvxStandardDialog::dispose();
}


void SwMergeTblDlg::Apply()
{
    m_rMergePrev = m_pMergePrevRB->IsChecked();
diff --git a/sw/source/ui/table/rowht.cxx b/sw/source/ui/table/rowht.cxx
index f745f3f..70cc897 100644
--- a/sw/source/ui/table/rowht.cxx
+++ b/sw/source/ui/table/rowht.cxx
@@ -75,4 +75,16 @@ SwTableHeightDlg::SwTableHeightDlg(vcl::Window *pParent, SwWrtShell &rS)
    }
}

SwTableHeightDlg::~SwTableHeightDlg()
{
    dispose();
}

void SwTableHeightDlg::dispose()
{
    m_pHeightEdit.clear();
    m_pAutoHeightCB.clear();
    SvxStandardDialog::dispose();
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/table/splittbl.cxx b/sw/source/ui/table/splittbl.cxx
index d6d7b62..7fab281 100644
--- a/sw/source/ui/table/splittbl.cxx
+++ b/sw/source/ui/table/splittbl.cxx
@@ -33,6 +33,20 @@ SwSplitTblDlg::SwSplitTblDlg( vcl::Window *pParent, SwWrtShell &rSh )
    get(mpBorderCopyRB, "noheading");
}

SwSplitTblDlg::~SwSplitTblDlg()
{
    dispose();
}

void SwSplitTblDlg::dispose()
{
    mpCntntCopyRB.clear();
    mpBoxAttrCopyWithParaRB.clear();
    mpBoxAttrCopyNoParaRB.clear();
    mpBorderCopyRB.clear();
    SvxStandardDialog::dispose();
}

void SwSplitTblDlg::Apply()
{
    m_nSplit = HEADLINE_CNTNTCOPY;
diff --git a/sw/source/ui/table/tabledlg.cxx b/sw/source/ui/table/tabledlg.cxx
index 0f49309..b3d529c 100644
--- a/sw/source/ui/table/tabledlg.cxx
+++ b/sw/source/ui/table/tabledlg.cxx
@@ -105,6 +105,32 @@ SwFormatTablePage::SwFormatTablePage(vcl::Window* pParent, const SfxItemSet& rSe
    Init();
}

SwFormatTablePage::~SwFormatTablePage()
{
    dispose();
}

void SwFormatTablePage::dispose()
{
    m_pNameED.clear();
    m_pWidthFT.clear();
    m_pRelWidthCB.clear();
    m_pFullBtn.clear();
    m_pLeftBtn.clear();
    m_pFromLeftBtn.clear();
    m_pRightBtn.clear();
    m_pCenterBtn.clear();
    m_pFreeBtn.clear();
    m_pLeftFT.clear();
    m_pRightFT.clear();
    m_pTopFT.clear();
    m_pTopMF.clear();
    m_pBottomFT.clear();
    m_pBottomMF.clear();
    m_pTextDirectionLB.clear();
    SfxTabPage::dispose();
}

void  SwFormatTablePage::Init()
{
    m_aLeftMF.SetMetricFieldMin(-999999);
@@ -749,9 +775,22 @@ SwTableColumnPage::SwTableColumnPage(vcl::Window* pParent, const SfxItemSet& rSe
        && static_cast<const SfxUInt16Item*>(pItem)->GetValue() & HTMLMODE_ON));
}

//Description: Page column configuration
 SwTableColumnPage::~SwTableColumnPage()
SwTableColumnPage::~SwTableColumnPage()
{
    dispose();
}

void SwTableColumnPage::dispose()
{
    m_pModifyTableCB.clear();
    m_pProportionalCB.clear();
    m_pSpaceFT.clear();
    m_pSpaceED.clear();
    m_pUpBtn.clear();
    m_pDownBtn.clear();
    for (auto p : m_pTextArr)
        p.clear();
    SfxTabPage::dispose();
}

SfxTabPage*   SwTableColumnPage::Create( vcl::Window* pParent,
@@ -832,7 +871,7 @@ void  SwTableColumnPage::Init(bool bWeb)
IMPL_LINK( SwTableColumnPage, AutoClickHdl, void *, pControl )
{
    //move display window
    if(pControl == m_pDownBtn)
    if(pControl == m_pDownBtn.get())
    {
        if(aValueTbl[0] > 0)
        {
@@ -840,7 +879,7 @@ IMPL_LINK( SwTableColumnPage, AutoClickHdl, void *, pControl )
                aValueTbl[i] -= 1;
        }
    }
    if (pControl == m_pUpBtn)
    if (pControl == m_pUpBtn.get())
    {
        if( aValueTbl[ MET_FIELDS -1 ] < nNoOfVisibleCols -1  )
        {
@@ -1311,8 +1350,31 @@ SwTextFlowPage::SwTextFlowPage(vcl::Window* pParent, const SfxItemSet& rSet)
    HeadLineCBClickHdl();
}

 SwTextFlowPage::~SwTextFlowPage()
SwTextFlowPage::~SwTextFlowPage()
{
    dispose();
}

void SwTextFlowPage::dispose()
{
    m_pPgBrkCB.clear();
    m_pPgBrkRB.clear();
    m_pColBrkRB.clear();
    m_pPgBrkBeforeRB.clear();
    m_pPgBrkAfterRB.clear();
    m_pPageCollCB.clear();
    m_pPageCollLB.clear();
    m_pPageNoFT.clear();
    m_pPageNoNF.clear();
    m_pSplitCB.clear();
    m_pSplitRowCB.clear();
    m_pKeepCB.clear();
    m_pHeadLineCB.clear();
    m_pRepeatHeaderNF.clear();
    m_pRepeatHeaderCombo.clear();
    m_pTextDirectionLB.clear();
    m_pVertOrientLB.clear();
    SfxTabPage::dispose();
}

SfxTabPage*   SwTextFlowPage::Create( vcl::Window* pParent,
diff --git a/sw/source/ui/table/tautofmt.cxx b/sw/source/ui/table/tautofmt.cxx
index 4910799..7ddf935 100644
--- a/sw/source/ui/table/tautofmt.cxx
+++ b/sw/source/ui/table/tautofmt.cxx
@@ -106,11 +106,12 @@ public:
                            const OUString& rEditTitle,
                            const OUString& rDefault );
            virtual ~SwStringInputDlg();
    virtual void dispose() SAL_OVERRIDE;

    OUString GetInputString() const;

private:
    Edit*           m_pEdInput;   // Edit obtains the focus.
    VclPtr<Edit>           m_pEdInput;   // Edit obtains the focus.
};

SwStringInputDlg::SwStringInputDlg(vcl::Window* pParent, const OUString& rTitle,
@@ -131,6 +132,13 @@ OUString SwStringInputDlg::GetInputString() const

SwStringInputDlg::~SwStringInputDlg()
{
    dispose();
}

void SwStringInputDlg::dispose()
{
    m_pEdInput.clear();
    ModalDialog::dispose();
}

// AutoFormat-Dialogue:
@@ -183,6 +191,19 @@ void SwAutoFormatDlg::dispose()
    if (bCoreDataChanged)
        pTableTbl->Save();
    delete pTableTbl;
    m_pLbFormat.clear();
    m_pFormatting.clear();
    m_pBtnNumFormat.clear();
    m_pBtnBorder.clear();
    m_pBtnFont.clear();
    m_pBtnPattern.clear();
    m_pBtnAlignment.clear();
    m_pBtnOk.clear();
    m_pBtnCancel.clear();
    m_pBtnAdd.clear();
    m_pBtnRemove.clear();
    m_pBtnRename.clear();
    m_pWndPreview.clear();
    SfxModalDialog::dispose();
}

diff --git a/sw/source/ui/utlui/swrenamexnameddlg.cxx b/sw/source/ui/utlui/swrenamexnameddlg.cxx
index 15902b8..34aae67 100644
--- a/sw/source/ui/utlui/swrenamexnameddlg.cxx
+++ b/sw/source/ui/utlui/swrenamexnameddlg.cxx
@@ -74,6 +74,18 @@ SwRenameXNamedDlg::SwRenameXNamedDlg( vcl::Window* pWin,
    m_pOk->Enable(false);
}

SwRenameXNamedDlg::~SwRenameXNamedDlg()
{
    dispose();
}

void SwRenameXNamedDlg::dispose()
{
    m_pNewNameED.clear();
    m_pOk.clear();
    ModalDialog::dispose();
}

IMPL_LINK_NOARG(SwRenameXNamedDlg, OkHdl)
{
    try
diff --git a/sw/source/uibase/dbui/dbui.cxx b/sw/source/uibase/dbui/dbui.cxx
index fd94b28..b768d11 100644
--- a/sw/source/uibase/dbui/dbui.cxx
+++ b/sw/source/uibase/dbui/dbui.cxx
@@ -42,6 +42,20 @@ PrintMonitor::PrintMonitor(vcl::Window *pParent, bool modal, PrintMonitorType eT
    m_pPrinting->Show();
}

PrintMonitor::~PrintMonitor()
{
    dispose();
}

void PrintMonitor::dispose()
{
    m_pDocName.clear();
    m_pPrinting.clear();
    m_pPrinter.clear();
    m_pPrintInfo.clear();
    CancelableModelessDialog::dispose();
}

// Progress Indicator for Creation of personalized Mail Merge documents:
CreateMonitor::CreateMonitor( vcl::Window *pParent, bool modal )
    : CancelableDialog(pParent, modal, "MMCreatingDialog",
@@ -57,6 +71,18 @@ CreateMonitor::CreateMonitor( vcl::Window *pParent, bool modal )
    m_pCounting->SetText("...");
}

CreateMonitor::~CreateMonitor()
{
    dispose();
}

void CreateMonitor::dispose()
{
    m_pCancelButton.clear();
    m_pCounting.clear();
    CancelableModelessDialog::dispose();
}

void CreateMonitor::UpdateCountingText()
{
    OUString sText(m_sCountingPattern);
@@ -88,7 +114,14 @@ CancelableDialog::CancelableDialog( vcl::Window *pParent, bool modal,

CancelableDialog::~CancelableDialog()
{
    dispose();
}

void CancelableDialog::dispose()
{
    EndDialog( 0 );
    m_pCancelButton.clear();
    ModelessDialog::dispose();
}

void CancelableDialog::SetCancelHdl( const Link& rLink )
diff --git a/sw/source/uibase/dbui/mailmergechildwindow.cxx b/sw/source/uibase/dbui/mailmergechildwindow.cxx
index e43731b..df756fb 100644
--- a/sw/source/uibase/dbui/mailmergechildwindow.cxx
+++ b/sw/source/uibase/dbui/mailmergechildwindow.cxx
@@ -59,7 +59,7 @@ SwMailMergeChildWindow::SwMailMergeChildWindow( vcl::Window* _pParent,
        pInfo->aSize = pWindow->GetSizePixel();
    }

    static_cast<SwMailMergeChildWin *>(pWindow)->Initialize(pInfo);
    static_cast<SwMailMergeChildWin *>(pWindow.get())->Initialize(pInfo);
    pWindow->Show();
}

@@ -73,6 +73,17 @@ SwMailMergeChildWin::SwMailMergeChildWin(SfxBindings* _pBindings,
    m_pBackTB->SetButtonType( ButtonType::SYMBOLTEXT );
}

SwMailMergeChildWin::~SwMailMergeChildWin()
{
    dispose();
}

void SwMailMergeChildWin::dispose()
{
    m_pBackTB.clear();
    SfxFloatingWindow::dispose();
}

IMPL_LINK_NOARG(SwMailMergeChildWin, BackHdl)
{
    GetBindings().GetDispatcher()->Execute(FN_MAILMERGE_WIZARD, SfxCallMode::ASYNCHRON);
diff --git a/sw/source/uibase/docvw/HeaderFooterWin.cxx b/sw/source/uibase/docvw/HeaderFooterWin.cxx
index 5474731..12d9586 100644
--- a/sw/source/uibase/docvw/HeaderFooterWin.cxx
+++ b/sw/source/uibase/docvw/HeaderFooterWin.cxx
@@ -175,7 +175,7 @@ SwHeaderFooterWin::~SwHeaderFooterWin( )
void SwHeaderFooterWin::dispose()
{
    delete m_pPopupMenu;
    delete m_pLine;
    m_pLine.clear();
    MenuButton::dispose();
}

diff --git a/sw/source/uibase/docvw/PageBreakWin.cxx b/sw/source/uibase/docvw/PageBreakWin.cxx
index 01d95ba..b8e459d 100644
--- a/sw/source/uibase/docvw/PageBreakWin.cxx
+++ b/sw/source/uibase/docvw/PageBreakWin.cxx
@@ -56,12 +56,14 @@ namespace
    class SwBreakDashedLine : public SwDashedLine
    {
        private:
            SwPageBreakWin* m_pWin;
            VclPtr<SwPageBreakWin> m_pWin;

        public:
            SwBreakDashedLine( vcl::Window* pParent, Color& ( *pColorFn )(), SwPageBreakWin* pWin ) :
                SwDashedLine( pParent, pColorFn ),
                m_pWin( pWin ) {};
            virtual ~SwBreakDashedLine() { dispose(); }
            virtual void dispose() SAL_OVERRIDE { m_pWin.clear(); SwDashedLine::dispose(); }

            virtual void MouseMove( const MouseEvent& rMEvt ) SAL_OVERRIDE;
    };
@@ -124,13 +126,12 @@ void SwPageBreakWin::dispose()
    m_bDestroyed = true;
    m_aFadeTimer.Stop();

    delete m_pLine;
    m_pLine = NULL;
    delete m_pPopupMenu;
    m_pPopupMenu = NULL;
    delete m_pMousePt;
    m_pMousePt = NULL;

    m_pLine.clear();
    MenuButton::dispose();
}

diff --git a/sw/source/uibase/docvw/PostItMgr.cxx b/sw/source/uibase/docvw/PostItMgr.cxx
index 8583401..b16c1c6 100644
--- a/sw/source/uibase/docvw/PostItMgr.cxx
+++ b/sw/source/uibase/docvw/PostItMgr.cxx
@@ -193,8 +193,6 @@ void SwPostItMgr::CheckForRemovedPostIts()
            mvPostItFlds.remove(*it);
            if (GetActiveSidebarWin() == p->pPostIt)
                SetActiveSidebarWin(0);
            if (p->pPostIt)
                delete p->pPostIt;
            delete p;
            bRemoved = true;
        }
@@ -244,7 +242,6 @@ void SwPostItMgr::RemoveItem( SfxBroadcaster* pBroadcast )
            if (GetActiveSidebarWin() == p->pPostIt)
                SetActiveSidebarWin(0);
            mvPostItFlds.erase(i);
            delete p->pPostIt;
            delete p;
            break;
        }
@@ -1177,8 +1174,6 @@ void SwPostItMgr::RemoveSidebarWin()
        for(std::list<SwSidebarItem*>::iterator i = mvPostItFlds.begin(); i != mvPostItFlds.end() ; ++i)
        {
            EndListening( *(const_cast<SfxBroadcaster*>((*i)->GetBroadCaster())) );
            if ((*i)->pPostIt)
                delete (*i)->pPostIt;
            delete (*i);
        }
        mvPostItFlds.clear();
@@ -1497,7 +1492,7 @@ sw::annotation::SwAnnotationWin* SwPostItMgr::GetAnnotationWin(const SwPostItFie
    for(const_iterator i = mvPostItFlds.begin(); i != mvPostItFlds.end() ; ++i)
    {
        if ( (*i)->GetFmtFld().GetField() == pFld )
            return dynamic_cast<sw::annotation::SwAnnotationWin*>((*i)->pPostIt);
            return dynamic_cast<sw::annotation::SwAnnotationWin*>((*i)->pPostIt.get());
    }
    return NULL;
}
@@ -2030,13 +2025,13 @@ void SwPostItMgr::AssureStdModeAtShell()

bool SwPostItMgr::HasActiveSidebarWin() const
{
    return mpActivePostIt != 0;
    return mpActivePostIt != nullptr;
}

bool SwPostItMgr::HasActiveAnnotationWin() const
{
    return HasActiveSidebarWin() &&
           dynamic_cast<sw::annotation::SwAnnotationWin*>(mpActivePostIt) != 0;
           dynamic_cast<sw::annotation::SwAnnotationWin*>(mpActivePostIt.get()) != 0;
}

void SwPostItMgr::GrabFocusOnActiveSidebarWin()
diff --git a/sw/source/uibase/docvw/SidebarWin.cxx b/sw/source/uibase/docvw/SidebarWin.cxx
index 21e6404..4db2d5d 100644
--- a/sw/source/uibase/docvw/SidebarWin.cxx
+++ b/sw/source/uibase/docvw/SidebarWin.cxx
@@ -156,9 +156,8 @@ void SwSidebarWin::dispose()
        {
            mpOutlinerView->SetWindow( 0 );
        }
        delete mpSidebarTxtControl;
        mpSidebarTxtControl = 0;
    }
    mpSidebarTxtControl.clear();

    if ( mpOutlinerView )
    {
@@ -175,23 +174,20 @@ void SwSidebarWin::dispose()
    if (mpMetadataAuthor)
    {
        mpMetadataAuthor->RemoveEventListener( LINK( this, SwSidebarWin, WindowEventListener ) );
        delete mpMetadataAuthor;
        mpMetadataAuthor = 0;
    }
    mpMetadataAuthor.clear();

    if (mpMetadataDate)
    {
        mpMetadataDate->RemoveEventListener( LINK( this, SwSidebarWin, WindowEventListener ) );
        delete mpMetadataDate;
        mpMetadataDate = 0;
    }
    mpMetadataDate.clear();

    if (mpVScrollbar)
    {
        mpVScrollbar->RemoveEventListener( LINK( this, SwSidebarWin, WindowEventListener ) );
        delete mpVScrollbar;
        mpVScrollbar = 0;
    }
    mpVScrollbar.clear();

    RemoveEventListener( LINK( this, SwSidebarWin, WindowEventListener ) );

@@ -204,8 +200,7 @@ void SwSidebarWin::dispose()
    delete mpTextRangeOverlay;
    mpTextRangeOverlay = NULL;

    delete mpMenuButton;
    mpMenuButton = 0;
    mpMenuButton.clear();

    if (mnEventId)
        Application::RemoveUserEvent( mnEventId );
@@ -1380,7 +1375,7 @@ void SwSidebarWin::SetChangeTracking( const SwPostItHelper::SwLayoutStatus aLayo

bool SwSidebarWin::HasScrollbar() const
{
    return mpVScrollbar != 0;
    return mpVScrollbar != nullptr;
}

bool SwSidebarWin::IsScrollbarVisible() const
diff --git a/sw/source/uibase/docvw/srcedtw.cxx b/sw/source/uibase/docvw/srcedtw.cxx
index 013fb24..0522f13 100644
--- a/sw/source/uibase/docvw/srcedtw.cxx
+++ b/sw/source/uibase/docvw/srcedtw.cxx
@@ -289,13 +289,12 @@ void SwSrcEditWindow::dispose()
        EndListening( *pTextEngine );
        pTextEngine->RemoveView( pTextView );

        delete pHScrollbar;
        delete pVScrollbar;

        delete pTextView;
        delete pTextEngine;
    }
    delete pOutWin;
    pOutWin.clear();
    pHScrollbar.clear();
    pVScrollbar.clear();
    vcl::Window::dispose();
}

diff --git a/sw/source/uibase/envelp/syncbtn.cxx b/sw/source/uibase/envelp/syncbtn.cxx
index a6b73da..361f2ba 100644
--- a/sw/source/uibase/envelp/syncbtn.cxx
+++ b/sw/source/uibase/envelp/syncbtn.cxx
@@ -53,7 +53,7 @@ SwSyncChildWin::SwSyncChildWin( vcl::Window* _pParent,
        pInfo->aSize = pWindow->GetSizePixel();
    }

    static_cast<SwSyncBtnDlg *>(pWindow)->Initialize(pInfo);
    static_cast<SwSyncBtnDlg *>(pWindow.get())->Initialize(pInfo);

    pWindow->Show();
}
@@ -68,6 +68,17 @@ SwSyncBtnDlg::SwSyncBtnDlg( SfxBindings* _pBindings,
    Show();
}

SwSyncBtnDlg::~SwSyncBtnDlg()
{
    dispose();
}

void SwSyncBtnDlg::dispose()
{
    m_pSyncBtn.clear();
    SfxFloatingWindow::dispose();
}

IMPL_LINK_NOARG(SwSyncBtnDlg, BtnHdl)
{
    SfxViewFrame::Current()->GetDispatcher()->Execute(FN_UPDATE_ALL_LINKS, SfxCallMode::ASYNCHRON);
diff --git a/sw/source/uibase/inc/DropDownFieldDialog.hxx b/sw/source/uibase/inc/DropDownFieldDialog.hxx
index 19c42cf..a7ef05f 100644
--- a/sw/source/uibase/inc/DropDownFieldDialog.hxx
+++ b/sw/source/uibase/inc/DropDownFieldDialog.hxx
@@ -33,12 +33,12 @@ namespace sw
{
class DropDownFieldDialog : public SvxStandardDialog
{
    ListBox*            m_pListItemsLB;
    VclPtr<ListBox>            m_pListItemsLB;

    OKButton*           m_pOKPB;
    PushButton*         m_pNextPB;
    VclPtr<OKButton>           m_pOKPB;
    VclPtr<PushButton>         m_pNextPB;

    PushButton*         m_pEditPB;
    VclPtr<PushButton>         m_pEditPB;

    SwWrtShell          &rSh;
    SwDropDownField*    pDropField;
@@ -48,6 +48,8 @@ class DropDownFieldDialog : public SvxStandardDialog
public:
    DropDownFieldDialog(   vcl::Window *pParent, SwWrtShell &rSh,
                                SwField* pField, bool bNextButton = false );
    virtual ~DropDownFieldDialog();
    virtual void dispose() SAL_OVERRIDE;
};
} //namespace sw

diff --git a/sw/source/uibase/inc/FrameControl.hxx b/sw/source/uibase/inc/FrameControl.hxx
index 0235084..936be2a 100644
--- a/sw/source/uibase/inc/FrameControl.hxx
+++ b/sw/source/uibase/inc/FrameControl.hxx
@@ -17,7 +17,7 @@ class Point;
  */
class SwFrameControl
{
    SwEditWin*            m_pEditWin;
    VclPtr<SwEditWin>     m_pEditWin;
    const SwFrm*          m_pFrm;

public:
diff --git a/sw/source/uibase/inc/FrameControlsManager.hxx b/sw/source/uibase/inc/FrameControlsManager.hxx
index 42584a1..e87124b 100644
--- a/sw/source/uibase/inc/FrameControlsManager.hxx
+++ b/sw/source/uibase/inc/FrameControlsManager.hxx
@@ -30,7 +30,7 @@ typedef std::map<const SwFrm*, SwFrameControlPtr> SwFrameControlPtrMap;
class SwFrameControlsManager
{
    private:
        SwEditWin* m_pEditWin;
        VclPtr<SwEditWin> m_pEditWin;
        std::map< FrameControlType, SwFrameControlPtrMap > m_aControls;

    public:
diff --git a/sw/source/uibase/inc/HeaderFooterWin.hxx b/sw/source/uibase/inc/HeaderFooterWin.hxx
index 78005bd..32e30f5 100644
--- a/sw/source/uibase/inc/HeaderFooterWin.hxx
+++ b/sw/source/uibase/inc/HeaderFooterWin.hxx
@@ -20,10 +20,10 @@
  */
class SwHeaderFooterWin : public MenuButton, public SwFrameControl
{
    OUString         m_sLabel;
    OUString              m_sLabel;
    bool                  m_bIsHeader;
    PopupMenu*            m_pPopupMenu;
    vcl::Window*               m_pLine;
    VclPtr<vcl::Window>   m_pLine;
    bool                  m_bIsAppearing;
    int                   m_nFadeRate;
    Timer                 m_aFadeTimer;
diff --git a/sw/source/uibase/inc/PageBreakWin.hxx b/sw/source/uibase/inc/PageBreakWin.hxx
index 1c6987b..d1b048f 100644
--- a/sw/source/uibase/inc/PageBreakWin.hxx
+++ b/sw/source/uibase/inc/PageBreakWin.hxx
@@ -23,7 +23,7 @@ class SwPageFrm;
class SwPageBreakWin : public MenuButton, public SwFrameControl
{
    PopupMenu*            m_pPopupMenu;
    vcl::Window*               m_pLine;
    VclPtr<vcl::Window>   m_pLine;
    bool                  m_bIsAppearing;
    int                   m_nFadeRate;
    int                   m_nDelayAppearing; ///< Before we show the control, let it transparent for a few timer ticks to avoid appearing with every mouse over.
diff --git a/sw/source/uibase/inc/abstract.hxx b/sw/source/uibase/inc/abstract.hxx
index 92443ef..0c12d35 100644
--- a/sw/source/uibase/inc/abstract.hxx
+++ b/sw/source/uibase/inc/abstract.hxx
@@ -25,13 +25,13 @@

class SwInsertAbstractDlg : public SfxModalDialog
{
    NumericField* m_pLevelNF;
    NumericField* m_pParaNF;

protected:
    VclPtr<NumericField> m_pLevelNF;
    VclPtr<NumericField> m_pParaNF;

public:
    SwInsertAbstractDlg( vcl::Window* pParent );
    virtual ~SwInsertAbstractDlg();
    virtual void dispose() SAL_OVERRIDE;

    sal_uInt8   GetLevel() const;
    sal_uInt8   GetPara() const;
diff --git a/sw/source/uibase/inc/ascfldlg.hxx b/sw/source/uibase/inc/ascfldlg.hxx
index 827d503..b7e6938 100644
--- a/sw/source/uibase/inc/ascfldlg.hxx
+++ b/sw/source/uibase/inc/ascfldlg.hxx
@@ -32,14 +32,14 @@ class SwDocShell;

class SwAsciiFilterDlg : public SfxModalDialog
{
    SvxTextEncodingBox* m_pCharSetLB;
    FixedText*          m_pFontFT;
    ListBox*            m_pFontLB;
    FixedText*          m_pLanguageFT;
    SvxLanguageBox*     m_pLanguageLB;
    RadioButton*        m_pCRLF_RB;
    RadioButton*        m_pCR_RB;
    RadioButton*        m_pLF_RB;
    VclPtr<SvxTextEncodingBox> m_pCharSetLB;
    VclPtr<FixedText>          m_pFontFT;
    VclPtr<ListBox>            m_pFontLB;
    VclPtr<FixedText>          m_pLanguageFT;
    VclPtr<SvxLanguageBox>     m_pLanguageLB;
    VclPtr<RadioButton>        m_pCRLF_RB;
    VclPtr<RadioButton>        m_pCR_RB;
    VclPtr<RadioButton>        m_pLF_RB;
    bool                m_bSaveLineStatus;

    DECL_LINK( CharSetSelHdl, SvxTextEncodingBox* );
@@ -53,6 +53,7 @@ public:
    SwAsciiFilterDlg( vcl::Window* pParent, SwDocShell& rDocSh,
                        SvStream* pStream );
    virtual ~SwAsciiFilterDlg();
    virtual void dispose() SAL_OVERRIDE;

    void FillOptions( SwAsciiOptions& rOptions );
};
diff --git a/sw/source/uibase/inc/bookmark.hxx b/sw/source/uibase/inc/bookmark.hxx
index d64a08e..1185317 100644
--- a/sw/source/uibase/inc/bookmark.hxx
+++ b/sw/source/uibase/inc/bookmark.hxx
@@ -47,9 +47,9 @@ public:

class SwInsertBookmarkDlg: public SvxStandardDialog
{
    BookmarkCombo*  m_pBookmarkBox;
    OKButton*       m_pOkBtn;
    PushButton*     m_pDeleteBtn;
    VclPtr<BookmarkCombo>  m_pBookmarkBox;
    VclPtr<OKButton>       m_pOkBtn;
    VclPtr<PushButton>     m_pDeleteBtn;

    OUString        sRemoveWarning;
    SwWrtShell      &rSh;
@@ -63,6 +63,7 @@ class SwInsertBookmarkDlg: public SvxStandardDialog
public:
    SwInsertBookmarkDlg(vcl::Window *pParent, SwWrtShell &rSh, SfxRequest& rReq);
    virtual ~SwInsertBookmarkDlg();
    virtual void dispose() SAL_OVERRIDE;
};

#endif
diff --git a/sw/source/uibase/inc/break.hxx b/sw/source/uibase/inc/break.hxx
index 55610b7..85ce67b 100644
--- a/sw/source/uibase/inc/break.hxx
+++ b/sw/source/uibase/inc/break.hxx
@@ -37,13 +37,13 @@ class SwWrtShell;
class SwBreakDlg: public SvxStandardDialog
{
    SwWrtShell     &rSh;
    RadioButton*    m_pLineBtn;
    RadioButton*    m_pColumnBtn;
    RadioButton*    m_pPageBtn;
    FixedText*      m_pPageCollText;
    ListBox*        m_pPageCollBox;
    CheckBox*       m_pPageNumBox;
    NumericField*   m_pPageNumEdit;
    VclPtr<RadioButton>    m_pLineBtn;
    VclPtr<RadioButton>    m_pColumnBtn;
    VclPtr<RadioButton>    m_pPageBtn;
    VclPtr<FixedText>      m_pPageCollText;
    VclPtr<ListBox>        m_pPageCollBox;
    VclPtr<CheckBox>       m_pPageNumBox;
    VclPtr<NumericField>   m_pPageNumEdit;

    OUString        aTemplate;
    sal_uInt16      nKind;
@@ -64,6 +64,7 @@ protected:
public:
    SwBreakDlg( vcl::Window *pParent, SwWrtShell &rSh );
    virtual ~SwBreakDlg();
    virtual void dispose() SAL_OVERRIDE;

    OUString    GetTemplateName() { return aTemplate; }
    sal_uInt16  GetKind() { return nKind; }
diff --git a/sw/source/uibase/inc/changedb.hxx b/sw/source/uibase/inc/changedb.hxx
index 558ea2f..c10948b 100644
--- a/sw/source/uibase/inc/changedb.hxx
+++ b/sw/source/uibase/inc/changedb.hxx
@@ -35,11 +35,11 @@ struct SwDBData;
// exchange database at fields
class SwChangeDBDlg: public SvxStandardDialog
{
    SvTreeListBox*  m_pUsedDBTLB;
    SwDBTreeList*   m_pAvailDBTLB;
    PushButton*     m_pAddDBPB;
    FixedText*      m_pDocDBNameFT;
    PushButton*     m_pDefineBT;
    VclPtr<SvTreeListBox>  m_pUsedDBTLB;
    VclPtr<SwDBTreeList>   m_pAvailDBTLB;
    VclPtr<PushButton>     m_pAddDBPB;
    VclPtr<FixedText>      m_pDocDBNameFT;
    VclPtr<PushButton>     m_pDefineBT;

    ImageList       aImageList;

diff --git a/sw/source/uibase/inc/chrdlg.hxx b/sw/source/uibase/inc/chrdlg.hxx
index 27e394ce..66914be 100644
--- a/sw/source/uibase/inc/chrdlg.hxx
+++ b/sw/source/uibase/inc/chrdlg.hxx
@@ -59,17 +59,17 @@ public:

class SwCharURLPage : public SfxTabPage
{
    Edit*               m_pURLED;
    FixedText*          m_pTextFT;
    Edit*               m_pTextED;
    Edit*               m_pNameED;
    ComboBox*           m_pTargetFrmLB;
    PushButton*         m_pURLPB;
    PushButton*         m_pEventPB;
    ListBox*            m_pVisitedLB;
    ListBox*            m_pNotVisitedLB;
    VclPtr<Edit>               m_pURLED;
    VclPtr<FixedText>          m_pTextFT;
    VclPtr<Edit>               m_pTextED;
    VclPtr<Edit>               m_pNameED;
    VclPtr<ComboBox>           m_pTargetFrmLB;
    VclPtr<PushButton>         m_pURLPB;
    VclPtr<PushButton>         m_pEventPB;
    VclPtr<ListBox>            m_pVisitedLB;
    VclPtr<ListBox>            m_pNotVisitedLB;

    VclContainer*       m_pCharStyleContainer;
    VclPtr<VclContainer>       m_pCharStyleContainer;

    SvxMacroItem*       pINetItem;
    bool                bModified;
diff --git a/sw/source/uibase/inc/column.hxx b/sw/source/uibase/inc/column.hxx
index 548784e..19d3f72 100644
--- a/sw/source/uibase/inc/column.hxx
+++ b/sw/source/uibase/inc/column.hxx
@@ -42,10 +42,10 @@ class SwColumnPage;

class SwColumnDlg : public SfxModalDialog
{
    ListBox*            m_pApplyToLB;
    VclPtr<ListBox>            m_pApplyToLB;

    SwWrtShell&         rWrtShell;
    SwColumnPage*       pTabPage;
    VclPtr<SwColumnPage>       pTabPage;
    SfxItemSet*         pPageSet;
    SfxItemSet*         pSectionSet;
    SfxItemSet*         pSelectionSet;
@@ -89,39 +89,39 @@ public:
// column dialog now as TabPage
class SwColumnPage : public SfxTabPage
{
    NumericField*   m_pCLNrEdt;
    ColumnValueSet* m_pDefaultVS;
    CheckBox*       m_pBalanceColsCB;
    VclPtr<NumericField>   m_pCLNrEdt;
    VclPtr<ColumnValueSet> m_pDefaultVS;
    VclPtr<CheckBox>       m_pBalanceColsCB;

    PushButton*     m_pBtnBack;
    FixedText*      m_pLbl1;
    VclPtr<PushButton>     m_pBtnBack;
    VclPtr<FixedText>      m_pLbl1;
    PercentField aEd1;
    FixedText*      m_pLbl2;
    VclPtr<FixedText>      m_pLbl2;
    PercentField aEd2;
    FixedText*      m_pLbl3;
    VclPtr<FixedText>      m_pLbl3;
    PercentField aEd3;
    PushButton*     m_pBtnNext;
    VclPtr<PushButton>     m_pBtnNext;
    PercentField aDistEd1;
    PercentField aDistEd2;
    CheckBox*       m_pAutoWidthBox;
    VclPtr<CheckBox>       m_pAutoWidthBox;

    FixedText*      m_pLineTypeLbl;
    LineListBox*    m_pLineTypeDLB;
    FixedText*      m_pLineWidthLbl;
    MetricField*    m_pLineWidthEdit;
    FixedText*      m_pLineColorLbl;
    ColorListBox*   m_pLineColorDLB;
    FixedText*      m_pLineHeightLbl;
    MetricField*    m_pLineHeightEdit;
    FixedText*      m_pLinePosLbl;
    ListBox*        m_pLinePosDLB;
    VclPtr<FixedText>      m_pLineTypeLbl;
    VclPtr<LineListBox>    m_pLineTypeDLB;
    VclPtr<FixedText>      m_pLineWidthLbl;
    VclPtr<MetricField>    m_pLineWidthEdit;
    VclPtr<FixedText>      m_pLineColorLbl;
    VclPtr<ColorListBox>   m_pLineColorDLB;
    VclPtr<FixedText>      m_pLineHeightLbl;
    VclPtr<MetricField>    m_pLineHeightEdit;
    VclPtr<FixedText>      m_pLinePosLbl;
    VclPtr<ListBox>        m_pLinePosDLB;

    FixedText*      m_pTextDirectionFT;
    ListBox*        m_pTextDirectionLB;
    VclPtr<FixedText>      m_pTextDirectionFT;
    VclPtr<ListBox>        m_pTextDirectionLB;

    // Example
    SwColExample*   m_pPgeExampleWN;
    SwColumnOnlyExample* m_pFrmExampleWN;
    VclPtr<SwColExample>   m_pPgeExampleWN;
    VclPtr<SwColumnOnlyExample> m_pFrmExampleWN;

    SwColMgr*       pColMgr;

@@ -132,7 +132,7 @@ class SwColumnPage : public SfxTabPage
    sal_uInt16          nMinWidth;
    PercentField*   pModifiedField;

    std::map<MetricField*, PercentField*> m_aPercentFieldsMap;
    std::map<VclPtr<MetricField>, PercentField*> m_aPercentFieldsMap;

    bool            bFormat;
    bool            bFrm;
diff --git a/sw/source/uibase/inc/conttree.hxx b/sw/source/uibase/inc/conttree.hxx
index 1d955ad..18a69d9 100644
--- a/sw/source/uibase/inc/conttree.hxx
+++ b/sw/source/uibase/inc/conttree.hxx
@@ -233,11 +233,11 @@ private:
    ImageList           aEntryImages;

    SwWrtShell*             pActiveShell;
    SvTreeListEntry*            pEmphasisEntry; // Drag'n Drop emphasis
    SvTreeListEntry*            pDDSource;      // source for Drag'n Drop
    SvTreeListEntry*        pEmphasisEntry; // Drag'n Drop emphasis
    SvTreeListEntry*        pDDSource;      // source for Drag'n Drop
    SwGlblDocContents*      pSwGlblDocContents; // array with sorted content

    vcl::Window*                 pDefParentWin;
    VclPtr<vcl::Window>     pDefParentWin;
    SwGlblDocContent*       pDocContent;
    sfx2::DocumentInserter* pDocInserter;

diff --git a/sw/source/uibase/inc/convert.hxx b/sw/source/uibase/inc/convert.hxx
index 0831037..1a52d8b 100644
--- a/sw/source/uibase/inc/convert.hxx
+++ b/sw/source/uibase/inc/convert.hxx
@@ -32,24 +32,24 @@ struct SwInsertTableOptions;

class SwConvertTableDlg: public SfxModalDialog
{
    RadioButton*    mpTabBtn;
    RadioButton*    mpSemiBtn;
    RadioButton*    mpParaBtn;
    RadioButton*    mpOtherBtn;
    Edit*           mpOtherEd;
    CheckBox*       mpKeepColumn;
    VclPtr<RadioButton>    mpTabBtn;
    VclPtr<RadioButton>    mpSemiBtn;
    VclPtr<RadioButton>    mpParaBtn;
    VclPtr<RadioButton>    mpOtherBtn;
    VclPtr<Edit>           mpOtherEd;
    VclPtr<CheckBox>       mpKeepColumn;

    VclContainer*   mpOptions;
    VclPtr<VclContainer>   mpOptions;

    CheckBox*       mpHeaderCB;
    CheckBox*       mpRepeatHeaderCB;
    VclPtr<CheckBox>       mpHeaderCB;
    VclPtr<CheckBox>       mpRepeatHeaderCB;

    VclContainer*   mpRepeatRows;
    NumericField*   mpRepeatHeaderNF;
    VclPtr<VclContainer>   mpRepeatRows;
    VclPtr<NumericField>   mpRepeatHeaderNF;

    CheckBox*       mpDontSplitCB;
    CheckBox*       mpBorderCB;
    PushButton*     mpAutoFmtBtn;
    VclPtr<CheckBox>       mpDontSplitCB;
    VclPtr<CheckBox>       mpBorderCB;
    VclPtr<PushButton>     mpAutoFmtBtn;

    OUString        sConvertTextTable;
    SwTableAutoFmt* pTAutoFmt;
diff --git a/sw/source/uibase/inc/cption.hxx b/sw/source/uibase/inc/cption.hxx
index 4fef9bb..5f99c20 100644
--- a/sw/source/uibase/inc/cption.hxx
+++ b/sw/source/uibase/inc/cption.hxx
@@ -63,24 +63,24 @@ public:

class SwCaptionDialog : public SvxStandardDialog
{
    Edit*        m_pTextEdit;
    ComboBox*    m_pCategoryBox;
    VclPtr<Edit>        m_pTextEdit;
    VclPtr<ComboBox>    m_pCategoryBox;
    OUString     m_sNone;
    TextFilterAutoConvert m_aTextFilter;
    FixedText*   m_pFormatText;
    ListBox*     m_pFormatBox;
    VclPtr<FixedText>   m_pFormatText;
    VclPtr<ListBox>     m_pFormatBox;
    //#i61007# order of captions
    FixedText*   m_pNumberingSeparatorFT;
    Edit*        m_pNumberingSeparatorED;
    FixedText*   m_pSepText;
    Edit*        m_pSepEdit;
    FixedText*   m_pPosText;
    ListBox*     m_pPosBox;
    OKButton*    m_pOKButton;
    PushButton*  m_pAutoCaptionButton;
    PushButton*  m_pOptionButton;
    VclPtr<FixedText>   m_pNumberingSeparatorFT;
    VclPtr<Edit>        m_pNumberingSeparatorED;
    VclPtr<FixedText>   m_pSepText;
    VclPtr<Edit>        m_pSepEdit;
    VclPtr<FixedText>   m_pPosText;
    VclPtr<ListBox>     m_pPosBox;
    VclPtr<OKButton>    m_pOKButton;
    VclPtr<PushButton>  m_pAutoCaptionButton;
    VclPtr<PushButton>  m_pOptionButton;

    SwCaptionPreview* m_pPreview;
    VclPtr<SwCaptionPreview> m_pPreview;

    SwView       &rView; // search per active, avoid View
    SwFldMgr     *pMgr;      // pointer to save the include
diff --git a/sw/source/uibase/inc/dbinsdlg.hxx b/sw/source/uibase/inc/dbinsdlg.hxx
index 4d64715..260a7fc 100644
--- a/sw/source/uibase/inc/dbinsdlg.hxx
+++ b/sw/source/uibase/inc/dbinsdlg.hxx
@@ -87,38 +87,38 @@ public:

class SwInsertDBColAutoPilot : public SfxModalDialog, public utl::ConfigItem
{
    RadioButton*    m_pRbAsTable;
    RadioButton*    m_pRbAsField;
    RadioButton*    m_pRbAsText;
    VclPtr<RadioButton>    m_pRbAsTable;
    VclPtr<RadioButton>    m_pRbAsField;
    VclPtr<RadioButton>    m_pRbAsText;

    VclFrame*       m_pHeadFrame;
    VclPtr<VclFrame>       m_pHeadFrame;

    ListBox*        m_pLbTblDbColumn;
    ListBox*        m_pLbTxtDbColumn;
    VclPtr<ListBox>        m_pLbTblDbColumn;
    VclPtr<ListBox>        m_pLbTxtDbColumn;

    VclFrame*       m_pFormatFrame;
    RadioButton*    m_pRbDbFmtFromDb;
    RadioButton*    m_pRbDbFmtFromUsr;
    NumFormatListBox* m_pLbDbFmtFromUsr;
    VclPtr<VclFrame>       m_pFormatFrame;
    VclPtr<RadioButton>    m_pRbDbFmtFromDb;
    VclPtr<RadioButton>    m_pRbDbFmtFromUsr;
    VclPtr<NumFormatListBox> m_pLbDbFmtFromUsr;

    // Page Text/Field
    PushButton*     m_pIbDbcolToEdit;
    VclMultiLineEdit* m_pEdDbText;
    FixedText*      m_pFtDbParaColl;
    ListBox*        m_pLbDbParaColl;
    VclPtr<PushButton>     m_pIbDbcolToEdit;
    VclPtr<VclMultiLineEdit> m_pEdDbText;
    VclPtr<FixedText>      m_pFtDbParaColl;
    VclPtr<ListBox>        m_pLbDbParaColl;

    // Page Table
    PushButton*     m_pIbDbcolAllTo;
    PushButton*     m_pIbDbcolOneTo;
    PushButton*     m_pIbDbcolOneFrom;
    PushButton*     m_pIbDbcolAllFrom;
    FixedText*      m_pFtTableCol;
    ListBox*        m_pLbTableCol;
    CheckBox*       m_pCbTableHeadon;
    RadioButton*    m_pRbHeadlColnms;
    RadioButton*    m_pRbHeadlEmpty;
    PushButton*     m_pPbTblFormat;
    PushButton*     m_pPbTblAutofmt;
    VclPtr<PushButton>     m_pIbDbcolAllTo;
    VclPtr<PushButton>     m_pIbDbcolOneTo;
    VclPtr<PushButton>     m_pIbDbcolOneFrom;
    VclPtr<PushButton>     m_pIbDbcolAllFrom;
    VclPtr<FixedText>      m_pFtTableCol;
    VclPtr<ListBox>        m_pLbTableCol;
    VclPtr<CheckBox>       m_pCbTableHeadon;
    VclPtr<RadioButton>    m_pRbHeadlColnms;
    VclPtr<RadioButton>    m_pRbHeadlEmpty;
    VclPtr<PushButton>     m_pPbTblFormat;
    VclPtr<PushButton>     m_pPbTblAutofmt;

    SwInsDBColumns  aDBColumns;
    const SwDBData  aDBData;
diff --git a/sw/source/uibase/inc/dbui.hxx b/sw/source/uibase/inc/dbui.hxx
index 0649bcb9..00f1320 100644
--- a/sw/source/uibase/inc/dbui.hxx
+++ b/sw/source/uibase/inc/dbui.hxx
@@ -29,7 +29,7 @@ class SW_DLLPUBLIC CancelableDialog : public Dialog
    bool mbModal;

protected:
    CancelButton* m_pCancelButton;
    VclPtr<CancelButton> m_pCancelButton;
    CancelableDialog( vcl::Window *pParent, bool modal, const OUString& rID,
                      const OUString& rUIXMLDescription );

@@ -39,7 +39,9 @@ protected:
    using Dialog::StartExecuteModal;

public:
    virtual ~CancelableDialog();
    virtual ~CancelableModelessDialog();
    virtual void dispose() SAL_OVERRIDE;

    void SetCancelHdl( const Link& rLink );
    void Show();
};
@@ -53,18 +55,22 @@ public:
        MONITOR_TYPE_SAVE
    };

    FixedText* m_pDocName;
    FixedText* m_pPrinting;
    FixedText* m_pPrinter;
    FixedText* m_pPrintInfo;
    VclPtr<FixedText> m_pDocName;
    VclPtr<FixedText> m_pPrinting;
    VclPtr<FixedText> m_pPrinter;
    VclPtr<FixedText> m_pPrintInfo;

    PrintMonitor( vcl::Window *pParent, bool modal, PrintMonitorType eType );
    virtual ~PrintMonitor();
    virtual void dispose() SAL_OVERRIDE;
};

class CreateMonitor : public CancelableDialog
{
public:
    CreateMonitor( vcl::Window *pParent, bool modal );
    virtual ~CreateMonitor();
    virtual void dispose() SAL_OVERRIDE;

    void SetTotalCount( sal_Int32 nTotal );
    void SetCurrentPosition( sal_Int32 nCurrent );
@@ -73,7 +79,7 @@ private:
    void UpdateCountingText();

private:
    FixedText*      m_pCounting;
    VclPtr<FixedText>      m_pCounting;

    OUString        m_sCountingPattern;
    OUString        m_sVariable_Total;
diff --git a/sw/source/uibase/inc/docstdlg.hxx b/sw/source/uibase/inc/docstdlg.hxx
index e02a80e..67c5d54 100644
--- a/sw/source/uibase/inc/docstdlg.hxx
+++ b/sw/source/uibase/inc/docstdlg.hxx
@@ -32,6 +32,7 @@ class SwDocStatPage: public SfxTabPage
public:
    SwDocStatPage(vcl::Window *pParent, const SfxItemSet &rSet);
    virtual ~SwDocStatPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage *Create(vcl::Window *pParent, const SfxItemSet *rSet);

@@ -42,18 +43,18 @@ protected:
    DECL_LINK(UpdateHdl, void *);

private:
    FixedText*      m_pPageNo;
    FixedText*      m_pTableNo;
    FixedText*      m_pGrfNo;
    FixedText*      m_pOLENo;
    FixedText*      m_pParaNo;
    FixedText*      m_pWordNo;
    FixedText*      m_pCharNo;
    FixedText*      m_pCharExclSpacesNo;
    VclPtr<FixedText>      m_pPageNo;
    VclPtr<FixedText>      m_pTableNo;
    VclPtr<FixedText>      m_pGrfNo;
    VclPtr<FixedText>      m_pOLENo;
    VclPtr<FixedText>      m_pParaNo;
    VclPtr<FixedText>      m_pWordNo;
    VclPtr<FixedText>      m_pCharNo;
    VclPtr<FixedText>      m_pCharExclSpacesNo;

    FixedText*      m_pLineLbl;
    FixedText*      m_pLineNo;
    PushButton*     m_pUpdatePB;
    VclPtr<FixedText>      m_pLineLbl;
    VclPtr<FixedText>      m_pLineNo;
    VclPtr<PushButton>     m_pUpdatePB;

    SwDocStat       aDocStat;

diff --git a/sw/source/uibase/inc/drawbase.hxx b/sw/source/uibase/inc/drawbase.hxx
index b6aa7ea..42c3ada 100644
--- a/sw/source/uibase/inc/drawbase.hxx
+++ b/sw/source/uibase/inc/drawbase.hxx
@@ -33,7 +33,7 @@ class SwDrawBase
protected:
    SwView*         m_pView;
    SwWrtShell*     m_pSh;
    SwEditWin*      m_pWin;
    VclPtr<SwEditWin> m_pWin;
    Point           m_aStartPos;                 // position of BeginCreate
    Point           m_aMDPos;                // position of MouseButtonDown
    sal_uInt16          m_nSlotId;
diff --git a/sw/source/uibase/inc/drpcps.hxx b/sw/source/uibase/inc/drpcps.hxx
index da73ac6..2cfb11f 100644
--- a/sw/source/uibase/inc/drpcps.hxx
+++ b/sw/source/uibase/inc/drpcps.hxx
@@ -45,20 +45,20 @@ class SwDropCapsPict;
class SwDropCapsPage : public SfxTabPage
{
friend class SwDropCapsPict;
    CheckBox*        m_pDropCapsBox;
    CheckBox*        m_pWholeWordCB;
    FixedText*       m_pSwitchText;
    NumericField*    m_pDropCapsField;
    FixedText*       m_pLinesText;
    NumericField*    m_pLinesField;
    FixedText*       m_pDistanceText;
    MetricField*     m_pDistanceField;
    FixedText*       m_pTextText;
    Edit*            m_pTextEdit;
    FixedText*       m_pTemplateText;
    ListBox*         m_pTemplateBox;
    VclPtr<CheckBox>        m_pDropCapsBox;
    VclPtr<CheckBox>        m_pWholeWordCB;
    VclPtr<FixedText>       m_pSwitchText;
    VclPtr<NumericField>    m_pDropCapsField;
    VclPtr<FixedText>       m_pLinesText;
    VclPtr<NumericField>    m_pLinesField;
    VclPtr<FixedText>       m_pDistanceText;
    VclPtr<MetricField>     m_pDistanceField;
    VclPtr<FixedText>       m_pTextText;
    VclPtr<Edit>            m_pTextEdit;
    VclPtr<FixedText>       m_pTemplateText;
    VclPtr<ListBox>         m_pTemplateBox;

    SwDropCapsPict*  m_pPict;
    VclPtr<SwDropCapsPict>  m_pPict;

    bool          bModified;
    bool          bFormat;
@@ -66,8 +66,7 @@ friend class SwDropCapsPict;

    SwWrtShell &rSh;

     SwDropCapsPage(vcl::Window *pParent, const SfxItemSet &rSet);
    virtual ~SwDropCapsPage();
    SwDropCapsPage(vcl::Window *pParent, const SfxItemSet &rSet);

    virtual int     DeactivatePage(SfxItemSet *pSet) SAL_OVERRIDE;
    void    FillSet( SfxItemSet &rSet );
@@ -83,6 +82,8 @@ friend class SwDropCapsPict;
    static const sal_uInt16 aPageRg[];

public:
    virtual ~SwDropCapsPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage *Create(vcl::Window *pParent, const SfxItemSet *rSet);
    static const sal_uInt16* GetRanges() { return aPageRg; }
diff --git a/sw/source/uibase/inc/envlop.hxx b/sw/source/uibase/inc/envlop.hxx
index 9245e9e..84d369b 100644
--- a/sw/source/uibase/inc/envlop.hxx
+++ b/sw/source/uibase/inc/envlop.hxx
@@ -78,20 +78,19 @@ public:

class SwEnvPage : public SfxTabPage
{
    VclMultiLineEdit* m_pAddrEdit;
    ListBox*      m_pDatabaseLB;
    ListBox*      m_pTableLB;
    ListBox*      m_pDBFieldLB;
    PushButton*   m_pInsertBT;
    CheckBox*     m_pSenderBox;
    VclMultiLineEdit* m_pSenderEdit;
    SwEnvPreview* m_pPreview;
    VclPtr<VclMultiLineEdit> m_pAddrEdit;
    VclPtr<ListBox>      m_pDatabaseLB;
    VclPtr<ListBox>      m_pTableLB;
    VclPtr<ListBox>      m_pDBFieldLB;
    VclPtr<PushButton>   m_pInsertBT;
    VclPtr<CheckBox>     m_pSenderBox;
    VclPtr<VclMultiLineEdit> m_pSenderEdit;
    VclPtr<SwEnvPreview> m_pPreview;

    SwWrtShell*   pSh;
    OUString      sActDBName;

     SwEnvPage(vcl::Window* pParent, const SfxItemSet& rSet);
    virtual ~SwEnvPage();

    DECL_LINK( DatabaseHdl, ListBox * );
    DECL_LINK(FieldHdl, void *);
@@ -105,6 +104,8 @@ class SwEnvPage : public SfxTabPage
    using SfxTabPage::DeactivatePage;

public:
    virtual ~SwEnvPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create(vcl::Window* pParent, const SfxItemSet* rSet);

diff --git a/sw/source/uibase/inc/fldedt.hxx b/sw/source/uibase/inc/fldedt.hxx
index 23f0685..cb7bd4f 100644
--- a/sw/source/uibase/inc/fldedt.hxx
+++ b/sw/source/uibase/inc/fldedt.hxx
@@ -28,9 +28,9 @@ class SwFldMgr;
class SwFldEditDlg : public SfxSingleTabDialog
{
    SwWrtShell* pSh;
    PushButton* m_pPrevBT;
    PushButton* m_pNextBT;
    PushButton* m_pAddressBT;
    VclPtr<PushButton> m_pPrevBT;
    VclPtr<PushButton> m_pNextBT;
    VclPtr<PushButton> m_pAddressBT;

    DECL_LINK(AddressHdl, void *);
    DECL_LINK(NextPrevHdl, Button *pBt = 0);
diff --git a/sw/source/uibase/inc/fldmgr.hxx b/sw/source/uibase/inc/fldmgr.hxx
index e24f19d..57cfeda 100644
--- a/sw/source/uibase/inc/fldmgr.hxx
+++ b/sw/source/uibase/inc/fldmgr.hxx
@@ -24,6 +24,7 @@
#include <com/sun/star/uno/Reference.h>
#include <com/sun/star/uno/Any.h>
#include <vector>
#include <vcl/vclptr.hxx>

namespace com{namespace sun{namespace star{
    namespace container{
@@ -75,7 +76,7 @@ struct SwInsertFld_Data
    ::com::sun::star::uno::Any aDBDataSource;
    ::com::sun::star::uno::Any aDBConnection;
    ::com::sun::star::uno::Any aDBColumn;
    vcl::Window* pParent; // parent dialog used for SwWrtShell::StartInputFldDlg()
    VclPtr<vcl::Window> pParent; // parent dialog used for SwWrtShell::StartInputFldDlg()

    SwInsertFld_Data(sal_uInt16 nType, sal_uInt16 nSub, const OUString& rPar1, const OUString& rPar2,
                    sal_uLong nFmtId, SwWrtShell* pShell = NULL, sal_Unicode cSep = ' ', bool bIsAutoLanguage = true) :
diff --git a/sw/source/uibase/inc/frmpage.hxx b/sw/source/uibase/inc/frmpage.hxx
index 6a3b396..f87adb2 100644
--- a/sw/source/uibase/inc/frmpage.hxx
+++ b/sw/source/uibase/inc/frmpage.hxx
@@ -42,52 +42,52 @@ struct SwPosition;
class SwFrmPage: public SfxTabPage
{
    // size
    FixedText*       m_pWidthFT;
    FixedText*       m_pWidthAutoFT;
    PercentField m_aWidthED;
    CheckBox*        m_pRelWidthCB;
    ListBox*         m_pRelWidthRelationLB;
    CheckBox*        m_pAutoWidthCB;
    VclPtr<FixedText>       m_pWidthFT;
    VclPtr<FixedText>       m_pWidthAutoFT;
    PercentField            m_aWidthED;
    VclPtr<CheckBox>        m_pRelWidthCB;
    VclPtr<ListBox>         m_pRelWidthRelationLB;
    VclPtr<CheckBox>        m_pAutoWidthCB;

    FixedText*       m_pHeightFT;
    FixedText*       m_pHeightAutoFT;
    PercentField m_aHeightED;
    CheckBox*        m_pRelHeightCB;
    ListBox*         m_pRelHeightRelationLB;
    CheckBox*        m_pAutoHeightCB;
    VclPtr<FixedText>       m_pHeightFT;
    VclPtr<FixedText>       m_pHeightAutoFT;
    PercentField            m_aHeightED;
    VclPtr<CheckBox>        m_pRelHeightCB;
    VclPtr<ListBox>         m_pRelHeightRelationLB;
    VclPtr<CheckBox>        m_pAutoHeightCB;

    CheckBox*        m_pFixedRatioCB;
    PushButton*      m_pRealSizeBT;
    VclPtr<CheckBox>        m_pFixedRatioCB;
    VclPtr<PushButton>      m_pRealSizeBT;

    // anchor
    VclContainer*    m_pAnchorFrame;
    RadioButton*     m_pAnchorAtPageRB;
    RadioButton*     m_pAnchorAtParaRB;
    RadioButton*     m_pAnchorAtCharRB;
    RadioButton*     m_pAnchorAsCharRB;
    RadioButton*     m_pAnchorAtFrameRB;
    VclPtr<VclContainer>    m_pAnchorFrame;
    VclPtr<RadioButton>     m_pAnchorAtPageRB;
    VclPtr<RadioButton>     m_pAnchorAtParaRB;
    VclPtr<RadioButton>     m_pAnchorAtCharRB;
    VclPtr<RadioButton>     m_pAnchorAsCharRB;
    VclPtr<RadioButton>     m_pAnchorAtFrameRB;

    // position
    FixedText*       m_pHorizontalFT;
    ListBox*         m_pHorizontalDLB;
    FixedText*       m_pAtHorzPosFT;
    MetricField*     m_pAtHorzPosED;
    FixedText*       m_pHoriRelationFT;
    ListBox*         m_pHoriRelationLB;
    VclPtr<FixedText>       m_pHorizontalFT;
    VclPtr<ListBox>         m_pHorizontalDLB;
    VclPtr<FixedText>       m_pAtHorzPosFT;
    VclPtr<MetricField>     m_pAtHorzPosED;
    VclPtr<FixedText>       m_pHoriRelationFT;
    VclPtr<ListBox>         m_pHoriRelationLB;

    CheckBox*        m_pMirrorPagesCB;
    VclPtr<CheckBox>        m_pMirrorPagesCB;

    FixedText*       m_pVerticalFT;
    ListBox*         m_pVerticalDLB;
    FixedText*       m_pAtVertPosFT;
    MetricField*     m_pAtVertPosED;
    FixedText*       m_pVertRelationFT;
    ListBox*         m_pVertRelationLB;
    VclPtr<FixedText>       m_pVerticalFT;
    VclPtr<ListBox>         m_pVerticalDLB;
    VclPtr<FixedText>       m_pAtVertPosFT;
    VclPtr<MetricField>     m_pAtVertPosED;
    VclPtr<FixedText>       m_pVertRelationFT;
    VclPtr<ListBox>         m_pVertRelationLB;
    // #i18732# - check box for new option 'FollowTextFlow'
    CheckBox*        m_pFollowTextFlowCB;
    VclPtr<CheckBox>        m_pFollowTextFlowCB;

    // example
    SvxSwFrameExample*  m_pExampleWN;
    VclPtr<SvxSwFrameExample>  m_pExampleWN;

    //'string provider'
    SvxSwFramePosString aFramePosString;
@@ -175,7 +175,6 @@ class SwFrmPage: public SfxTabPage
    void            EnableGraficMode( void );   // hides auto check boxes and re-org controls for "Real Size" button

    SwFrmPage(vcl::Window *pParent, const SfxItemSet &rSet);
    virtual ~SwFrmPage();

    SwWrtShell *getFrmDlgParentShell();

@@ -185,6 +184,8 @@ class SwFrmPage: public SfxTabPage
    static const sal_uInt16 aPageRg[];

public:
    virtual ~SwFrmPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage *Create(vcl::Window *pParent, const SfxItemSet *rSet);
    static const sal_uInt16* GetRanges() { return aPageRg; }
@@ -202,16 +203,16 @@ public:
class SwGrfExtPage: public SfxTabPage
{
    // mirror
    VclContainer*   m_pMirror;
    CheckBox*       m_pMirrorVertBox;
    CheckBox*       m_pMirrorHorzBox;
    RadioButton*    m_pAllPagesRB;
    RadioButton*    m_pLeftPagesRB;
    RadioButton*    m_pRightPagesRB;
    BmpWindow*      m_pBmpWin;
    VclPtr<VclContainer>   m_pMirror;
    VclPtr<CheckBox>       m_pMirrorVertBox;
    VclPtr<CheckBox>       m_pMirrorHorzBox;
    VclPtr<RadioButton>    m_pAllPagesRB;
    VclPtr<RadioButton>    m_pLeftPagesRB;
    VclPtr<RadioButton>    m_pRightPagesRB;
    VclPtr<BmpWindow>      m_pBmpWin;

    Edit*           m_pConnectED;
    PushButton*     m_pBrowseBT;
    VclPtr<Edit>           m_pConnectED;
    VclPtr<PushButton>     m_pBrowseBT;

    OUString        aFilterName;
    OUString        aGrfName, aNewGrfName;
@@ -244,24 +245,25 @@ public:
class SwFrmURLPage : public SfxTabPage
{
    // hyperlink
    Edit*            pURLED;
    PushButton*      pSearchPB;
    Edit*            pNameED;
    ComboBox*        pFrameCB;
    VclPtr<Edit>            pURLED;
    VclPtr<PushButton>      pSearchPB;
    VclPtr<Edit>            pNameED;
    VclPtr<ComboBox>        pFrameCB;

    // image map
    CheckBox*        pServerCB;
    CheckBox*        pClientCB;
    VclPtr<CheckBox>        pServerCB;
    VclPtr<CheckBox>        pClientCB;

    DECL_LINK(InsertFileHdl, void *);

    SwFrmURLPage(vcl::Window *pParent, const SfxItemSet &rSet);
    virtual ~SwFrmURLPage();

    using SfxTabPage::ActivatePage;
    using SfxTabPage::DeactivatePage;

public:
    virtual ~SwFrmURLPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage *Create(vcl::Window *pParent, const SfxItemSet *rSet);

@@ -271,29 +273,29 @@ public:

class SwFrmAddPage : public SfxTabPage
{
    VclContainer* pNameFrame;
    FixedText*    pNameFT;
    Edit*         pNameED;
    FixedText*    pAltNameFT;
    Edit*         pAltNameED;
    FixedText*    pPrevFT;
    ListBox*      pPrevLB;
    FixedText*    pNextFT;
    ListBox*      pNextLB;
    VclPtr<VclContainer> pNameFrame;
    VclPtr<FixedText>    pNameFT;
    VclPtr<Edit>         pNameED;
    VclPtr<FixedText>    pAltNameFT;
    VclPtr<Edit>         pAltNameED;
    VclPtr<FixedText>    pPrevFT;
    VclPtr<ListBox>      pPrevLB;
    VclPtr<FixedText>    pNextFT;
    VclPtr<ListBox>      pNextLB;

    VclContainer* pProtectFrame;
    CheckBox*     pProtectContentCB;
    CheckBox*     pProtectFrameCB;
    CheckBox*     pProtectSizeCB;
    VclPtr<VclContainer> pProtectFrame;
    VclPtr<CheckBox>     pProtectContentCB;
    VclPtr<CheckBox>     pProtectFrameCB;
    VclPtr<CheckBox>     pProtectSizeCB;

    VclContainer* m_pContentAlignFrame;
    ListBox*      m_pVertAlignLB;
    VclPtr<VclContainer> m_pContentAlignFrame;
    VclPtr<ListBox>      m_pVertAlignLB;

    VclContainer* pPropertiesFrame;
    CheckBox*     pEditInReadonlyCB;
    CheckBox*     pPrintFrameCB;
    FixedText*    pTextFlowFT;
    ListBox*      pTextFlowLB;
    VclPtr<VclContainer> pPropertiesFrame;
    VclPtr<CheckBox>     pEditInReadonlyCB;
    VclPtr<CheckBox>     pPrintFrameCB;
    VclPtr<FixedText>    pTextFlowFT;
    VclPtr<ListBox>      pTextFlowLB;

    SwWrtShell*   pWrtSh;

@@ -306,11 +308,12 @@ class SwFrmAddPage : public SfxTabPage
    DECL_LINK(ChainModifyHdl, ListBox*);

    SwFrmAddPage(vcl::Window *pParent, const SfxItemSet &rSet);
    virtual ~SwFrmAddPage();

    static const sal_uInt16 aAddPgRg[];

public:
    virtual ~SwFrmAddPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create(vcl::Window *pParent, const SfxItemSet *rSet);
    static const sal_uInt16*  GetRanges() { return aAddPgRg; }
diff --git a/sw/source/uibase/inc/glosbib.hxx b/sw/source/uibase/inc/glosbib.hxx
index 622b3cb..bcfe4a2 100644
--- a/sw/source/uibase/inc/glosbib.hxx
+++ b/sw/source/uibase/inc/glosbib.hxx
@@ -70,13 +70,13 @@ public:

class SwGlossaryGroupDlg : public SvxStandardDialog
{
    FEdit*              m_pNameED;
    ListBox*            m_pPathLB;
    SwGlossaryGroupTLB* m_pGroupTLB;
    VclPtr<FEdit>              m_pNameED;
    VclPtr<ListBox>            m_pPathLB;
    VclPtr<SwGlossaryGroupTLB> m_pGroupTLB;

    PushButton*     m_pNewPB;
    PushButton*     m_pDelPB;
    PushButton*     m_pRenamePB;
    VclPtr<PushButton>     m_pNewPB;
    VclPtr<PushButton>     m_pDelPB;
    VclPtr<PushButton>     m_pRenamePB;

    typedef std::vector< OUString> OUVector_t;
    OUVector_t m_RemovedArr;
@@ -102,6 +102,7 @@ public:
                        std::vector<OUString> const& rPathArr,
                        SwGlossaryHdl *pGlosHdl);
    virtual ~SwGlossaryGroupDlg();
    virtual void dispose() SAL_OVERRIDE;

    const OUString&     GetCreatedGroupName() const {return sCreatedGroup;}
};
diff --git a/sw/source/uibase/inc/glossary.hxx b/sw/source/uibase/inc/glossary.hxx
index 53b1d5c..62ae7b4 100644
--- a/sw/source/uibase/inc/glossary.hxx
+++ b/sw/source/uibase/inc/glossary.hxx
@@ -88,19 +88,19 @@ class SwGlossaryDlg : public SvxStandardDialog
    friend class SwNewGlosNameDlg;
    friend class SwGlTreeListBox;

    CheckBox*       m_pInsertTipCB;
    Edit*           m_pNameED;
    FixedText*      m_pShortNameLbl;
    VclPtr<CheckBox>       m_pInsertTipCB;
    VclPtr<Edit>           m_pNameED;
    VclPtr<FixedText>      m_pShortNameLbl;
    TextFilter      m_aNoSpaceFilter;
    Edit*           m_pShortNameEdit;
    SwGlTreeListBox* m_pCategoryBox;
    CheckBox*       m_pFileRelCB;
    CheckBox*       m_pNetRelCB;
    vcl::Window*         m_pExampleWIN;
    PushButton*     m_pInsertBtn;
    MenuButton*     m_pEditBtn;
    PushButton*     m_pBibBtn;
    PushButton*     m_pPathBtn;
    VclPtr<Edit>           m_pShortNameEdit;
    VclPtr<SwGlTreeListBox> m_pCategoryBox;
    VclPtr<CheckBox>       m_pFileRelCB;
    VclPtr<CheckBox>       m_pNetRelCB;
    VclPtr<vcl::Window>    m_pExampleWIN;
    VclPtr<PushButton>     m_pInsertBtn;
    VclPtr<MenuButton>     m_pEditBtn;
    VclPtr<PushButton>     m_pBibBtn;
    VclPtr<PushButton>     m_pPathBtn;

    OUString        sReadonlyPath;

diff --git a/sw/source/uibase/inc/inpdlg.hxx b/sw/source/uibase/inc/inpdlg.hxx
index bf42fa7..260423a 100644
--- a/sw/source/uibase/inc/inpdlg.hxx
+++ b/sw/source/uibase/inc/inpdlg.hxx
@@ -42,17 +42,19 @@ class SwFldInputDlg: public SvxStandardDialog
    SwSetExpField*    pSetFld;
    SwUserFieldType*  pUsrType;

    Edit*             m_pLabelED;
    VclPtr<Edit>             m_pLabelED;

    VclMultiLineEdit* m_pEditED;
    VclPtr<VclMultiLineEdit> m_pEditED;

    OKButton*         m_pOKBT;
    PushButton*       m_pNextBT;
    VclPtr<OKButton>         m_pOKBT;
    VclPtr<PushButton>       m_pNextBT;

    DECL_LINK(NextHdl, void *);
public:
    SwFldInputDlg(  vcl::Window *pParent, SwWrtShell &rSh,
                    SwField* pField, bool bNextButton = false );
    virtual ~SwFldInputDlg();
    virtual void dispose() SAL_OVERRIDE;
};

#endif
diff --git a/sw/source/uibase/inc/inputwin.hxx b/sw/source/uibase/inc/inputwin.hxx
index c4af0b0f..fdb4a6f4 100644
--- a/sw/source/uibase/inc/inputwin.hxx
+++ b/sw/source/uibase/inc/inputwin.hxx
@@ -109,9 +109,9 @@ public:
    virtual ~SwInputChild();
    SFX_DECL_CHILDWINDOW_WITHID( SwInputChild );
    void            SetFormula( const OUString& rFormula, bool bDelSel = true )
                        { static_cast<SwInputWindow*>(pWindow)->SetFormula(
                        { static_cast<SwInputWindow*>(pWindow.get())->SetFormula(
                                    rFormula, bDelSel ); }
    const SwView*   GetView() const{return static_cast<SwInputWindow*>(pWindow)->GetView();}
    const SwView*   GetView() const{return static_cast<SwInputWindow*>(pWindow.get())->GetView();}

};

diff --git a/sw/source/uibase/inc/insfnote.hxx b/sw/source/uibase/inc/insfnote.hxx
index 05aace7..8fee498 100644
--- a/sw/source/uibase/inc/insfnote.hxx
+++ b/sw/source/uibase/inc/insfnote.hxx
@@ -40,19 +40,19 @@ class SwInsFootNoteDlg: public SvxStandardDialog
    bool        bExtCharAvailable;
    bool        bEdit;

    VclFrame*       m_pNumberFrame;
    RadioButton*    m_pNumberAutoBtn;
    RadioButton*    m_pNumberCharBtn;
    Edit*           m_pNumberCharEdit;
    PushButton*     m_pNumberExtChar;
    VclPtr<VclFrame>       m_pNumberFrame;
    VclPtr<RadioButton>    m_pNumberAutoBtn;
    VclPtr<RadioButton>    m_pNumberCharBtn;
    VclPtr<Edit>           m_pNumberCharEdit;
    VclPtr<PushButton>     m_pNumberExtChar;

    // everything for the selection footnote/endnote
    RadioButton*    m_pFtnBtn;
    RadioButton*    m_pEndNoteBtn;
    VclPtr<RadioButton>    m_pFtnBtn;
    VclPtr<RadioButton>    m_pEndNoteBtn;

    PushButton*     m_pOkBtn;
    PushButton*     m_pPrevBT;
    PushButton*     m_pNextBT;
    VclPtr<PushButton>     m_pOkBtn;
    VclPtr<PushButton>     m_pPrevBT;
    VclPtr<PushButton>     m_pNextBT;

    DECL_LINK(NumberCharHdl, void *);
    DECL_LINK(NumberEditHdl, void *);
diff --git a/sw/source/uibase/inc/instable.hxx b/sw/source/uibase/inc/instable.hxx
index 9965924..1e11783 100644
--- a/sw/source/uibase/inc/instable.hxx
+++ b/sw/source/uibase/inc/instable.hxx
@@ -34,22 +34,22 @@ struct SwInsertTableOptions;

class SwInsTableDlg : public SfxModalDialog
{
    Edit*           m_pNameEdit;
    VclPtr<Edit>           m_pNameEdit;
    TextFilter      m_aTextFilter;

    NumericField*   m_pColNF;
    NumericField*   m_pRowNF;
    VclPtr<NumericField>   m_pColNF;
    VclPtr<NumericField>   m_pRowNF;

    CheckBox*       m_pHeaderCB;
    CheckBox*       m_pRepeatHeaderCB;
    NumericField*   m_pRepeatHeaderNF;
    VclContainer*   m_pRepeatGroup;
    VclPtr<CheckBox>       m_pHeaderCB;
    VclPtr<CheckBox>       m_pRepeatHeaderCB;
    VclPtr<NumericField>   m_pRepeatHeaderNF;
    VclPtr<VclContainer>   m_pRepeatGroup;

    CheckBox*       m_pDontSplitCB;
    CheckBox*       m_pBorderCB;
    VclPtr<CheckBox>       m_pDontSplitCB;
    VclPtr<CheckBox>       m_pBorderCB;

    PushButton*     m_pInsertBtn;
    PushButton*     m_pAutoFmtBtn;
    VclPtr<PushButton>     m_pInsertBtn;
    VclPtr<PushButton>     m_pAutoFmtBtn;

    SwWrtShell*     pShell;
    SwTableAutoFmt* pTAutoFmt;
diff --git a/sw/source/uibase/inc/javaedit.hxx b/sw/source/uibase/inc/javaedit.hxx
index 9768f41..13b5295 100644
--- a/sw/source/uibase/inc/javaedit.hxx
+++ b/sw/source/uibase/inc/javaedit.hxx
@@ -33,16 +33,16 @@ namespace sfx2 { class FileDialogHelper; }
class SwJavaEditDialog : public SvxStandardDialog
{
private:
    Edit*               m_pTypeED;
    RadioButton*        m_pUrlRB;
    RadioButton*        m_pEditRB;
    PushButton*         m_pUrlPB;
    Edit*               m_pUrlED;
    VclMultiLineEdit*   m_pEditED;
    VclPtr<Edit>               m_pTypeED;
    VclPtr<RadioButton>        m_pUrlRB;
    VclPtr<RadioButton>        m_pEditRB;
    VclPtr<PushButton>         m_pUrlPB;
    VclPtr<Edit>               m_pUrlED;
    VclPtr<VclMultiLineEdit>   m_pEditED;

    OKButton*           m_pOKBtn;
    PushButton*         m_pPrevBtn;
    PushButton*         m_pNextBtn;
    VclPtr<OKButton>           m_pOKBtn;
    VclPtr<PushButton>         m_pPrevBtn;
    VclPtr<PushButton>         m_pNextBtn;

    OUString       aText;
    OUString       aType;
@@ -54,7 +54,7 @@ private:
    SwFldMgr*               pMgr;
    SwWrtShell*             pSh;
    sfx2::FileDialogHelper* pFileDlg;
    vcl::Window*                 pOldDefDlgParent;
    VclPtr<vcl::Window>     pOldDefDlgParent;

    DECL_LINK(OKHdl, void *);
    DECL_LINK(PrevHdl, void *);
diff --git a/sw/source/uibase/inc/label.hxx b/sw/source/uibase/inc/label.hxx
index 8369daa..bb23e44 100644
--- a/sw/source/uibase/inc/label.hxx
+++ b/sw/source/uibase/inc/label.hxx
@@ -33,7 +33,7 @@ class SwLabDlg : public SfxTabDialog
{
    SwLabelConfig   aLabelsCfg;
    SwDBManager*     pDBManager;
    SwLabPrtPage*   pPrtPage;
    VclPtr<SwLabPrtPage>   pPrtPage;

    std::vector<sal_uInt16> aTypeIds;
    std::vector<OUString> aMakes;
diff --git a/sw/source/uibase/inc/linenum.hxx b/sw/source/uibase/inc/linenum.hxx
index 7b3f073..ef0cb2b 100644
--- a/sw/source/uibase/inc/linenum.hxx
+++ b/sw/source/uibase/inc/linenum.hxx
@@ -33,21 +33,21 @@ class SwLineNumberingDlg : public SfxModalDialog
{
private:
    SwWrtShell* pSh;
    VclContainer* m_pBodyContent;
    vcl::Window* m_pDivIntervalFT;
    NumericField* m_pDivIntervalNF;
    vcl::Window* m_pDivRowsFT;
    NumericField* m_pNumIntervalNF;
    ListBox* m_pCharStyleLB;
    SwNumberingTypeListBox* m_pFormatLB;
    ListBox* m_pPosLB;
    MetricField* m_pOffsetMF;
    Edit* m_pDivisorED;
    CheckBox* m_pCountEmptyLinesCB;
    CheckBox* m_pCountFrameLinesCB;
    CheckBox* m_pRestartEachPageCB;
    CheckBox* m_pNumberingOnCB;
    CheckBox* m_pNumberingOnFooterHeader;
    VclPtr<VclContainer> m_pBodyContent;
    VclPtr<vcl::Window> m_pDivIntervalFT;
    VclPtr<NumericField> m_pDivIntervalNF;
    VclPtr<vcl::Window> m_pDivRowsFT;
    VclPtr<NumericField> m_pNumIntervalNF;
    VclPtr<ListBox> m_pCharStyleLB;
    VclPtr<SwNumberingTypeListBox> m_pFormatLB;
    VclPtr<ListBox> m_pPosLB;
    VclPtr<MetricField> m_pOffsetMF;
    VclPtr<Edit> m_pDivisorED;
    VclPtr<CheckBox> m_pCountEmptyLinesCB;
    VclPtr<CheckBox> m_pCountFrameLinesCB;
    VclPtr<CheckBox> m_pRestartEachPageCB;
    VclPtr<CheckBox> m_pNumberingOnCB;
    VclPtr<CheckBox> m_pNumberingOnFooterHeader;
    DECL_LINK(OKHdl, void *);
    DECL_LINK(LineOnOffHdl, void * = 0);
    DECL_LINK(ModifyHdl, void * = 0);
@@ -56,6 +56,7 @@ public:
    SwWrtShell* GetWrtShell() const { return pSh; }
    SwLineNumberingDlg(SwView *pVw);
    virtual ~SwLineNumberingDlg();
    virtual void dispose() SAL_OVERRIDE;
};

#endif
diff --git a/sw/source/uibase/inc/mailconfigpage.hxx b/sw/source/uibase/inc/mailconfigpage.hxx
index 3e98da5..96ecd24 100644
--- a/sw/source/uibase/inc/mailconfigpage.hxx
+++ b/sw/source/uibase/inc/mailconfigpage.hxx
@@ -33,20 +33,20 @@ class SwMailConfigPage : public SfxTabPage
{
    friend class SwTestAccountSettingsDialog;

    Edit*            m_pDisplayNameED;
    Edit*            m_pAddressED;
    VclPtr<Edit>            m_pDisplayNameED;
    VclPtr<Edit>            m_pAddressED;

    CheckBox*        m_pReplyToCB;
    FixedText*        m_pReplyToFT;
    Edit*            m_pReplyToED;
    VclPtr<CheckBox>        m_pReplyToCB;
    VclPtr<FixedText>        m_pReplyToFT;
    VclPtr<Edit>            m_pReplyToED;

    Edit*            m_pServerED;
    NumericField*    m_pPortNF;
    VclPtr<Edit>            m_pServerED;
    VclPtr<NumericField>    m_pPortNF;

    CheckBox*        m_pSecureCB;
    VclPtr<CheckBox>        m_pSecureCB;

    PushButton*      m_pServerAuthenticationPB;
    PushButton*      m_pTestPB;
    VclPtr<PushButton>      m_pServerAuthenticationPB;
    VclPtr<PushButton>      m_pTestPB;

    SwMailMergeConfigItem*  m_pConfigItem;

diff --git a/sw/source/uibase/inc/mailmergechildwindow.hxx b/sw/source/uibase/inc/mailmergechildwindow.hxx
index 35a7613..742cb32 100644
--- a/sw/source/uibase/inc/mailmergechildwindow.hxx
+++ b/sw/source/uibase/inc/mailmergechildwindow.hxx
@@ -25,11 +25,13 @@

class SwMailMergeChildWin : public SfxFloatingWindow
{
    ToolBox* m_pBackTB;
    VclPtr<ToolBox> m_pBackTB;
    DECL_LINK( BackHdl, void* );

public:
    SwMailMergeChildWin(SfxBindings*, SfxChildWindow*, vcl::Window *pParent);
    virtual ~SwMailMergeChildWin();
    virtual void dispose() SAL_OVERRIDE;

    virtual void FillInfo(SfxChildWinInfo&) const SAL_OVERRIDE;
};
diff --git a/sw/source/uibase/inc/mailmergehelper.hxx b/sw/source/uibase/inc/mailmergehelper.hxx
index 5b4321b..deb715c 100644
--- a/sw/source/uibase/inc/mailmergehelper.hxx
+++ b/sw/source/uibase/inc/mailmergehelper.hxx
@@ -142,7 +142,7 @@ class SW_DLLPUBLIC SwAuthenticator :
{
    OUString m_aUserName;
    OUString m_aPassword;
    vcl::Window*         m_pParentWindow;
    VclPtr<vcl::Window>         m_pParentWindow;
public:
    SwAuthenticator() : m_pParentWindow(0) {}
    SwAuthenticator(const OUString& username, const OUString& password, vcl::Window* pParent) :
diff --git a/sw/source/uibase/inc/mailmrge.hxx b/sw/source/uibase/inc/mailmrge.hxx
index 615fb03..1ae4b78 100644
--- a/sw/source/uibase/inc/mailmrge.hxx
+++ b/sw/source/uibase/inc/mailmrge.hxx
@@ -51,46 +51,46 @@ class SwMailMergeDlg : public SvxStandardDialog
{
    friend class SwXSelChgLstnr_Impl;

    vcl::Window*         m_pBeamerWin;
    VclPtr<vcl::Window>     m_pBeamerWin;

    RadioButton*     m_pAllRB;
    RadioButton*     m_pMarkedRB;
    RadioButton*     m_pFromRB;
    NumericField*    m_pFromNF;
    NumericField*    m_pToNF;
    VclPtr<RadioButton>     m_pAllRB;
    VclPtr<RadioButton>     m_pMarkedRB;
    VclPtr<RadioButton>     m_pFromRB;
    VclPtr<NumericField>    m_pFromNF;
    VclPtr<NumericField>    m_pToNF;

    RadioButton*     m_pPrinterRB;
    RadioButton*     m_pMailingRB;
    RadioButton*     m_pFileRB;
    VclPtr<RadioButton>     m_pPrinterRB;
    VclPtr<RadioButton>     m_pMailingRB;
    VclPtr<RadioButton>     m_pFileRB;

    CheckBox*        m_pSingleJobsCB;
    VclPtr<CheckBox>        m_pSingleJobsCB;

    FixedText*       m_pSaveMergedDocumentFT;
    RadioButton*     m_pSaveSingleDocRB;
    RadioButton*     m_pSaveIndividualRB;
    VclPtr<FixedText>       m_pSaveMergedDocumentFT;
    VclPtr<RadioButton>     m_pSaveSingleDocRB;
    VclPtr<RadioButton>     m_pSaveIndividualRB;

    CheckBox*        m_pGenerateFromDataBaseCB;
    VclPtr<CheckBox>        m_pGenerateFromDataBaseCB;

    FixedText*       m_pColumnFT;
    ListBox*         m_pColumnLB;
    FixedText*       m_pPathFT;
    Edit*            m_pPathED;
    PushButton*      m_pPathPB;
    FixedText*       m_pFilterFT;
    ListBox*         m_pFilterLB;
    VclPtr<FixedText>       m_pColumnFT;
    VclPtr<ListBox>         m_pColumnLB;
    VclPtr<FixedText>       m_pPathFT;
    VclPtr<Edit>            m_pPathED;
    VclPtr<PushButton>      m_pPathPB;
    VclPtr<FixedText>       m_pFilterFT;
    VclPtr<ListBox>         m_pFilterLB;

    ListBox*         m_pAddressFldLB;
    FixedText*       m_pSubjectFT;
    Edit*            m_pSubjectED;
    FixedText*       m_pFormatFT;
    FixedText*       m_pAttachFT;
    Edit*            m_pAttachED;
    PushButton*      m_pAttachPB;
    CheckBox*        m_pFormatHtmlCB;
    CheckBox*        m_pFormatRtfCB;
    CheckBox*        m_pFormatSwCB;
    VclPtr<ListBox>         m_pAddressFldLB;
    VclPtr<FixedText>       m_pSubjectFT;
    VclPtr<Edit>            m_pSubjectED;
    VclPtr<FixedText>       m_pFormatFT;
    VclPtr<FixedText>       m_pAttachFT;
    VclPtr<Edit>            m_pAttachED;
    VclPtr<PushButton>      m_pAttachPB;
    VclPtr<CheckBox>        m_pFormatHtmlCB;
    VclPtr<CheckBox>        m_pFormatRtfCB;
    VclPtr<CheckBox>        m_pFormatSwCB;

    OKButton*        m_pOkBTN;
    VclPtr<OKButton>        m_pOkBTN;

    SwMailMergeDlg_Impl* pImpl;

@@ -139,9 +139,11 @@ public:

class SwMailMergeCreateFromDlg : public ModalDialog
{
    RadioButton* m_pThisDocRB;
    VclPtr<RadioButton> m_pThisDocRB;
public:
    SwMailMergeCreateFromDlg(vcl::Window* pParent);
    virtual ~SwMailMergeCreateFromDlg();
    virtual void dispose() SAL_OVERRIDE;
    bool IsThisDocument() const
    {
        return m_pThisDocRB->IsChecked();
@@ -150,9 +152,12 @@ public:

class SwMailMergeFieldConnectionsDlg : public ModalDialog
{
    RadioButton* m_pUseExistingRB;
    VclPtr<RadioButton> m_pUseExistingRB;
public:
    SwMailMergeFieldConnectionsDlg(vcl::Window* pParent);
    virtual ~SwMailMergeFieldConnectionsDlg();
    virtual void dispose() SAL_OVERRIDE;

    bool IsUseExistingConnections() const
    {
        return m_pUseExistingRB->IsChecked();
diff --git a/sw/source/uibase/inc/mergetbl.hxx b/sw/source/uibase/inc/mergetbl.hxx
index fe9882a..5bd7548 100644
--- a/sw/source/uibase/inc/mergetbl.hxx
+++ b/sw/source/uibase/inc/mergetbl.hxx
@@ -26,7 +26,7 @@

class SwMergeTblDlg : public SvxStandardDialog
{
    RadioButton* m_pMergePrevRB;
    VclPtr<RadioButton> m_pMergePrevRB;

    bool&        m_rMergePrev;
protected:
@@ -34,6 +34,8 @@ protected:

public:
    SwMergeTblDlg( vcl::Window *pParent, bool& rWithPrev );
    virtual ~SwMergeTblDlg();
    virtual void dispose() SAL_OVERRIDE;
};

#endif
diff --git a/sw/source/uibase/inc/multmrk.hxx b/sw/source/uibase/inc/multmrk.hxx
index 62ab973..2e9c26a 100644
--- a/sw/source/uibase/inc/multmrk.hxx
+++ b/sw/source/uibase/inc/multmrk.hxx
@@ -32,8 +32,8 @@ class SwTOXMgr;
class SwMultiTOXMarkDlg : public SvxStandardDialog
{
    DECL_LINK( SelectHdl, ListBox * );
    FixedText*         m_pTextFT;
    ListBox*           m_pTOXLB;
    VclPtr<FixedText>         m_pTextFT;
    VclPtr<ListBox>           m_pTOXLB;

    SwTOXMgr&          rMgr;
    sal_uInt16              nPos;
@@ -42,6 +42,7 @@ class SwMultiTOXMarkDlg : public SvxStandardDialog
public:
    SwMultiTOXMarkDlg( vcl::Window* pParent, SwTOXMgr &rTOXMgr );
    virtual ~SwMultiTOXMarkDlg();
    virtual void dispose() SAL_OVERRIDE;
};

#endif // INCLUDED_SW_SOURCE_UIBASE_INC_MULTMRK_HXX
diff --git a/sw/source/uibase/inc/navipi.hxx b/sw/source/uibase/inc/navipi.hxx
index 8b5b595..1cb6b9f 100644
--- a/sw/source/uibase/inc/navipi.hxx
+++ b/sw/source/uibase/inc/navipi.hxx
@@ -72,8 +72,8 @@ class SwNavigationPI : public vcl::Window,
    SwWrtShell          *pContentWrtShell;
    SwView              *pActContView;
    SwView              *pCreateView;
    SfxPopupWindow      *pPopupWindow;
    SfxPopupWindow      *pFloatingWindow;
    VclPtr<SfxPopupWindow>      pPopupWindow;
    VclPtr<SfxPopupWindow>      pFloatingWindow;

    SfxChildWindowContext* pContextWin;

diff --git a/sw/source/uibase/inc/num.hxx b/sw/source/uibase/inc/num.hxx
index c4719c4..6e565c1 100644
--- a/sw/source/uibase/inc/num.hxx
+++ b/sw/source/uibase/inc/num.hxx
@@ -49,43 +49,43 @@ struct SwBmpItemInfo

class SwNumPositionTabPage : public SfxTabPage
{
    ListBox* m_pLevelLB;
    VclFrame* m_pPositionFrame;
    VclPtr<ListBox> m_pLevelLB;
    VclPtr<VclFrame> m_pPositionFrame;

    // former set of controls shown for numbering rules containing list level
    // attributes in SvxNumberFormat::SvxNumPositionAndSpaceMode == LABEL_WIDTH_AND_POSITION
    FixedText*          m_pDistBorderFT;
    MetricField*        m_pDistBorderMF;
    CheckBox*           m_pRelativeCB;
    FixedText*          m_pIndentFT;
    MetricField*        m_pIndentMF;
    FixedText*          m_pDistNumFT;
    MetricField*        m_pDistNumMF;
    FixedText*          m_pAlignFT;
    ListBox*            m_pAlignLB;
    VclPtr<FixedText>          m_pDistBorderFT;
    VclPtr<MetricField>        m_pDistBorderMF;
    VclPtr<CheckBox>           m_pRelativeCB;
    VclPtr<FixedText>          m_pIndentFT;
    VclPtr<MetricField>        m_pIndentMF;
    VclPtr<FixedText>          m_pDistNumFT;
    VclPtr<MetricField>        m_pDistNumMF;
    VclPtr<FixedText>          m_pAlignFT;
    VclPtr<ListBox>            m_pAlignLB;

    // new set of controls shown for numbering rules containing list level
    // attributes in SvxNumberFormat::SvxNumPositionAndSpaceMode == LABEL_ALIGNMENT
    FixedText*          m_pLabelFollowedByFT;
    ListBox*            m_pLabelFollowedByLB;
    FixedText*          m_pListtabFT;
    MetricField*        m_pListtabMF;
    FixedText*          m_pAlign2FT;
    ListBox*            m_pAlign2LB;
    FixedText*          m_pAlignedAtFT;
    MetricField*        m_pAlignedAtMF;
    FixedText*          m_pIndentAtFT;
    MetricField*        m_pIndentAtMF;
    VclPtr<FixedText>          m_pLabelFollowedByFT;
    VclPtr<ListBox>            m_pLabelFollowedByLB;
    VclPtr<FixedText>          m_pListtabFT;
    VclPtr<MetricField>        m_pListtabMF;
    VclPtr<FixedText>          m_pAlign2FT;
    VclPtr<ListBox>            m_pAlign2LB;
    VclPtr<FixedText>          m_pAlignedAtFT;
    VclPtr<MetricField>        m_pAlignedAtMF;
    VclPtr<FixedText>          m_pIndentAtFT;
    VclPtr<MetricField>        m_pIndentAtMF;

    PushButton*         m_pStandardPB;
    VclPtr<PushButton>         m_pStandardPB;

    NumberingPreview*   m_pPreviewWIN;
    VclPtr<NumberingPreview>   m_pPreviewWIN;

    SwNumRule*          pActNum;
    SwNumRule*          pSaveNum;
    SwWrtShell*         pWrtSh;

    SwOutlineTabDialog* pOutlineDlg;
    VclPtr<SwOutlineTabDialog> pOutlineDlg;
    sal_uInt16              nActNumLvl;

    bool                bModified           : 1;
diff --git a/sw/source/uibase/inc/numpara.hxx b/sw/source/uibase/inc/numpara.hxx
index ab84db3..f17660d 100644
--- a/sw/source/uibase/inc/numpara.hxx
+++ b/sw/source/uibase/inc/numpara.hxx
@@ -29,23 +29,23 @@
// are performed.
class SwParagraphNumTabPage : public SfxTabPage
{
    VclHBox*                 m_pOutlineStartBX;
    ListBox*                 m_pOutlineLvLB;
    VclHBox*                 m_pNumberStyleBX;
    ListBox*                 m_pNumberStyleLB;
    PushButton*              m_pEditNumStyleBtn;
    VclPtr<VclHBox>                 m_pOutlineStartBX;
    VclPtr<ListBox>                 m_pOutlineLvLB;
    VclPtr<VclHBox>                 m_pNumberStyleBX;
    VclPtr<ListBox>                 m_pNumberStyleLB;
    VclPtr<PushButton>              m_pEditNumStyleBtn;

    TriStateBox*             m_pNewStartCB;
    VclHBox*                 m_pNewStartBX;
    TriStateBox*             m_pNewStartNumberCB;
    NumericField*            m_pNewStartNF;
    VclPtr<TriStateBox>             m_pNewStartCB;
    VclPtr<VclHBox>                 m_pNewStartBX;
    VclPtr<TriStateBox>             m_pNewStartNumberCB;
    VclPtr<NumericField>            m_pNewStartNF;

    VclFrame*                m_pCountParaFram;
    TriStateBox*             m_pCountParaCB;
    TriStateBox*             m_pRestartParaCountCB;
    VclPtr<VclFrame>                m_pCountParaFram;
    VclPtr<TriStateBox>             m_pCountParaCB;
    VclPtr<TriStateBox>             m_pRestartParaCountCB;

    VclHBox*                 m_pRestartBX;
    NumericField*            m_pRestartNF;
    VclPtr<VclHBox>                 m_pRestartBX;
    VclPtr<NumericField>            m_pRestartNF;

    // --> OD 2008-04-14 #outlinelevel#
    const OUString msOutlineNumbering;
@@ -70,6 +70,7 @@ protected:

public:
        virtual ~SwParagraphNumTabPage();
    virtual void        dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent,
                                const SfxItemSet* rSet );
diff --git a/sw/source/uibase/inc/optcomp.hxx b/sw/source/uibase/inc/optcomp.hxx
index d33d2222..7e486c2 100644
--- a/sw/source/uibase/inc/optcomp.hxx
+++ b/sw/source/uibase/inc/optcomp.hxx
@@ -34,10 +34,10 @@ class SwCompatibilityOptPage : public SfxTabPage
{
private:
    // controls
    VclFrame*               m_pMain;
    ListBox*                m_pFormattingLB;
    SvxCheckListBox*        m_pOptionsLB;
    PushButton*             m_pDefaultPB;
    VclPtr<VclFrame>               m_pMain;
    VclPtr<ListBox>                m_pFormattingLB;
    VclPtr<SvxCheckListBox>        m_pOptionsLB;
    VclPtr<PushButton>             m_pDefaultPB;
    // config item
    SvtCompatibilityOptions m_aConfigItem;
    // text of the user entry
diff --git a/sw/source/uibase/inc/optload.hxx b/sw/source/uibase/inc/optload.hxx
index 71c1759..6b1e538 100644
--- a/sw/source/uibase/inc/optload.hxx
+++ b/sw/source/uibase/inc/optload.hxx
@@ -39,21 +39,21 @@ class SwWrtShell;
class SwLoadOptPage : public SfxTabPage
{
private:
    RadioButton*     m_pAlwaysRB;
    RadioButton*     m_pRequestRB;
    RadioButton*     m_pNeverRB;
    VclPtr<RadioButton>     m_pAlwaysRB;
    VclPtr<RadioButton>     m_pRequestRB;
    VclPtr<RadioButton>     m_pNeverRB;

    CheckBox*        m_pAutoUpdateFields;
    CheckBox*        m_pAutoUpdateCharts;
    VclPtr<CheckBox>        m_pAutoUpdateFields;
    VclPtr<CheckBox>        m_pAutoUpdateCharts;

    ListBox*         m_pMetricLB;
    FixedText*       m_pTabFT;
    MetricField*     m_pTabMF;
    CheckBox*        m_pUseSquaredPageMode;
    CheckBox*        m_pUseCharUnit;
    Edit*            m_pWordCountED;
    CheckBox*        m_pShowStandardizedPageCount;
    NumericField*    m_pStandardizedPageSizeNF;
    VclPtr<ListBox>         m_pMetricLB;
    VclPtr<FixedText>       m_pTabFT;
    VclPtr<MetricField>     m_pTabMF;
    VclPtr<CheckBox>        m_pUseSquaredPageMode;
    VclPtr<CheckBox>        m_pUseCharUnit;
    VclPtr<Edit>            m_pWordCountED;
    VclPtr<CheckBox>        m_pShowStandardizedPageCount;
    VclPtr<NumericField>    m_pStandardizedPageSizeNF;

    SwWrtShell*      m_pWrtShell;
    sal_uInt16       m_nLastTab;
@@ -64,6 +64,8 @@ private:

public:
    SwLoadOptPage(vcl::Window* pParent, const SfxItemSet& rSet);
    virtual ~SwLoadOptPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent,
                                const SfxItemSet* rAttrSet);
@@ -105,28 +107,28 @@ public:
class SwCaptionOptPage : public SfxTabPage
{
private:
    SvxCheckListBox*  m_pCheckLB;
    ListBox*          m_pLbCaptionOrder;
    SwCaptionPreview* m_pPreview;
    VclPtr<SvxCheckListBox>  m_pCheckLB;
    VclPtr<ListBox>          m_pLbCaptionOrder;
    VclPtr<SwCaptionPreview> m_pPreview;

    VclContainer*     m_pSettingsGroup;
    CaptionComboBox*  m_pCategoryBox;
    FixedText*        m_pFormatText;
    ListBox*          m_pFormatBox;
    VclPtr<VclContainer>     m_pSettingsGroup;
    VclPtr<CaptionComboBox>  m_pCategoryBox;
    VclPtr<FixedText>        m_pFormatText;
    VclPtr<ListBox>          m_pFormatBox;
    //#i61007# order of captions
    FixedText*        m_pNumberingSeparatorFT;
    Edit*             m_pNumberingSeparatorED;
    FixedText*        m_pTextText;
    Edit*             m_pTextEdit;
    ListBox*          m_pPosBox;
    VclPtr<FixedText>        m_pNumberingSeparatorFT;
    VclPtr<Edit>             m_pNumberingSeparatorED;
    VclPtr<FixedText>        m_pTextText;
    VclPtr<Edit>             m_pTextEdit;
    VclPtr<ListBox>          m_pPosBox;

    VclContainer*     m_pNumCapt;
    ListBox*          m_pLbLevel;
    Edit*             m_pEdDelim;
    VclPtr<VclContainer>     m_pNumCapt;
    VclPtr<ListBox>          m_pLbLevel;
    VclPtr<Edit>             m_pEdDelim;

    VclContainer*     m_pCategory;
    ListBox*          m_pCharStyleLB;
    CheckBox*         m_pApplyBorderCB;
    VclPtr<VclContainer>     m_pCategory;
    VclPtr<ListBox>          m_pCharStyleLB;
    VclPtr<CheckBox>         m_pApplyBorderCB;

    OUString        m_sSWTable;
    OUString        m_sSWFrame;
diff --git a/sw/source/uibase/inc/optpage.hxx b/sw/source/uibase/inc/optpage.hxx
index 63ebf50..a586243 100644
--- a/sw/source/uibase/inc/optpage.hxx
+++ b/sw/source/uibase/inc/optpage.hxx
@@ -41,28 +41,28 @@ class FontList;
// Tools->Options->Writer/Web->View
class SwContentOptPage : public SfxTabPage
{
    CheckBox*   m_pCrossCB;
    VclPtr<CheckBox>   m_pCrossCB;

    CheckBox*   m_pHScrollBox;
    CheckBox*   m_pVScrollBox;
    CheckBox*   m_pAnyRulerCB;
    CheckBox*   m_pHRulerCBox;
    ListBox*    m_pHMetric;
    CheckBox*   m_pVRulerCBox;
    CheckBox*   m_pVRulerRightCBox;
    ListBox*    m_pVMetric;
    CheckBox*   m_pSmoothCBox;
    VclPtr<CheckBox>   m_pHScrollBox;
    VclPtr<CheckBox>   m_pVScrollBox;
    VclPtr<CheckBox>   m_pAnyRulerCB;
    VclPtr<CheckBox>   m_pHRulerCBox;
    VclPtr<ListBox>    m_pHMetric;
    VclPtr<CheckBox>   m_pVRulerCBox;
    VclPtr<CheckBox>   m_pVRulerRightCBox;
    VclPtr<ListBox>    m_pVMetric;
    VclPtr<CheckBox>   m_pSmoothCBox;

    CheckBox*   m_pGrfCB;
    CheckBox*   m_pTblCB;
    CheckBox*   m_pDrwCB;
    CheckBox*   m_pFldNameCB;
    CheckBox*   m_pPostItCB;
    VclPtr<CheckBox>   m_pGrfCB;
    VclPtr<CheckBox>   m_pTblCB;
    VclPtr<CheckBox>   m_pDrwCB;
    VclPtr<CheckBox>   m_pFldNameCB;
    VclPtr<CheckBox>   m_pPostItCB;

    VclFrame*   m_pSettingsFrame;
    FixedText*  m_pSettingsLabel;
    FixedText*  m_pMetricLabel;
    ListBox*    m_pMetricLB;
    VclPtr<VclFrame>   m_pSettingsFrame;
    VclPtr<FixedText>  m_pSettingsLabel;
    VclPtr<FixedText>  m_pMetricLabel;
    VclPtr<ListBox>    m_pMetricLB;

    DECL_LINK(VertRulerHdl, CheckBox*);
    DECL_LINK(AnyRulerHdl, CheckBox*);
@@ -70,6 +70,7 @@ public:
                        SwContentOptPage( vcl::Window* pParent,
                                           const SfxItemSet& rSet );
                        virtual ~SwContentOptPage();
    virtual void        dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent,
                                const SfxItemSet* rAttrSet);
@@ -82,29 +83,29 @@ public:
// TabPage printer settings additions
class SwAddPrinterTabPage : public SfxTabPage
{
    CheckBox*       m_pGrfCB;
    CheckBox*       m_pCtrlFldCB;
    CheckBox*       m_pBackgroundCB;
    CheckBox*       m_pBlackFontCB;
    CheckBox*       m_pPrintHiddenTextCB;
    CheckBox*       m_pPrintTextPlaceholderCB;
    VclPtr<CheckBox>       m_pGrfCB;
    VclPtr<CheckBox>       m_pCtrlFldCB;
    VclPtr<CheckBox>       m_pBackgroundCB;
    VclPtr<CheckBox>       m_pBlackFontCB;
    VclPtr<CheckBox>       m_pPrintHiddenTextCB;
    VclPtr<CheckBox>       m_pPrintTextPlaceholderCB;

    VclFrame*       m_pPagesFrame;
    CheckBox*       m_pLeftPageCB;
    CheckBox*       m_pRightPageCB;
    CheckBox*       m_pProspectCB;
    CheckBox*       m_pProspectCB_RTL;
    VclPtr<VclFrame>       m_pPagesFrame;
    VclPtr<CheckBox>       m_pLeftPageCB;
    VclPtr<CheckBox>       m_pRightPageCB;
    VclPtr<CheckBox>       m_pProspectCB;
    VclPtr<CheckBox>       m_pProspectCB_RTL;

    VclFrame*       m_pCommentsFrame;
    RadioButton*    m_pNoRB;
    RadioButton*    m_pOnlyRB;
    RadioButton*    m_pEndRB;
    RadioButton*    m_pEndPageRB;
    RadioButton*    m_pInMarginsRB;
    VclPtr<VclFrame>       m_pCommentsFrame;
    VclPtr<RadioButton>    m_pNoRB;
    VclPtr<RadioButton>    m_pOnlyRB;
    VclPtr<RadioButton>    m_pEndRB;
    VclPtr<RadioButton>    m_pEndPageRB;
    VclPtr<RadioButton>    m_pInMarginsRB;

    CheckBox*       m_pPrintEmptyPagesCB;
    CheckBox*       m_pPaperFromSetupCB;
    ListBox*        m_pFaxLB;
    VclPtr<CheckBox>       m_pPrintEmptyPagesCB;
    VclPtr<CheckBox>       m_pPaperFromSetupCB;
    VclPtr<ListBox>        m_pFaxLB;

    OUString        sNone;

@@ -117,6 +118,8 @@ class SwAddPrinterTabPage : public SfxTabPage
                SwAddPrinterTabPage( vcl::Window* pParent,
                                           const SfxItemSet& rSet );
public:
    virtual ~SwAddPrinterTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent,
                                const SfxItemSet* rAttrSet );
@@ -132,20 +135,20 @@ public:

class SwStdFontTabPage : public SfxTabPage
{
    FixedText*       pLabelFT;
    VclPtr<FixedText>       pLabelFT;

    ComboBox*        pStandardBox;
    FontSizeBox*     pStandardHeightLB;
    ComboBox*        pTitleBox   ;
    FontSizeBox*     pTitleHeightLB;
    ComboBox*        pListBox    ;
    FontSizeBox*     pListHeightLB;
    ComboBox*        pLabelBox   ;
    FontSizeBox*     pLabelHeightLB;
    ComboBox*        pIdxBox     ;
    FontSizeBox*     pIndexHeightLB;
    CheckBox*        pDocOnlyCB  ;
    PushButton*      pStandardPB;
    VclPtr<ComboBox>        pStandardBox;
    VclPtr<FontSizeBox>     pStandardHeightLB;
    VclPtr<ComboBox>        pTitleBox   ;
    VclPtr<FontSizeBox>     pTitleHeightLB;
    VclPtr<ComboBox>        pListBox    ;
    VclPtr<FontSizeBox>     pListHeightLB;
    VclPtr<ComboBox>        pLabelBox   ;
    VclPtr<FontSizeBox>     pLabelHeightLB;
    VclPtr<ComboBox>        pIdxBox     ;
    VclPtr<FontSizeBox>     pIndexHeightLB;
    VclPtr<CheckBox>        pDocOnlyCB  ;
    VclPtr<PushButton>      pStandardPB;

    OUString        sShellStd;
    OUString        sShellTitle;
@@ -203,24 +206,24 @@ public:

class SwTableOptionsTabPage : public SfxTabPage
{
    CheckBox*    pHeaderCB;
    CheckBox*    pRepeatHeaderCB;
    CheckBox*    pDontSplitCB;
    CheckBox*    pBorderCB;
    VclPtr<CheckBox>    pHeaderCB;
    VclPtr<CheckBox>    pRepeatHeaderCB;
    VclPtr<CheckBox>    pDontSplitCB;
    VclPtr<CheckBox>    pBorderCB;

    CheckBox*    pNumFormattingCB;
    CheckBox*    pNumFmtFormattingCB;
    CheckBox*    pNumAlignmentCB;
    VclPtr<CheckBox>    pNumFormattingCB;
    VclPtr<CheckBox>    pNumFmtFormattingCB;
    VclPtr<CheckBox>    pNumAlignmentCB;

    MetricField* pRowMoveMF;
    MetricField* pColMoveMF;
    VclPtr<MetricField> pRowMoveMF;
    VclPtr<MetricField> pColMoveMF;

    MetricField* pRowInsertMF;
    MetricField* pColInsertMF;
    VclPtr<MetricField> pRowInsertMF;
    VclPtr<MetricField> pColInsertMF;

    RadioButton* pFixRB;
    RadioButton* pFixPropRB;
    RadioButton* pVarRB;
    VclPtr<RadioButton> pFixRB;
    VclPtr<RadioButton> pFixPropRB;
    VclPtr<RadioButton> pVarRB;

    SwWrtShell* pWrtShell;
    bool        bHTMLMode;
@@ -229,9 +232,9 @@ class SwTableOptionsTabPage : public SfxTabPage

                SwTableOptionsTabPage( vcl::Window* pParent,
                                           const SfxItemSet& rSet );
                virtual ~SwTableOptionsTabPage();

public:
                virtual ~SwTableOptionsTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent,
                                const SfxItemSet* rAttrSet );
@@ -248,36 +251,37 @@ public:
class SwShdwCrsrOptionsTabPage : public SfxTabPage
{
    //nonprinting characters
    CheckBox* m_pParaCB;
    CheckBox* m_pSHyphCB;
    CheckBox* m_pSpacesCB;
    CheckBox* m_pHSpacesCB;
    CheckBox* m_pTabCB;
    CheckBox* m_pBreakCB;
    CheckBox* m_pCharHiddenCB;
    CheckBox* m_pFldHiddenCB;
    CheckBox* m_pFldHiddenParaCB;
    VclPtr<CheckBox> m_pParaCB;
    VclPtr<CheckBox> m_pSHyphCB;
    VclPtr<CheckBox> m_pSpacesCB;
    VclPtr<CheckBox> m_pHSpacesCB;
    VclPtr<CheckBox> m_pTabCB;
    VclPtr<CheckBox> m_pBreakCB;
    VclPtr<CheckBox> m_pCharHiddenCB;
    VclPtr<CheckBox> m_pFldHiddenCB;
    VclPtr<CheckBox> m_pFldHiddenParaCB;

    VclFrame* m_pDirectCursorFrame;
    CheckBox* m_pOnOffCB;
    VclPtr<VclFrame> m_pDirectCursorFrame;
    VclPtr<CheckBox> m_pOnOffCB;

    RadioButton* m_pFillMarginRB;
    RadioButton* m_pFillIndentRB;
    RadioButton* m_pFillTabRB;
    RadioButton* m_pFillSpaceRB;
    VclPtr<RadioButton> m_pFillMarginRB;
    VclPtr<RadioButton> m_pFillIndentRB;
    VclPtr<RadioButton> m_pFillTabRB;
    VclPtr<RadioButton> m_pFillSpaceRB;

    VclFrame* m_pCursorProtFrame;
    CheckBox* m_pCrsrInProtCB;
    CheckBox* m_pIgnoreProtCB;
    VclPtr<VclFrame> m_pCursorProtFrame;
    VclPtr<CheckBox> m_pCrsrInProtCB;
    VclPtr<CheckBox> m_pIgnoreProtCB;

    CheckBox* m_pMathBaselineAlignmentCB;
    VclPtr<CheckBox> m_pMathBaselineAlignmentCB;

    SwWrtShell *    m_pWrtShell;

    SwShdwCrsrOptionsTabPage( vcl::Window* pParent, const SfxItemSet& rSet );
    virtual ~SwShdwCrsrOptionsTabPage();

public:
    virtual ~SwShdwCrsrOptionsTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rAttrSet );

@@ -329,27 +333,26 @@ public:
// redlining options
class SwRedlineOptionsTabPage : public SfxTabPage
{
    ListBox*             pInsertLB;
    ColorListBox*        pInsertColorLB;
    SvxFontPrevWindow*   pInsertedPreviewWN;
    VclPtr<ListBox>             pInsertLB;
    VclPtr<ColorListBox>        pInsertColorLB;
    VclPtr<SvxFontPrevWindow>   pInsertedPreviewWN;

    ListBox*             pDeletedLB;
    ColorListBox*        pDeletedColorLB;
    SvxFontPrevWindow*   pDeletedPreviewWN;
    VclPtr<ListBox>             pDeletedLB;
    VclPtr<ColorListBox>        pDeletedColorLB;
    VclPtr<SvxFontPrevWindow>   pDeletedPreviewWN;

    ListBox*             pChangedLB;
    ColorListBox*        pChangedColorLB;
    SvxFontPrevWindow*   pChangedPreviewWN;
    VclPtr<ListBox>             pChangedLB;
    VclPtr<ColorListBox>        pChangedColorLB;
    VclPtr<SvxFontPrevWindow>   pChangedPreviewWN;

    ListBox*             pMarkPosLB;
    ColorListBox*        pMarkColorLB;
    SwMarkPreview*       pMarkPreviewWN;
    VclPtr<ListBox>             pMarkPosLB;
    VclPtr<ColorListBox>        pMarkColorLB;
    VclPtr<SwMarkPreview>       pMarkPreviewWN;

    OUString             sAuthor;
    OUString             sNone;

    SwRedlineOptionsTabPage( vcl::Window* pParent, const SfxItemSet& rSet );
    virtual ~SwRedlineOptionsTabPage();

    DECL_LINK( AttribHdl, ListBox *pLB );
    DECL_LINK(ChangedMaskPrevHdl, void * = 0);
@@ -358,6 +361,8 @@ class SwRedlineOptionsTabPage : public SfxTabPage
    void                InitFontStyle(SvxFontPrevWindow& rExampleWin);

public:
    virtual ~SwRedlineOptionsTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rAttrSet );

@@ -374,6 +379,8 @@ class SwTestTabPage : public SfxTabPage
public:
                        SwTestTabPage( vcl::Window* pParent,
                                           const SfxItemSet& rSet );
    virtual ~SwTestTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent,
                                const SfxItemSet* rAttrSet );
@@ -382,16 +389,16 @@ public:
    virtual void        Reset( const SfxItemSet* rSet ) SAL_OVERRIDE;

private:
    CheckBox* m_pTest1CBox;
    CheckBox* m_pTest2CBox;
    CheckBox* m_pTest3CBox;
    CheckBox* m_pTest4CBox;
    CheckBox* m_pTest5CBox;
    CheckBox* m_pTest6CBox;
    CheckBox* m_pTest7CBox;
    CheckBox* m_pTest8CBox;
    CheckBox* m_pTest9CBox;
    CheckBox* m_pTest10CBox;
    VclPtr<CheckBox> m_pTest1CBox;
    VclPtr<CheckBox> m_pTest2CBox;
    VclPtr<CheckBox> m_pTest3CBox;
    VclPtr<CheckBox> m_pTest4CBox;
    VclPtr<CheckBox> m_pTest5CBox;
    VclPtr<CheckBox> m_pTest6CBox;
    VclPtr<CheckBox> m_pTest7CBox;
    VclPtr<CheckBox> m_pTest8CBox;
    VclPtr<CheckBox> m_pTest9CBox;
    VclPtr<CheckBox> m_pTest10CBox;

    bool        bAttrModified;

@@ -403,22 +410,23 @@ private:

class SwCompareOptionsTabPage : public SfxTabPage
{
    RadioButton*  m_pAutoRB;
    RadioButton*  m_pWordRB;
    RadioButton*  m_pCharRB;
    VclPtr<RadioButton>  m_pAutoRB;
    VclPtr<RadioButton>  m_pWordRB;
    VclPtr<RadioButton>  m_pCharRB;

    CheckBox*     m_pRsidCB;
    CheckBox*     m_pIgnoreCB;
    NumericField* m_pLenNF;
    CheckBox*     m_pStoreRsidCB;
    VclPtr<CheckBox>     m_pRsidCB;
    VclPtr<CheckBox>     m_pIgnoreCB;
    VclPtr<NumericField> m_pLenNF;
    VclPtr<CheckBox>     m_pStoreRsidCB;

    SwCompareOptionsTabPage( vcl::Window* pParent, const SfxItemSet& rSet );
    virtual ~SwCompareOptionsTabPage();

    DECL_LINK(ComparisonHdl, void *);
    DECL_LINK(IgnoreHdl, void *);

public:
    virtual ~SwCompareOptionsTabPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage* Create( vcl::Window* pParent, const SfxItemSet* rAttrSet );

diff --git a/sw/source/uibase/inc/outline.hxx b/sw/source/uibase/inc/outline.hxx
index 45317fb..36e564e 100644
--- a/sw/source/uibase/inc/outline.hxx
+++ b/sw/source/uibase/inc/outline.hxx
@@ -83,17 +83,17 @@ public:

class SwOutlineSettingsTabPage : public SfxTabPage
{
    ListBox*        m_pLevelLB;
    VclPtr<ListBox>        m_pLevelLB;

    ListBox*        m_pCollBox;
    SwNumberingTypeListBox* m_pNumberBox;
    ListBox*        m_pCharFmtLB;
    FixedText*      m_pAllLevelFT;
    NumericField*   m_pAllLevelNF;
    Edit*           m_pPrefixED;
    Edit*           m_pSuffixED;
    NumericField*   m_pStartEdit;
    NumberingPreview* m_pPreviewWIN;
    VclPtr<ListBox>        m_pCollBox;
    VclPtr<SwNumberingTypeListBox> m_pNumberBox;
    VclPtr<ListBox>        m_pCharFmtLB;
    VclPtr<FixedText>      m_pAllLevelFT;
    VclPtr<NumericField>   m_pAllLevelNF;
    VclPtr<Edit>           m_pPrefixED;
    VclPtr<Edit>           m_pSuffixED;
    VclPtr<NumericField>   m_pStartEdit;
    VclPtr<NumberingPreview> m_pPreviewWIN;

    OUString            aNoFmtName;
    OUString            aSaveCollNames[MAXLEVEL];
@@ -122,6 +122,7 @@ class SwOutlineSettingsTabPage : public SfxTabPage
public:
    SwOutlineSettingsTabPage(vcl::Window* pParent, const SfxItemSet& rSet);
    virtual ~SwOutlineSettingsTabPage();
    virtual void dispose() SAL_OVERRIDE;

    void SetWrtShell(SwWrtShell* pShell);

diff --git a/sw/source/uibase/inc/pgfnote.hxx b/sw/source/uibase/inc/pgfnote.hxx
index 6d37616..90e850f 100644
--- a/sw/source/uibase/inc/pgfnote.hxx
+++ b/sw/source/uibase/inc/pgfnote.hxx
@@ -39,21 +39,22 @@ public:
    virtual bool FillItemSet(SfxItemSet *rSet) SAL_OVERRIDE;
    virtual void Reset(const SfxItemSet *rSet) SAL_OVERRIDE;

    virtual ~SwFootNotePage();
    virtual void dispose() SAL_OVERRIDE;
private:
    SwFootNotePage(vcl::Window *pParent, const SfxItemSet &rSet);
    virtual ~SwFootNotePage();

    RadioButton*    m_pMaxHeightPageBtn;
    RadioButton*    m_pMaxHeightBtn;
    MetricField*    m_pMaxHeightEdit;
    MetricField*    m_pDistEdit;
    VclPtr<RadioButton>    m_pMaxHeightPageBtn;
    VclPtr<RadioButton>    m_pMaxHeightBtn;
    VclPtr<MetricField>    m_pMaxHeightEdit;
    VclPtr<MetricField>    m_pDistEdit;

    ListBox*        m_pLinePosBox;
    LineListBox*    m_pLineTypeBox;
    MetricField*    m_pLineWidthEdit;
    ColorListBox*   m_pLineColorBox;
    MetricField*    m_pLineLengthEdit;
    MetricField*    m_pLineDistEdit;
    VclPtr<ListBox>        m_pLinePosBox;
    VclPtr<LineListBox>    m_pLineTypeBox;
    VclPtr<MetricField>    m_pLineWidthEdit;
    VclPtr<ColorListBox>   m_pLineColorBox;
    VclPtr<MetricField>    m_pLineLengthEdit;
    VclPtr<MetricField>    m_pLineDistEdit;

    DECL_LINK(HeightPage, void *);
    DECL_LINK(HeightMetric, void *);
diff --git a/sw/source/uibase/inc/pggrid.hxx b/sw/source/uibase/inc/pggrid.hxx
index 92a5d33..a70dccf 100644
--- a/sw/source/uibase/inc/pggrid.hxx
+++ b/sw/source/uibase/inc/pggrid.hxx
@@ -28,36 +28,36 @@
// TabPage Format/(Styles/)Page/Text grid
class SwTextGridPage: public SfxTabPage
{
    RadioButton*     m_pNoGridRB;
    RadioButton*     m_pLinesGridRB;
    RadioButton*     m_pCharsGridRB;
    CheckBox*        m_pSnapToCharsCB;
    VclPtr<RadioButton>     m_pNoGridRB;
    VclPtr<RadioButton>     m_pLinesGridRB;
    VclPtr<RadioButton>     m_pCharsGridRB;
    VclPtr<CheckBox>        m_pSnapToCharsCB;

    SwPageGridExample*   m_pExampleWN;
    VclPtr<SwPageGridExample>   m_pExampleWN;

    VclFrame*        m_pLayoutFL;
    NumericField*    m_pLinesPerPageNF;
    FixedText*       m_pLinesRangeFT;
    VclPtr<VclFrame>        m_pLayoutFL;
    VclPtr<NumericField>    m_pLinesPerPageNF;
    VclPtr<FixedText>       m_pLinesRangeFT;

    MetricField*     m_pTextSizeMF;
    VclPtr<MetricField>     m_pTextSizeMF;

    FixedText*       m_pCharsPerLineFT;
    NumericField*    m_pCharsPerLineNF;
    FixedText*       m_pCharsRangeFT;
    VclPtr<FixedText>       m_pCharsPerLineFT;
    VclPtr<NumericField>    m_pCharsPerLineNF;
    VclPtr<FixedText>       m_pCharsRangeFT;

    FixedText*       m_pCharWidthFT;
    MetricField*     m_pCharWidthMF;
    VclPtr<FixedText>       m_pCharWidthFT;
    VclPtr<MetricField>     m_pCharWidthMF;

    FixedText*       m_pRubySizeFT;
    MetricField*     m_pRubySizeMF;
    VclPtr<FixedText>       m_pRubySizeFT;
    VclPtr<MetricField>     m_pRubySizeMF;

    CheckBox*        m_pRubyBelowCB;
    VclPtr<CheckBox>        m_pRubyBelowCB;

    VclFrame*        m_pDisplayFL;
    VclPtr<VclFrame>        m_pDisplayFL;

    CheckBox*        m_pDisplayCB;
    CheckBox*        m_pPrintCB;
    ColorListBox*    m_pColorLB;
    VclPtr<CheckBox>        m_pDisplayCB;
    VclPtr<CheckBox>        m_pPrintCB;
    VclPtr<ColorListBox>    m_pColorLB;

    sal_Int32       m_nRubyUserValue;
    bool        m_bRubyUserValue;
@@ -68,7 +68,6 @@ class SwTextGridPage: public SfxTabPage
    bool        m_bVRulerChanged;

    SwTextGridPage(vcl::Window *pParent, const SfxItemSet &rSet);
    virtual ~SwTextGridPage();

    void UpdatePageSize(const SfxItemSet& rSet);
    void PutGridItem(SfxItemSet& rSet);
@@ -84,6 +83,9 @@ class SwTextGridPage: public SfxTabPage
    using SfxTabPage::DeactivatePage;

public:
    virtual ~SwTextGridPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage *Create(vcl::Window *pParent, const SfxItemSet *rSet);
    static const sal_uInt16* GetRanges();

diff --git a/sw/source/uibase/inc/prcntfld.hxx b/sw/source/uibase/inc/prcntfld.hxx
index 6675290..314b0b62 100644
--- a/sw/source/uibase/inc/prcntfld.hxx
+++ b/sw/source/uibase/inc/prcntfld.hxx
@@ -26,7 +26,7 @@
//Wraps a MetricField with extra features, preferred to PercentField
class SW_DLLPUBLIC PercentField
{
    MetricField* m_pField;
    VclPtr<MetricField> m_pField;

    sal_Int64   nRefValue;      // 100% value for conversion (in Twips)
    sal_Int64   nOldMax;
diff --git a/sw/source/uibase/inc/pview.hxx b/sw/source/uibase/inc/pview.hxx
index b33a451..60668bf 100644
--- a/sw/source/uibase/inc/pview.hxx
+++ b/sw/source/uibase/inc/pview.hxx
@@ -150,7 +150,7 @@ class SW_DLLPUBLIC SwPagePreview: public SfxViewShell
{
    // ViewWindow and handle to core
    // current dispatcher shell
    SwPagePreviewWin*        pViewWin;
    VclPtr<SwPagePreviewWin> pViewWin;
    //viewdata of the previous SwView and the new crsrposition
    OUString                sSwViewData;
    //and the new cursor position if the user double click in the PagePreview
@@ -163,14 +163,14 @@ class SW_DLLPUBLIC SwPagePreview: public SfxViewShell
    Rectangle               aVisArea;

    // MDI control elements
    SwScrollbar             *pHScrollbar;
    SwScrollbar             *pVScrollbar;
    VclPtr<SwScrollbar>      pHScrollbar;
    VclPtr<SwScrollbar>     pVScrollbar;
    bool                    mbHScrollbarEnabled;
    bool                    mbVScrollbarEnabled;
    ImageButton             *pPageUpBtn,
                            *pPageDownBtn;
    VclPtr<ImageButton>     pPageUpBtn,
                            pPageDownBtn;
    // dummy window for filling the lower right edge when both scrollbars are active
    ::vcl::Window           *pScrollFill;
    VclPtr<::vcl::Window>   pScrollFill;

    sal_uInt16              mnPageCount;
    bool                    bNormalPrint;
diff --git a/sw/source/uibase/inc/redlndlg.hxx b/sw/source/uibase/inc/redlndlg.hxx
index 39cfa7f..6912113 100644
--- a/sw/source/uibase/inc/redlndlg.hxx
+++ b/sw/source/uibase/inc/redlndlg.hxx
@@ -67,7 +67,7 @@ typedef std::vector<SvLBoxEntryPtr> SvLBoxEntryArr;

class SW_DLLPUBLIC SwRedlineAcceptDlg
{
    vcl::Window*            pParentDlg;
    VclPtr<vcl::Window>     pParentDlg;
    SwRedlineDataParentArr  aRedlineParents;
    SwRedlineDataChildArr   aRedlineChildren;
    SwRedlineDataParentSortArr aUsedSeqNo;
@@ -82,8 +82,8 @@ class SW_DLLPUBLIC SwRedlineAcceptDlg
    OUString                sFmtCollSet;
    OUString                sFilterAction;
    OUString                sAutoFormat;
    SvxTPView*              pTPView;
    SvxRedlinTable*         pTable; // PB 2006/02/02 #i48648 now SvHeaderTabListBox
    VclPtr<SvxTPView>       pTPView;
    VclPtr<SvxRedlinTable>  pTable; // PB 2006/02/02 #i48648 now SvHeaderTabListBox
    Link                    aOldSelectHdl;
    Link                    aOldDeselectHdl;
    bool                    bOnlyFormatedRedlines;
diff --git a/sw/source/uibase/inc/regionsw.hxx b/sw/source/uibase/inc/regionsw.hxx
index 21e4440..5344404 100644
--- a/sw/source/uibase/inc/regionsw.hxx
+++ b/sw/source/uibase/inc/regionsw.hxx
@@ -61,41 +61,41 @@ typedef boost::ptr_set<SectRepr> SectReprArr;

class SwEditRegionDlg : public SfxModalDialog
{
    Edit*           m_pCurName;
    SvTreeListBox*  m_pTree;
    VclPtr<Edit>           m_pCurName;
    VclPtr<SvTreeListBox>  m_pTree;

    TriStateBox*    m_pFileCB;
    CheckBox*       m_pDDECB;
    VclContainer*   m_pDDEFrame;
    FixedText*      m_pFileNameFT;
    FixedText*      m_pDDECommandFT;
    Edit*           m_pFileNameED;
    PushButton*     m_pFilePB;
    FixedText*      m_pSubRegionFT;
    ComboBox*       m_pSubRegionED;
    VclPtr<TriStateBox>    m_pFileCB;
    VclPtr<CheckBox>       m_pDDECB;
    VclPtr<VclContainer>   m_pDDEFrame;
    VclPtr<FixedText>      m_pFileNameFT;
    VclPtr<FixedText>      m_pDDECommandFT;
    VclPtr<Edit>           m_pFileNameED;
    VclPtr<PushButton>     m_pFilePB;
    VclPtr<FixedText>      m_pSubRegionFT;
    VclPtr<ComboBox>       m_pSubRegionED;
    bool            m_bSubRegionsFilled;

    TriStateBox*    m_pProtectCB;
    CheckBox*       m_pPasswdCB;
    PushButton*     m_pPasswdPB;
    VclPtr<TriStateBox>    m_pProtectCB;
    VclPtr<CheckBox>       m_pPasswdCB;
    VclPtr<PushButton>     m_pPasswdPB;

    TriStateBox*    m_pHideCB;
    FixedText*      m_pConditionFT;
    ConditionEdit*  m_pConditionED;
    VclPtr<TriStateBox>    m_pHideCB;
    VclPtr<FixedText>      m_pConditionFT;
    VclPtr<ConditionEdit>  m_pConditionED;

    // #114856# edit in readonly sections
    TriStateBox*    m_pEditInReadonlyCB;
    VclPtr<TriStateBox>    m_pEditInReadonlyCB;

    OKButton*       m_pOK;
    PushButton*     m_pOptionsPB;
    PushButton*     m_pDismiss;
    VclPtr<OKButton>       m_pOK;
    VclPtr<PushButton>     m_pOptionsPB;
    VclPtr<PushButton>     m_pDismiss;
    ImageList       aImageIL;

    SwWrtShell&             rSh;
    SectReprArr             aSectReprArr;
    const SwSection*        pCurrSect;
    sfx2::DocumentInserter* m_pDocInserter;
    vcl::Window*                 m_pOldDefDlgParent;
    VclPtr<vcl::Window>     m_pOldDefDlgParent;

    bool            bDontCheckPasswd :1;
    bool            bWeb            :1;
@@ -140,27 +140,27 @@ public:
// dialog "insert region"
class SwInsertSectionTabPage : public SfxTabPage
{
    ComboBox*       m_pCurName;
    VclPtr<ComboBox>       m_pCurName;

    CheckBox*       m_pFileCB;
    CheckBox*       m_pDDECB;
    FixedText*      m_pDDECommandFT;
    FixedText*      m_pFileNameFT;
    Edit*           m_pFileNameED;
    PushButton*     m_pFilePB;
    FixedText*      m_pSubRegionFT;
    ComboBox*       m_pSubRegionED;
    VclPtr<CheckBox>       m_pFileCB;
    VclPtr<CheckBox>       m_pDDECB;
    VclPtr<FixedText>      m_pDDECommandFT;
    VclPtr<FixedText>      m_pFileNameFT;
    VclPtr<Edit>           m_pFileNameED;
    VclPtr<PushButton>     m_pFilePB;
    VclPtr<FixedText>      m_pSubRegionFT;
    VclPtr<ComboBox>       m_pSubRegionED;

    CheckBox*       m_pProtectCB;
    CheckBox*       m_pPasswdCB;
    PushButton*     m_pPasswdPB;
    VclPtr<CheckBox>       m_pProtectCB;
    VclPtr<CheckBox>       m_pPasswdCB;
    VclPtr<PushButton>     m_pPasswdPB;

    CheckBox*       m_pHideCB;
    FixedText*      m_pConditionFT;
    ConditionEdit*  m_pConditionED;
    VclPtr<CheckBox>       m_pHideCB;
    VclPtr<FixedText>      m_pConditionFT;
    VclPtr<ConditionEdit>  m_pConditionED;

    // #114856# edit in readonly sections
    CheckBox*       m_pEditInReadonlyCB;
    VclPtr<CheckBox>       m_pEditInReadonlyCB;

    OUString        m_sFileName;
    OUString        m_sFilterName;
@@ -169,7 +169,7 @@ class SwInsertSectionTabPage : public SfxTabPage
    ::com::sun::star::uno::Sequence <sal_Int8 > m_aNewPasswd;
    SwWrtShell*             m_pWrtSh;
    sfx2::DocumentInserter* m_pDocInserter;
    vcl::Window*                 m_pOldDefDlgParent;
    VclPtr<vcl::Window>     m_pOldDefDlgParent;

    DECL_LINK( ChangeHideHdl, CheckBox * );
    // #114856# edit in readonly sections
@@ -198,31 +198,31 @@ public:

class SwSectionFtnEndTabPage : public SfxTabPage
{
    CheckBox*        pFtnNtAtTextEndCB;
    VclPtr<CheckBox>        pFtnNtAtTextEndCB;

    CheckBox*        pFtnNtNumCB;
    FixedText*       pFtnOffsetLbl;
    NumericField*    pFtnOffsetFld;
    VclPtr<CheckBox>        pFtnNtNumCB;
    VclPtr<FixedText>       pFtnOffsetLbl;
    VclPtr<NumericField>    pFtnOffsetFld;

    CheckBox*        pFtnNtNumFmtCB;
    FixedText*       pFtnPrefixFT;
    Edit*            pFtnPrefixED;
    SwNumberingTypeListBox*   pFtnNumViewBox;
    FixedText*       pFtnSuffixFT;
    Edit*            pFtnSuffixED;
    VclPtr<CheckBox>        pFtnNtNumFmtCB;
    VclPtr<FixedText>       pFtnPrefixFT;
    VclPtr<Edit>            pFtnPrefixED;
    VclPtr<SwNumberingTypeListBox> pFtnNumViewBox;
    VclPtr<FixedText>       pFtnSuffixFT;
    VclPtr<Edit>            pFtnSuffixED;

    CheckBox*        pEndNtAtTextEndCB;
    VclPtr<CheckBox>        pEndNtAtTextEndCB;

    CheckBox*        pEndNtNumCB;
    FixedText*       pEndOffsetLbl;
    NumericField*    pEndOffsetFld;
    VclPtr<CheckBox>        pEndNtNumCB;
    VclPtr<FixedText>       pEndOffsetLbl;
    VclPtr<NumericField>    pEndOffsetFld;

    CheckBox*        pEndNtNumFmtCB;
    FixedText*       pEndPrefixFT;
    Edit*            pEndPrefixED;
    SwNumberingTypeListBox*   pEndNumViewBox;
    FixedText*       pEndSuffixFT;
    Edit*            pEndSuffixED;
    VclPtr<CheckBox>        pEndNtNumFmtCB;
    VclPtr<FixedText>       pEndPrefixFT;
    VclPtr<Edit>            pEndPrefixED;
    VclPtr<SwNumberingTypeListBox> pEndNumViewBox;
    VclPtr<FixedText>       pEndSuffixFT;
    VclPtr<Edit>            pEndSuffixED;

    DECL_LINK( FootEndHdl, CheckBox * );
    void ResetState( bool bFtn, const SwFmtFtnEndAtTxtEnd& );
@@ -230,6 +230,7 @@ class SwSectionFtnEndTabPage : public SfxTabPage
public:
    SwSectionFtnEndTabPage( vcl::Window *pParent, const SfxItemSet &rAttrSet );
    virtual ~SwSectionFtnEndTabPage();
    virtual void dispose() SAL_OVERRIDE;

    virtual bool        FillItemSet( SfxItemSet* ) SAL_OVERRIDE;
    virtual void        Reset( const SfxItemSet* ) SAL_OVERRIDE;
@@ -240,14 +241,15 @@ public:

class SwSectionIndentTabPage : public SfxTabPage
{
    MetricField*       m_pBeforeMF;
    MetricField*       m_pAfterMF;
    SvxParaPrevWindow* m_pPreviewWin;
    VclPtr<MetricField>       m_pBeforeMF;
    VclPtr<MetricField>       m_pAfterMF;
    VclPtr<SvxParaPrevWindow> m_pPreviewWin;

    DECL_LINK(IndentModifyHdl, void *);
public:
    SwSectionIndentTabPage( vcl::Window *pParent, const SfxItemSet &rAttrSet );
    virtual ~SwSectionIndentTabPage();
    virtual void dispose() SAL_OVERRIDE;

    virtual bool        FillItemSet( SfxItemSet* ) SAL_OVERRIDE;
    virtual void        Reset( const SfxItemSet* ) SAL_OVERRIDE;
diff --git a/sw/source/uibase/inc/rowht.hxx b/sw/source/uibase/inc/rowht.hxx
index 25d9e7c..9727c8d 100644
--- a/sw/source/uibase/inc/rowht.hxx
+++ b/sw/source/uibase/inc/rowht.hxx
@@ -28,8 +28,8 @@ class SwWrtShell;

class SwTableHeightDlg : public SvxStandardDialog
{
    MetricField*    m_pHeightEdit;
    CheckBox*       m_pAutoHeightCB;
    VclPtr<MetricField>    m_pHeightEdit;
    VclPtr<CheckBox>       m_pAutoHeightCB;
    SwWrtShell      &rSh;

protected:
@@ -37,6 +37,8 @@ protected:

public:
    SwTableHeightDlg( vcl::Window *pParent, SwWrtShell &rS );
    virtual ~SwTableHeightDlg();
    virtual void dispose() SAL_OVERRIDE;
};

#endif
diff --git a/sw/source/uibase/inc/selglos.hxx b/sw/source/uibase/inc/selglos.hxx
index 501af9a..e67f378 100644
--- a/sw/source/uibase/inc/selglos.hxx
+++ b/sw/source/uibase/inc/selglos.hxx
@@ -29,11 +29,14 @@
class SwSelGlossaryDlg : public ModalDialog
{
protected:
    ListBox*  m_pGlosBox;
    VclPtr<ListBox>  m_pGlosBox;

    DECL_LINK(DoubleClickHdl, ListBox*);
public:
    SwSelGlossaryDlg(vcl::Window * pParent, const OUString &rShortName);
    virtual ~SwSelGlossaryDlg();
    virtual void dispose() SAL_OVERRIDE;

    void InsertGlos(const OUString &rRegion, const OUString &rGlosName)
    {
        const OUString aTmp = rRegion + ":" + rGlosName;
diff --git a/sw/source/uibase/inc/shdwcrsr.hxx b/sw/source/uibase/inc/shdwcrsr.hxx
index 631fde3..dcb3848 100644
--- a/sw/source/uibase/inc/shdwcrsr.hxx
+++ b/sw/source/uibase/inc/shdwcrsr.hxx
@@ -27,7 +27,7 @@ namespace vcl { class Window; }

class SwShadowCursor
{
    vcl::Window* pWin;
    VclPtr<vcl::Window> pWin;
    Color aCol;
    Point aOldPt;
    long nOldHeight;
diff --git a/sw/source/uibase/inc/splittbl.hxx b/sw/source/uibase/inc/splittbl.hxx
index 3bcce8b..cc6a96d 100644
--- a/sw/source/uibase/inc/splittbl.hxx
+++ b/sw/source/uibase/inc/splittbl.hxx
@@ -27,10 +27,10 @@ class SwWrtShell;

class SwSplitTblDlg : public SvxStandardDialog
{
    RadioButton*    mpCntntCopyRB;
    RadioButton*    mpBoxAttrCopyWithParaRB ;
    RadioButton*    mpBoxAttrCopyNoParaRB ;
    RadioButton*    mpBorderCopyRB;
    VclPtr<RadioButton>    mpCntntCopyRB;
    VclPtr<RadioButton>    mpBoxAttrCopyWithParaRB ;
    VclPtr<RadioButton>    mpBoxAttrCopyNoParaRB ;
    VclPtr<RadioButton>    mpBorderCopyRB;

    SwWrtShell      &rShell;
    sal_uInt16          m_nSplit;
@@ -40,6 +40,8 @@ protected:

public:
    SwSplitTblDlg( vcl::Window *pParent, SwWrtShell &rSh );
    virtual ~SwSplitTblDlg();
    virtual void dispose() SAL_OVERRIDE;

    sal_uInt16 GetSplitMode() const { return m_nSplit; }
};
diff --git a/sw/source/uibase/inc/srcedtw.hxx b/sw/source/uibase/inc/srcedtw.hxx
index 0ead065..8e1a411 100644
--- a/sw/source/uibase/inc/srcedtw.hxx
+++ b/sw/source/uibase/inc/srcedtw.hxx
@@ -69,9 +69,9 @@ private:
    ExtTextView*    pTextView;
    ExtTextEngine*  pTextEngine;

    TextViewOutWin* pOutWin;
    ScrollBar       *pHScrollbar,
                    *pVScrollbar;
    VclPtr<TextViewOutWin> pOutWin;
    VclPtr<ScrollBar>      pHScrollbar,
                           pVScrollbar;

    SwSrcView*      pSrcView;

diff --git a/sw/source/uibase/inc/srtdlg.hxx b/sw/source/uibase/inc/srtdlg.hxx
index 592e100..7facf54 100644
--- a/sw/source/uibase/inc/srtdlg.hxx
+++ b/sw/source/uibase/inc/srtdlg.hxx
@@ -31,38 +31,38 @@ class CollatorResource;

class SwSortDlg : public SvxStandardDialog
{
    FixedText*          m_pColLbl;
    FixedText*          m_pTypLbl;
    VclPtr<FixedText>          m_pColLbl;
    VclPtr<FixedText>          m_pTypLbl;

    CheckBox*           m_pKeyCB1;
    NumericField*       m_pColEdt1;
    ListBox*            m_pTypDLB1;
    RadioButton*        m_pSortUp1RB;
    RadioButton*        m_pSortDn1RB;
    VclPtr<CheckBox>           m_pKeyCB1;
    VclPtr<NumericField>       m_pColEdt1;
    VclPtr<ListBox>            m_pTypDLB1;
    VclPtr<RadioButton>        m_pSortUp1RB;
    VclPtr<RadioButton>        m_pSortDn1RB;

    CheckBox*           m_pKeyCB2;
    NumericField*       m_pColEdt2;
    ListBox*            m_pTypDLB2;
    RadioButton*        m_pSortUp2RB;
    RadioButton*        m_pSortDn2RB;
    VclPtr<CheckBox>           m_pKeyCB2;
    VclPtr<NumericField>       m_pColEdt2;
    VclPtr<ListBox>            m_pTypDLB2;
    VclPtr<RadioButton>        m_pSortUp2RB;
    VclPtr<RadioButton>        m_pSortDn2RB;

    CheckBox*           m_pKeyCB3;
    NumericField*       m_pColEdt3;
    ListBox*            m_pTypDLB3;
    RadioButton*        m_pSortUp3RB;
    RadioButton*        m_pSortDn3RB;
    VclPtr<CheckBox>           m_pKeyCB3;
    VclPtr<NumericField>       m_pColEdt3;
    VclPtr<ListBox>            m_pTypDLB3;
    VclPtr<RadioButton>        m_pSortUp3RB;
    VclPtr<RadioButton>        m_pSortDn3RB;

    RadioButton*        m_pColumnRB;
    RadioButton*        m_pRowRB;
    VclPtr<RadioButton>        m_pColumnRB;
    VclPtr<RadioButton>        m_pRowRB;

    RadioButton*        m_pDelimTabRB;
    RadioButton*        m_pDelimFreeRB;
    Edit*               m_pDelimEdt;
    PushButton*         m_pDelimPB;
    VclPtr<RadioButton>        m_pDelimTabRB;
    VclPtr<RadioButton>        m_pDelimFreeRB;
    VclPtr<Edit>               m_pDelimEdt;
    VclPtr<PushButton>         m_pDelimPB;

    SvxLanguageBox*     m_pLangLB;
    VclPtr<SvxLanguageBox>     m_pLangLB;

    CheckBox*           m_pCaseCB;
    VclPtr<CheckBox>           m_pCaseCB;

    OUString aColTxt;
    OUString aRowTxt;
diff --git a/sw/source/uibase/inc/swmessdialog.hxx b/sw/source/uibase/inc/swmessdialog.hxx
index da9c8af..c802826 100644
--- a/sw/source/uibase/inc/swmessdialog.hxx
+++ b/sw/source/uibase/inc/swmessdialog.hxx
@@ -20,14 +20,16 @@ class VclMultiLineEdit;
class SwMessageAndEditDialog : public ModalDialog
{
protected:
    OKButton*         m_pOKPB;
    FixedImage*       m_pImageIM;
    VclMultiLineEdit* m_pPrimaryMessage;
    VclMultiLineEdit* m_pSecondaryMessage;
    Edit*             m_pEdit;
    VclPtr<OKButton>         m_pOKPB;
    VclPtr<FixedImage>       m_pImageIM;
    VclPtr<VclMultiLineEdit> m_pPrimaryMessage;
    VclPtr<VclMultiLineEdit> m_pSecondaryMessage;
    VclPtr<Edit>             m_pEdit;
public:
    SwMessageAndEditDialog(vcl::Window* pParent, const OUString& rID,
        const OUString& rUIXMLDescription);
    virtual ~SwMessageAndEditDialog();
    virtual void dispose() SAL_OVERRIDE;
};

#endif // INCLUDED_SW_SOURCE_UIBASE_INC_SWMESSDIALOG_HXX
diff --git a/sw/source/uibase/inc/swrenamexnameddlg.hxx b/sw/source/uibase/inc/swrenamexnameddlg.hxx
index aefb1ef..84967e6 100644
--- a/sw/source/uibase/inc/swrenamexnameddlg.hxx
+++ b/sw/source/uibase/inc/swrenamexnameddlg.hxx
@@ -32,9 +32,9 @@

class SwRenameXNamedDlg : public ModalDialog
{
    Edit*     m_pNewNameED;
    VclPtr<Edit>     m_pNewNameED;
    TextFilter m_aTextFilter;
    OKButton* m_pOk;
    VclPtr<OKButton> m_pOk;

    ::com::sun::star::uno::Reference< ::com::sun::star::container::XNamed > &   xNamed;
    ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > & xNameAccess;
@@ -48,6 +48,8 @@ public:
    SwRenameXNamedDlg( vcl::Window* pParent,
                    ::com::sun::star::uno::Reference< ::com::sun::star::container::XNamed > & xNamed,
                    ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > & xNameAccess );
    virtual ~SwRenameXNamedDlg();
    virtual void dispose() SAL_OVERRIDE;

    void SetForbiddenChars(const OUString& rSet)
    {
diff --git a/sw/source/uibase/inc/swruler.hxx b/sw/source/uibase/inc/swruler.hxx
index 19b877f..6d24690 100644
--- a/sw/source/uibase/inc/swruler.hxx
+++ b/sw/source/uibase/inc/swruler.hxx
@@ -34,6 +34,7 @@ public:
        SfxBindings& rBindings,
        WinBits nWinStyle);
    virtual ~SwCommentRuler ();
    virtual void dispose() SAL_OVERRIDE;

    /**
     * Paint the ruler.
@@ -43,7 +44,7 @@ public:

protected:
    SwViewShell * mpViewShell;     //< Shell to check if there is any comments on doc and their visibility
    SwEditWin * mpSwWin;         //< Used to get SwView to change the SideBar visibility
    VclPtr<SwEditWin> mpSwWin;         //< Used to get SwView to change the SideBar visibility
    bool        mbIsHighlighted; //< If comment control is highlighted (mouse is over it)
    Timer       maFadeTimer;     //< Timer for high/'low'light fading
    int         mnFadeRate;      //< From 0 to 100. 0 means not highlighted.
diff --git a/sw/source/uibase/inc/swuiccoll.hxx b/sw/source/uibase/inc/swuiccoll.hxx
index a36b108..f9b4a2e 100644
--- a/sw/source/uibase/inc/swuiccoll.hxx
+++ b/sw/source/uibase/inc/swuiccoll.hxx
@@ -26,18 +26,18 @@ class SwFmt;

class SwCondCollPage : public SfxTabPage
{
    CheckBox*           m_pConditionCB;
    VclPtr<CheckBox>           m_pConditionCB;

    FixedText*          m_pContextFT;
    FixedText*          m_pUsedFT;
    SvTabListBox*       m_pTbLinks;
    VclPtr<FixedText>          m_pContextFT;
    VclPtr<FixedText>          m_pUsedFT;
    VclPtr<SvTabListBox>       m_pTbLinks;

    FixedText*          m_pStyleFT;
    ListBox*            m_pStyleLB;
    ListBox*            m_pFilterLB;
    VclPtr<FixedText>          m_pStyleFT;
    VclPtr<ListBox>            m_pStyleLB;
    VclPtr<ListBox>            m_pFilterLB;

    PushButton*         m_pRemovePB;
    PushButton*         m_pAssignPB;
    VclPtr<PushButton>         m_pRemovePB;
    VclPtr<PushButton>         m_pAssignPB;

    std::vector<OUString> m_aStrArr;

diff --git a/sw/source/uibase/inc/swuicnttab.hxx b/sw/source/uibase/inc/swuicnttab.hxx
index 47cfee6..27e0430 100644
--- a/sw/source/uibase/inc/swuicnttab.hxx
+++ b/sw/source/uibase/inc/swuicnttab.hxx
@@ -61,8 +61,8 @@ struct SwIndexSections_Impl;

class SwMultiTOXTabDialog : public SfxTabDialog
{
    vcl::Window*                 m_pExampleContainerWIN;
    CheckBox*               m_pShowExampleCB;
    VclPtr<vcl::Window>     m_pExampleContainerWIN;
    VclPtr<CheckBox>        m_pShowExampleCB;
    SwTOXMgr*               pMgr;
    SwWrtShell&             rSh;

@@ -131,65 +131,65 @@ class IndexEntrySupplierWrapper;

class SwTOXSelectTabPage : public SfxTabPage
{
    Edit*           m_pTitleED;
    FixedText*      m_pTypeFT;
    ListBox*        m_pTypeLB;
    CheckBox*       m_pReadOnlyCB;
    VclPtr<Edit>           m_pTitleED;
    VclPtr<FixedText>      m_pTypeFT;
    VclPtr<ListBox>        m_pTypeLB;
    VclPtr<CheckBox>       m_pReadOnlyCB;

    VclContainer*   m_pAreaFrame;
    ListBox*        m_pAreaLB;
    FixedText*      m_pLevelFT;   //content, user
    NumericField*   m_pLevelNF;   //content, user
    VclPtr<VclContainer>   m_pAreaFrame;
    VclPtr<ListBox>        m_pAreaLB;
    VclPtr<FixedText>      m_pLevelFT;   //content, user
    VclPtr<NumericField>   m_pLevelNF;   //content, user

    //content
    VclContainer*   m_pCreateFrame;  // content, user, illustration
    CheckBox*       m_pFromHeadingsCB;
    CheckBox*       m_pAddStylesCB;
    PushButton*     m_pAddStylesPB;
    VclPtr<VclContainer>   m_pCreateFrame;  // content, user, illustration
    VclPtr<CheckBox>       m_pFromHeadingsCB;
    VclPtr<CheckBox>       m_pAddStylesCB;
    VclPtr<PushButton>     m_pAddStylesPB;
    //user
    CheckBox*       m_pFromTablesCB;
    CheckBox*       m_pFromFramesCB;
    CheckBox*       m_pFromGraphicsCB;
    CheckBox*       m_pFromOLECB;
    CheckBox*       m_pLevelFromChapterCB;
    VclPtr<CheckBox>       m_pFromTablesCB;
    VclPtr<CheckBox>       m_pFromFramesCB;
    VclPtr<CheckBox>       m_pFromGraphicsCB;
    VclPtr<CheckBox>       m_pFromOLECB;
    VclPtr<CheckBox>       m_pLevelFromChapterCB;

    //illustration + table
    RadioButton*    m_pFromCaptionsRB;
    RadioButton*    m_pFromObjectNamesRB;
    VclPtr<RadioButton>    m_pFromCaptionsRB;
    VclPtr<RadioButton>    m_pFromObjectNamesRB;

    //illustration and tables
    FixedText*      m_pCaptionSequenceFT;
    ListBox*        m_pCaptionSequenceLB;
    FixedText*      m_pDisplayTypeFT;
    ListBox*        m_pDisplayTypeLB;
    VclPtr<FixedText>      m_pCaptionSequenceFT;
    VclPtr<ListBox>        m_pCaptionSequenceLB;
    VclPtr<FixedText>      m_pDisplayTypeFT;
    VclPtr<ListBox>        m_pDisplayTypeLB;

    //all but illustration and table
    CheckBox*       m_pTOXMarksCB;
    VclPtr<CheckBox>       m_pTOXMarksCB;

    //index only
    VclContainer*   m_pIdxOptionsFrame;
    CheckBox*       m_pCollectSameCB;
    CheckBox*       m_pUseFFCB;
    CheckBox*       m_pUseDashCB;
    CheckBox*       m_pCaseSensitiveCB;
    CheckBox*       m_pInitialCapsCB;
    CheckBox*       m_pKeyAsEntryCB;
    CheckBox*       m_pFromFileCB;
    MenuButton*     m_pAutoMarkPB;
    VclPtr<VclContainer>   m_pIdxOptionsFrame;
    VclPtr<CheckBox>       m_pCollectSameCB;
    VclPtr<CheckBox>       m_pUseFFCB;
    VclPtr<CheckBox>       m_pUseDashCB;
    VclPtr<CheckBox>       m_pCaseSensitiveCB;
    VclPtr<CheckBox>       m_pInitialCapsCB;
    VclPtr<CheckBox>       m_pKeyAsEntryCB;
    VclPtr<CheckBox>       m_pFromFileCB;
    VclPtr<MenuButton>     m_pAutoMarkPB;

    // object only
    SwOLENames      aFromNames;
    SvxCheckListBox* m_pFromObjCLB;
    VclContainer*   m_pFromObjFrame;
    VclPtr<SvxCheckListBox> m_pFromObjCLB;
    VclPtr<VclContainer>   m_pFromObjFrame;

    CheckBox*       m_pSequenceCB;
    ListBox*        m_pBracketLB;
    VclContainer*   m_pAuthorityFrame;
    VclPtr<CheckBox>       m_pSequenceCB;
    VclPtr<ListBox>        m_pBracketLB;
    VclPtr<VclContainer>   m_pAuthorityFrame;

    //all
    VclContainer*   m_pSortFrame;
    SvxLanguageBox* m_pLanguageLB;
    ListBox*        m_pSortAlgorithmLB;
    VclPtr<VclContainer>   m_pSortFrame;
    VclPtr<SvxLanguageBox> m_pLanguageLB;
    VclPtr<ListBox>        m_pSortAlgorithmLB;

    IndexEntryResource* pIndexRes;

@@ -243,15 +243,15 @@ class SwTOXEntryTabPage;

class SwTokenWindow : public VclHBox, public VclBuilderContainer
{
    typedef std::vector<Control*>::iterator ctrl_iterator;
    typedef std::vector<Control*>::const_iterator ctrl_const_iterator;
    typedef std::vector<Control*>::reverse_iterator ctrl_reverse_iterator;
    typedef std::vector<Control*>::const_reverse_iterator ctrl_const_reverse_iterator;
    typedef std::vector<VclPtr<Control> >::iterator ctrl_iterator;
    typedef std::vector<VclPtr<Control> >::const_iterator ctrl_const_iterator;
    typedef std::vector<VclPtr<Control> >::reverse_iterator ctrl_reverse_iterator;
    typedef std::vector<VclPtr<Control> >::const_reverse_iterator ctrl_const_reverse_iterator;

    Button* m_pLeftScrollWin;
    vcl::Window* m_pCtrlParentWin;
    Button* m_pRightScrollWin;
    std::vector<Control*>   aControlList;
    VclPtr<Button> m_pLeftScrollWin;
    VclPtr<vcl::Window> m_pCtrlParentWin;
    VclPtr<Button> m_pRightScrollWin;
    std::vector<VclPtr<Control> >   aControlList;
    SwForm*         pForm;
    sal_uInt16      nLevel;
    bool            bValid;
@@ -259,14 +259,14 @@ class SwTokenWindow : public VclHBox, public VclBuilderContainer
    OUString        aButtonHelpTexts[TOKEN_END]; // QuickHelpText of the buttons
    OUString        sCharStyle;
    Link            aButtonSelectedHdl;
    Control*        pActiveCtrl;
    VclPtr<Control>        pActiveCtrl;
    Link            aModifyHdl;
    OUString        accessibleName;
    OUString        sAdditionalAccnameString1;
    OUString        sAdditionalAccnameString2;
    OUString        sAdditionalAccnameString3;

    SwTOXEntryTabPage*  m_pParent;
    VclPtr<SwTOXEntryTabPage>  m_pParent;

    DECL_LINK(EditResize, Edit*);
    DECL_LINK(NextItemHdl, SwTOXEdit* );
@@ -328,76 +328,79 @@ class SwTOXEntryTabPage;

class SwIdxTreeListBox : public SvTreeListBox
{
    SwTOXEntryTabPage* pParent;
    VclPtr<SwTOXEntryTabPage> pParent;

    virtual void    RequestHelp( const HelpEvent& rHEvt ) SAL_OVERRIDE;
public:
    SwIdxTreeListBox(vcl::Window* pPar, WinBits nStyle);
    virtual ~SwIdxTreeListBox();
    virtual void dispose() SAL_OVERRIDE;

    void SetTabPage(SwTOXEntryTabPage* pPar) { pParent = pPar; }
};

class SwTOXEntryTabPage : public SfxTabPage
{
    FixedText*          m_pLevelFT;
    SwIdxTreeListBox*   m_pLevelLB;
    VclPtr<FixedText>          m_pLevelFT;
    VclPtr<SwIdxTreeListBox>   m_pLevelLB;

    SwTokenWindow*  m_pTokenWIN;
    VclPtr<SwTokenWindow>  m_pTokenWIN;

    PushButton*     m_pAllLevelsPB;
    VclPtr<PushButton>     m_pAllLevelsPB;

    PushButton*     m_pEntryNoPB;
    PushButton*     m_pEntryPB;
    PushButton*     m_pTabPB;
    PushButton*     m_pChapterInfoPB;
    PushButton*     m_pPageNoPB;
    PushButton*     m_pHyperLinkPB;
    VclPtr<PushButton>     m_pEntryNoPB;
    VclPtr<PushButton>     m_pEntryPB;
    VclPtr<PushButton>     m_pTabPB;
    VclPtr<PushButton>     m_pChapterInfoPB;
    VclPtr<PushButton>     m_pPageNoPB;
    VclPtr<PushButton>     m_pHyperLinkPB;

    ListBox*        m_pAuthFieldsLB;
    PushButton*     m_pAuthInsertPB;
    PushButton*     m_pAuthRemovePB;
    VclPtr<ListBox>        m_pAuthFieldsLB;
    VclPtr<PushButton>     m_pAuthInsertPB;
    VclPtr<PushButton>     m_pAuthRemovePB;

    ListBox*        m_pCharStyleLB;       // character style of the current token
    PushButton*     m_pEditStylePB;
    VclPtr<ListBox>        m_pCharStyleLB;       // character style of the current token
    VclPtr<PushButton>     m_pEditStylePB;

    FixedText*      m_pChapterEntryFT;
    ListBox*        m_pChapterEntryLB;    // type of chapter info
    VclPtr<FixedText>      m_pChapterEntryFT;
    VclPtr<ListBox>        m_pChapterEntryLB;    // type of chapter info

    FixedText*      m_pNumberFormatFT;
    ListBox*        m_pNumberFormatLB;    //!< format for numbering (E#)
    VclPtr<FixedText>      m_pNumberFormatFT;
    VclPtr<ListBox>        m_pNumberFormatLB;    //!< format for numbering (E#)

    FixedText*      m_pEntryOutlineLevelFT;    //!< Fixed text, for i53420
    NumericField*   m_pEntryOutlineLevelNF;   //!< level to evaluate outline level to, for i53420
    VclPtr<FixedText>      m_pEntryOutlineLevelFT;    //!< Fixed text, for i53420
    VclPtr<NumericField>   m_pEntryOutlineLevelNF;   //!< level to evaluate outline level to, for i53420

    FixedText*      m_pFillCharFT;
    ComboBox*       m_pFillCharCB;        // fill char for tab stop
    VclPtr<FixedText>      m_pFillCharFT;
    VclPtr<ComboBox>       m_pFillCharCB;        // fill char for tab stop

    FixedText*      m_pTabPosFT;
    MetricField*    m_pTabPosMF;          // tab stop position
    CheckBox*       m_pAutoRightCB;
    VclPtr<FixedText>      m_pTabPosFT;
    VclPtr<MetricField>    m_pTabPosMF;          // tab stop position
    VclPtr<CheckBox>       m_pAutoRightCB;

    VclContainer*   m_pFormatFrame;
    FixedText*      m_pMainEntryStyleFT;
    ListBox*        m_pMainEntryStyleLB;  // character style of main entries in indexes
    CheckBox*       m_pAlphaDelimCB;
    CheckBox*       m_pCommaSeparatedCB;
    CheckBox*       m_pRelToStyleCB;      // position relative to the right margin of the para style
    VclPtr<VclContainer>   m_pFormatFrame;
    VclPtr<FixedText>      m_pMainEntryStyleFT;
    VclPtr<ListBox>        m_pMainEntryStyleLB;  // character style of main entries in indexes
    VclPtr<CheckBox>       m_pAlphaDelimCB;
    VclPtr<CheckBox>       m_pCommaSeparatedCB;
    VclPtr<CheckBox>       m_pRelToStyleCB;      // position relative to the right margin of the para style

    VclContainer*   m_pSortingFrame;
    RadioButton*    m_pSortDocPosRB;
    RadioButton*    m_pSortContentRB;
    VclPtr<VclContainer>   m_pSortingFrame;
    VclPtr<RadioButton>    m_pSortDocPosRB;
    VclPtr<RadioButton>    m_pSortContentRB;

    VclContainer*   m_pSortKeyFrame;
    ListBox*        m_pFirstKeyLB;
    RadioButton*    m_pFirstSortUpRB;
    RadioButton*    m_pFirstSortDownRB;
    VclPtr<VclContainer>   m_pSortKeyFrame;
    VclPtr<ListBox>        m_pFirstKeyLB;
    VclPtr<RadioButton>    m_pFirstSortUpRB;
    VclPtr<RadioButton>    m_pFirstSortDownRB;

    ListBox*        m_pSecondKeyLB;
    RadioButton*    m_pSecondSortUpRB;
    RadioButton*    m_pSecondSortDownRB;
    VclPtr<ListBox>        m_pSecondKeyLB;
    VclPtr<RadioButton>    m_pSecondSortUpRB;
    VclPtr<RadioButton>    m_pSecondSortDownRB;

    ListBox*        m_pThirdKeyLB;
    RadioButton*    m_pThirdSortUpRB;
    RadioButton*    m_pThirdSortDownRB;
    VclPtr<ListBox>        m_pThirdKeyLB;
    VclPtr<RadioButton>    m_pThirdSortUpRB;
    VclPtr<RadioButton>    m_pThirdSortDownRB;

    OUString        sDelimStr;
    OUString        sLevelStr;
@@ -437,6 +440,7 @@ class SwTOXEntryTabPage : public SfxTabPage
public:
    SwTOXEntryTabPage(vcl::Window* pParent, const SfxItemSet& rAttrSet);
    virtual ~SwTOXEntryTabPage();
    virtual void dispose() SAL_OVERRIDE;

    virtual bool        FillItemSet( SfxItemSet* ) SAL_OVERRIDE;
    virtual void        Reset( const SfxItemSet* ) SAL_OVERRIDE;
@@ -456,11 +460,11 @@ public:

class SwTOXStylesTabPage : public SfxTabPage
{
    ListBox*        m_pLevelLB;
    PushButton*     m_pAssignBT;
    ListBox*        m_pParaLayLB;
    PushButton*     m_pStdBT;
    PushButton*     m_pEditStyleBT;
    VclPtr<ListBox>        m_pLevelLB;
    VclPtr<PushButton>     m_pAssignBT;
    VclPtr<ListBox>        m_pParaLayLB;
    VclPtr<PushButton>     m_pStdBT;
    VclPtr<PushButton>     m_pEditStyleBT;

    SwForm*         m_pCurrentForm;

diff --git a/sw/source/uibase/inc/swuiidxmrk.hxx b/sw/source/uibase/inc/swuiidxmrk.hxx
index 0f559a6..040c97d 100644
--- a/sw/source/uibase/inc/swuiidxmrk.hxx
+++ b/sw/source/uibase/inc/swuiidxmrk.hxx
@@ -51,40 +51,40 @@ class SwIndexMarkPane

    friend class SwIndexMarkFloatDlg;
    friend class SwIndexMarkModalDlg;
    VclFrame*       m_pFrame;
    FixedText*      m_pTypeFT;
    ListBox*        m_pTypeDCB;
    PushButton*     m_pNewBT;
    VclPtr<VclFrame>       m_pFrame;
    VclPtr<FixedText>      m_pTypeFT;
    VclPtr<ListBox>        m_pTypeDCB;
    VclPtr<PushButton>     m_pNewBT;

    Edit*           m_pEntryED;
    FixedText*      m_pPhoneticFT0;
    Edit*           m_pPhoneticED0;
    VclPtr<Edit>           m_pEntryED;
    VclPtr<FixedText>      m_pPhoneticFT0;
    VclPtr<Edit>           m_pPhoneticED0;

    FixedText*      m_pKey1FT;
    ComboBox*       m_pKey1DCB;
    FixedText*      m_pPhoneticFT1;
    Edit*           m_pPhoneticED1;
    VclPtr<FixedText>      m_pKey1FT;
    VclPtr<ComboBox>       m_pKey1DCB;
    VclPtr<FixedText>      m_pPhoneticFT1;
    VclPtr<Edit>           m_pPhoneticED1;

    FixedText*      m_pKey2FT;
    ComboBox*       m_pKey2DCB;
    FixedText*      m_pPhoneticFT2;
    Edit*           m_pPhoneticED2;
    VclPtr<FixedText>      m_pKey2FT;
    VclPtr<ComboBox>       m_pKey2DCB;
    VclPtr<FixedText>      m_pPhoneticFT2;
    VclPtr<Edit>           m_pPhoneticED2;

    FixedText*      m_pLevelFT;
    NumericField*   m_pLevelNF;
    CheckBox*       m_pMainEntryCB;
    CheckBox*       m_pApplyToAllCB;
    CheckBox*       m_pSearchCaseSensitiveCB;
    CheckBox*       m_pSearchCaseWordOnlyCB;
    VclPtr<FixedText>      m_pLevelFT;
    VclPtr<NumericField>   m_pLevelNF;
    VclPtr<CheckBox>       m_pMainEntryCB;
    VclPtr<CheckBox>       m_pApplyToAllCB;
    VclPtr<CheckBox>       m_pSearchCaseSensitiveCB;
    VclPtr<CheckBox>       m_pSearchCaseWordOnlyCB;

    PushButton*     m_pOKBT;
    CloseButton*    m_pCloseBT;
    PushButton*     m_pDelBT;
    VclPtr<PushButton>     m_pOKBT;
    VclPtr<CloseButton>    m_pCloseBT;
    VclPtr<PushButton>     m_pDelBT;

    PushButton*     m_pPrevSameBT;
    PushButton*     m_pNextSameBT;
    PushButton*     m_pPrevBT;
    PushButton*     m_pNextBT;
    VclPtr<PushButton>     m_pPrevSameBT;
    VclPtr<PushButton>     m_pNextSameBT;
    VclPtr<PushButton>     m_pPrevBT;
    VclPtr<PushButton>     m_pNextBT;

    OUString        aOrgStr;
    bool            bDel;
@@ -182,17 +182,17 @@ class SwAuthorMarkPane
    friend class SwAuthMarkModalDlg;
    friend class SwAuthMarkFloatDlg;

    RadioButton*    m_pFromComponentRB;
    RadioButton*    m_pFromDocContentRB;
    FixedText*      m_pAuthorFI;
    FixedText*      m_pTitleFI;
    Edit*           m_pEntryED;
    ListBox*        m_pEntryLB;
    VclPtr<RadioButton>    m_pFromComponentRB;
    VclPtr<RadioButton>    m_pFromDocContentRB;
    VclPtr<FixedText>      m_pAuthorFI;
    VclPtr<FixedText>      m_pTitleFI;
    VclPtr<Edit>           m_pEntryED;
    VclPtr<ListBox>        m_pEntryLB;

    PushButton*     m_pActionBT;
    CloseButton*    m_pCloseBT;
    PushButton*     m_pCreateEntryPB;
    PushButton*     m_pEditEntryPB;
    VclPtr<PushButton>     m_pActionBT;
    VclPtr<CloseButton>    m_pCloseBT;
    VclPtr<PushButton>     m_pCreateEntryPB;
    VclPtr<PushButton>     m_pEditEntryPB;

    bool        bNewEntry;
    bool        bBibAccessInitialized;
diff --git a/sw/source/uibase/inc/syncbtn.hxx b/sw/source/uibase/inc/syncbtn.hxx
index 76f8be74..83a1607 100644
--- a/sw/source/uibase/inc/syncbtn.hxx
+++ b/sw/source/uibase/inc/syncbtn.hxx
@@ -25,12 +25,14 @@

class SwSyncBtnDlg : public SfxFloatingWindow
{
    PushButton* m_pSyncBtn;
    VclPtr<PushButton> m_pSyncBtn;

    DECL_LINK( BtnHdl, void* );

public:
    SwSyncBtnDlg(SfxBindings*, SfxChildWindow*, vcl::Window *pParent);
    virtual ~SwSyncBtnDlg();
    virtual void dispose() SAL_OVERRIDE;
};

class SwSyncChildWin : public SfxChildWindow
diff --git a/sw/source/uibase/inc/tautofmt.hxx b/sw/source/uibase/inc/tautofmt.hxx
index 019de41..fac2b12 100644
--- a/sw/source/uibase/inc/tautofmt.hxx
+++ b/sw/source/uibase/inc/tautofmt.hxx
@@ -39,18 +39,18 @@ enum AutoFmtLine { TOP_LINE, BOTTOM_LINE, LEFT_LINE, RIGHT_LINE };

class SwAutoFormatDlg : public SfxModalDialog
{
    ListBox*        m_pLbFormat;
    VclContainer*   m_pFormatting;
    CheckBox*       m_pBtnNumFormat;
    CheckBox*       m_pBtnBorder;
    CheckBox*       m_pBtnFont;
    CheckBox*       m_pBtnPattern;
    CheckBox*       m_pBtnAlignment;
    OKButton*       m_pBtnOk;
    CancelButton*   m_pBtnCancel;
    PushButton*     m_pBtnAdd;
    PushButton*     m_pBtnRemove;
    PushButton*     m_pBtnRename;
    VclPtr<ListBox>        m_pLbFormat;
    VclPtr<VclContainer>   m_pFormatting;
    VclPtr<CheckBox>       m_pBtnNumFormat;
    VclPtr<CheckBox>       m_pBtnBorder;
    VclPtr<CheckBox>       m_pBtnFont;
    VclPtr<CheckBox>       m_pBtnPattern;
    VclPtr<CheckBox>       m_pBtnAlignment;
    VclPtr<OKButton>       m_pBtnOk;
    VclPtr<CancelButton>   m_pBtnCancel;
    VclPtr<PushButton>     m_pBtnAdd;
    VclPtr<PushButton>     m_pBtnRemove;
    VclPtr<PushButton>     m_pBtnRename;
    OUString        aStrTitle;
    OUString        aStrLabel;
    OUString        aStrClose;
@@ -58,7 +58,7 @@ class SwAutoFormatDlg : public SfxModalDialog
    OUString        aStrDelMsg;
    OUString        aStrRenameTitle;
    OUString        aStrInvalidFmt;
    AutoFmtPreview* m_pWndPreview;
    VclPtr<AutoFmtPreview> m_pWndPreview;

    SwWrtShell*             pShell;
    SwTableAutoFmtTbl*      pTableTbl;
diff --git a/sw/source/uibase/inc/titlepage.hxx b/sw/source/uibase/inc/titlepage.hxx
index 59ee2e1..a881cc4 100644
--- a/sw/source/uibase/inc/titlepage.hxx
+++ b/sw/source/uibase/inc/titlepage.hxx
@@ -24,22 +24,22 @@ class SwPageDesc;
class SwTitlePageDlg : public SfxModalDialog
{
private:
    RadioButton* m_pUseExistingPagesRB;
    NumericField* m_pPageCountNF;
    VclPtr<RadioButton> m_pUseExistingPagesRB;
    VclPtr<NumericField> m_pPageCountNF;

    RadioButton* m_pDocumentStartRB;
    RadioButton* m_pPageStartRB;
    NumericField* m_pPageStartNF;
    VclPtr<RadioButton> m_pDocumentStartRB;
    VclPtr<RadioButton> m_pPageStartRB;
    VclPtr<NumericField> m_pPageStartNF;

    CheckBox* m_pRestartNumberingCB;
    NumericField* m_pRestartNumberingNF;
    CheckBox* m_pSetPageNumberCB;
    NumericField* m_pSetPageNumberNF;
    VclPtr<CheckBox> m_pRestartNumberingCB;
    VclPtr<NumericField> m_pRestartNumberingNF;
    VclPtr<CheckBox> m_pSetPageNumberCB;
    VclPtr<NumericField> m_pSetPageNumberNF;

    ListBox* m_pPagePropertiesLB;
    PushButton* m_pPagePropertiesPB;
    VclPtr<ListBox> m_pPagePropertiesLB;
    VclPtr<PushButton> m_pPagePropertiesPB;

    OKButton* m_pOkPB;
    VclPtr<OKButton> m_pOkPB;

    SwWrtShell *mpSh;

diff --git a/sw/source/uibase/inc/view.hxx b/sw/source/uibase/inc/view.hxx
index 8cd1d5cf..c1a341e 100644
--- a/sw/source/uibase/inc/view.hxx
+++ b/sw/source/uibase/inc/view.hxx
@@ -187,7 +187,7 @@ class SW_DLLPUBLIC SwView: public SfxViewShell
    Size                m_aDocSz;         // current document size
    Rectangle           m_aVisArea;       // visible region

    SwEditWin           *m_pEditWin;
    VclPtr<SwEditWin>    m_pEditWin;
    SwWrtShell          *m_pWrtShell;

    SfxShell            *m_pShell;        // current SubShell at the dispatcher
@@ -195,21 +195,21 @@ class SW_DLLPUBLIC SwView: public SfxViewShell

    SwView_Impl         *m_pViewImpl;     // Impl-data for UNO + Basic

    SwScrollbar         *m_pHScrollbar,   // MDI control elements
                        *m_pVScrollbar;
    VclPtr<SwScrollbar>  m_pHScrollbar,   // MDI control elements
                         m_pVScrollbar;

    bool                m_bHScrollbarEnabled;
    bool                m_bVScrollbarEnabled;

    ::vcl::Window       *m_pScrollFill;   // dummy window for filling the lower right edge
    VclPtr<::vcl::Window> m_pScrollFill;   // dummy window for filling the lower right edge
                                        // when both scrollbars are active

    SvxRuler            *m_pHRuler,
                        *m_pVRuler;
    ImageButton         *m_pTogglePageBtn;
    VclPtr<SvxRuler>    m_pHRuler,
                        m_pVRuler;
    VclPtr<ImageButton> m_pTogglePageBtn;

    SwHlpImageButton    *m_pPageUpBtn,
                        *m_pPageDownBtn;
    VclPtr<SwHlpImageButton> m_pPageUpBtn,
                             m_pPageDownBtn;

    SwGlossaryHdl       *m_pGlosHdl;          // handle text block
    SwDrawBase          *m_pDrawActual;
@@ -221,7 +221,7 @@ class SW_DLLPUBLIC SwView: public SfxViewShell
    SwPostItMgr         *m_pPostItMgr;

    int                 m_nSelectionType;
    FloatingWindow      *m_pFieldPopup;
    VclPtr<FloatingWindow> m_pFieldPopup;

    static const int m_nMASTERENUMCOMMANDS = 6;

diff --git a/sw/source/uibase/inc/wordcountdialog.hxx b/sw/source/uibase/inc/wordcountdialog.hxx
index faf67d4..63aa450 100644
--- a/sw/source/uibase/inc/wordcountdialog.hxx
+++ b/sw/source/uibase/inc/wordcountdialog.hxx
@@ -33,22 +33,22 @@ class SwWordCountFloatDlg : public SfxModelessDialog
    void showCJK(bool bShowCJK);
    void showStandardizedPages(bool bShowStandardizedPages);

    FixedText* m_pCurrentWordFT;
    FixedText* m_pCurrentCharacterFT;
    FixedText* m_pCurrentCharacterExcludingSpacesFT;
    FixedText* m_pCurrentCjkcharsFT;
    FixedText* m_pCurrentStandardizedPagesFT;
    VclPtr<FixedText> m_pCurrentWordFT;
    VclPtr<FixedText> m_pCurrentCharacterFT;
    VclPtr<FixedText> m_pCurrentCharacterExcludingSpacesFT;
    VclPtr<FixedText> m_pCurrentCjkcharsFT;
    VclPtr<FixedText> m_pCurrentStandardizedPagesFT;

    FixedText* m_pDocWordFT;
    FixedText* m_pDocCharacterFT;
    FixedText* m_pDocCharacterExcludingSpacesFT;
    FixedText* m_pDocCjkcharsFT;
    FixedText* m_pDocStandardizedPagesFT;
    VclPtr<FixedText> m_pDocWordFT;
    VclPtr<FixedText> m_pDocCharacterFT;
    VclPtr<FixedText> m_pDocCharacterExcludingSpacesFT;
    VclPtr<FixedText> m_pDocCjkcharsFT;
    VclPtr<FixedText> m_pDocStandardizedPagesFT;

    FixedText* m_pCjkcharsLabelFT;
    FixedText* m_pStandardizedPagesLabelFT;
    VclPtr<FixedText> m_pCjkcharsLabelFT;
    VclPtr<FixedText> m_pStandardizedPagesLabelFT;

    CloseButton* m_pClosePB;
    VclPtr<CloseButton> m_pClosePB;

    DECL_LINK( CloseHdl,     void* );
public:
diff --git a/sw/source/uibase/inc/workctrl.hxx b/sw/source/uibase/inc/workctrl.hxx
index bac81d6..31638e2 100644
--- a/sw/source/uibase/inc/workctrl.hxx
+++ b/sw/source/uibase/inc/workctrl.hxx
@@ -129,8 +129,8 @@ public:

class SwScrollNaviPopup : public SfxPopupWindow
{
    SwScrollNaviToolBox* m_pToolBox;
    FixedText*           m_pInfoField;
    VclPtr<SwScrollNaviToolBox> m_pToolBox;
    VclPtr<FixedText>           m_pInfoField;
    ImageList       aIList;

    OUString        sQuickHelp[2 * NID_COUNT];
diff --git a/sw/source/uibase/inc/wrap.hxx b/sw/source/uibase/inc/wrap.hxx
index 20b162e..34002c9 100644
--- a/sw/source/uibase/inc/wrap.hxx
+++ b/sw/source/uibase/inc/wrap.hxx
@@ -43,24 +43,24 @@ public:
class SwWrapTabPage: public SfxTabPage
{
    // WRAPPING
    RadioButton*   m_pNoWrapRB;
    RadioButton*   m_pWrapLeftRB;
    RadioButton*   m_pWrapRightRB;
    RadioButton*   m_pWrapParallelRB;
    RadioButton*   m_pWrapThroughRB;
    RadioButton*   m_pIdealWrapRB;
    VclPtr<RadioButton>   m_pNoWrapRB;
    VclPtr<RadioButton>   m_pWrapLeftRB;
    VclPtr<RadioButton>   m_pWrapRightRB;
    VclPtr<RadioButton>   m_pWrapParallelRB;
    VclPtr<RadioButton>   m_pWrapThroughRB;
    VclPtr<RadioButton>   m_pIdealWrapRB;

    // MARGIN
    MetricField*   m_pLeftMarginED;
    MetricField*   m_pRightMarginED;
    MetricField*   m_pTopMarginED;
    MetricField*   m_pBottomMarginED;
    VclPtr<MetricField>   m_pLeftMarginED;
    VclPtr<MetricField>   m_pRightMarginED;
    VclPtr<MetricField>   m_pTopMarginED;
    VclPtr<MetricField>   m_pBottomMarginED;

    // OPTIONS
    CheckBox*      m_pWrapAnchorOnlyCB;
    CheckBox*      m_pWrapTransparentCB;
    CheckBox*      m_pWrapOutlineCB;
    CheckBox*      m_pWrapOutsideCB;
    VclPtr<CheckBox>      m_pWrapAnchorOnlyCB;
    VclPtr<CheckBox>      m_pWrapTransparentCB;
    VclPtr<CheckBox>      m_pWrapOutlineCB;
    VclPtr<CheckBox>      m_pWrapOutsideCB;

    sal_uInt16              nOldLeftMargin;
    sal_uInt16              nOldRightMargin;
@@ -81,6 +81,7 @@ class SwWrapTabPage: public SfxTabPage

    SwWrapTabPage(vcl::Window *pParent, const SfxItemSet &rSet);
    virtual ~SwWrapTabPage();
    virtual void dispose() SAL_OVERRIDE;

    void            ApplyImageList();
    void            EnableModes(const SfxItemSet& rSet);
diff --git a/sw/source/uibase/misc/redlndlg.cxx b/sw/source/uibase/misc/redlndlg.cxx
index a0cd1e2..0f0b34c 100644
--- a/sw/source/uibase/misc/redlndlg.cxx
+++ b/sw/source/uibase/misc/redlndlg.cxx
@@ -69,7 +69,7 @@ SwRedlineAcceptChild::SwRedlineAcceptChild( vcl::Window* _pParent,
{
    pWindow = new SwModelessRedlineAcceptDlg( pBindings, this, _pParent);

    static_cast<SwModelessRedlineAcceptDlg *>(pWindow)->Initialize(pInfo);
    static_cast<SwModelessRedlineAcceptDlg *>(pWindow.get())->Initialize(pInfo);
}

// newly initialise dialog after document switch
diff --git a/sw/source/uibase/misc/swruler.cxx b/sw/source/uibase/misc/swruler.cxx
index b9d43d0..675a17b 100644
--- a/sw/source/uibase/misc/swruler.cxx
+++ b/sw/source/uibase/misc/swruler.cxx
@@ -51,6 +51,13 @@ SwCommentRuler::SwCommentRuler( SwViewShell* pViewSh, vcl::Window* pParent, SwEd
// Destructor
SwCommentRuler::~SwCommentRuler()
{
    dispose();
}

void SwCommentRuler::dispose()
{
    mpSwWin.clear();
    SvxRuler::dispose();
}

void SwCommentRuler::Paint( const Rectangle& rRect )
diff --git a/sw/source/uibase/ribbar/inputwin.cxx b/sw/source/uibase/ribbar/inputwin.cxx
index 2303c3d..6f01222 100644
--- a/sw/source/uibase/ribbar/inputwin.cxx
+++ b/sw/source/uibase/ribbar/inputwin.cxx
@@ -626,7 +626,7 @@ SwInputChild::SwInputChild(vcl::Window* _pParent,
{
    pDispatch = pBindings->GetDispatcher();
    pWindow = new SwInputWindow( _pParent, pBindings );
    static_cast<SwInputWindow*>(pWindow)->ShowWin();
    static_cast<SwInputWindow*>(pWindow.get())->ShowWin();
    eChildAlignment = SfxChildAlignment::LOWESTTOP;
}

diff --git a/sw/source/uibase/ribbar/workctrl.cxx b/sw/source/uibase/ribbar/workctrl.cxx
index 58d0e32..ca90595 100644
--- a/sw/source/uibase/ribbar/workctrl.cxx
+++ b/sw/source/uibase/ribbar/workctrl.cxx
@@ -453,7 +453,8 @@ SwScrollNaviPopup::~SwScrollNaviPopup()

void SwScrollNaviPopup::dispose()
{
    delete m_pToolBox;
    m_pToolBox.clear();
    m_pInfoField.clear();
    SfxPopupWindow::dispose();
}

diff --git a/sw/source/uibase/shells/txtattr.cxx b/sw/source/uibase/shells/txtattr.cxx
index 49fc174..2ec2772 100644
--- a/sw/source/uibase/shells/txtattr.cxx
+++ b/sw/source/uibase/shells/txtattr.cxx
@@ -54,6 +54,7 @@
#include <shells.hrc>
#include <SwStyleNameMapper.hxx>
#include "swabstdlg.hxx"
#include "outline.hxx"
#include "chrdlg.hrc"
#include <boost/scoped_ptr.hpp>

diff --git a/sw/source/uibase/shells/txtcrsr.cxx b/sw/source/uibase/shells/txtcrsr.cxx
index fa98cf0..8c1f4ed 100644
--- a/sw/source/uibase/shells/txtcrsr.cxx
+++ b/sw/source/uibase/shells/txtcrsr.cxx
@@ -43,6 +43,7 @@
#include <svx/svdouno.hxx>
#include <svx/fmshell.hxx>
#include <svx/sdrobjectfilter.hxx>
#include "outline.hxx"

using namespace ::com::sun::star;

diff --git a/sw/source/uibase/sidebar/PageColumnControl.cxx b/sw/source/uibase/sidebar/PageColumnControl.cxx
index 703b4ce..6e9c39f 100644
--- a/sw/source/uibase/sidebar/PageColumnControl.cxx
+++ b/sw/source/uibase/sidebar/PageColumnControl.cxx
@@ -82,7 +82,7 @@ PageColumnControl::~PageColumnControl(void)

void PageColumnControl::dispose()
{
    delete mpColumnValueSet;
    mpColumnValueSet.clear();
    maMoreButton.disposeAndClear();
    ::svx::sidebar::PopupControl::dispose();
}
diff --git a/sw/source/uibase/sidebar/PageColumnControl.hxx b/sw/source/uibase/sidebar/PageColumnControl.hxx
index ef81b4d..79e22cc 100644
--- a/sw/source/uibase/sidebar/PageColumnControl.hxx
+++ b/sw/source/uibase/sidebar/PageColumnControl.hxx
@@ -48,7 +48,7 @@ public:
    virtual void dispose() SAL_OVERRIDE;

private:
    ::svx::sidebar::ValueSetWithTextControl* mpColumnValueSet;
    VclPtr<::svx::sidebar::ValueSetWithTextControl> mpColumnValueSet;
    VclPtr<PushButton> maMoreButton;

    sal_uInt16 mnColumnType;
diff --git a/sw/source/uibase/sidebar/PageMarginControl.cxx b/sw/source/uibase/sidebar/PageMarginControl.cxx
index d0f71e6..46eb396 100644
--- a/sw/source/uibase/sidebar/PageMarginControl.cxx
+++ b/sw/source/uibase/sidebar/PageMarginControl.cxx
@@ -138,7 +138,7 @@ PageMarginControl::~PageMarginControl()

void PageMarginControl::dispose()
{
    delete mpMarginValueSet;
    mpMarginValueSet.clear();

    StoreUserCustomValues();

diff --git a/sw/source/uibase/sidebar/PageMarginControl.hxx b/sw/source/uibase/sidebar/PageMarginControl.hxx
index 8ab4c1b..f6d8d28 100644
--- a/sw/source/uibase/sidebar/PageMarginControl.hxx
+++ b/sw/source/uibase/sidebar/PageMarginControl.hxx
@@ -64,7 +64,7 @@ public:
    virtual void dispose() SAL_OVERRIDE;

private:
    ::svx::sidebar::ValueSetWithTextControl* mpMarginValueSet;
    VclPtr<::svx::sidebar::ValueSetWithTextControl> mpMarginValueSet;

    VclPtr<FixedText> maCustom;
    VclPtr<FixedText> maLeft;
diff --git a/sw/source/uibase/sidebar/PageOrientationControl.cxx b/sw/source/uibase/sidebar/PageOrientationControl.cxx
index 96494e6..c4d9357 100644
--- a/sw/source/uibase/sidebar/PageOrientationControl.cxx
+++ b/sw/source/uibase/sidebar/PageOrientationControl.cxx
@@ -68,7 +68,7 @@ PageOrientationControl::~PageOrientationControl(void)

void PageOrientationControl::dispose()
{
    delete mpOrientationValueSet;
    mpOrientationValueSet.clear();
    ::svx::sidebar::PopupControl::dispose();
}

diff --git a/sw/source/uibase/sidebar/PageOrientationControl.hxx b/sw/source/uibase/sidebar/PageOrientationControl.hxx
index 2f86a48d..2bf1f67 100644
--- a/sw/source/uibase/sidebar/PageOrientationControl.hxx
+++ b/sw/source/uibase/sidebar/PageOrientationControl.hxx
@@ -41,7 +41,7 @@ public:
    virtual void dispose() SAL_OVERRIDE;

private:
    ::svx::sidebar::ValueSetWithTextControl* mpOrientationValueSet;
    VclPtr<::svx::sidebar::ValueSetWithTextControl> mpOrientationValueSet;

    bool mbLandscape;

diff --git a/sw/source/uibase/sidebar/PagePropertyPanel.cxx b/sw/source/uibase/sidebar/PagePropertyPanel.cxx
index 13db321..1ce8f61 100644
--- a/sw/source/uibase/sidebar/PagePropertyPanel.cxx
+++ b/sw/source/uibase/sidebar/PagePropertyPanel.cxx
@@ -215,6 +215,10 @@ void PagePropertyPanel::dispose()
    mpPageULMarginItem.reset();
    mpPageSizeItem.reset();

    mpToolBoxOrientation.clear();
    mpToolBoxMargin.clear();
    mpToolBoxSize.clear();
    mpToolBoxColumn.clear();
    PanelLayout::dispose();
}

diff --git a/sw/source/uibase/sidebar/PagePropertyPanel.hxx b/sw/source/uibase/sidebar/PagePropertyPanel.hxx
index b2c0d6c..f9dd2c0 100644
--- a/sw/source/uibase/sidebar/PagePropertyPanel.hxx
+++ b/sw/source/uibase/sidebar/PagePropertyPanel.hxx
@@ -108,10 +108,10 @@ namespace sw { namespace sidebar {
        SfxBindings* mpBindings;

        // toolboxes - on click open corresponding popup
        ToolBox*                mpToolBoxOrientation;
        ToolBox*                mpToolBoxMargin;
        ToolBox*                mpToolBoxSize;
        ToolBox*                mpToolBoxColumn;
        VclPtr<ToolBox>                mpToolBoxOrientation;
        VclPtr<ToolBox>                mpToolBoxMargin;
        VclPtr<ToolBox>                mpToolBoxSize;
        VclPtr<ToolBox>                mpToolBoxColumn;

        Image*                  maImgSize;
        Image*                  maImgSize_L;
diff --git a/sw/source/uibase/sidebar/PageSizeControl.cxx b/sw/source/uibase/sidebar/PageSizeControl.cxx
index 5763508..0906c8f 100644
--- a/sw/source/uibase/sidebar/PageSizeControl.cxx
+++ b/sw/source/uibase/sidebar/PageSizeControl.cxx
@@ -148,7 +148,7 @@ PageSizeControl::~PageSizeControl()

void PageSizeControl::dispose()
{
    delete mpSizeValueSet;
    mpSizeValueSet.clear();
    maMoreButton.disposeAndClear();
    maWidthHeightField.disposeAndClear();
    ::svx::sidebar::PopupControl::dispose();
diff --git a/sw/source/uibase/sidebar/PageSizeControl.hxx b/sw/source/uibase/sidebar/PageSizeControl.hxx
index 5377655..91f63ce 100644
--- a/sw/source/uibase/sidebar/PageSizeControl.hxx
+++ b/sw/source/uibase/sidebar/PageSizeControl.hxx
@@ -51,7 +51,7 @@ public:
    virtual void dispose() SAL_OVERRIDE;

private:
    ::svx::sidebar::ValueSetWithTextControl* mpSizeValueSet;
    VclPtr<::svx::sidebar::ValueSetWithTextControl> mpSizeValueSet;
    VclPtr<PushButton> maMoreButton;
    // hidden metric field
    VclPtr<MetricField> maWidthHeightField;
diff --git a/sw/source/uibase/sidebar/WrapPropertyPanel.cxx b/sw/source/uibase/sidebar/WrapPropertyPanel.cxx
index 9c72049..d1fffd6 100644
--- a/sw/source/uibase/sidebar/WrapPropertyPanel.cxx
+++ b/sw/source/uibase/sidebar/WrapPropertyPanel.cxx
@@ -89,6 +89,18 @@ WrapPropertyPanel::WrapPropertyPanel(

WrapPropertyPanel::~WrapPropertyPanel()
{
    dispose();
}

void WrapPropertyPanel::dispose()
{
    mpRBNoWrap.clear();
    mpRBWrapLeft.clear();
    mpRBWrapRight.clear();
    mpRBWrapParallel.clear();
    mpRBWrapThrough.clear();
    mpRBIdealWrap.clear();
    PanelLayout::dispose();
}

void WrapPropertyPanel::Initialize()
diff --git a/sw/source/uibase/sidebar/WrapPropertyPanel.hxx b/sw/source/uibase/sidebar/WrapPropertyPanel.hxx
index d1c5339..c64b133 100644
--- a/sw/source/uibase/sidebar/WrapPropertyPanel.hxx
+++ b/sw/source/uibase/sidebar/WrapPropertyPanel.hxx
@@ -47,23 +47,24 @@ namespace sw { namespace sidebar {
            const SfxPoolItem* pState,
            const bool bIsEnabled) SAL_OVERRIDE;

        virtual ~WrapPropertyPanel();
        virtual void dispose() SAL_OVERRIDE;
    private:
        WrapPropertyPanel(
            vcl::Window* pParent,
            const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rxFrame,
            SfxBindings* pBindings );

        virtual ~WrapPropertyPanel();

        ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > mxFrame;
        SfxBindings* mpBindings;

        RadioButton* mpRBNoWrap;
        RadioButton* mpRBWrapLeft;
        RadioButton* mpRBWrapRight;
        RadioButton* mpRBWrapParallel;
        RadioButton* mpRBWrapThrough;
        RadioButton* mpRBIdealWrap;
        VclPtr<RadioButton> mpRBNoWrap;
        VclPtr<RadioButton> mpRBWrapLeft;
        VclPtr<RadioButton> mpRBWrapRight;
        VclPtr<RadioButton> mpRBWrapParallel;
        VclPtr<RadioButton> mpRBWrapThrough;
        VclPtr<RadioButton> mpRBIdealWrap;

        //Image resource.
        ImageList aWrapIL;
diff --git a/sw/source/uibase/table/tablepg.hxx b/sw/source/uibase/table/tablepg.hxx
index f89d66e..b0ca2e5 100644
--- a/sw/source/uibase/table/tablepg.hxx
+++ b/sw/source/uibase/table/tablepg.hxx
@@ -37,29 +37,29 @@ struct TColumn

class SwFormatTablePage : public SfxTabPage
{
    Edit*           m_pNameED;
    VclPtr<Edit>           m_pNameED;
    TextFilter      m_aTextFilter;
    FixedText*      m_pWidthFT;
    VclPtr<FixedText>      m_pWidthFT;
    PercentField m_aWidthMF;
    CheckBox*       m_pRelWidthCB;
    VclPtr<CheckBox>       m_pRelWidthCB;

    RadioButton*    m_pFullBtn;
    RadioButton*    m_pLeftBtn;
    RadioButton*    m_pFromLeftBtn;
    RadioButton*    m_pRightBtn;
    RadioButton*    m_pCenterBtn;
    RadioButton*    m_pFreeBtn;
    VclPtr<RadioButton>    m_pFullBtn;
    VclPtr<RadioButton>    m_pLeftBtn;
    VclPtr<RadioButton>    m_pFromLeftBtn;
    VclPtr<RadioButton>    m_pRightBtn;
    VclPtr<RadioButton>    m_pCenterBtn;
    VclPtr<RadioButton>    m_pFreeBtn;

    FixedText*      m_pLeftFT;
    VclPtr<FixedText>      m_pLeftFT;
    PercentField m_aLeftMF;
    FixedText*      m_pRightFT;
    VclPtr<FixedText>      m_pRightFT;
    PercentField m_aRightMF;
    FixedText*      m_pTopFT;
    MetricField*    m_pTopMF;
    FixedText*      m_pBottomFT;
    MetricField*    m_pBottomMF;
    VclPtr<FixedText>      m_pTopFT;
    VclPtr<MetricField>    m_pTopMF;
    VclPtr<FixedText>      m_pBottomFT;
    VclPtr<MetricField>    m_pBottomMF;

    ListBox*        m_pTextDirectionLB;
    VclPtr<ListBox>        m_pTextDirectionLB;

    SwTableRep*     pTblData;
    SwTwips         nSaveWidth;
@@ -81,6 +81,8 @@ class SwFormatTablePage : public SfxTabPage

public:
    SwFormatTablePage( vcl::Window* pParent, const SfxItemSet& rSet );
    virtual ~SwFormatTablePage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rAttrSet);
    virtual bool        FillItemSet( SfxItemSet* rSet ) SAL_OVERRIDE;
@@ -94,16 +96,16 @@ public:

class SwTableColumnPage : public SfxTabPage
{
    CheckBox*       m_pModifyTableCB;
    CheckBox*       m_pProportionalCB;
    FixedText*      m_pSpaceFT;
    MetricField*    m_pSpaceED;
    PushButton*     m_pUpBtn;
    PushButton*     m_pDownBtn;
    VclPtr<CheckBox>       m_pModifyTableCB;
    VclPtr<CheckBox>       m_pProportionalCB;
    VclPtr<FixedText>      m_pSpaceFT;
    VclPtr<MetricField>    m_pSpaceED;
    VclPtr<PushButton>     m_pUpBtn;
    VclPtr<PushButton>     m_pDownBtn;

    SwTableRep*     pTblData;
    PercentField  m_aFieldArr[MET_FIELDS];
    FixedText*      m_pTextArr[MET_FIELDS];
    VclPtr<FixedText>      m_pTextArr[MET_FIELDS];
    SwTwips         nTableWidth;
    SwTwips         nMinWidth;
    sal_uInt16          nNoOfCols;
@@ -131,6 +133,7 @@ class SwTableColumnPage : public SfxTabPage
public:
    SwTableColumnPage( vcl::Window* pParent, const SfxItemSet& rSet );
    virtual ~SwTableColumnPage();
    virtual void dispose() SAL_OVERRIDE;

    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rAttrSet);
    virtual bool        FillItemSet( SfxItemSet* rSet ) SAL_OVERRIDE;
@@ -142,27 +145,27 @@ public:

class SwTextFlowPage : public SfxTabPage
{
    CheckBox*       m_pPgBrkCB;
    VclPtr<CheckBox>       m_pPgBrkCB;

    RadioButton*    m_pPgBrkRB;
    RadioButton*    m_pColBrkRB;
    VclPtr<RadioButton>    m_pPgBrkRB;
    VclPtr<RadioButton>    m_pColBrkRB;

    RadioButton*    m_pPgBrkBeforeRB;
    RadioButton*    m_pPgBrkAfterRB;
    VclPtr<RadioButton>    m_pPgBrkBeforeRB;
    VclPtr<RadioButton>    m_pPgBrkAfterRB;

    CheckBox*       m_pPageCollCB;
    ListBox*        m_pPageCollLB;
    FixedText*      m_pPageNoFT;
    NumericField*   m_pPageNoNF;
    CheckBox*       m_pSplitCB;
    TriStateBox*    m_pSplitRowCB;
    CheckBox*       m_pKeepCB;
    CheckBox*       m_pHeadLineCB;
    NumericField*   m_pRepeatHeaderNF;
    VclContainer*   m_pRepeatHeaderCombo;
    ListBox*        m_pTextDirectionLB;
    VclPtr<CheckBox>       m_pPageCollCB;
    VclPtr<ListBox>        m_pPageCollLB;
    VclPtr<FixedText>      m_pPageNoFT;
    VclPtr<NumericField>   m_pPageNoNF;
    VclPtr<CheckBox>       m_pSplitCB;
    VclPtr<TriStateBox>    m_pSplitRowCB;
    VclPtr<CheckBox>       m_pKeepCB;
    VclPtr<CheckBox>       m_pHeadLineCB;
    VclPtr<NumericField>   m_pRepeatHeaderNF;
    VclPtr<VclContainer>   m_pRepeatHeaderCombo;
    VclPtr<ListBox>        m_pTextDirectionLB;

    ListBox*        m_pVertOrientLB;
    VclPtr<ListBox>        m_pVertOrientLB;

    SwWrtShell*     pShell;

@@ -178,9 +181,9 @@ class SwTextFlowPage : public SfxTabPage
    DECL_LINK( HeadLineCBClickHdl, void* p = 0 );

    SwTextFlowPage( vcl::Window* pParent, const SfxItemSet& rSet );
    virtual ~SwTextFlowPage();

public:
    virtual ~SwTextFlowPage();
    virtual void dispose() SAL_OVERRIDE;
    static SfxTabPage*  Create( vcl::Window* pParent, const SfxItemSet* rAttrSet);
    virtual bool        FillItemSet( SfxItemSet* rSet ) SAL_OVERRIDE;
    virtual void        Reset( const SfxItemSet* rSet ) SAL_OVERRIDE;
diff --git a/sw/source/uibase/uiview/pview.cxx b/sw/source/uibase/uiview/pview.cxx
index fa80f75..ccd5cb1 100644
--- a/sw/source/uibase/uiview/pview.cxx
+++ b/sw/source/uibase/uiview/pview.cxx
@@ -145,13 +145,15 @@ static void lcl_InvalidateZoomSlots(SfxBindings& rBindings)
// At first the zoom dialog
class SwPreviewZoomDlg : public SvxStandardDialog
{
    NumericField* m_pRowEdit;
    NumericField* m_pColEdit;
    VclPtr<NumericField> m_pRowEdit;
    VclPtr<NumericField> m_pColEdit;

    virtual void  Apply() SAL_OVERRIDE;

public:
    SwPreviewZoomDlg( SwPagePreviewWin& rParent );
    virtual ~SwPreviewZoomDlg();
    virtual void dispose() SAL_OVERRIDE;
};

SwPreviewZoomDlg::SwPreviewZoomDlg( SwPagePreviewWin& rParent )
@@ -164,6 +166,18 @@ SwPreviewZoomDlg::SwPreviewZoomDlg( SwPagePreviewWin& rParent )
    m_pColEdit->SetValue( rParent.GetCol() );
}

SwPreviewZoomDlg::~SwPreviewZoomDlg()
{
    dispose();
}

void SwPreviewZoomDlg::dispose()
{
    m_pRowEdit.clear();
    m_pColEdit.clear();
    SvxStandardDialog::dispose();
}

void  SwPreviewZoomDlg::Apply()
{
    static_cast<SwPagePreviewWin*>(GetParent())->CalcWish(
@@ -1224,11 +1238,6 @@ SwPagePreview::~SwPagePreview()
    SwViewShell* pVShell =  pViewWin->GetViewShell();
    pVShell->SetWin(0);
    delete pVShell;
    delete pViewWin;

    delete pScrollFill;
    delete pHScrollbar;
    delete pVScrollbar;
}

SwDocShell* SwPagePreview::GetDocShell()
@@ -1239,20 +1248,20 @@ SwDocShell* SwPagePreview::GetDocShell()
int SwPagePreview::_CreateScrollbar( bool bHori )
{
    vcl::Window *pMDI = &GetViewFrame()->GetWindow();
    SwScrollbar** ppScrollbar = bHori ? &pHScrollbar : &pVScrollbar;
    VclPtr<SwScrollbar>& ppScrollbar = bHori ? pHScrollbar : pVScrollbar;

    assert(!*ppScrollbar); //check beforehand!
    assert(!ppScrollbar.get()); //check beforehand!

    *ppScrollbar = new SwScrollbar( pMDI, bHori );
    ppScrollbar = new SwScrollbar( pMDI, bHori );

    ScrollDocSzChg();
    (*ppScrollbar)->EnableDrag( true );
    (*ppScrollbar)->SetEndScrollHdl( LINK( this, SwPagePreview, EndScrollHdl ));
    ppScrollbar->EnableDrag( true );
    ppScrollbar->SetEndScrollHdl( LINK( this, SwPagePreview, EndScrollHdl ));

    (*ppScrollbar)->SetScrollHdl( LINK( this, SwPagePreview, ScrollHdl ));
    ppScrollbar->SetScrollHdl( LINK( this, SwPagePreview, ScrollHdl ));

    InvalidateBorder();
    (*ppScrollbar)->ExtendedShow();
    ppScrollbar->ExtendedShow();
    return 1;
}

diff --git a/sw/source/uibase/uiview/view.cxx b/sw/source/uibase/uiview/view.cxx
index 8c16a79..350cf29 100644
--- a/sw/source/uibase/uiview/view.cxx
+++ b/sw/source/uibase/uiview/view.cxx
@@ -1051,18 +1051,18 @@ SwView::~SwView()
    m_pViewImpl->Invalidate();
    EndListening(*GetViewFrame());
    EndListening(*GetDocShell());
    delete m_pScrollFill;
    m_pScrollFill.clear();
    delete m_pWrtShell;
    m_pWrtShell = 0;      // Set to 0, so that it is not accessible by the following dtors cannot.
    m_pShell = 0;
    delete m_pHScrollbar;
    delete m_pVScrollbar;
    delete m_pHRuler;
    delete m_pVRuler;
    delete m_pTogglePageBtn;
    m_pHScrollbar.clear();
    m_pVScrollbar.clear();
    m_pHRuler.clear();
    m_pVRuler.clear();
    m_pTogglePageBtn.clear();
    delete m_pGlosHdl;
    delete m_pViewImpl;
    delete m_pEditWin;
    m_pEditWin.clear();
    delete m_pFormatClipboard;
}

diff --git a/sw/source/uibase/uiview/viewling.cxx b/sw/source/uibase/uiview/viewling.cxx
index 001f48d..98a9da9 100644
--- a/sw/source/uibase/uiview/viewling.cxx
+++ b/sw/source/uibase/uiview/viewling.cxx
@@ -888,11 +888,7 @@ IMPL_LINK( SwFieldDialog, MyListBoxHandler, ListBox *, pBox )

IMPL_LINK_NOARG(SwView, FieldPopupModeEndHdl)
{
    if ( m_pFieldPopup )
    {
        delete m_pFieldPopup;
        m_pFieldPopup = NULL;
    }
    m_pFieldPopup.clear();
    return 0;
}

diff --git a/sw/source/uibase/uiview/viewmdi.cxx b/sw/source/uibase/uiview/viewmdi.cxx
index 8d63bcb..11c4a57 100644
--- a/sw/source/uibase/uiview/viewmdi.cxx
+++ b/sw/source/uibase/uiview/viewmdi.cxx
@@ -290,25 +290,25 @@ IMPL_LINK( SwView, WindowChildEventListener, VclSimpleEvent*, pEvent )
int SwView::_CreateScrollbar( bool bHori )
{
    vcl::Window *pMDI = &GetViewFrame()->GetWindow();
    SwScrollbar** ppScrollbar = bHori ? &m_pHScrollbar : &m_pVScrollbar;
    VclPtr<SwScrollbar>& ppScrollbar = bHori ? m_pHScrollbar : m_pVScrollbar;

    assert(!*ppScrollbar); //check beforehand!
    assert(!ppScrollbar.get()); //check beforehand!

    *ppScrollbar = new SwScrollbar( pMDI, bHori );
    ppScrollbar = new SwScrollbar( pMDI, bHori );
    UpdateScrollbars();
    if(bHori)
        (*ppScrollbar)->SetScrollHdl( LINK( this, SwView, EndScrollHdl ));
        ppScrollbar->SetScrollHdl( LINK( this, SwView, EndScrollHdl ));
    else
        (*ppScrollbar)->SetScrollHdl( LINK( this, SwView, ScrollHdl ));
    (*ppScrollbar)->SetEndScrollHdl( LINK( this, SwView, EndScrollHdl ));
        ppScrollbar->SetScrollHdl( LINK( this, SwView, ScrollHdl ));
    ppScrollbar->SetEndScrollHdl( LINK( this, SwView, EndScrollHdl ));

    (*ppScrollbar)->EnableDrag( true );
    ppScrollbar->EnableDrag( true );

    if(GetWindow())
        InvalidateBorder();

    if (!m_bShowAtResize)
        (*ppScrollbar)->ExtendedShow();
        ppScrollbar->ExtendedShow();

    return 1;
}
diff --git a/sw/source/uibase/utlui/content.cxx b/sw/source/uibase/utlui/content.cxx
index 7a589c0..3220307 100644
--- a/sw/source/uibase/utlui/content.cxx
+++ b/sw/source/uibase/utlui/content.cxx
@@ -91,6 +91,7 @@
#include <unomid.h>

#include "navmgr.hxx"
#include "SidebarWin.hxx"
#include <boost/scoped_ptr.hpp>

#define CTYPE_CNT   0
diff --git a/sw/source/uibase/utlui/glbltree.cxx b/sw/source/uibase/utlui/glbltree.cxx
index 718fa2c..7a9fafe 100644
--- a/sw/source/uibase/utlui/glbltree.cxx
+++ b/sw/source/uibase/utlui/glbltree.cxx
@@ -187,6 +187,7 @@ void SwGlobalTree::dispose()
{
    delete pSwGlblDocContents;
    delete pDocInserter;
    pDefParentWin.clear();
    SvTreeListBox::dispose();
}

diff --git a/sw/source/uibase/utlui/gloslst.cxx b/sw/source/uibase/utlui/gloslst.cxx
index 4951847..1e4e794 100644
--- a/sw/source/uibase/utlui/gloslst.cxx
+++ b/sw/source/uibase/utlui/gloslst.cxx
@@ -51,14 +51,17 @@ struct TripleString

class SwGlossDecideDlg : public ModalDialog
{
    OKButton* m_pOk;
    ListBox*  m_pListLB;
    VclPtr<OKButton> m_pOk;
    VclPtr<ListBox>  m_pListLB;

    DECL_LINK(DoubleClickHdl, void*);
    DECL_LINK(SelectHdl, void*);

    public:
        SwGlossDecideDlg(vcl::Window* pParent);
public:
    SwGlossDecideDlg(vcl::Window* pParent);
    virtual ~SwGlossDecideDlg();
    virtual void dispose() SAL_OVERRIDE;

    ListBox&    GetListBox() {return *m_pListLB;}
};

@@ -73,6 +76,18 @@ SwGlossDecideDlg::SwGlossDecideDlg(vcl::Window* pParent)
    m_pListLB->SetSelectHdl(LINK(this, SwGlossDecideDlg, SelectHdl));
}

SwGlossDecideDlg::~SwGlossDecideDlg()
{
    dispose();
}

void SwGlossDecideDlg::dispose()
{
    m_pOk.clear();
    m_pListLB.clear();
    ModalDialog::dispose();
}

IMPL_LINK_NOARG(SwGlossDecideDlg, DoubleClickHdl)
{
    EndDialog(RET_OK);
diff --git a/sw/source/uibase/utlui/navipi.cxx b/sw/source/uibase/utlui/navipi.cxx
index 504e392..c1fbaec 100644
--- a/sw/source/uibase/utlui/navipi.cxx
+++ b/sw/source/uibase/utlui/navipi.cxx
@@ -867,12 +867,12 @@ void SwNavigationPI::dispose()
            (*pxObjectShell)->DoClose();
        delete pxObjectShell;
    }
    delete pPopupWindow;
    delete pFloatingWindow;

    if ( IsBound() )
        rBindings.Release(*this);

    pPopupWindow.clear();
    pFloatingWindow.clear();
    aContentToolBox.disposeAndClear();
    aGlobalToolBox.disposeAndClear();
    aContentTree.disposeAndClear();
@@ -894,7 +894,6 @@ IMPL_LINK_NOARG(SwNavigationPI, PopupModeEndHdl)
    {
        // Replace floating window with popup window and destroy
        // floating window instance.
        delete pFloatingWindow;
        pFloatingWindow = pPopupWindow;
        pPopupWindow    = 0;
    }
diff --git a/tools/source/ref/errinf.cxx b/tools/source/ref/errinf.cxx
index 0ddbafd..babe0ac 100644
--- a/tools/source/ref/errinf.cxx
+++ b/tools/source/ref/errinf.cxx
@@ -23,6 +23,7 @@
#include <tools/errinf.hxx>
#include <rtl/strbuf.hxx>
#include <osl/diagnose.h>
#include <vcl/window.hxx>

class ErrorHandler;

diff --git a/uui/source/authfallbackdlg.cxx b/uui/source/authfallbackdlg.cxx
index eac0d30..0f568fc 100644
--- a/uui/source/authfallbackdlg.cxx
+++ b/uui/source/authfallbackdlg.cxx
@@ -32,6 +32,21 @@ AuthFallbackDlg::AuthFallbackDlg(Window* pParent, const OUString& instructions,
    m_pEDUrl->SetText( url );
}

AuthFallbackDlg::~AuthFallbackDlg()
{
    dispose();
}

void AuthFallbackDlg::dispose()
{
    m_pTVInstructions.clear();
    m_pEDUrl.clear();
    m_pEDCode.clear();
    m_pBTOk.clear();
    m_pBTCancel.clear();
    ModalDialog::dispose();
}

IMPL_LINK ( AuthFallbackDlg,  OKHdl, Button *, EMPTYARG )
{
    EndDialog( RET_OK );
diff --git a/uui/source/authfallbackdlg.hxx b/uui/source/authfallbackdlg.hxx
index d73eebf..29634d1 100644
--- a/uui/source/authfallbackdlg.hxx
+++ b/uui/source/authfallbackdlg.hxx
@@ -19,15 +19,17 @@
class AuthFallbackDlg : public ModalDialog
{
private:
    VclMultiLineEdit* m_pTVInstructions;
    Edit* m_pEDUrl;
    Edit* m_pEDCode;
    PushButton* m_pBTOk;
    PushButton* m_pBTCancel;
    VclPtr<VclMultiLineEdit> m_pTVInstructions;
    VclPtr<Edit> m_pEDUrl;
    VclPtr<Edit> m_pEDCode;
    VclPtr<PushButton> m_pBTOk;
    VclPtr<PushButton> m_pBTCancel;

public:
    AuthFallbackDlg(Window* pParent, const OUString& instructions,
                    const OUString& url);
    virtual ~AuthFallbackDlg();
    virtual void dispose() SAL_OVERRIDE;

    OUString GetCode() const { return m_pEDCode->GetText(); }

diff --git a/uui/source/fltdlg.cxx b/uui/source/fltdlg.cxx
index a24a34e..ca0ef80 100644
--- a/uui/source/fltdlg.cxx
+++ b/uui/source/fltdlg.cxx
@@ -57,6 +57,18 @@ FilterDialog::FilterDialog( vcl::Window* pParentWindow )
    m_pFtURL->SetSizePixel(Size(aSize.Width(), m_pFtURL->GetOptimalSize().Height()));
}

FilterDialog::~FilterDialog()
{
    dispose();
}

void FilterDialog::dispose()
{
    m_pFtURL.clear();
    m_pLbFilters.clear();
    ModalDialog::dispose();
}

/*-************************************************************************************************************
    @short      set file name on dialog control
    @descr      We convert given URL (it must be an URL!) into valid file name and show it on our dialog.
diff --git a/uui/source/fltdlg.hxx b/uui/source/fltdlg.hxx
index 6c24544..958ad99 100644
--- a/uui/source/fltdlg.hxx
+++ b/uui/source/fltdlg.hxx
@@ -47,6 +47,8 @@ class FilterDialog : public ModalDialog
    // public interface
    public:
             FilterDialog (       vcl::Window*            pParentWindow  );
        virtual ~FilterDialog();
        virtual void dispose() SAL_OVERRIDE;
        void SetURL       ( const OUString&          sURL           );
        void ChangeFilters( const FilterNameList*    pFilterNames   );
        bool AskForFilter (       FilterNameListPtr& pSelectedItem  );
@@ -58,8 +60,8 @@ class FilterDialog : public ModalDialog

    // member
    private:
              FixedText       *m_pFtURL       ;
              ListBox         *m_pLbFilters   ;
              VclPtr<FixedText>       m_pFtURL       ;
              VclPtr<ListBox>         m_pLbFilters   ;
        const FilterNameList* m_pFilterNames;

};  // class FilterDialog
diff --git a/uui/source/logindlg.cxx b/uui/source/logindlg.cxx
index c28e170..facfdf6 100644
--- a/uui/source/logindlg.cxx
+++ b/uui/source/logindlg.cxx
@@ -36,6 +36,31 @@

using namespace com::sun::star;

LoginDialog::~LoginDialog()
{
    dispose();
}

void LoginDialog::dispose()
{
    m_pErrorFT.clear();
    m_pErrorInfo.clear();
    m_pRequestInfo.clear();
    m_pPathFT.clear();
    m_pPathED.clear();
    m_pPathBtn.clear();
    m_pNameFT.clear();
    m_pNameED.clear();
    m_pPasswordFT.clear();
    m_pPasswordED.clear();
    m_pAccountFT.clear();
    m_pAccountED.clear();
    m_pSavePasswdBtn.clear();
    m_pUseSysCredsCB.clear();
    m_pOKBtn.clear();
    ModalDialog::dispose();
}

void LoginDialog::HideControls_Impl( sal_uInt16 nFlags )
{
    if ( ( nFlags & LF_NO_PATH ) == LF_NO_PATH )
diff --git a/uui/source/logindlg.hxx b/uui/source/logindlg.hxx
index 0cd7eb6..cc32d5e 100644
--- a/uui/source/logindlg.hxx
+++ b/uui/source/logindlg.hxx
@@ -43,21 +43,21 @@

class LoginDialog : public ModalDialog
{
    FixedText*      m_pErrorFT;
    FixedText*      m_pErrorInfo;
    FixedText*      m_pRequestInfo;
    FixedText*      m_pPathFT;
    Edit*           m_pPathED;
    PushButton*     m_pPathBtn;
    FixedText*      m_pNameFT;
    Edit*           m_pNameED;
    FixedText*      m_pPasswordFT;
    Edit*           m_pPasswordED;
    FixedText*      m_pAccountFT;
    Edit*           m_pAccountED;
    CheckBox*       m_pSavePasswdBtn;
    CheckBox*       m_pUseSysCredsCB;
    OKButton*       m_pOKBtn;
    VclPtr<FixedText>      m_pErrorFT;
    VclPtr<FixedText>      m_pErrorInfo;
    VclPtr<FixedText>      m_pRequestInfo;
    VclPtr<FixedText>      m_pPathFT;
    VclPtr<Edit>           m_pPathED;
    VclPtr<PushButton>     m_pPathBtn;
    VclPtr<FixedText>      m_pNameFT;
    VclPtr<Edit>           m_pNameED;
    VclPtr<FixedText>      m_pPasswordFT;
    VclPtr<Edit>           m_pPasswordED;
    VclPtr<FixedText>      m_pAccountFT;
    VclPtr<Edit>           m_pAccountED;
    VclPtr<CheckBox>       m_pSavePasswdBtn;
    VclPtr<CheckBox>       m_pUseSysCredsCB;
    VclPtr<OKButton>       m_pOKBtn;

    void            HideControls_Impl( sal_uInt16 nFlags );
    void            EnableUseSysCredsControls_Impl( bool bUseSysCredsEnabled );
@@ -69,6 +69,8 @@ class LoginDialog : public ModalDialog
public:
    LoginDialog(vcl::Window* pParent, sal_uInt16 nFlags,
        const OUString& rServer, const OUString &rRealm);
    virtual ~LoginDialog();
    virtual void dispose() SAL_OVERRIDE;

    OUString        GetPath() const                             { return m_pPathED->GetText(); }
    void            SetPath( const OUString& rNewPath )           { m_pPathED->SetText( rNewPath ); }
diff --git a/uui/source/masterpasscrtdlg.cxx b/uui/source/masterpasscrtdlg.cxx
index f54078a..9528901 100644
--- a/uui/source/masterpasscrtdlg.cxx
+++ b/uui/source/masterpasscrtdlg.cxx
@@ -63,4 +63,17 @@ MasterPasswordCreateDialog::MasterPasswordCreateDialog(vcl::Window* pParent, Res
    m_pEDMasterPasswordCrt->SetModifyHdl( LINK( this, MasterPasswordCreateDialog, EditHdl_Impl ) );
}

MasterPasswordCreateDialog::~MasterPasswordCreateDialog()
{
    dispose();
}

void MasterPasswordCreateDialog::dispose()
{
    m_pEDMasterPasswordCrt.clear();
    m_pEDMasterPasswordRepeat.clear();
    m_pOKBtn.clear();
    ModalDialog::dispose();
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/uui/source/masterpasscrtdlg.hxx b/uui/source/masterpasscrtdlg.hxx
index 31e9eb6..b8279fc 100644
--- a/uui/source/masterpasscrtdlg.hxx
+++ b/uui/source/masterpasscrtdlg.hxx
@@ -32,9 +32,9 @@
class MasterPasswordCreateDialog : public ModalDialog
{
private:
    Edit*     m_pEDMasterPasswordCrt;
    Edit*     m_pEDMasterPasswordRepeat;
    OKButton* m_pOKBtn;
    VclPtr<Edit>     m_pEDMasterPasswordCrt;
    VclPtr<Edit>     m_pEDMasterPasswordRepeat;
    VclPtr<OKButton> m_pOKBtn;


    DECL_LINK(OKHdl_Impl, void *);
@@ -42,6 +42,8 @@ private:

public:
    MasterPasswordCreateDialog( vcl::Window* pParent, ResMgr * pResMgr );
    virtual ~MasterPasswordCreateDialog();
    virtual void dispose() SAL_OVERRIDE;

    OUString GetMasterPassword() const { return m_pEDMasterPasswordCrt->GetText(); }

diff --git a/uui/source/masterpassworddlg.cxx b/uui/source/masterpassworddlg.cxx
index 0b219a6..7a10b30 100644
--- a/uui/source/masterpassworddlg.cxx
+++ b/uui/source/masterpassworddlg.cxx
@@ -56,4 +56,16 @@ MasterPasswordDialog::MasterPasswordDialog
    m_pOKBtn->SetClickHdl( LINK( this, MasterPasswordDialog, OKHdl_Impl ) );
};

MasterPasswordDialog::~MasterPasswordDialog()
{
    dispose();
}

void MasterPasswordDialog::dispose()
{
    m_pEDMasterPassword.clear();
    m_pOKBtn.clear();
    ModalDialog::dispose();
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/uui/source/masterpassworddlg.hxx b/uui/source/masterpassworddlg.hxx
index 4b834d4..1d37d0d 100644
--- a/uui/source/masterpassworddlg.hxx
+++ b/uui/source/masterpassworddlg.hxx
@@ -30,13 +30,15 @@

class MasterPasswordDialog : public ModalDialog
{
    Edit*     m_pEDMasterPassword;
    OKButton* m_pOKBtn;
    VclPtr<Edit>     m_pEDMasterPassword;
    VclPtr<OKButton> m_pOKBtn;

    DECL_LINK(OKHdl_Impl, void *);

public:
    MasterPasswordDialog( vcl::Window* pParent, ::com::sun::star::task::PasswordRequestMode nDlgMode, ResMgr * pResMgr );
    virtual ~MasterPasswordDialog();
    virtual void dispose() SAL_OVERRIDE;

    OUString        GetMasterPassword() const { return m_pEDMasterPassword->GetText(); }

diff --git a/uui/source/nameclashdlg.cxx b/uui/source/nameclashdlg.cxx
index 105ba87..4329dd6 100644
--- a/uui/source/nameclashdlg.cxx
+++ b/uui/source/nameclashdlg.cxx
@@ -94,4 +94,19 @@ NameClashDialog::NameClashDialog( vcl::Window* pParent, ResMgr* pResMgr,
        m_pEDNewName->SetText( rClashingName );
}

NameClashDialog::~NameClashDialog()
{
    dispose();
}

void NameClashDialog::dispose()
{
    m_pFTMessage.clear();
    m_pEDNewName.clear();
    m_pBtnOverwrite.clear();
    m_pBtnRename.clear();
    m_pBtnCancel.clear();
    ModalDialog::dispose();
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/uui/source/nameclashdlg.hxx b/uui/source/nameclashdlg.hxx
index 6185e99..545f581 100644
--- a/uui/source/nameclashdlg.hxx
+++ b/uui/source/nameclashdlg.hxx
@@ -31,11 +31,11 @@ enum NameClashResolveDialogResult { ABORT, RENAME, OVERWRITE };

class NameClashDialog : public ModalDialog
{
    FixedText     *m_pFTMessage;
    Edit          *m_pEDNewName;
    PushButton    *m_pBtnOverwrite;
    PushButton    *m_pBtnRename;
    CancelButton  *m_pBtnCancel;
    VclPtr<FixedText>     m_pFTMessage;
    VclPtr<Edit>          m_pEDNewName;
    VclPtr<PushButton>    m_pBtnOverwrite;
    VclPtr<PushButton>    m_pBtnRename;
    VclPtr<CancelButton>  m_pBtnCancel;

    OUString maSameName;
    OUString maNewName;
@@ -48,6 +48,8 @@ public:
                     OUString const & rClashingName,
                     OUString const & rProposedNewName,
                     bool bAllowOverwrite );
    virtual ~NameClashDialog();
    virtual void dispose() SAL_OVERRIDE;
    OUString getNewName() const { return maNewName; }
};

diff --git a/uui/source/passworddlg.cxx b/uui/source/passworddlg.cxx
index 421b846..c0872bc 100644
--- a/uui/source/passworddlg.cxx
+++ b/uui/source/passworddlg.cxx
@@ -82,6 +82,21 @@ PasswordDialog::PasswordDialog(vcl::Window* _pParent,
    m_pOKBtn->SetClickHdl( LINK( this, PasswordDialog, OKHdl_Impl ) );
}

PasswordDialog::~PasswordDialog()
{
    dispose();
}

void PasswordDialog::dispose()
{
    m_pFTPassword.clear();
    m_pEDPassword.clear();
    m_pFTConfirmPassword.clear();
    m_pEDConfirmPassword.clear();
    m_pOKBtn.clear();
    ModalDialog::dispose();
}

IMPL_LINK_NOARG(PasswordDialog, OKHdl_Impl)
{
    bool bEDPasswdValid = m_pEDPassword->GetText().getLength() >= nMinLen;
diff --git a/uui/source/passworddlg.hxx b/uui/source/passworddlg.hxx
index 3cec5ca..712bcfa 100644
--- a/uui/source/passworddlg.hxx
+++ b/uui/source/passworddlg.hxx
@@ -32,11 +32,11 @@

class PasswordDialog : public ModalDialog
{
    FixedText*      m_pFTPassword;
    Edit*           m_pEDPassword;
    FixedText*      m_pFTConfirmPassword;
    Edit*           m_pEDConfirmPassword;
    OKButton*       m_pOKBtn;
    VclPtr<FixedText>      m_pFTPassword;
    VclPtr<Edit>           m_pEDPassword;
    VclPtr<FixedText>      m_pFTConfirmPassword;
    VclPtr<Edit>           m_pEDConfirmPassword;
    VclPtr<OKButton>       m_pOKBtn;
    sal_uInt16      nMinLen;
    OUString        aPasswdMismatch;

@@ -46,6 +46,8 @@ class PasswordDialog : public ModalDialog
public:
    PasswordDialog( vcl::Window* pParent, ::com::sun::star::task::PasswordRequestMode nDlgMode, ResMgr * pResMgr, const OUString& aDocURL,
            bool bOpenToModify = false, bool bIsSimplePasswordRequest = false );
    virtual ~PasswordDialog();
    virtual void dispose() SAL_OVERRIDE;

    void            SetMinLen( sal_uInt16 nMin ) { nMinLen = nMin; }
    OUString        GetPassword() const { return m_pEDPassword->GetText(); }
diff --git a/uui/source/secmacrowarnings.cxx b/uui/source/secmacrowarnings.cxx
index 935ecf6..bde5dc28 100644
--- a/uui/source/secmacrowarnings.cxx
+++ b/uui/source/secmacrowarnings.cxx
@@ -89,6 +89,21 @@ MacroWarning::MacroWarning( vcl::Window* _pParent, bool _bWithSignatures, ResMgr

MacroWarning::~MacroWarning()
{
    dispose();
}

void MacroWarning::dispose()
{
    mpSymbolImg.clear();
    mpDocNameFI.clear();
    mpDescr1FI.clear();
    mpSignsFI.clear();
    mpViewSignsBtn.clear();
    mpDescr2FI.clear();
    mpAlwaysTrustCB.clear();
    mpEnableBtn.clear();
    mpDisableBtn.clear();
    ModalDialog::dispose();
}

void MacroWarning::SetDocumentURL( const OUString& rDocURL )
diff --git a/uui/source/secmacrowarnings.hxx b/uui/source/secmacrowarnings.hxx
index 84daaad..076916f 100644
--- a/uui/source/secmacrowarnings.hxx
+++ b/uui/source/secmacrowarnings.hxx
@@ -44,15 +44,15 @@ private:
    OUString                                 maODFVersion;
    const css::uno::Sequence< css::security::DocumentSignatureInformation >*    mpInfos;

    FixedImage*         mpSymbolImg;
    FixedText*          mpDocNameFI;
    FixedText*          mpDescr1FI;
    FixedText*          mpSignsFI;
    PushButton*         mpViewSignsBtn;
    FixedText*          mpDescr2FI;
    CheckBox*           mpAlwaysTrustCB;
    PushButton*         mpEnableBtn;
    PushButton*         mpDisableBtn;
    VclPtr<FixedImage>         mpSymbolImg;
    VclPtr<FixedText>          mpDocNameFI;
    VclPtr<FixedText>          mpDescr1FI;
    VclPtr<FixedText>          mpSignsFI;
    VclPtr<PushButton>         mpViewSignsBtn;
    VclPtr<FixedText>          mpDescr2FI;
    VclPtr<CheckBox>           mpAlwaysTrustCB;
    VclPtr<PushButton>         mpEnableBtn;
    VclPtr<PushButton>         mpDisableBtn;

    const bool          mbSignedMode;           // modus of dialog (signed / unsigned macros)
    const bool          mbShowSignatures;
@@ -68,6 +68,7 @@ private:
public:
    MacroWarning( vcl::Window* pParent, bool _bShowSignatures, ResMgr& rResMgr );
    virtual ~MacroWarning();
    virtual void dispose() SAL_OVERRIDE;

    void    SetDocumentURL( const OUString& rDocURL );

diff --git a/uui/source/unknownauthdlg.cxx b/uui/source/unknownauthdlg.cxx
index 34f706f..8a30bd5 100644
--- a/uui/source/unknownauthdlg.cxx
+++ b/uui/source/unknownauthdlg.cxx
@@ -75,4 +75,18 @@ UnknownAuthDialog::UnknownAuthDialog(vcl::Window* pParent,
    m_pCommandButtonOK->SetClickHdl(LINK(this, UnknownAuthDialog, OKHdl_Impl));
}

UnknownAuthDialog::~UnknownAuthDialog()
{
    dispose();
}

void UnknownAuthDialog::dispose()
{
    m_pCommandButtonOK.clear();
    m_pView_Certificate.clear();
    m_pOptionButtonAccept.clear();
    m_pOptionButtonDontAccept.clear();
    MessageDialog::dispose();
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/uui/source/unknownauthdlg.hxx b/uui/source/unknownauthdlg.hxx
index 0b8d1e6..2eafe5e 100644
--- a/uui/source/unknownauthdlg.hxx
+++ b/uui/source/unknownauthdlg.hxx
@@ -31,10 +31,10 @@
class UnknownAuthDialog : public MessageDialog
{
private:
    PushButton* m_pCommandButtonOK;
    PushButton* m_pView_Certificate;
    RadioButton* m_pOptionButtonAccept;
    RadioButton* m_pOptionButtonDontAccept;
    VclPtr<PushButton> m_pCommandButtonOK;
    VclPtr<PushButton> m_pView_Certificate;
    VclPtr<RadioButton> m_pOptionButtonAccept;
    VclPtr<RadioButton> m_pOptionButtonDontAccept;

    const css::uno::Reference< css::uno::XComponentContext >& m_xContext;
    const css::uno::Reference< css::security::XCertificate >& m_rXCert;
@@ -46,6 +46,8 @@ public:
    UnknownAuthDialog(vcl::Window* pParent,
        const css::uno::Reference< css::security::XCertificate >& rXCert,
        const css::uno::Reference< css::uno::XComponentContext >& xContext);
    virtual ~UnknownAuthDialog();
    virtual void dispose() SAL_OVERRIDE;

    css::uno::Reference< css::security::XCertificate > getCert()
    {
diff --git a/vcl/generic/print/genprnpsp.cxx b/vcl/generic/print/genprnpsp.cxx
index a6f4822..d8c1849 100644
--- a/vcl/generic/print/genprnpsp.cxx
+++ b/vcl/generic/print/genprnpsp.cxx
@@ -91,16 +91,24 @@ namespace
    class QueryString : public ModalDialog
    {
    private:
        OKButton*    m_pOKButton;
        FixedText*   m_pFixedText;
        Edit*        m_pEdit;
        OUString&    m_rReturnValue;
        VclPtr<OKButton>    m_pOKButton;
        VclPtr<FixedText>   m_pFixedText;
        VclPtr<Edit>        m_pEdit;
        OUString&           m_rReturnValue;

        DECL_LINK( ClickBtnHdl, Button* );

    public:
        // parent window, Query text, initial value
        QueryString(vcl::Window*, OUString &, OUString &);
        virtual ~QueryString() { dispose(); }
        virtual void dispose() SAL_OVERRIDE
        {
            m_pOKButton.clear();
            m_pFixedText.clear();
            m_pEdit.clear();
            ModalDialog::dispose();
        }
    };

    /*
diff --git a/vcl/generic/print/prtsetup.cxx b/vcl/generic/print/prtsetup.cxx
index a22f912..5783908 100644
--- a/vcl/generic/print/prtsetup.cxx
+++ b/vcl/generic/print/prtsetup.cxx
@@ -98,8 +98,11 @@ RTSDialog::~RTSDialog()

void RTSDialog::dispose()
{
    delete m_pPaperPage;
    delete m_pDevicePage;
    m_pTabControl.clear();
    m_pOKButton.clear();
    m_pCancelButton.clear();
    m_pPaperPage.clear();
    m_pDevicePage.clear();
    TabDialog::dispose();
}

@@ -191,6 +194,24 @@ RTSPaperPage::RTSPaperPage(RTSDialog* pParent)
    update();
}

RTSPaperPage::~RTSPaperPage()
{
    dispose();
}

void RTSPaperPage::dispose()
{
    m_pParent.clear();
    m_pPaperText.clear();
    m_pPaperBox.clear();
    m_pOrientBox.clear();
    m_pDuplexText.clear();
    m_pDuplexBox.clear();
    m_pSlotText.clear();
    m_pSlotBox.clear();
    TabPage::dispose();
}

void RTSPaperPage::update()
{
    const PPDKey* pKey      = NULL;
@@ -355,6 +376,23 @@ RTSDevicePage::RTSDevicePage( RTSDialog* pParent )
    }
}

RTSDevicePage::~RTSDevicePage()
{
    dispose();
}

void RTSDevicePage::dispose()
{
    m_pParent.clear();
    m_pPPDKeyBox.clear();
    m_pPPDValueBox.clear();
    m_pCustomEdit.clear();
    m_pLevelBox.clear();
    m_pSpaceBox.clear();
    m_pDepthBox.clear();
    TabPage::dispose();
}

sal_uLong RTSDevicePage::getDepth()
{
    sal_uInt16 nSelectPos = m_pDepthBox->GetSelectEntryPos();
diff --git a/vcl/generic/print/prtsetup.hxx b/vcl/generic/print/prtsetup.hxx
index 17852fc..67b6cd2 100644
--- a/vcl/generic/print/prtsetup.hxx
+++ b/vcl/generic/print/prtsetup.hxx
@@ -45,13 +45,13 @@ class RTSDialog : public TabDialog
    ::psp::PrinterInfo      m_aJobData;

    // controls
    TabControl*             m_pTabControl;
    OKButton*               m_pOKButton;
    CancelButton*           m_pCancelButton;
    VclPtr<TabControl>      m_pTabControl;
    VclPtr<OKButton>        m_pOKButton;
    VclPtr<CancelButton>    m_pCancelButton;

    // pages
    RTSPaperPage*           m_pPaperPage;
    RTSDevicePage*          m_pDevicePage;
    VclPtr<RTSPaperPage>    m_pPaperPage;
    VclPtr<RTSDevicePage>   m_pDevicePage;

    // some resources
    OUString                m_aInvalidString;
@@ -71,22 +71,24 @@ public:

class RTSPaperPage : public TabPage
{
    RTSDialog*          m_pParent;
    VclPtr<RTSDialog>          m_pParent;

    FixedText*          m_pPaperText;
    ListBox*            m_pPaperBox;
    VclPtr<FixedText>          m_pPaperText;
    VclPtr<ListBox>            m_pPaperBox;

    ListBox*            m_pOrientBox;
    VclPtr<ListBox>            m_pOrientBox;

    FixedText*          m_pDuplexText;
    ListBox*            m_pDuplexBox;
    VclPtr<FixedText>          m_pDuplexText;
    VclPtr<ListBox>            m_pDuplexBox;

    FixedText*          m_pSlotText;
    ListBox*            m_pSlotBox;
    VclPtr<FixedText>          m_pSlotText;
    VclPtr<ListBox>            m_pSlotBox;

    DECL_LINK( SelectHdl, ListBox* );
public:
    RTSPaperPage( RTSDialog* );
    virtual ~RTSPaperPage();
    virtual void dispose() SAL_OVERRIDE;

    void update();

@@ -95,16 +97,16 @@ public:

class RTSDevicePage : public TabPage
{
    RTSDialog*          m_pParent;
    VclPtr<RTSDialog>          m_pParent;

    ListBox*            m_pPPDKeyBox;
    ListBox*            m_pPPDValueBox;
    VclPtr<ListBox>            m_pPPDKeyBox;
    VclPtr<ListBox>            m_pPPDValueBox;
    const psp::PPDValue* m_pCustomValue;
    Edit*               m_pCustomEdit;
    VclPtr<Edit>               m_pCustomEdit;

    ListBox*            m_pLevelBox;
    ListBox*            m_pSpaceBox;
    ListBox*            m_pDepthBox;
    VclPtr<ListBox>            m_pLevelBox;
    VclPtr<ListBox>            m_pSpaceBox;
    VclPtr<ListBox>            m_pDepthBox;

    void FillValueBox( const ::psp::PPDKey* );

@@ -112,6 +114,8 @@ class RTSDevicePage : public TabPage
    DECL_LINK( ModifyHdl, Edit* );
public:
    RTSDevicePage( RTSDialog* );
    virtual ~RTSDevicePage();
    virtual void dispose() SAL_OVERRIDE;

    sal_uLong getLevel();
    sal_uLong getPDFDevice();
diff --git a/vcl/inc/brdwin.hxx b/vcl/inc/brdwin.hxx
index fc9f04b..fe1361f 100644
--- a/vcl/inc/brdwin.hxx
+++ b/vcl/inc/brdwin.hxx
@@ -83,7 +83,7 @@ class ImplBorderWindow : public vcl::Window

private:
    ImplBorderWindowView*   mpBorderView;
    vcl::Window*            mpMenuBarWindow;
    VclPtr<vcl::Window>     mpMenuBarWindow;
    long                    mnMinWidth;
    long                    mnMinHeight;
    long                    mnMaxWidth;
@@ -174,7 +174,7 @@ public:

struct ImplBorderFrameData
{
    ImplBorderWindow*       mpBorderWindow;
    VclPtr<ImplBorderWindow> mpBorderWindow;
    OutputDevice*           mpOutDev;
    Rectangle               maTitleRect;
    Rectangle               maPinRect;
@@ -253,7 +253,7 @@ public:

class ImplSmallBorderWindowView : public ImplBorderWindowView
{
    ImplBorderWindow*       mpBorderWindow;
    VclPtr<ImplBorderWindow> mpBorderWindow;
    OutputDevice*           mpOutDev;
    long                    mnWidth;
    long                    mnHeight;
diff --git a/vcl/inc/dndevdis.hxx b/vcl/inc/dndevdis.hxx
index 978910a..b542581 100644
--- a/vcl/inc/dndevdis.hxx
+++ b/vcl/inc/dndevdis.hxx
@@ -32,9 +32,9 @@ class DNDEventDispatcher: public ::cppu::WeakImplHelper3<
    ::com::sun::star::datatransfer::dnd::XDropTargetDragContext,
    ::com::sun::star::datatransfer::dnd::XDragGestureListener >
{
    vcl::Window * m_pTopWindow;
    VclPtr<vcl::Window> m_pTopWindow;

    vcl::Window * m_pCurrentWindow;
    VclPtr<vcl::Window> m_pCurrentWindow;
    void designate_currentwindow(vcl::Window *pWindow);
    DECL_LINK(WindowEventListener, VclSimpleEvent*);

diff --git a/vcl/inc/ilstbox.hxx b/vcl/inc/ilstbox.hxx
index 1f023a8..1e81f60f 100644
--- a/vcl/inc/ilstbox.hxx
+++ b/vcl/inc/ilstbox.hxx
@@ -87,7 +87,7 @@ struct ImplEntryType
class ImplEntryList
{
private:
    vcl::Window*         mpWindow;   ///< For getting the current locale when matching strings
    VclPtr<vcl::Window> mpWindow;   ///< For getting the current locale when matching strings
    sal_Int32       mnLastSelected;
    sal_Int32       mnSelectionAnchor;
    sal_Int32       mnImages;
@@ -384,9 +384,9 @@ class ImplListBox : public Control
{
private:
    ImplListBoxWindowPtr maLBWindow;
    ScrollBar*           mpHScrollBar;
    ScrollBar*           mpVScrollBar;
    ScrollBarBox*        mpScrollBarBox;
    VclPtr<ScrollBar>    mpHScrollBar;
    VclPtr<ScrollBar>    mpVScrollBar;
    VclPtr<ScrollBarBox> mpScrollBarBox;

    /// bitfield
    bool mbVScroll : 1;     // VScroll an oder aus
@@ -511,7 +511,7 @@ public:
class ImplListBoxFloatingWindow : public FloatingWindow
{
private:
    ImplListBox*    mpImplLB;
    VclPtr<ImplListBox> mpImplLB;
    Size            maPrefSz;
    sal_uInt16      mnDDLineCount;
    sal_Int32       mnPopupModeStartSaveSelection;
@@ -522,7 +522,8 @@ protected:

public:
                    ImplListBoxFloatingWindow( vcl::Window* pParent );

    virtual         ~ImplListBoxFloatingWindow();
    virtual void    dispose() SAL_OVERRIDE;
    void            SetImplListBox( ImplListBox* pLB )  { mpImplLB = pLB; }

    void            SetPrefSize( const Size& rSz )      { maPrefSz = rSz; }
diff --git a/vcl/inc/printdlg.hxx b/vcl/inc/printdlg.hxx
index 7af9e1e..b470b7c 100644
--- a/vcl/inc/printdlg.hxx
+++ b/vcl/inc/printdlg.hxx
@@ -63,6 +63,8 @@ namespace vcl

        public:
            PrintPreviewWindow( vcl::Window* pParent );
            virtual ~PrintPreviewWindow();
            virtual void dispose() SAL_OVERRIDE;

            virtual void Paint( const Rectangle& rRect ) SAL_OVERRIDE;
            virtual void Command( const CommandEvent& ) SAL_OVERRIDE;
@@ -75,8 +77,6 @@ namespace vcl
                             sal_Int32 i_nDPIX, sal_Int32 i_nDPIY,
                             bool i_bGreyscale
                            );
        private:
            virtual void dispose() SAL_OVERRIDE;
        };

        class ShowNupOrderWindow : public vcl::Window
@@ -106,31 +106,31 @@ namespace vcl
        class NUpTabPage
        {
        public:
            RadioButton*                            mpPagesBtn;
            RadioButton*                            mpBrochureBtn;
            FixedText*                              mpPagesBoxTitleTxt;
            ListBox*                                mpNupPagesBox;
            VclPtr<RadioButton>                     mpPagesBtn;
            VclPtr<RadioButton>                     mpBrochureBtn;
            VclPtr<FixedText>                       mpPagesBoxTitleTxt;
            VclPtr<ListBox>                         mpNupPagesBox;

            // controls for "Custom" page mode
            FixedText*                              mpNupNumPagesTxt;
            NumericField*                           mpNupColEdt;
            FixedText*                              mpNupTimesTxt;
            NumericField*                           mpNupRowsEdt;
            FixedText*                              mpPageMarginTxt1;
            MetricField*                            mpPageMarginEdt;
            FixedText*                              mpPageMarginTxt2;
            FixedText*                              mpSheetMarginTxt1;
            MetricField*                            mpSheetMarginEdt;
            FixedText*                              mpSheetMarginTxt2;
            FixedText*                              mpNupOrientationTxt;
            ListBox*                                mpNupOrientationBox;
            VclPtr<FixedText>                       mpNupNumPagesTxt;
            VclPtr<NumericField>                    mpNupColEdt;
            VclPtr<FixedText>                       mpNupTimesTxt;
            VclPtr<NumericField>                    mpNupRowsEdt;
            VclPtr<FixedText>                       mpPageMarginTxt1;
            VclPtr<MetricField>                     mpPageMarginEdt;
            VclPtr<FixedText>                       mpPageMarginTxt2;
            VclPtr<FixedText>                       mpSheetMarginTxt1;
            VclPtr<MetricField>                     mpSheetMarginEdt;
            VclPtr<FixedText>                       mpSheetMarginTxt2;
            VclPtr<FixedText>                       mpNupOrientationTxt;
            VclPtr<ListBox>                         mpNupOrientationBox;

            // page order ("left to right, then down")
            FixedText*                              mpNupOrderTxt;
            ListBox*                                mpNupOrderBox;
            ShowNupOrderWindow*                     mpNupOrderWin;
            VclPtr<FixedText>                       mpNupOrderTxt;
            VclPtr<ListBox>                         mpNupOrderBox;
            VclPtr<ShowNupOrderWindow>              mpNupOrderWin;
            /// border around each page
            CheckBox*                               mpBorderCB;
            VclPtr<CheckBox>                        mpBorderCB;

            void setupLayout();

@@ -145,18 +145,18 @@ namespace vcl
        class JobTabPage
        {
        public:
            ListBox*                                mpPrinters;
            FixedText*                              mpStatusTxt;
            FixedText*                              mpLocationTxt;
            FixedText*                              mpCommentTxt;
            VclPtr<ListBox>                         mpPrinters;
            VclPtr<FixedText>                       mpStatusTxt;
            VclPtr<FixedText>                       mpLocationTxt;
            VclPtr<FixedText>                       mpCommentTxt;

            PushButton*                             mpSetupButton;
            VclPtr<PushButton>                      mpSetupButton;

            FixedLine*                              mpCopySpacer;
            NumericField*                           mpCopyCountField;
            CheckBox*                               mpCollateBox;
            FixedImage*                             mpCollateImage;
            CheckBox*                               mpReverseOrderBox;
            VclPtr<FixedLine>                       mpCopySpacer;
            VclPtr<NumericField>                    mpCopyCountField;
            VclPtr<CheckBox>                        mpCollateBox;
            VclPtr<FixedImage>                      mpCollateImage;
            VclPtr<CheckBox>                        mpReverseOrderBox;

            Image                                   maCollateImg;
            Image                                   maNoCollateImg;
@@ -172,9 +172,9 @@ namespace vcl
        class OutputOptPage
        {
        public:
            CheckBox*                           mpToFileBox;
            CheckBox*                           mpCollateSingleJobsBox;
            CheckBox*                           mpPapersizeFromSetup;
            VclPtr<CheckBox>                    mpToFileBox;
            VclPtr<CheckBox>                    mpCollateSingleJobsBox;
            VclPtr<CheckBox>                    mpPapersizeFromSetup;

            OutputOptPage( VclBuilder* );

@@ -185,31 +185,31 @@ namespace vcl
        VclBuilder*                             mpCustomOptionsUIBuilder;

        std::shared_ptr<PrinterController>      maPController;
        TabControl*                             mpTabCtrl;
        VclPtr<TabControl>                      mpTabCtrl;
        NUpTabPage                              maNUpPage;
        JobTabPage                              maJobPage;
        OutputOptPage                           maOptionsPage;
        PrintPreviewWindow*                     mpPreviewWindow;
        NumericField*                           mpPageEdit;
        VclPtr<PrintPreviewWindow>              mpPreviewWindow;
        VclPtr<NumericField>                    mpPageEdit;

        FixedText*                              mpNumPagesText;
        PushButton*                             mpBackwardBtn;
        PushButton*                             mpForwardBtn;
        VclPtr<FixedText>                       mpNumPagesText;
        VclPtr<PushButton>                      mpBackwardBtn;
        VclPtr<PushButton>                      mpForwardBtn;

        OKButton*                               mpOKButton;
        CancelButton*                           mpCancelButton;
        HelpButton*                             mpHelpButton;
        VclPtr<OKButton>                        mpOKButton;
        VclPtr<CancelButton>                    mpCancelButton;
        VclPtr<HelpButton>                      mpHelpButton;

        OUString                           maPageStr;
        OUString                           maNoPageStr;
        OUString                                maPageStr;
        OUString                                maNoPageStr;
        sal_Int32                               mnCurPage;
        sal_Int32                               mnCachedPages;

        std::map< vcl::Window*, OUString >      maControlToPropertyMap;
        std::map< OUString, std::vector< vcl::Window* > >
        std::map< VclPtr<vcl::Window>, OUString >      maControlToPropertyMap;
        std::map< OUString, std::vector< VclPtr<vcl::Window> > >
                                                maPropertyToWindowMap;
        std::map< vcl::Window*, sal_Int32 >          maControlToNumValMap;
        std::set< OUString >               maReverseDependencySet;
        std::map< VclPtr<vcl::Window>, sal_Int32 >          maControlToNumValMap;
        std::set< OUString >                    maReverseDependencySet;

        Size                                    maNupPortraitSize;
        Size                                    maNupLandscapeSize;
@@ -271,9 +271,9 @@ namespace vcl
    class PrintProgressDialog : public ModelessDialog
    {
        OUString            maStr;
        FixedText*          mpText;
        ProgressBar*        mpProgress;
        CancelButton*       mpButton;
        VclPtr<FixedText>   mpText;
        VclPtr<ProgressBar> mpProgress;
        VclPtr<CancelButton> mpButton;

        bool                mbCanceled;
        sal_Int32           mnCur;
@@ -283,7 +283,8 @@ namespace vcl

    public:
        PrintProgressDialog(vcl::Window* i_pParent, int i_nMax);

        virtual ~PrintProgressDialog();
        virtual void dispose() SAL_OVERRIDE;
        bool isCanceled() const { return mbCanceled; }
        void setProgress( int i_nCurrent, int i_nMax = -1 );
        void tick();
diff --git a/vcl/inc/salframe.hxx b/vcl/inc/salframe.hxx
index 6bbcb29..bdb50aa 100644
--- a/vcl/inc/salframe.hxx
+++ b/vcl/inc/salframe.hxx
@@ -33,6 +33,8 @@
#include <vcl/impdel.hxx>
#include <rtl/ustring.hxx>
#include <vcl/keycod.hxx>
#include <vcl/window.hxx>
#include <vcl/vclptr.hxx>

#include <vcl/window.hxx>
    // complete vcl::Window for SalFrame::CallCallback under -fsanitize=function
@@ -100,11 +102,11 @@ class VCL_PLUGIN_PUBLIC SalFrame
    , public SalGeometryProvider
{
    // the VCL window corresponding to this frame
    vcl::Window*            m_pWindow;
    VclPtr<vcl::Window>     m_pWindow;
    SALFRAMEPROC            m_pProc;

public:
                            SalFrame() : m_pWindow( NULL ), m_pProc( NULL ) {}
                            SalFrame();
    virtual                 ~SalFrame();

    SalFrameGeometry        maGeometry;
@@ -230,8 +232,7 @@ public:

    // Callbacks (indepent part in vcl/source/window/winproc.cxx)
    // for default message handling return 0
    void                    SetCallback( vcl::Window* pWindow, SALFRAMEPROC pProc )
        { m_pWindow = pWindow; m_pProc = pProc; }
    void                    SetCallback( vcl::Window* pWindow, SALFRAMEPROC pProc );

    // returns the instance set
    vcl::Window*            GetWindow() const { return m_pWindow; }
diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx
index 8d2cf2d..4377d0c 100644
--- a/vcl/inc/svdata.hxx
+++ b/vcl/inc/svdata.hxx
@@ -122,7 +122,7 @@ struct ImplSVAppData
    Help*                   mpHelp;                         // Application help
    PopupMenu*              mpActivePopupMenu;              // Actives Popup-Menu (in Execute)
    ImplIdleMgr*            mpIdleMgr;                      // Idle-Manager
    ImplWheelWindow*        mpWheelWindow;                  // WheelWindow
    VclPtr<ImplWheelWindow> mpWheelWindow;                  // WheelWindow
    ImplHotKey*             mpFirstHotKey;                  // HotKey-Verwaltung
    ImplEventHook*          mpFirstEventHook;               // Event-Hooks
    VclEventListeners2*     mpPostYieldListeners;           // post yield listeners
@@ -179,20 +179,20 @@ struct ImplSVGDIData

struct ImplSVWinData
{
    vcl::Window*            mpFirstFrame;                   // First FrameWindow
    vcl::Window*            mpDefDialogParent;              // Default Dialog Parent
    WorkWindow*             mpAppWin;                       // Application-Window
    vcl::Window*            mpFocusWin;                     // window, that has the focus
    vcl::Window*            mpActiveApplicationFrame;       // the last active application frame, can be used as DefModalDialogParent if no focuswin set
    vcl::Window*            mpCaptureWin;                   // window, that has the mouse capture
    vcl::Window*            mpLastDeacWin;                  // Window, that need a deactivate (FloatingWindow-Handling)
    FloatingWindow*         mpFirstFloat;                   // First FloatingWindow in PopupMode
    Dialog*                 mpLastExecuteDlg;               // First Dialog that is in Execute
    vcl::Window*            mpExtTextInputWin;              // Window, which is in ExtTextInput
    vcl::Window*            mpTrackWin;                     // window, that is in tracking mode
    VclPtr<vcl::Window>     mpFirstFrame;                   // First FrameWindow
    VclPtr<vcl::Window>     mpDefDialogParent;              // Default Dialog Parent
    VclPtr<WorkWindow>      mpAppWin;                       // Application-Window
    VclPtr<vcl::Window>     mpFocusWin;                     // window, that has the focus
    VclPtr<vcl::Window>     mpActiveApplicationFrame;       // the last active application frame, can be used as DefModalDialogParent if no focuswin set
    VclPtr<vcl::Window>     mpCaptureWin;                   // window, that has the mouse capture
    VclPtr<vcl::Window>     mpLastDeacWin;                  // Window, that need a deactivate (FloatingWindow-Handling)
    VclPtr<FloatingWindow>  mpFirstFloat;                   // First FloatingWindow in PopupMode
    VclPtr<Dialog>          mpLastExecuteDlg;               // First Dialog that is in Execute
    VclPtr<vcl::Window>     mpExtTextInputWin;              // Window, which is in ExtTextInput
    VclPtr<vcl::Window>     mpTrackWin;                     // window, that is in tracking mode
    AutoTimer*              mpTrackTimer;                   // tracking timer
    ImageList*              mpMsgBoxImgList;                // ImageList for MessageBox
    vcl::Window*            mpAutoScrollWin;                // window, that is in AutoScrollMode mode
    VclPtr<vcl::Window>     mpAutoScrollWin;                // window, that is in AutoScrollMode mode
    sal_uInt16              mnTrackFlags;                   // tracking flags
    sal_uInt16              mnAutoScrollFlags;              // auto scroll flags
    bool                    mbNoDeactivate;                 // true: do not execute Deactivate
@@ -239,7 +239,7 @@ struct ImplSVHelpData
    bool                    mbKeyboardHelp      : 1;        // tiphelp was activated by keyboard
    bool                    mbAutoHelpId        : 1;        // generate HelpIds
    bool                    mbRequestingHelp    : 1;        // In Window::RequestHelp
    HelpTextWindow*         mpHelpWin;                      // HelpWindow
    VclPtr<HelpTextWindow>  mpHelpWin;                      // HelpWindow
    sal_uLong               mnLastHelpHideTime;             // ticks of last show
};

@@ -372,15 +372,10 @@ FieldUnitStringList* ImplGetCleanedFieldUnits();
struct ImplDelData
{
    ImplDelData*        mpNext;
    const vcl::Window*  mpWindow;
    VclPtr<vcl::Window> mpWindow;
    bool                mbDel;

                        ImplDelData( const vcl::Window* pWindow = NULL ) :
                             mpNext( NULL ),
                             mpWindow( NULL ),
                             mbDel( false )
                                { if( pWindow ) AttachToWindow( pWindow ); }

                        ImplDelData( vcl::Window* pWindow = NULL );
    virtual             ~ImplDelData();

    bool                IsDead() const
@@ -396,14 +391,14 @@ private:

struct ImplFocusDelData : public ImplDelData
{
    vcl::Window*        mpFocusWin;
    VclPtr<vcl::Window> mpFocusWin;
};

struct ImplSVEvent
{
    void*               mpData;
    Link*               mpLink;
    vcl::Window*        mpWindow;
    VclPtr<vcl::Window> mpWindow;
    ImplDelData         maDelData;
    bool                mbCall;
};
diff --git a/vcl/inc/toolbox.h b/vcl/inc/toolbox.h
index 935d118..61d247b 100644
--- a/vcl/inc/toolbox.h
+++ b/vcl/inc/toolbox.h
@@ -37,7 +37,7 @@ namespace vcl { class Window; }

struct ImplToolItem
{
    vcl::Window*        mpWindow;
    VclPtr<vcl::Window> mpWindow;
    void*               mpUserData;
    Image               maImage;
    Image               maImageOriginal;
diff --git a/vcl/inc/unx/i18n_status.hxx b/vcl/inc/unx/i18n_status.hxx
index ee0ff34..ff954ce 100644
--- a/vcl/inc/unx/i18n_status.hxx
+++ b/vcl/inc/unx/i18n_status.hxx
@@ -22,6 +22,7 @@

#include <rtl/ustring.hxx>
#include <salimestatus.hxx>
#include <vcl/vclptr.hxx>

#include <vector>

@@ -57,7 +58,7 @@ public:
    };
private:
    SalFrame*                       m_pParent;
    StatusWindow*                   m_pStatusWindow;
    VclPtr<StatusWindow>            m_pStatusWindow;
    OUString                        m_aCurrentIM;
    ::std::vector< ChoiceData >     m_aChoices;

diff --git a/vcl/inc/window.h b/vcl/inc/window.h
index ab9c90a..4bc1207 100644
--- a/vcl/inc/window.h
+++ b/vcl/inc/window.h
@@ -115,15 +115,15 @@ struct ImplWinData
    sal_uInt16          mnIsTopWindow;
    bool                mbMouseOver;            //< tracks mouse over for native widget paint effect
    bool                mbEnableNativeWidget;   //< toggle native widget rendering
    ::std::list< vcl::Window* >
    ::std::list< VclPtr<vcl::Window> >
                        maTopWindowChildren;
};

struct ImplOverlapData
{
    VirtualDevice*      mpSaveBackDev;          //< saved background bitmap
    vcl::Region*             mpSaveBackRgn;          //< saved region, which must be invalidated
    vcl::Window*        mpNextBackWin;          //< next window with saved background
    vcl::Region*        mpSaveBackRgn;          //< saved region, which must be invalidated
    VclPtr<vcl::Window> mpNextBackWin;          //< next window with saved background
    sal_uIntPtr         mnSaveBackSize;         //< bitmap size of saved background
    bool                mbSaveBack;             //< true: save background
    sal_uInt8           mnTopLevel;             //< Level for Overlap-Window
@@ -134,13 +134,13 @@ struct ImplFrameData
    Idle                maPaintIdle;            //< paint idle handler
    Idle                maResizeIdle;          //< resize timer
    InputContext        maOldInputContext;      //< last set Input Context
    vcl::Window*        mpNextFrame;            //< next frame window
    vcl::Window*        mpFirstOverlap;         //< first overlap vcl::Window
    vcl::Window*        mpFocusWin;             //< focus window (is also set, when frame doesn't have the focous)
    vcl::Window*        mpMouseMoveWin;         //< last window, where MouseMove() called
    vcl::Window*        mpMouseDownWin;         //< last window, where MouseButtonDown() called
    vcl::Window*        mpFirstBackWin;         //< first overlap-window with saved background
    ::std::vector<vcl::Window *> maOwnerDrawList;    //< List of system windows with owner draw decoration
    VclPtr<vcl::Window> mpNextFrame;            //< next frame window
    VclPtr<vcl::Window> mpFirstOverlap;         //< first overlap vcl::Window
    VclPtr<vcl::Window> mpFocusWin;             //< focus window (is also set, when frame doesn't have the focous)
    VclPtr<vcl::Window> mpMouseMoveWin;         //< last window, where MouseMove() called
    VclPtr<vcl::Window> mpMouseDownWin;         //< last window, where MouseButtonDown() called
    VclPtr<vcl::Window> mpFirstBackWin;         //< first overlap-window with saved background
    ::std::vector<VclPtr<vcl::Window> > maOwnerDrawList;    //< List of system windows with owner draw decoration
    PhysicalFontCollection* mpFontCollection;   //< Font-List for this frame
    ImplFontCache*      mpFontCache;            //< Font-Cache for this frame
    sal_Int32           mnDPIX;                 //< Original Screen Resolution
@@ -189,9 +189,9 @@ struct ImplAccessibleInfos
    sal_uInt16          nAccessibleRole;
    OUString*           pAccessibleName;
    OUString*           pAccessibleDescription;
    vcl::Window*        pLabeledByWindow;
    vcl::Window*        pLabelForWindow;
    vcl::Window*        pMemberOfWindow;
    VclPtr<vcl::Window> pLabeledByWindow;
    VclPtr<vcl::Window> pLabelForWindow;
    VclPtr<vcl::Window> pMemberOfWindow;

    ImplAccessibleInfos();
    ~ImplAccessibleInfos();
@@ -213,21 +213,21 @@ public:
    ImplFrameData*      mpFrameData;
    SalFrame*           mpFrame;
    SalObject*          mpSysObj;
    vcl::Window*        mpFrameWindow;
    vcl::Window*        mpOverlapWindow;
    VclPtr<vcl::Window> mpFrameWindow;
    VclPtr<vcl::Window> mpOverlapWindow;
    VclPtr<vcl::Window> mpBorderWindow;
    vcl::Window*        mpClientWindow;
    vcl::Window*        mpParent;
    vcl::Window*        mpRealParent;
    vcl::Window*        mpFirstChild;
    vcl::Window*        mpLastChild;
    vcl::Window*        mpFirstOverlap;
    vcl::Window*        mpLastOverlap;
    vcl::Window*        mpPrev;
    vcl::Window*        mpNext;
    vcl::Window*        mpNextOverlap;
    vcl::Window*        mpLastFocusWindow;
    vcl::Window*        mpDlgCtrlDownWindow;
    VclPtr<vcl::Window> mpClientWindow;
    VclPtr<vcl::Window> mpParent;
    VclPtr<vcl::Window> mpRealParent;
    VclPtr<vcl::Window> mpFirstChild;
    VclPtr<vcl::Window> mpLastChild;
    VclPtr<vcl::Window> mpFirstOverlap;
    VclPtr<vcl::Window> mpLastOverlap;
    VclPtr<vcl::Window> mpPrev;
    VclPtr<vcl::Window> mpNext;
    VclPtr<vcl::Window> mpNextOverlap;
    VclPtr<vcl::Window> mpLastFocusWindow;
    VclPtr<vcl::Window> mpDlgCtrlDownWindow;
    VclEventListeners   maEventListeners;
    VclEventListeners   maChildEventListeners;

@@ -262,8 +262,8 @@ public:
    InputContext        maInputContext;
    ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer > mxWindowPeer;
    ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > mxAccessible;
    std::shared_ptr<VclSizeGroup> m_xSizeGroup;
    std::vector<FixedText*> m_aMnemonicLabels;
    std::shared_ptr< VclSizeGroup > m_xSizeGroup;
    std::vector< VclPtr<FixedText> > m_aMnemonicLabels;
    ImplAccessibleInfos* mpAccessibleInfos;
    VCLXWindow*         mpVCLXWindow;
    vcl::Region              maWinRegion;            //< region to 'shape' the VCL window (frame coordinates)
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index a044731..e05b734 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -28,6 +28,9 @@
#include <salobj.hxx>
#include <salmenu.hxx>


SalFrame::SalFrame() : m_pWindow( NULL ), m_pProc( NULL ) {}

// this file contains the virtual destructors of the sal interface
// compilers usually put their vtables where the destructor is

@@ -35,6 +38,12 @@ SalFrame::~SalFrame()
{
}

void SalFrame::SetCallback( vcl::Window* pWindow, SALFRAMEPROC pProc )
{
    m_pWindow = pWindow;
    m_pProc = pProc;
}

// default to full-frame flushes
// on ports where partial-flushes are much cheaper this method should be overridden
void SalFrame::Flush( const Rectangle& )
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
index 4c3ba1c..8344b71 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -156,21 +156,21 @@ struct ImplEventHook
struct ImplPostEventData
{
    sal_uLong           mnEvent;
    const vcl::Window*   mpWin;
    VclPtr<vcl::Window> mpWin;
    ImplSVEvent *   mnEventId;
    KeyEvent        maKeyEvent;
    MouseEvent      maMouseEvent;
    ZoomEvent       maZoomEvent;
    ScrollEvent     maScrollEvent;

       ImplPostEventData( sal_uLong nEvent, const vcl::Window* pWin, const KeyEvent& rKeyEvent ) :
       ImplPostEventData( sal_uLong nEvent, vcl::Window* pWin, const KeyEvent& rKeyEvent ) :
        mnEvent( nEvent ), mpWin( pWin ), mnEventId( 0 ), maKeyEvent( rKeyEvent ) {}
       ImplPostEventData( sal_uLong nEvent, const vcl::Window* pWin, const MouseEvent& rMouseEvent ) :
       ImplPostEventData( sal_uLong nEvent, vcl::Window* pWin, const MouseEvent& rMouseEvent ) :
        mnEvent( nEvent ), mpWin( pWin ), mnEventId( 0 ), maMouseEvent( rMouseEvent ) {}
#if !HAVE_FEATURE_DESKTOP
       ImplPostEventData( sal_uLong nEvent, const vcl::Window* pWin, const ZoomEvent& rZoomEvent ) :
       ImplPostEventData( sal_uLong nEvent, vcl::Window* pWin, const ZoomEvent& rZoomEvent ) :
        mnEvent( nEvent ), mpWin( pWin ), mnEventId( 0 ), maZoomEvent( rZoomEvent ) {}
       ImplPostEventData( sal_uLong nEvent, const vcl::Window* pWin, const ScrollEvent& rScrollEvent ) :
       ImplPostEventData( sal_uLong nEvent, vcl::Window* pWin, const ScrollEvent& rScrollEvent ) :
        mnEvent( nEvent ), mpWin( pWin ), mnEventId( 0 ), maScrollEvent( rScrollEvent ) {}
#endif

@@ -855,8 +855,8 @@ IMPL_STATIC_LINK_NOINSTANCE( Application, PostEventHandler, void*, pCallData )
        break;
    };

    if( pData->mpWin && pData->mpWin->mpWindowImpl->mpFrameWindow && pEventData )
        ImplWindowFrameProc( pData->mpWin->mpWindowImpl->mpFrameWindow, NULL, (sal_uInt16) nEvent, pEventData );
    if( pData->mpWin && pData->mpWin.get()->mpWindowImpl->mpFrameWindow.get() && pEventData )
        ImplWindowFrameProc( pData->mpWin.get()->mpWindowImpl->mpFrameWindow.get(), NULL, (sal_uInt16) nEvent, pEventData );

    // remove this event from list of posted events, watch for destruction of internal data
    ::std::list< ImplPostEventPair >::iterator aIter( aPostedEventList.begin() );
@@ -1010,7 +1010,7 @@ long    Application::GetTopWindowCount()
{
    long nRet = 0;
    ImplSVData* pSVData = ImplGetSVData();
    vcl::Window *pWin = pSVData ? pSVData->maWinData.mpFirstFrame : NULL;
    vcl::Window *pWin = pSVData ? pSVData->maWinData.mpFirstFrame.get() : NULL;
    while( pWin )
    {
        if( pWin->ImplGetWindow()->IsTopWindow() )
@@ -1024,7 +1024,7 @@ vcl::Window* Application::GetTopWindow( long nIndex )
{
    long nIdx = 0;
    ImplSVData* pSVData = ImplGetSVData();
    vcl::Window *pWin = pSVData ? pSVData->maWinData.mpFirstFrame : NULL;
    vcl::Window *pWin = pSVData ? pSVData->maWinData.mpFirstFrame.get() : NULL;
    while( pWin )
    {
        if( pWin->ImplGetWindow()->IsTopWindow() )
@@ -1268,7 +1268,7 @@ vcl::Window* Application::GetDefDialogParent()
    // #103442# find some useful dialog parent if there
    // was no default set
    // NOTE: currently even the default is not used
    if( false && pSVData->maWinData.mpDefDialogParent != NULL )
    if( false && pSVData->maWinData.mpDefDialogParent.get() != NULL )
        return pSVData->maWinData.mpDefDialogParent;
    else
    {
@@ -1629,6 +1629,14 @@ void Application::setDeInitHook(Link const & hook) {
    pSVData->maAppData.mbInAppMain = true;
}

ImplDelData::ImplDelData( vcl::Window* pWindow ) :
                             mpNext( NULL ),
                             mpWindow( NULL ),
                             mbDel( false )
{
    if( pWindow ) AttachToWindow( pWindow );
}

// helper method to allow inline constructor even for pWindow!=NULL case
void ImplDelData::AttachToWindow( const vcl::Window* pWindow )
{
@@ -1649,7 +1657,7 @@ ImplDelData::~ImplDelData()
    if( !mbDel && mpWindow )
    {
        // the window still exists but we were not removed
        const_cast<vcl::Window*>(mpWindow)->ImplRemoveDel( this );
        const_cast<vcl::Window*>(mpWindow.get())->ImplRemoveDel( this );
        mpWindow = NULL;
    }
}
diff --git a/vcl/source/app/svdata.cxx b/vcl/source/app/svdata.cxx
index b30848c..aafc326 100644
--- a/vcl/source/app/svdata.cxx
+++ b/vcl/source/app/svdata.cxx
@@ -45,6 +45,8 @@
#include "salimestatus.hxx"
#include "salsys.hxx"
#include "svids.hrc"
#include "helpwin.hxx"
#include "../window/scrwnd.hxx"

#include "com/sun/star/accessibility/MSAAService.hpp"

diff --git a/vcl/source/app/vclevent.cxx b/vcl/source/app/vclevent.cxx
index 11d03e3..325c9b6 100644
--- a/vcl/source/app/vclevent.cxx
+++ b/vcl/source/app/vclevent.cxx
@@ -18,6 +18,7 @@
 */

#include "vcl/vclevent.hxx"
#include "vcl/window.hxx"

#include "svdata.hxx"

@@ -158,4 +159,12 @@ void VclEventListeners2::callListeners( VclSimpleEvent* i_pEvent )
    m_aIterators.pop_back();
}


VclWindowEvent::VclWindowEvent( vcl::Window* pWin, sal_uLong n, void* pDat ) : VclSimpleEvent(n)
{
    pWindow = pWin; pData = pDat;
}

VclWindowEvent::~VclWindowEvent() {}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx
index 7861656..fb1a4a8 100644
--- a/vcl/source/control/button.cxx
+++ b/vcl/source/control/button.cxx
@@ -96,11 +96,12 @@ Button::Button( WindowType nType ) :
Button::~Button()
{
    dispose();
    delete mpButtonData;
}

void Button::dispose()
{
    delete mpButtonData;
    mpButtonData = NULL;
    Control::dispose();
}

@@ -2147,20 +2148,20 @@ void RadioButton::group(RadioButton &rOther)

    if (!m_xGroup)
    {
        m_xGroup.reset(new std::vector<RadioButton*>);
        m_xGroup.reset(new std::vector<VclPtr<RadioButton> >);
        m_xGroup->push_back(this);
    }

    std::vector<RadioButton*>::iterator aFind = std::find(m_xGroup->begin(), m_xGroup->end(), &rOther);
    auto aFind = std::find(m_xGroup->begin(), m_xGroup->end(), VclPtr<RadioButton>(&rOther));
    if (aFind == m_xGroup->end())
    {
        m_xGroup->push_back(&rOther);

        if (rOther.m_xGroup)
        {
            std::vector< RadioButton* > aOthers(rOther.GetRadioButtonGroup(false));
            std::vector< VclPtr<RadioButton> > aOthers(rOther.GetRadioButtonGroup(false));
            //make all members of the group share the same button group
            for (std::vector<RadioButton*>::iterator aI = aOthers.begin(), aEnd = aOthers.end(); aI != aEnd; ++aI)
            for (auto aI = aOthers.begin(), aEnd = aOthers.end(); aI != aEnd; ++aI)
            {
                aFind = std::find(m_xGroup->begin(), m_xGroup->end(), *aI);
                if (aFind == m_xGroup->end())
@@ -2169,8 +2170,7 @@ void RadioButton::group(RadioButton &rOther)
        }

        //make all members of the group share the same button group
        for (std::vector<RadioButton*>::iterator aI = m_xGroup->begin(), aEnd = m_xGroup->end();
            aI != aEnd; ++aI)
        for (auto aI = m_xGroup->begin(), aEnd = m_xGroup->end(); aI != aEnd; ++aI)
        {
            RadioButton* pButton = *aI;
            pButton->m_xGroup = m_xGroup;
@@ -2182,14 +2182,14 @@ void RadioButton::group(RadioButton &rOther)
        ImplUncheckAllOther();
}

std::vector< RadioButton* > RadioButton::GetRadioButtonGroup(bool bIncludeThis) const
std::vector< VclPtr<RadioButton> > RadioButton::GetRadioButtonGroup(bool bIncludeThis) const
{
    if (m_xGroup)
    {
        if (bIncludeThis)
            return *m_xGroup;
        std::vector< RadioButton* > aGroup;
        for (std::vector<RadioButton*>::iterator aI = m_xGroup->begin(), aEnd = m_xGroup->end(); aI != aEnd; ++aI)
        std::vector< VclPtr<RadioButton> > aGroup;
        for (auto aI = m_xGroup->begin(), aEnd = m_xGroup->end(); aI != aEnd; ++aI)
        {
            RadioButton *pRadioButton = *aI;
            if (pRadioButton == this)
@@ -2211,7 +2211,7 @@ std::vector< RadioButton* > RadioButton::GetRadioButtonGroup(bool bIncludeThis) 
        else
            break;
    }
    std::vector< RadioButton* > aGroup;
    std::vector< VclPtr<RadioButton> > aGroup;
    // insert radiobuttons up to next group
    do
    {
@@ -2230,9 +2230,9 @@ void RadioButton::ImplUncheckAllOther()
{
    mpWindowImpl->mnStyle |= WB_TABSTOP;

    std::vector<RadioButton*> aGroup(GetRadioButtonGroup(false));
    std::vector<VclPtr<RadioButton> > aGroup(GetRadioButtonGroup(false));
    // iterate over radio button group and checked buttons
    for (std::vector<RadioButton*>::iterator aI = aGroup.begin(), aEnd = aGroup.end(); aI != aEnd; ++aI)
    for (auto aI = aGroup.begin(), aEnd = aGroup.end(); aI != aEnd; ++aI)
    {
        RadioButton *pWindow = *aI;
        if ( pWindow->IsChecked() )
@@ -2316,7 +2316,7 @@ void RadioButton::dispose()
{
    if (m_xGroup)
    {
        m_xGroup->erase(std::remove(m_xGroup->begin(), m_xGroup->end(), this),
        m_xGroup->erase(std::remove(m_xGroup->begin(), m_xGroup->end(), VclPtr<RadioButton>(this)),
                        m_xGroup->end());
        m_xGroup.reset();
    }
diff --git a/vcl/source/control/combobox.cxx b/vcl/source/control/combobox.cxx
index c0e5d9b..89a2fe1 100644
--- a/vcl/source/control/combobox.cxx
+++ b/vcl/source/control/combobox.cxx
@@ -79,11 +79,9 @@ void ComboBox::dispose()
    mpImplLB = NULL;
    delete pImplLB;

    delete mpFloatWin;
    mpFloatWin = NULL;
    delete mpBtn;
    mpBtn = NULL;

    mpFloatWin.clear();
    mpBtn.clear();
    mpImplLB.clear();
    Edit::dispose();
}

diff --git a/vcl/source/control/ctrl.cxx b/vcl/source/control/ctrl.cxx
index 4cec1d0..264a546 100644
--- a/vcl/source/control/ctrl.cxx
+++ b/vcl/source/control/ctrl.cxx
@@ -127,6 +127,10 @@ void Control::SetText( const OUString& rStr )
    Window::SetText( rStr );
}

ControlLayoutData::ControlLayoutData() : m_pParent( NULL )
{
}

Rectangle ControlLayoutData::GetCharacterBounds( long nIndex ) const
{
    return (nIndex >= 0 && nIndex < (long) m_aUnicodeBoundRects.size()) ? m_aUnicodeBoundRects[ nIndex ] : Rectangle();
diff --git a/vcl/source/control/fixed.cxx b/vcl/source/control/fixed.cxx
index 4f111bf..52b8bda 100644
--- a/vcl/source/control/fixed.cxx
+++ b/vcl/source/control/fixed.cxx
@@ -466,6 +466,7 @@ FixedText::~FixedText()
void FixedText::dispose()
{
    set_mnemonic_widget(NULL);
    m_pMnemonicWindow.clear();
    Control::dispose();
}

diff --git a/vcl/source/control/ilstbox.cxx b/vcl/source/control/ilstbox.cxx
index b6a63c6..fce7d3f 100644
--- a/vcl/source/control/ilstbox.cxx
+++ b/vcl/source/control/ilstbox.cxx
@@ -2174,9 +2174,9 @@ ImplListBox::~ImplListBox()

void ImplListBox::dispose()
{
    delete mpHScrollBar;
    delete mpVScrollBar;
    delete mpScrollBarBox;
    mpHScrollBar.clear();
    mpVScrollBar.clear();
    mpScrollBarBox.clear();
    maLBWindow.clear();
    Control::dispose();
}
@@ -2931,6 +2931,18 @@ ImplListBoxFloatingWindow::ImplListBoxFloatingWindow( vcl::Window* pParent ) :

}

ImplListBoxFloatingWindow::~ImplListBoxFloatingWindow()
{
    dispose();
}

void ImplListBoxFloatingWindow::dispose()
{
    mpImplLB.clear();
    FloatingWindow::dispose();
}


bool ImplListBoxFloatingWindow::PreNotify( NotifyEvent& rNEvt )
{
    if( rNEvt.GetType() == MouseNotifyEvent::LOSEFOCUS )
diff --git a/vcl/source/control/lstbox.cxx b/vcl/source/control/lstbox.cxx
index 31fcb3a..78e0146 100644
--- a/vcl/source/control/lstbox.cxx
+++ b/vcl/source/control/lstbox.cxx
@@ -77,18 +77,10 @@ void ListBox::dispose()
{
    CallEventListeners( VCLEVENT_OBJECT_DYING );

    // When destroying the FloatWin TH does a GrabFocus to the Parent:
    // that means this "ListBox => PreNotify() ..."
    ImplListBox *pImplLB = mpImplLB;
    mpImplLB = NULL;
    delete pImplLB;

    delete mpFloatWin;
    mpFloatWin = NULL;
    delete mpImplWin;
    mpImplWin = NULL;
    delete mpBtn;
    mpBtn = NULL;
    mpFloatWin.clear();
    mpImplWin.clear();
    mpBtn.clear();
    mpImplLB.clear();

    Control::dispose();
}
diff --git a/vcl/source/control/tabctrl.cxx b/vcl/source/control/tabctrl.cxx
index 4a89c0f..ecb2c60 100644
--- a/vcl/source/control/tabctrl.cxx
+++ b/vcl/source/control/tabctrl.cxx
@@ -42,7 +42,7 @@
struct ImplTabItem
{
    sal_uInt16          mnId;
    TabPage*            mpTabPage;
    VclPtr<TabPage>     mpTabPage;
    OUString            maText;
    OUString            maFormatText;
    OUString            maHelpText;
@@ -67,7 +67,7 @@ struct ImplTabCtrlData
    std::vector< Rectangle >        maTabRectangles;
    Point                           maItemsOffset;       // offset of the tabitems
    std::vector< ImplTabItem >      maItemList;
    ListBox*                        mpListBox;
    VclPtr<ListBox>                 mpListBox;
};

#define TAB_OFFSET          3
@@ -204,12 +204,8 @@ void TabControl::dispose()
    ImplFreeLayoutData();

    // delete TabCtrl data
    if ( mpTabCtrlData )
    {
        delete mpTabCtrlData->mpListBox;
        delete mpTabCtrlData;
        mpTabCtrlData = NULL;
    }
    delete mpTabCtrlData;
    mpTabCtrlData = NULL;
    Control::dispose();
}

@@ -580,9 +576,9 @@ void TabControl::ImplChangeTabPage( sal_uInt16 nId, sal_uInt16 nOldId )

    ImplTabItem*    pOldItem = ImplGetItem( nOldId );
    ImplTabItem*    pItem = ImplGetItem( nId );
    TabPage*        pOldPage = (pOldItem) ? pOldItem->mpTabPage : NULL;
    TabPage*        pPage = (pItem) ? pItem->mpTabPage : NULL;
    vcl::Window*         pCtrlParent = GetParent();
    TabPage*        pOldPage = (pOldItem) ? pOldItem->mpTabPage.get() : NULL;
    TabPage*        pPage = (pItem) ? pItem->mpTabPage.get() : NULL;
    vcl::Window*    pCtrlParent = GetParent();

    if ( IsReallyVisible() && IsUpdateMode() )
    {
@@ -1019,7 +1015,7 @@ IMPL_LINK( TabControl, ImplWindowEventListener, VclSimpleEvent*, pEvent )

void TabControl::MouseButtonDown( const MouseEvent& rMEvt )
{
    if( mpTabCtrlData->mpListBox == NULL )
    if( mpTabCtrlData->mpListBox.get() == NULL )
    {
        if( rMEvt.IsLeft() )
        {
@@ -1089,7 +1085,7 @@ void TabControl::ImplPaint( const Rectangle& rRect, bool bLayout )
    // in this case we're only interested in the top border of the tabpage because the tabitems are used
    // standalone (eg impress)
    bool bNoTabPage = false;
    TabPage* pCurPage = pCurItem ? pCurItem->mpTabPage : NULL;
    TabPage* pCurPage = pCurItem ? pCurItem->mpTabPage.get() : NULL;
    if( !pCurPage || !pCurPage->IsVisible() )
    {
        bNoTabPage = true;
@@ -1175,7 +1171,7 @@ void TabControl::ImplPaint( const Rectangle& rRect, bool bLayout )
        }
    }

    if ( !mpTabCtrlData->maItemList.empty() && mpTabCtrlData->mpListBox == NULL )
    if ( !mpTabCtrlData->maItemList.empty() && mpTabCtrlData->mpListBox == nullptr )
    {
        // Some native toolkits (GTK+) draw tabs right-to-left, with an
        // overlap between adjacent tabs
@@ -1433,7 +1429,7 @@ void TabControl::RequestHelp( const HelpEvent& rHEvt )

void TabControl::Command( const CommandEvent& rCEvt )
{
    if( (mpTabCtrlData->mpListBox == NULL) && (rCEvt.GetCommand() == COMMAND_CONTEXTMENU) && (GetPageCount() > 1) )
    if( (mpTabCtrlData->mpListBox == nullptr) && (rCEvt.GetCommand() == COMMAND_CONTEXTMENU) && (GetPageCount() > 1) )
    {
        Point   aMenuPos;
        bool    bMenu;
@@ -1885,7 +1881,7 @@ void TabControl::SetTabPage( sal_uInt16 nPageId, TabPage* pTabPage )
{
    ImplTabItem* pItem = ImplGetItem( nPageId );

    if ( pItem && (pItem->mpTabPage != pTabPage) )
    if ( pItem && (pItem->mpTabPage.get() != pTabPage) )
    {
        if ( pTabPage )
        {
diff --git a/vcl/source/edit/textview.cxx b/vcl/source/edit/textview.cxx
index cafbbf5..cc1a37e 100644
--- a/vcl/source/edit/textview.cxx
+++ b/vcl/source/edit/textview.cxx
@@ -147,7 +147,7 @@ struct ImpTextView
{
    TextEngine*         mpTextEngine;

    vcl::Window*             mpWindow;
    VclPtr<vcl::Window> mpWindow;
    TextSelection       maSelection;
    Point               maStartDocPos;
//    TextPaM             maMBDownPaM;
diff --git a/vcl/source/edit/vclmedit.cxx b/vcl/source/edit/vclmedit.cxx
index c0406c6..30213f5 100644
--- a/vcl/source/edit/vclmedit.cxx
+++ b/vcl/source/edit/vclmedit.cxx
@@ -76,12 +76,12 @@ public:
class ImpVclMEdit : public SfxListener
{
private:
    VclMultiLineEdit*   pVclMultiLineEdit;
    VclPtr<VclMultiLineEdit>   pVclMultiLineEdit;

    TextWindow*         mpTextWindow;
    ScrollBar*          mpHScrollBar;
    ScrollBar*          mpVScrollBar;
    ScrollBarBox*       mpScrollBox;
    VclPtr<TextWindow>         mpTextWindow;
    VclPtr<ScrollBar>          mpHScrollBar;
    VclPtr<ScrollBar>          mpVScrollBar;
    VclPtr<ScrollBarBox>       mpScrollBox;

    Point               maTextWindowOffset;
    sal_Int32           mnTextWidth;
@@ -161,9 +161,9 @@ ImpVclMEdit::ImpVclMEdit( VclMultiLineEdit* pEdt, WinBits nWinStyle )

void ImpVclMEdit::ImpUpdateSrollBarVis( WinBits nWinStyle )
{
    const bool bHaveVScroll = (NULL != mpVScrollBar);
    const bool bHaveHScroll = (NULL != mpHScrollBar);
    const bool bHaveScrollBox = (NULL != mpScrollBox);
    const bool bHaveVScroll = (nullptr != mpVScrollBar);
    const bool bHaveHScroll = (nullptr != mpHScrollBar);
    const bool bHaveScrollBox = (nullptr != mpScrollBox);

          bool bNeedVScroll = ( nWinStyle & WB_VSCROLL ) == WB_VSCROLL;
    const bool bNeedHScroll = ( nWinStyle & WB_HSCROLL ) == WB_HSCROLL;
@@ -184,7 +184,6 @@ void ImpVclMEdit::ImpUpdateSrollBarVis( WinBits nWinStyle )
    bool bScrollbarsChanged = false;
    if ( bHaveVScroll != bNeedVScroll )
    {
        delete mpVScrollBar;
        mpVScrollBar = bNeedVScroll ? new ScrollBar( pVclMultiLineEdit, WB_VSCROLL|WB_DRAG ) : NULL;

        if ( bNeedVScroll )
@@ -198,7 +197,6 @@ void ImpVclMEdit::ImpUpdateSrollBarVis( WinBits nWinStyle )

    if ( bHaveHScroll != bNeedHScroll )
    {
        delete mpHScrollBar;
        mpHScrollBar = bNeedHScroll ? new ScrollBar( pVclMultiLineEdit, WB_HSCROLL|WB_DRAG ) : NULL;

        if ( bNeedHScroll )
@@ -212,7 +210,6 @@ void ImpVclMEdit::ImpUpdateSrollBarVis( WinBits nWinStyle )

    if ( bHaveScrollBox != bNeedScrollBox )
    {
        delete mpScrollBox;
        mpScrollBox = bNeedScrollBox ? new ScrollBarBox( pVclMultiLineEdit, WB_SIZEABLE ) : NULL;

        if ( bNeedScrollBox )
@@ -258,10 +255,6 @@ void ImpVclMEdit::InitFromStyle( WinBits nWinStyle )
ImpVclMEdit::~ImpVclMEdit()
{
    EndListening( *mpTextWindow->GetTextEngine() );
    delete mpTextWindow;
    delete mpHScrollBar;
    delete mpVScrollBar;
    delete mpScrollBox;
}

void ImpVclMEdit::ImpSetScrollBarRanges()
diff --git a/vcl/source/gdi/print3.cxx b/vcl/source/gdi/print3.cxx
index 52c097c..60ade3a 100644
--- a/vcl/source/gdi/print3.cxx
+++ b/vcl/source/gdi/print3.cxx
@@ -156,7 +156,7 @@ public:

    vcl::PrinterController::MultiPageSetup                      maMultiPage;

    vcl::PrintProgressDialog*                                   mpProgress;
    VclPtr<vcl::PrintProgressDialog>                            mpProgress;

    ImplPageCache                                               maPageCache;

@@ -191,7 +191,6 @@ public:
        mnDefaultPaperBin( -1 ),
        mnFixedPaperBin( -1 )
    {}
    ~ImplPrinterControllerData() { delete mpProgress; }

    Size getRealPaperSize( const Size& i_rPageSize, bool bNoNUP ) const
    {
@@ -1332,8 +1331,7 @@ void PrinterController::abortJob()
    // applications (well, sw) depend on a page request with "IsLastPage" = true
    // to free resources, else they (well, sw) will crash eventually
    setLastPage( true );
    delete mpImplData->mpProgress;
    mpImplData->mpProgress = NULL;
    mpImplData->mpProgress.clear();
    GDIMetaFile aMtf;
    getPageFile( 0, aMtf, false );
}
diff --git a/vcl/source/window/accel.cxx b/vcl/source/window/accel.cxx
index a3b7c0f..99fea09 100644
--- a/vcl/source/window/accel.cxx
+++ b/vcl/source/window/accel.cxx
@@ -20,6 +20,7 @@
#include <tools/debug.hxx>
#include <tools/rc.h>

#include <vcl/window.hxx>
#include <vcl/svapp.hxx>
#include <accel.h>
#include <vcl/accel.hxx>
diff --git a/vcl/source/window/accessibility.cxx b/vcl/source/window/accessibility.cxx
index ca88656..07abf75 100644
--- a/vcl/source/window/accessibility.cxx
+++ b/vcl/source/window/accessibility.cxx
@@ -649,12 +649,11 @@ vcl::Window* Window::GetAccessibleRelationLabeledBy() const
    if (mpWindowImpl->mpAccessibleInfos && mpWindowImpl->mpAccessibleInfos->pLabeledByWindow)
        return mpWindowImpl->mpAccessibleInfos->pLabeledByWindow;

    std::vector<FixedText*> aMnemonicLabels(list_mnemonic_labels());
    std::vector<VclPtr<FixedText> > aMnemonicLabels(list_mnemonic_labels());
    if (!aMnemonicLabels.empty())
    {
        //if we have multiple labels, then prefer the first that is visible
        for (std::vector<FixedText*>::iterator
            aI = aMnemonicLabels.begin(), aEnd = aMnemonicLabels.end(); aI != aEnd; ++aI)
        for (auto aI = aMnemonicLabels.begin(), aEnd = aMnemonicLabels.end(); aI != aEnd; ++aI)
        {
            vcl::Window *pCandidate = *aI;
            if (pCandidate->IsVisible())
diff --git a/vcl/source/window/brdwin.cxx b/vcl/source/window/brdwin.cxx
index 7f32e64..a023af6 100644
--- a/vcl/source/window/brdwin.cxx
+++ b/vcl/source/window/brdwin.cxx
@@ -1853,7 +1853,7 @@ void ImplBorderWindow::dispose()
{
    delete mpBorderView;
    mpBorderView = NULL;

    mpMenuBarWindow.clear();
    vcl::Window::dispose();
}

diff --git a/vcl/source/window/btndlg.cxx b/vcl/source/window/btndlg.cxx
index 4c0e73c..cc3c69e 100644
--- a/vcl/source/window/btndlg.cxx
+++ b/vcl/source/window/btndlg.cxx
@@ -30,10 +30,10 @@ typedef boost::ptr_vector<ImplBtnDlgItem>::const_iterator btn_const_iterator;
struct ImplBtnDlgItem
{
    sal_uInt16              mnId;
    bool                mbOwnButton;
    bool                mbDummyAlign;
    long                mnSepSize;
    PushButton*         mpPushButton;
    bool                    mbOwnButton;
    bool                    mbDummyAlign;
    long                    mnSepSize;
    VclPtr<PushButton>      mpPushButton;
};

void ButtonDialog::ImplInitButtonDialogData()
@@ -64,13 +64,7 @@ ButtonDialog::~ButtonDialog()

void ButtonDialog::dispose()
{
    for ( btn_iterator it = maItemList.begin(); it != maItemList.end(); ++it)
    {
        if ( it->mpPushButton && it->mbOwnButton )
            delete it->mpPushButton;
    }
    maItemList.clear();

    Dialog::dispose();
}

@@ -335,10 +329,7 @@ void ButtonDialog::RemoveButton( sal_uInt16 nId )
        if (it->mnId == nId)
        {
            it->mpPushButton->Hide();

            if (it->mbOwnButton )
                delete it->mpPushButton;

            it->mpPushButton.clear();
            maItemList.erase(it);
            return;
        }
@@ -352,9 +343,6 @@ void ButtonDialog::Clear()
    for (btn_iterator it = maItemList.begin(); it != maItemList.end(); ++it)
    {
        it->mpPushButton->Hide();

        if (it->mbOwnButton )
            delete it->mpPushButton;
    }

    maItemList.clear();
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 278a3e5..275e075 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -471,14 +471,14 @@ VclBuilder::VclBuilder(vcl::Window *pParent, const OUString& sUIDir, const OUStr

    //Remove ScrollWindow parent widgets whose children in vcl implement scrolling
    //internally.
    for (std::map<vcl::Window*, vcl::Window*>::iterator aI = m_pParserState->m_aRedundantParentWidgets.begin(),
    for (auto aI = m_pParserState->m_aRedundantParentWidgets.begin(),
        aEnd = m_pParserState->m_aRedundantParentWidgets.end(); aI != aEnd; ++aI)
    {
        delete_by_window(aI->first);
    }

    //fdo#67378 merge the label into the disclosure button
    for (std::vector<VclExpander*>::iterator aI = m_pParserState->m_aExpanderWidgets.begin(),
    for (auto aI = m_pParserState->m_aExpanderWidgets.begin(),
        aEnd = m_pParserState->m_aExpanderWidgets.end(); aI != aEnd; ++aI)
    {
        VclExpander *pOne = *aI;
@@ -1773,8 +1773,8 @@ vcl::Window *VclBuilder::makeObject(vcl::Window *pParent, const OString &name, c
        pWindow->SetHelpId(m_sHelpRoot + id);
        SAL_INFO("vcl.layout", "for " << name.getStr() <<
            ", created " << pWindow << " child of " <<
            pParent << "(" << pWindow->mpWindowImpl->mpParent << "/" <<
            pWindow->mpWindowImpl->mpRealParent << "/" <<
            pParent << "(" << pWindow->mpWindowImpl->mpParent.get() << "/" <<
            pWindow->mpWindowImpl->mpRealParent.get() << "/" <<
            pWindow->mpWindowImpl->mpBorderWindow.get() << ") with helpid " <<
            pWindow->GetHelpId().getStr());
        m_aChildren.push_back(WinAndId(id, pWindow, bVertical));
@@ -1853,14 +1853,14 @@ vcl::Window *VclBuilder::insertObject(vcl::Window *pParent, const OString &rClas
        //if we're being inserting under a toplevel dialog whose init is
        //deferred due to waiting to encounter it in this .ui, and it hasn't
        //been seen yet, then make unattached widgets parent-less toplevels
        if (pParent == m_pParent && m_bToplevelHasDeferredInit)
        if (pParent == m_pParent.get() && m_bToplevelHasDeferredInit)
            pParent = NULL;
        pCurrentChild = makeObject(pParent, rClass, rID, rProps);
    }

    if (pCurrentChild)
    {
        if (pCurrentChild == m_pParent && m_bToplevelHasDeferredProperties)
        if (pCurrentChild == m_pParent.get() && m_bToplevelHasDeferredProperties)
            m_aDeferredProperties = rProps;
        else
            set_properties(pCurrentChild, rProps);
@@ -1872,7 +1872,7 @@ vcl::Window *VclBuilder::insertObject(vcl::Window *pParent, const OString &rClas
            pCurrentChild->set_font_attribute(rKey, rValue);
        }

        m_pParserState->m_aAtkInfo[pCurrentChild] = rAtk;
        m_pParserState->m_aAtkInfo[VclPtr<vcl::Window>(pCurrentChild)] = rAtk;
    }

    rProps.clear();
@@ -1880,7 +1880,7 @@ vcl::Window *VclBuilder::insertObject(vcl::Window *pParent, const OString &rClas
    rAtk.clear();

    if (!pCurrentChild)
        pCurrentChild = m_aChildren.empty() ? pParent : m_aChildren.back().m_pWindow;
        pCurrentChild = m_aChildren.empty() ? pParent : m_aChildren.back().m_pWindow.get();
    return pCurrentChild;
}

@@ -2100,14 +2100,14 @@ void VclBuilder::handleChild(vcl::Window *pParent, xmlreader::XmlReader &reader)
                        if (sInternalChild.startsWith("vbox") || sInternalChild.startsWith("messagedialog-vbox"))
                        {
                            if (Dialog *pBoxParent = dynamic_cast<Dialog*>(pParent))
                                pBoxParent->set_content_area(VclPtr<VclBox>(static_cast<VclBox*>(pCurrentChild))); // FIXME-VCLPTR
                                pBoxParent->set_content_area(static_cast<VclBox*>(pCurrentChild)); // FIXME-VCLPTR
                        }
                        else if (sInternalChild.startsWith("action_area") || sInternalChild.startsWith("messagedialog-action_area"))
                        {
                            vcl::Window *pContentArea = pCurrentChild->GetParent();
                            if (Dialog *pBoxParent = dynamic_cast<Dialog*>(pContentArea ? pContentArea->GetParent() : NULL))
                            {
                                pBoxParent->set_action_area(VclPtr<VclButtonBox>(static_cast<VclButtonBox*>(pCurrentChild))); // FIXME-VCLPTR
                                pBoxParent->set_action_area(static_cast<VclButtonBox*>(pCurrentChild)); // FIXME-VCLPTR
                            }
                        }

@@ -3022,7 +3022,7 @@ void VclBuilder::applyPackingProperty(vcl::Window *pCurrent,

    if (pCurrent->GetType() == WINDOW_SCROLLWINDOW)
    {
        std::map<vcl::Window*, vcl::Window*>::iterator aFind = m_pParserState->m_aRedundantParentWidgets.find(pCurrent);
        auto aFind = m_pParserState->m_aRedundantParentWidgets.find(VclPtr<vcl::Window>(pCurrent));
        if (aFind != m_pParserState->m_aRedundantParentWidgets.end())
        {
            pCurrent = aFind->second;
@@ -3286,7 +3286,6 @@ void VclBuilder::delete_by_name(const OString& sID)
    {
        if (aI->m_sID.equals(sID))
        {
            delete aI->m_pWindow;
            m_aChildren.erase(aI);
            break;
        }
@@ -3558,4 +3557,8 @@ void VclBuilder::mungeTextBuffer(VclMultiLineEdit &rTarget, const TextBuffer &rT
    }
}

VclBuilder::ParserState::ParserState()
    : m_nLastToolbarId(0)
{}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/source/window/clipping.cxx b/vcl/source/window/clipping.cxx
index 0c24e30..5fc94df 100644
--- a/vcl/source/window/clipping.cxx
+++ b/vcl/source/window/clipping.cxx
@@ -929,7 +929,7 @@ void Window::ImplDeleteOverlapBackground()
        else
        {
            vcl::Window* pTemp = mpWindowImpl->mpFrameData->mpFirstBackWin;
            while ( pTemp->mpWindowImpl->mpOverlapData->mpNextBackWin != this )
            while ( pTemp->mpWindowImpl->mpOverlapData->mpNextBackWin.get() != this )
                pTemp = pTemp->mpWindowImpl->mpOverlapData->mpNextBackWin;
            pTemp->mpWindowImpl->mpOverlapData->mpNextBackWin = mpWindowImpl->mpOverlapData->mpNextBackWin;
        }
diff --git a/vcl/source/window/cursor.cxx b/vcl/source/window/cursor.cxx
index d0c9a73..e61d82b 100644
--- a/vcl/source/window/cursor.cxx
+++ b/vcl/source/window/cursor.cxx
@@ -38,7 +38,7 @@ struct ImplCursorData
    unsigned char   mnDirection;        // indicates writing direction
    sal_uInt16          mnStyle;            // Cursor-Style
    bool            mbCurVisible;       // Ist Cursor aktuell sichtbar
    vcl::Window*         mpWindow;           // Zugeordnetes Windows
    VclPtr<vcl::Window> mpWindow;           // Zugeordnetes Windows
};

static void ImplCursorInvert( ImplCursorData* pData )
@@ -319,7 +319,7 @@ void vcl::Cursor::Hide()

void vcl::Cursor::SetWindow( vcl::Window* pWindow )
{
    if ( mpWindow != pWindow )
    if ( mpWindow.get() != pWindow )
    {
        mpWindow = pWindow;
        ImplNew();
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index b34a451..6c86419 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -551,6 +551,7 @@ void Dialog::dispose()
{
    delete mpDialogImpl;
    mpDialogImpl = NULL;
    mpPrevExecuteDlg.clear();
    mpActionArea.clear();
    mpContentArea.clear();
    SystemWindow::dispose();
@@ -1005,7 +1006,7 @@ void Dialog::SetModalInputMode( bool bModal )
                pPrevModalDlg = pPrevModalDlg->mpPrevExecuteDlg;

            if( pPrevModalDlg &&
            ( pPrevModalDlg == mpPrevExecuteDlg
            ( pPrevModalDlg == mpPrevExecuteDlg.get()
                || !pPrevModalDlg->IsWindowOrChild( this, true ) ) )
            {
                mpPrevExecuteDlg->SetModalInputMode( false );
diff --git a/vcl/source/window/dlgctrl.cxx b/vcl/source/window/dlgctrl.cxx
index 2b63b3f..eb899fd 100644
--- a/vcl/source/window/dlgctrl.cxx
+++ b/vcl/source/window/dlgctrl.cxx
@@ -530,9 +530,9 @@ namespace
               );
    }

    bool focusNextInGroup(std::vector<RadioButton*>::iterator aStart, std::vector<RadioButton*> &rGroup)
    bool focusNextInGroup(const std::vector<VclPtr<RadioButton> >::iterator& aStart, std::vector<VclPtr<RadioButton> > &rGroup)
    {
        std::vector<RadioButton*>::iterator aI(aStart);
        std::vector<VclPtr<RadioButton> >::iterator aI(aStart);

        if (aStart != rGroup.end())
            ++aI;
@@ -564,7 +564,7 @@ namespace

    bool nextInGroup(RadioButton *pSourceWindow, bool bBackward)
    {
        std::vector<RadioButton*> aGroup(pSourceWindow->GetRadioButtonGroup(true));
        std::vector<VclPtr<RadioButton> > aGroup(pSourceWindow->GetRadioButtonGroup(true));

        if (aGroup.size() == 1) //only one button in group
            return false;
@@ -572,7 +572,7 @@ namespace
        if (bBackward)
            std::reverse(aGroup.begin(), aGroup.end());

        std::vector<RadioButton*>::iterator aStart(std::find(aGroup.begin(), aGroup.end(), pSourceWindow));
        auto aStart(std::find(aGroup.begin(), aGroup.end(), VclPtr<RadioButton>(pSourceWindow)));

        assert(aStart != aGroup.end());

@@ -716,9 +716,9 @@ bool Window::ImplDlgCtrl( const KeyEvent& rKEvt, bool bKeyInput )

        if ( bKeyInput && mpWindowImpl->mpDlgCtrlDownWindow )
        {
            if ( mpWindowImpl->mpDlgCtrlDownWindow != pButtonWindow )
            if ( mpWindowImpl->mpDlgCtrlDownWindow.get() != pButtonWindow )
            {
                static_cast<PushButton*>(mpWindowImpl->mpDlgCtrlDownWindow)->SetPressed( false );
                static_cast<PushButton*>(mpWindowImpl->mpDlgCtrlDownWindow.get())->SetPressed( false );
                mpWindowImpl->mpDlgCtrlDownWindow = NULL;
                return true;
            }
@@ -928,16 +928,16 @@ bool Window::ImplDlgCtrl( const KeyEvent& rKEvt, bool bKeyInput )
    {
        if ( bKeyInput )
        {
            if ( mpWindowImpl->mpDlgCtrlDownWindow && (mpWindowImpl->mpDlgCtrlDownWindow != pButtonWindow) )
            if ( mpWindowImpl->mpDlgCtrlDownWindow && (mpWindowImpl->mpDlgCtrlDownWindow.get() != pButtonWindow) )
            {
                static_cast<PushButton*>(mpWindowImpl->mpDlgCtrlDownWindow)->SetPressed( false );
                static_cast<PushButton*>(mpWindowImpl->mpDlgCtrlDownWindow.get())->SetPressed( false );
                mpWindowImpl->mpDlgCtrlDownWindow = NULL;
            }

            static_cast<PushButton*>(pButtonWindow)->SetPressed( true );
            mpWindowImpl->mpDlgCtrlDownWindow = pButtonWindow;
        }
        else if ( mpWindowImpl->mpDlgCtrlDownWindow == pButtonWindow )
        else if ( mpWindowImpl->mpDlgCtrlDownWindow.get() == pButtonWindow )
        {
            mpWindowImpl->mpDlgCtrlDownWindow = NULL;
            static_cast<PushButton*>(pButtonWindow)->SetPressed( false );
@@ -1060,7 +1060,7 @@ void Window::ImplDlgCtrlFocusChanged( vcl::Window* pWindow, bool bGetFocus )
{
    if ( mpWindowImpl->mpDlgCtrlDownWindow && !bGetFocus )
    {
        static_cast<PushButton*>(mpWindowImpl->mpDlgCtrlDownWindow)->SetPressed( false );
        static_cast<PushButton*>(mpWindowImpl->mpDlgCtrlDownWindow.get())->SetPressed( false );
        mpWindowImpl->mpDlgCtrlDownWindow = NULL;
    }

diff --git a/vcl/source/window/dndevdis.cxx b/vcl/source/window/dndevdis.cxx
index dabfef7..94d6ae7 100644
--- a/vcl/source/window/dndevdis.cxx
+++ b/vcl/source/window/dndevdis.cxx
@@ -99,7 +99,7 @@ void SAL_CALL DNDEventDispatcher::drop( const DropTargetDropEvent& dtde )
    vcl::Window* pChildWindow = findTopLevelWindow(location);

    // handle the case that drop is in an other vcl window than the last dragOver
    if( pChildWindow != m_pCurrentWindow )
    if( pChildWindow != m_pCurrentWindow.get() )
    {
        // fire dragExit on listeners of previous window
        fireDragExitEvent( m_pCurrentWindow );
@@ -177,7 +177,7 @@ void SAL_CALL DNDEventDispatcher::dragOver( const DropTargetDragEvent& dtde )

    vcl::Window * pChildWindow = findTopLevelWindow(location);

    if( pChildWindow != m_pCurrentWindow )
    if( pChildWindow != m_pCurrentWindow.get() )
    {
        // fire dragExit on listeners of previous window
        fireDragExitEvent( m_pCurrentWindow );
@@ -215,7 +215,7 @@ void SAL_CALL DNDEventDispatcher::dropActionChanged( const DropTargetDragEvent& 

    vcl::Window* pChildWindow = findTopLevelWindow(location);

    if( pChildWindow != m_pCurrentWindow )
    if( pChildWindow != m_pCurrentWindow.get() )
    {
        // fire dragExit on listeners of previous window
        fireDragExitEvent( m_pCurrentWindow );
diff --git a/vcl/source/window/dockmgr.cxx b/vcl/source/window/dockmgr.cxx
index 7b0f1c3..90b436e 100644
--- a/vcl/source/window/dockmgr.cxx
+++ b/vcl/source/window/dockmgr.cxx
@@ -827,7 +827,7 @@ ImplDockingWindowWrapper::ImplDockingWindowWrapper( const vcl::Window *pWindow )
    , mbStartDockingEnabled(false)
    , mbLocked(false)
{
    DockingWindow *pDockWin = dynamic_cast< DockingWindow* > ( mpDockingWindow );
    DockingWindow *pDockWin = dynamic_cast< DockingWindow* > ( mpDockingWindow.get() );
    if( pDockWin )
        mnFloatBits = pDockWin->GetFloatStyle();
}
@@ -1112,7 +1112,7 @@ void ImplDockingWindowWrapper::StartPopupMode( ToolBox *pParentToolBox, sal_uLon
    // prepare reparenting
    vcl::Window* pRealParent = GetWindow()->GetWindow( WINDOW_PARENT );
    mpOldBorderWin = GetWindow()->GetWindow( WINDOW_BORDER );
    if( mpOldBorderWin == GetWindow() )
    if( mpOldBorderWin.get() == GetWindow() )
        mpOldBorderWin = NULL;  // no border window found

    // the new parent for popup mode
@@ -1167,7 +1167,7 @@ IMPL_LINK_NOARG(ImplDockingWindowWrapper, PopupModeEnd)
    GetWindow()->Show( false, SHOW_NOFOCUSCHANGE );

    // set parameter for handler before destroying floating window
    ImplPopupFloatWin *pPopupFloatWin = static_cast<ImplPopupFloatWin*>(mpFloatWin);
    ImplPopupFloatWin *pPopupFloatWin = static_cast<ImplPopupFloatWin*>(mpFloatWin.get());
    EndPopupModeData aData( pPopupFloatWin->GetTearOffPosition(), mpFloatWin->IsPopupModeTearOff() );

    // before deleting change parent back, so we can delete the floating window alone
@@ -1176,7 +1176,7 @@ IMPL_LINK_NOARG(ImplDockingWindowWrapper, PopupModeEnd)
    if ( mpOldBorderWin )
    {
        GetWindow()->SetParent( mpOldBorderWin );
        static_cast<ImplBorderWindow*>(mpOldBorderWin)->GetBorder(
        static_cast<ImplBorderWindow*>(mpOldBorderWin.get())->GetBorder(
            GetWindow()->mpWindowImpl->mnLeftBorder, GetWindow()->mpWindowImpl->mnTopBorder,
            GetWindow()->mpWindowImpl->mnRightBorder, GetWindow()->mpWindowImpl->mnBottomBorder );
        mpOldBorderWin->Resize();
@@ -1185,8 +1185,7 @@ IMPL_LINK_NOARG(ImplDockingWindowWrapper, PopupModeEnd)
    GetWindow()->SetParent( pRealParent );
    GetWindow()->mpWindowImpl->mpRealParent = pRealParent;

    delete mpFloatWin;
    mpFloatWin = NULL;
    mpFloatWin.clear();

    // call handler - which will destroy the window and thus the wrapper as well !
    GetWindow()->CallEventListeners( VCLEVENT_WINDOW_ENDPOPUPMODE, &aData );
@@ -1291,7 +1290,7 @@ void ImplDockingWindowWrapper::SetFloatingMode( bool bFloatMode )
                if ( mpOldBorderWin )
                {
                    GetWindow()->SetParent( mpOldBorderWin );
                    static_cast<ImplBorderWindow*>(mpOldBorderWin)->GetBorder(
                    static_cast<ImplBorderWindow*>(mpOldBorderWin.get())->GetBorder(
                        GetWindow()->mpWindowImpl->mnLeftBorder, GetWindow()->mpWindowImpl->mnTopBorder,
                        GetWindow()->mpWindowImpl->mnRightBorder, GetWindow()->mpWindowImpl->mnBottomBorder );
                    mpOldBorderWin->Resize();
@@ -1300,7 +1299,7 @@ void ImplDockingWindowWrapper::SetFloatingMode( bool bFloatMode )
                GetWindow()->SetParent( pRealParent );
                GetWindow()->mpWindowImpl->mpRealParent = pRealParent;

                delete static_cast<ImplDockFloatWin2*>(mpFloatWin);
                delete static_cast<ImplDockFloatWin2*>(mpFloatWin.get());
                mpFloatWin = NULL;
                GetWindow()->SetPosPixel( maDockPos );

@@ -1364,7 +1363,7 @@ void ImplDockingWindowWrapper::SetMaxOutputSizePixel( const Size& rSize )

bool ImplDockingWindowWrapper::IsFloatingMode() const
{
    return (mpFloatWin != NULL);
    return (mpFloatWin != nullptr);
}

void    ImplDockingWindowWrapper::SetDragArea( const Rectangle& rRect )
diff --git a/vcl/source/window/dockwin.cxx b/vcl/source/window/dockwin.cxx
index bc1740e..743983c 100644
--- a/vcl/source/window/dockwin.cxx
+++ b/vcl/source/window/dockwin.cxx
@@ -42,8 +42,8 @@ public:
    ImplData();
    ~ImplData();

    vcl::Window*         mpParent;
    Size            maMaxOutSize;
    VclPtr<vcl::Window> mpParent;
    Size                maMaxOutSize;
};

DockingWindow::ImplData::ImplData()
@@ -59,7 +59,7 @@ DockingWindow::ImplData::~ImplData()
class ImplDockFloatWin : public FloatingWindow
{
private:
    DockingWindow*  mpDockWin;
    VclPtr<DockingWindow> mpDockWin;
    sal_uLong           mnLastTicks;
    Idle            maDockIdle;
    Point           maDockPos;
@@ -122,6 +122,7 @@ void ImplDockFloatWin::dispose()

    disposeBuilder();

    mpDockWin.clear();
    FloatingWindow::dispose();
}

@@ -482,6 +483,9 @@ void DockingWindow::dispose()
    }
    delete mpImplData;
    mpImplData = NULL;
    mpFloatWin.clear();
    mpOldBorderWin.clear();
    mpDialogParent.clear();
    Window::dispose();
}

@@ -867,13 +871,13 @@ void DockingWindow::SetFloatingMode( bool bFloatMode )
                if ( mpOldBorderWin )
                {
                    SetParent( mpOldBorderWin );
                    static_cast<ImplBorderWindow*>(mpOldBorderWin)->GetBorder( mpWindowImpl->mnLeftBorder, mpWindowImpl->mnTopBorder, mpWindowImpl->mnRightBorder, mpWindowImpl->mnBottomBorder );
                    static_cast<ImplBorderWindow*>(mpOldBorderWin.get())->GetBorder( mpWindowImpl->mnLeftBorder, mpWindowImpl->mnTopBorder, mpWindowImpl->mnRightBorder, mpWindowImpl->mnBottomBorder );
                    mpOldBorderWin->Resize();
                }
                mpWindowImpl->mpBorderWindow = mpOldBorderWin;
                SetParent( pRealParent );
                mpWindowImpl->mpRealParent = pRealParent;
                delete static_cast<ImplDockFloatWin*>(mpFloatWin);
                mpFloatWin.clear();
                mpFloatWin = NULL;
                SetPosPixel( maDockPos );

@@ -1049,7 +1053,7 @@ bool DockingWindow::IsFloatingMode() const
    if( pWrapper )
        return pWrapper->IsFloatingMode();
    else
        return (mpFloatWin != NULL);
        return (mpFloatWin != nullptr);
}

void DockingWindow::SetMaxOutputSizePixel( const Size& rSize )
diff --git a/vcl/source/window/event.cxx b/vcl/source/window/event.cxx
index 9b1e59d..9a4f1c0 100644
--- a/vcl/source/window/event.cxx
+++ b/vcl/source/window/event.cxx
@@ -283,7 +283,7 @@ ImplSVEvent * Window::PostUserEvent( const Link& rLink, void* pCaller )

void Window::RemoveUserEvent( ImplSVEvent * nUserEvent )
{
    DBG_ASSERT( nUserEvent->mpWindow == this,
    DBG_ASSERT( nUserEvent->mpWindow.get() == this,
                "Window::RemoveUserEvent(): Event doesn't send to this window or is already removed" );
    DBG_ASSERT( nUserEvent->mbCall,
                "Window::RemoveUserEvent(): Event is already removed" );
@@ -521,14 +521,14 @@ void Window::ImplCallFocusChangeActivate( vcl::Window* pNewOverlapWindow,
    {
        if ( pSVData->maWinData.mpLastDeacWin )
        {
            if ( pSVData->maWinData.mpLastDeacWin == pNewOverlapWindow )
            if ( pSVData->maWinData.mpLastDeacWin.get() == pNewOverlapWindow )
                bCallActivate = false;
            else
            {
                vcl::Window* pLastRealWindow = pSVData->maWinData.mpLastDeacWin->ImplGetWindow();
                pSVData->maWinData.mpLastDeacWin->mpWindowImpl->mbActive = false;
                pSVData->maWinData.mpLastDeacWin->Deactivate();
                if ( pLastRealWindow != pSVData->maWinData.mpLastDeacWin )
                if ( pLastRealWindow != pSVData->maWinData.mpLastDeacWin.get() )
                {
                    pLastRealWindow->mpWindowImpl->mbActive = true;
                    pLastRealWindow->Activate();
@@ -574,5 +574,22 @@ void Window::ImplCallFocusChangeActivate( vcl::Window* pNewOverlapWindow,

} /* namespace vcl */

NotifyEvent::NotifyEvent()
{
    mpWindow    = NULL;
    mpData      = NULL;
    mnEventType = MouseNotifyEvent::NONE;
    mnRetValue  = 0;
}

NotifyEvent::NotifyEvent( MouseNotifyEvent nEventType, vcl::Window* pWindow,
                          const void* pEvent, long nRet )
{
    mpWindow    = pWindow;
    mpData      = (void*)pEvent;
    mnEventType  = nEventType;
    mnRetValue  = nRet;
}


/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/source/window/floatwin.cxx b/vcl/source/window/floatwin.cxx
index ffafa47..7102b60 100644
--- a/vcl/source/window/floatwin.cxx
+++ b/vcl/source/window/floatwin.cxx
@@ -39,7 +39,7 @@ public:
    ImplData();
    ~ImplData();

    ToolBox*        mpBox;
    VclPtr<ToolBox> mpBox;
    Rectangle       maItemEdgeClipRect; // used to clip the common edge between a toolbar item and the border of this window
};

@@ -208,6 +208,8 @@ void FloatingWindow::dispose()
    delete mpImplData;
    mpImplData = NULL;

    mpNextFloat.clear();
    mpFirstPopupModeWin.clear();
    SystemWindow::dispose();
}

@@ -746,7 +748,7 @@ void FloatingWindow::ImplEndPopupMode( sal_uInt16 nFlags, sal_uLong nFocusId )
    mbInCleanUp = true; // prevent killing this window due to focus change while working with it

    // stop the PopupMode also for all following PopupMode windows
    while ( pSVData->maWinData.mpFirstFloat && pSVData->maWinData.mpFirstFloat != this )
    while ( pSVData->maWinData.mpFirstFloat && pSVData->maWinData.mpFirstFloat.get() != this )
        pSVData->maWinData.mpFirstFloat->EndPopupMode( FLOATWIN_POPUPMODEEND_CANCEL );

    // delete window from the list
diff --git a/vcl/source/window/introwin.cxx b/vcl/source/window/introwin.cxx
index 4268f498..709f976 100644
--- a/vcl/source/window/introwin.cxx
+++ b/vcl/source/window/introwin.cxx
@@ -47,8 +47,10 @@ void IntroWindow::dispose()
{
    // FIXME: really we should have a dispose & a ref-ptr there [!] ...
    ImplSVData* pSVData = ImplGetSVData();
    if ( pSVData->mpIntroWindow == this )
        pSVData->mpIntroWindow = NULL;
    if ( pSVData->mpIntroWindow.get() == this )
        pSVData->mpIntroWindow = nullptr;

    WorkWindow::dispose();
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx
index 5fee1f0f..1d691c0 100644
--- a/vcl/source/window/layout.cxx
+++ b/vcl/source/window/layout.cxx
@@ -1286,6 +1286,17 @@ void VclBin::setAllocation(const Size &rAllocation)
        setLayoutAllocation(*pChild, Point(0, 0), rAllocation);
}

VclFrame::~VclFrame()
{
    dispose();
}

void VclFrame::dispose()
{
    m_pLabel.clear();
    VclBin::dispose();
}

//To-Do, hook a DecorationView into VclFrame ?

Size VclFrame::calculateRequisition() const
@@ -1488,7 +1499,7 @@ Size VclExpander::calculateRequisition() const
    WindowImpl* pWindowImpl = ImplGetWindowImpl();

    const vcl::Window *pChild = get_child();
    const vcl::Window *pLabel = pChild != pWindowImpl->mpLastChild ? pWindowImpl->mpLastChild : NULL;
    const vcl::Window *pLabel = pChild != pWindowImpl->mpLastChild ? pWindowImpl->mpLastChild.get() : NULL;

    if (pChild && pChild->IsVisible() && m_pDisclosureButton->IsChecked())
        aRet = getLayoutRequisition(*pChild);
@@ -1525,7 +1536,7 @@ void VclExpander::setAllocation(const Size &rAllocation)

    //The label widget is the last (of two) children
    vcl::Window *pChild = get_child();
    vcl::Window *pLabel = pChild != pWindowImpl->mpLastChild ? pWindowImpl->mpLastChild : NULL;
    vcl::Window *pLabel = pChild != pWindowImpl->mpLastChild.get() ? pWindowImpl->mpLastChild.get() : NULL;

    Size aButtonSize = getLayoutRequisition(*m_pDisclosureButton);
    Size aLabelSize;
@@ -1835,7 +1846,7 @@ const vcl::Window *VclEventBox::get_child() const
{
    const WindowImpl* pWindowImpl = ImplGetWindowImpl();

    assert(pWindowImpl->mpFirstChild == m_aEventBoxHelper.get());
    assert(pWindowImpl->mpFirstChild.get() == m_aEventBoxHelper.get());

    return pWindowImpl->mpFirstChild->GetWindow(WINDOW_NEXT);
}
@@ -2004,19 +2015,13 @@ void MessageDialog::dispose()
        m_aOwnedButtons[i].disposeAndClear();
    m_aOwnedButtons.clear();

    delete m_pSecondaryMessage;
    m_pSecondaryMessage = NULL;

    delete m_pPrimaryMessage;
    m_pSecondaryMessage = NULL;

    delete m_pImage;
    m_pImage = NULL;

    m_pSecondaryMessage.clear();
    m_pSecondaryMessage.clear();
    m_pImage.clear();
    m_pGrid.disposeAndClear();
    m_pOwnedActionArea.disposeAndClear();
    m_pOwnedContentArea.disposeAndClear();

    m_pPrimaryMessage.clear();
    Dialog::dispose();
}

@@ -2038,7 +2043,7 @@ IMPL_LINK(MessageDialog, ButtonHdl, Button *, pButton)

short MessageDialog::get_response(const vcl::Window *pWindow) const
{
    std::map<const vcl::Window*, short>::const_iterator aFind = m_aResponses.find(pWindow);
    auto aFind = m_aResponses.find(pWindow);
    if (aFind != m_aResponses.end())
        return aFind->second;
    if (!m_pUIBuilder)
@@ -2160,7 +2165,7 @@ short MessageDialog::Execute()
        m_pSecondaryMessage->SetText(m_sSecondaryString);
        m_pSecondaryMessage->Show(bHasSecondaryText);

        MessageDialog::SetMessagesWidths(this, m_pPrimaryMessage, bHasSecondaryText ? m_pSecondaryMessage : NULL);
        MessageDialog::SetMessagesWidths(this, m_pPrimaryMessage, bHasSecondaryText ? m_pSecondaryMessage.get() : NULL);

        VclButtonBox *pButtonBox = get_action_area();
        assert(pButtonBox);
diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx
index d32c86f..af18be1 100644
--- a/vcl/source/window/menu.cxx
+++ b/vcl/source/window/menu.cxx
@@ -142,7 +142,7 @@ Menu::~Menu()
    // and make sure the MenuFloatingWindow knows about our destruction
    if ( pWindow )
    {
        MenuFloatingWindow* pFloat = static_cast<MenuFloatingWindow*>(pWindow);
        MenuFloatingWindow* pFloat = static_cast<MenuFloatingWindow*>(pWindow.get());
        if( pFloat->pMenu == this )
            pFloat->pMenu = NULL;
        pWindow->SetAccessible( ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >() );
@@ -1704,7 +1704,7 @@ Size Menu::ImplCalcSize( const vcl::Window* pWin )

        // account for the size of the close button, which actually is a toolbox
        // due to NWF this is variable
        long nCloseButtonHeight = static_cast<MenuBarWindow*>(pWindow)->MinCloseButtonSize().Height();
        long nCloseButtonHeight = static_cast<MenuBarWindow*>(pWindow.get())->MinCloseButtonSize().Height();
        if (aSz.Height() < nCloseButtonHeight)
            aSz.Height() = nCloseButtonHeight;
    }
@@ -2269,7 +2269,7 @@ void Menu::ImplFillLayoutData() const
        }
        else
        {
            MenuFloatingWindow* pFloat = static_cast<MenuFloatingWindow*>(pWindow);
            MenuFloatingWindow* pFloat = static_cast<MenuFloatingWindow*>(pWindow.get());
            ImplPaint( pWindow, pFloat->nScrollerHeight, pFloat->ImplGetStartY(), 0, false, true );
        }
    }
@@ -2381,9 +2381,9 @@ bool Menu::IsHighlighted( sal_uInt16 nItemPos ) const
    if( pWindow )
    {
        if (IsMenuBar())
            bRet = ( nItemPos == static_cast< MenuBarWindow * > (pWindow)->GetHighlightedItem() );
            bRet = ( nItemPos == static_cast< MenuBarWindow * > (pWindow.get())->GetHighlightedItem() );
        else
            bRet = ( nItemPos == static_cast< MenuFloatingWindow * > (pWindow)->GetHighlightedItem() );
            bRet = ( nItemPos == static_cast< MenuFloatingWindow * > (pWindow.get())->GetHighlightedItem() );
    }

    return bRet;
@@ -2395,13 +2395,13 @@ void Menu::HighlightItem( sal_uInt16 nItemPos )
    {
        if (IsMenuBar())
        {
            MenuBarWindow* pMenuWin = static_cast< MenuBarWindow* >( pWindow );
            MenuBarWindow* pMenuWin = static_cast< MenuBarWindow* >( pWindow.get() );
            pMenuWin->SetAutoPopup( false );
            pMenuWin->ChangeHighlightItem( nItemPos, false );
        }
        else
        {
            static_cast< MenuFloatingWindow* >( pWindow )->ChangeHighlightItem( nItemPos, false );
            static_cast< MenuFloatingWindow* >( pWindow.get() )->ChangeHighlightItem( nItemPos, false );
        }
    }
}
@@ -2411,7 +2411,7 @@ IMenuBarWindow* MenuBar::getMenuBarWindow()
{
    // so far just a dynamic_cast, hopefully to be turned into something saner
    // at some stage
    IMenuBarWindow *pWin = dynamic_cast<IMenuBarWindow*>(pWindow);
    IMenuBarWindow *pWin = dynamic_cast<IMenuBarWindow*>(pWindow.get());
    //either there is no window (fdo#87663) or it is an IMenuBarWindow
    assert(!pWindow || pWin);
    return pWin;
@@ -3009,9 +3009,9 @@ sal_uInt16 PopupMenu::ImplExecute( vcl::Window* pW, const Rectangle& rRect, sal_
        {
            sal_uInt16 aPos;
            if (pSFrom->IsMenuBar())
                aPos = static_cast<MenuBarWindow *>(pSFrom->pWindow)->GetHighlightedItem();
                aPos = static_cast<MenuBarWindow *>(pSFrom->pWindow.get())->GetHighlightedItem();
            else
                aPos = static_cast<MenuFloatingWindow *>(pSFrom->pWindow)->GetHighlightedItem();
                aPos = static_cast<MenuFloatingWindow *>(pSFrom->pWindow.get())->GetHighlightedItem();

            pWin->SetPosInParent( aPos );  // store position to be sent in SUBMENUDEACTIVATE
            pSFrom->ImplCallEventListeners( VCLEVENT_MENU_SUBMENUACTIVATE, aPos );
diff --git a/vcl/source/window/menubarwindow.cxx b/vcl/source/window/menubarwindow.cxx
index 9ea6a12..ac2170b 100644
--- a/vcl/source/window/menubarwindow.cxx
+++ b/vcl/source/window/menubarwindow.cxx
@@ -349,8 +349,8 @@ void MenuBarWindow::KillActivePopup()
{
    if ( pActivePopup )
    {
        if( pActivePopup->pWindow != NULL )
            if( static_cast<FloatingWindow *>(pActivePopup->pWindow)->IsInCleanUp() )
        if( pActivePopup->pWindow )
            if( static_cast<FloatingWindow *>(pActivePopup->pWindow.get())->IsInCleanUp() )
                return; // kill it later

        if ( pActivePopup->bInCallback )
@@ -457,7 +457,7 @@ void MenuBarWindow::ChangeHighlightItem( sal_uInt16 n, bool bSelectEntry, bool b
        if( !bStayActive )
        {
            // #105406# avoid saving the focus when we already have the focus
            bool bNoSaveFocus = (this == ImplGetSVData()->maWinData.mpFocusWin );
            bool bNoSaveFocus = (this == ImplGetSVData()->maWinData.mpFocusWin.get() );

            if( nSaveFocusId )
            {
diff --git a/vcl/source/window/menufloatingwindow.cxx b/vcl/source/window/menufloatingwindow.cxx
index e6fe541c..66297ea 100644
--- a/vcl/source/window/menufloatingwindow.cxx
+++ b/vcl/source/window/menufloatingwindow.cxx
@@ -413,8 +413,8 @@ void MenuFloatingWindow::KillActivePopup( PopupMenu* pThisOnly )
{
    if ( pActivePopup && ( !pThisOnly || ( pThisOnly == pActivePopup ) ) )
    {
        if( pActivePopup->pWindow != NULL )
            if( static_cast<FloatingWindow *>(pActivePopup->pWindow)->IsInCleanUp() )
        if( pActivePopup->pWindow )
            if( static_cast<FloatingWindow *>(pActivePopup->pWindow.get())->IsInCleanUp() )
                return; // kill it later
        if ( pActivePopup->bInCallback )
            pActivePopup->bCanceled = true;
diff --git a/vcl/source/window/mouse.cxx b/vcl/source/window/mouse.cxx
index 3691a0a..f445b08d 100644
--- a/vcl/source/window/mouse.cxx
+++ b/vcl/source/window/mouse.cxx
@@ -215,7 +215,7 @@ void Window::ImplGrabFocus( sal_uInt16 nFlags )
        // For a lack of design we need a little hack here to
        // ensure that dialogs on close pass the focus back to
        // the correct window
        if ( mpWindowImpl->mpLastFocusWindow && (mpWindowImpl->mpLastFocusWindow != this) &&
        if ( mpWindowImpl->mpLastFocusWindow && (mpWindowImpl->mpLastFocusWindow.get() != this) &&
             !(mpWindowImpl->mnDlgCtrlFlags & WINDOW_DLGCTRL_WANTFOCUS) &&
             mpWindowImpl->mpLastFocusWindow->IsEnabled() &&
             mpWindowImpl->mpLastFocusWindow->IsInputEnabled() &&
@@ -231,7 +231,7 @@ void Window::ImplGrabFocus( sal_uInt16 nFlags )
        // For a lack of design we need a little hack here to
        // ensure that dialogs on close pass the focus back to
        // the correct window
        if ( mpWindowImpl->mpLastFocusWindow && (mpWindowImpl->mpLastFocusWindow != this) &&
        if ( mpWindowImpl->mpLastFocusWindow && (mpWindowImpl->mpLastFocusWindow.get() != this) &&
             !(mpWindowImpl->mnDlgCtrlFlags & WINDOW_DLGCTRL_WANTFOCUS) &&
             mpWindowImpl->mpLastFocusWindow->IsEnabled() &&
             mpWindowImpl->mpLastFocusWindow->IsInputEnabled() &&
@@ -257,7 +257,7 @@ void Window::ImplGrabFocus( sal_uInt16 nFlags )
    vcl::Window *pFrame = pSVData->maWinData.mpFirstFrame;
    while( pFrame  )
    {
        if( pFrame != mpWindowImpl->mpFrameWindow && pFrame->mpWindowImpl->mpFrameData->mnFocusId )
        if( pFrame != mpWindowImpl->mpFrameWindow.get() && pFrame->mpWindowImpl->mpFrameData->mnFocusId )
        {
            bAsyncFocusWaiting = true;
            break;
@@ -283,13 +283,13 @@ void Window::ImplGrabFocus( sal_uInt16 nFlags )
        pParent = pParent->mpWindowImpl->mpParent;
    }

    if ( ( pSVData->maWinData.mpFocusWin != this &&
    if ( ( pSVData->maWinData.mpFocusWin.get() != this &&
           mpWindowImpl && !mpWindowImpl->mbInDispose ) ||
         ( bAsyncFocusWaiting && !bHasFocus && !bMustNotGrabFocus ) )
    {
        // EndExtTextInput if it is not the same window
        if ( pSVData->maWinData.mpExtTextInputWin &&
             (pSVData->maWinData.mpExtTextInputWin != this) )
             (pSVData->maWinData.mpExtTextInputWin.get() != this) )
            pSVData->maWinData.mpExtTextInputWin->EndExtTextInput( EXTTEXTINPUT_END_COMPLETE );

        // mark this windows as the last FocusWindow
@@ -360,7 +360,7 @@ void Window::ImplGrabFocus( sal_uInt16 nFlags )
            pOldFocusWindow->ImplCallDeactivateListeners( this );
        }

        if ( pSVData->maWinData.mpFocusWin == this )
        if ( pSVData->maWinData.mpFocusWin.get() == this )
        {
            if ( mpWindowImpl->mpSysObj )
            {
@@ -369,7 +369,7 @@ void Window::ImplGrabFocus( sal_uInt16 nFlags )
                    mpWindowImpl->mpSysObj->GrabFocus();
            }

            if ( pSVData->maWinData.mpFocusWin == this )
            if ( pSVData->maWinData.mpFocusWin.get() == this )
            {
                if ( mpWindowImpl->mpCursor )
                    mpWindowImpl->mpCursor->ImplShow();
@@ -452,13 +452,13 @@ void Window::CaptureMouse()
    ImplSVData* pSVData = ImplGetSVData();

    // possibly stop tracking
    if ( pSVData->maWinData.mpTrackWin != this )
    if ( pSVData->maWinData.mpTrackWin.get() != this )
    {
        if ( pSVData->maWinData.mpTrackWin )
            pSVData->maWinData.mpTrackWin->EndTracking( ENDTRACK_CANCEL );
    }

    if ( pSVData->maWinData.mpCaptureWin != this )
    if ( pSVData->maWinData.mpCaptureWin.get() != this )
    {
        pSVData->maWinData.mpCaptureWin = this;
        mpWindowImpl->mpFrame->CaptureMouse( true );
@@ -470,10 +470,10 @@ void Window::ReleaseMouse()

    ImplSVData* pSVData = ImplGetSVData();

    DBG_ASSERTWARNING( pSVData->maWinData.mpCaptureWin == this,
    DBG_ASSERTWARNING( pSVData->maWinData.mpCaptureWin.get() == this,
                       "Window::ReleaseMouse(): window doesn't have the mouse capture" );

    if ( pSVData->maWinData.mpCaptureWin == this )
    if ( pSVData->maWinData.mpCaptureWin.get() == this )
    {
        pSVData->maWinData.mpCaptureWin = NULL;
        mpWindowImpl->mpFrame->CaptureMouse( false );
diff --git a/vcl/source/window/msgbox.cxx b/vcl/source/window/msgbox.cxx
index b4c49b4..64bce64 100644
--- a/vcl/source/window/msgbox.cxx
+++ b/vcl/source/window/msgbox.cxx
@@ -156,15 +156,9 @@ MessBox::~MessBox()

void MessBox::dispose()
{
    delete mpVCLMultiLineEdit;
    mpVCLMultiLineEdit = NULL;

    delete mpFixedImage;
    mpFixedImage = NULL;

    delete mpCheckBox;
    mpCheckBox = NULL;

    mpVCLMultiLineEdit.clear();
    mpFixedImage.clear();
    mpCheckBox.clear();
    ButtonDialog::dispose();
}

@@ -202,17 +196,12 @@ void MessBox::ImplPosControls()
    WinBits         nWinStyle = WB_LEFT | WB_NOLABEL;
    sal_uInt16          nTextStyle = TEXT_DRAW_MULTILINE | TEXT_DRAW_TOP | TEXT_DRAW_LEFT;

    delete mpVCLMultiLineEdit;
    if ( mpFixedImage )
    {
        delete mpFixedImage;
        mpFixedImage = NULL;
    }
    mpVCLMultiLineEdit.clear();
    mpFixedImage.clear();
    if ( mpCheckBox )
    {
        mbCheck = mpCheckBox->IsChecked();
        delete mpCheckBox;
        mpCheckBox = NULL;
        mpCheckBox.clear();
    }

    // Clean up message text with tabs
diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx
index 1384dfe..a2bbfda 100644
--- a/vcl/source/window/paint.cxx
+++ b/vcl/source/window/paint.cxx
@@ -43,7 +43,7 @@
class PaintHelper
{
private:
    vcl::Window* m_pWindow;
    VclPtr<vcl::Window> m_pWindow;
    vcl::Region* m_pChildRegion;
    Rectangle m_aSelectionRect;
    Rectangle m_aPaintRect;
diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx
index ead659f..bf4081a 100644
--- a/vcl/source/window/printdlg.cxx
+++ b/vcl/source/window/printdlg.cxx
@@ -80,6 +80,18 @@ PrintDialog::PrintPreviewWindow::PrintPreviewWindow( vcl::Window* i_pParent )
    maVertDim->SetText( OUString( "2.0in" ) );
}

PrintDialog::PrintPreviewWindow::~PrintPreviewWindow()
{
    dispose();
}

void PrintDialog::PrintPreviewWindow::dispose()
{
    maHorzDim.clear();
    maVertDim.clear();
    Window::dispose();
}

const sal_Int32 PrintDialog::PrintPreviewWindow::PREVIEW_BITMAP_WIDTH = 1600;

void PrintDialog::PrintPreviewWindow::DataChanged( const DataChangedEvent& i_rDCEvt )
@@ -250,13 +262,6 @@ void PrintDialog::PrintPreviewWindow::setPreview( const GDIMetaFile& i_rNewPrevi
    Invalidate();
}

void PrintDialog::PrintPreviewWindow::dispose()
{
    maHorzDim.disposeAndClear();
    maVertDim.disposeAndClear();
    Window::dispose();
}

void PrintDialog::PrintPreviewWindow::preparePreviewBitmap()
{
    GDIMetaFile aMtf( maMtf );
@@ -717,6 +722,15 @@ PrintDialog::~PrintDialog()
void PrintDialog::dispose()
{
    delete mpCustomOptionsUIBuilder;
    mpTabCtrl.clear();
    mpPreviewWindow.clear();
    mpPageEdit.clear();
    mpNumPagesText.clear();
    mpBackwardBtn.clear();
    mpForwardBtn.clear();
    mpOKButton.clear();
    mpCancelButton.clear();
    mpHelpButton.clear();
    ModalDialog::dispose();
}

@@ -1212,7 +1226,7 @@ void PrintDialog::checkControlDependencies()

void PrintDialog::checkOptionalControlDependencies()
{
    for( std::map< vcl::Window*, OUString >::iterator it = maControlToPropertyMap.begin();
    for( auto it = maControlToPropertyMap.begin();
         it != maControlToPropertyMap.end(); ++it )
    {
        bool bShouldbeEnabled = maPController->isUIOptionEnabled( it->second );
@@ -1234,9 +1248,9 @@ void PrintDialog::checkOptionalControlDependencies()
            }
        }

        if( bShouldbeEnabled && dynamic_cast<RadioButton*>(it->first) )
        if( bShouldbeEnabled && dynamic_cast<RadioButton*>(it->first.get()) )
        {
            std::map< vcl::Window*, sal_Int32 >::const_iterator r_it = maControlToNumValMap.find( it->first );
            auto r_it = maControlToNumValMap.find( it->first );
            if( r_it != maControlToNumValMap.end() )
            {
                bShouldbeEnabled = maPController->isUIChoiceEnabled( it->second, r_it->second );
@@ -1655,7 +1669,7 @@ IMPL_LINK_NOARG(PrintDialog, UIOptionsChanged)
PropertyValue* PrintDialog::getValueForWindow( vcl::Window* i_pWindow ) const
{
    PropertyValue* pVal = NULL;
    std::map< vcl::Window*, OUString >::const_iterator it = maControlToPropertyMap.find( i_pWindow );
    auto it = maControlToPropertyMap.find( i_pWindow );
    if( it != maControlToPropertyMap.end() )
    {
        pVal = maPController->getValue( it->second );
@@ -1671,10 +1685,10 @@ PropertyValue* PrintDialog::getValueForWindow( vcl::Window* i_pWindow ) const
void PrintDialog::updateWindowFromProperty( const OUString& i_rProperty )
{
    beans::PropertyValue* pValue = maPController->getValue( i_rProperty );
    std::map< OUString, std::vector< vcl::Window* > >::const_iterator it = maPropertyToWindowMap.find( i_rProperty );
    auto it = maPropertyToWindowMap.find( i_rProperty );
    if( pValue && it != maPropertyToWindowMap.end() )
    {
        const std::vector< vcl::Window* >& rWindows( it->second );
        const std::vector< VclPtr<vcl::Window> >& rWindows( it->second );
        if( ! rWindows.empty() )
        {
            bool bVal = false;
@@ -1682,7 +1696,7 @@ void PrintDialog::updateWindowFromProperty( const OUString& i_rProperty )
            if( pValue->Value >>= bVal )
            {
                // we should have a CheckBox for this one
                CheckBox* pBox = dynamic_cast< CheckBox* >( rWindows.front() );
                CheckBox* pBox = dynamic_cast< CheckBox* >( rWindows.front().get() );
                if( pBox )
                {
                    pBox->Check( bVal );
@@ -1703,14 +1717,14 @@ void PrintDialog::updateWindowFromProperty( const OUString& i_rProperty )
            else if( pValue->Value >>= nVal )
            {
                // this could be a ListBox or a RadioButtonGroup
                ListBox* pList = dynamic_cast< ListBox* >( rWindows.front() );
                ListBox* pList = dynamic_cast< ListBox* >( rWindows.front().get() );
                if( pList )
                {
                    pList->SelectEntryPos( static_cast< sal_uInt16 >(nVal) );
                }
                else if( nVal >= 0 && nVal < sal_Int32(rWindows.size() ) )
                {
                    RadioButton* pBtn = dynamic_cast< RadioButton* >( rWindows[nVal] );
                    RadioButton* pBtn = dynamic_cast< RadioButton* >( rWindows[nVal].get() );
                    DBG_ASSERT( pBtn, "unexpected control for property" );
                    if( pBtn )
                        pBtn->Check();
@@ -1722,7 +1736,7 @@ void PrintDialog::updateWindowFromProperty( const OUString& i_rProperty )

void PrintDialog::makeEnabled( vcl::Window* i_pWindow )
{
    std::map< vcl::Window*, OUString >::const_iterator it = maControlToPropertyMap.find( i_pWindow );
    auto it = maControlToPropertyMap.find( i_pWindow );
    if( it != maControlToPropertyMap.end() )
    {
        OUString aDependency( maPController->makeEnabled( it->second ) );
@@ -1757,7 +1771,7 @@ IMPL_LINK( PrintDialog, UIOption_RadioHdl, RadioButton*, i_pBtn )
    if( i_pBtn->IsChecked() )
    {
        PropertyValue* pVal = getValueForWindow( i_pBtn );
        std::map< vcl::Window*, sal_Int32 >::const_iterator it = maControlToNumValMap.find( i_pBtn );
        auto it = maControlToNumValMap.find( i_pBtn );
        if( pVal && it != maControlToNumValMap.end() )
        {
            makeEnabled( i_pBtn );
@@ -1900,6 +1914,19 @@ PrintProgressDialog::PrintProgressDialog(vcl::Window* i_pParent, int i_nMax)

}

PrintProgressDialog::~PrintProgressDialog()
{
    dispose();
}

void PrintProgressDialog::dispose()
{
    mpText.clear();
    mpProgress.clear();
    mpButton.clear();
    ModelessDialog::dispose();
}

IMPL_LINK( PrintProgressDialog, ClickHdl, Button*, pButton )
{
    if( pButton == mpButton )
diff --git a/vcl/source/window/split.cxx b/vcl/source/window/split.cxx
index f678900..8201ea1 100644
--- a/vcl/source/window/split.cxx
+++ b/vcl/source/window/split.cxx
@@ -162,6 +162,7 @@ void Splitter::dispose()
        TaskPaneList *pTList = pSysWin->GetTaskPaneList();
        pTList->RemoveWindow(this);
    }
    mpRefWin.clear();
    Window::dispose();
}

diff --git a/vcl/source/window/splitwin.cxx b/vcl/source/window/splitwin.cxx
index 2b701e9..0e43c0c 100644
--- a/vcl/source/window/splitwin.cxx
+++ b/vcl/source/window/splitwin.cxx
@@ -53,9 +53,9 @@ struct ImplSplitItem
    long                mnOldWidth;
    long                mnOldHeight;
    ImplSplitSet*       mpSet;
    vcl::Window*             mpWindow;
    vcl::Window*             mpOrgParent;
    sal_uInt16              mnId;
    VclPtr<vcl::Window> mpWindow;
    VclPtr<vcl::Window> mpOrgParent;
    sal_uInt16          mnId;
    SplitWindowItemBits mnBits;
    bool                mbFixed;
    bool                mbSubSize;
diff --git a/vcl/source/window/stacking.cxx b/vcl/source/window/stacking.cxx
index 5b58e2a..9e967ec 100644
--- a/vcl/source/window/stacking.cxx
+++ b/vcl/source/window/stacking.cxx
@@ -46,8 +46,8 @@ using ::com::sun::star::awt::XTopWindow;

struct ImplCalcToTopData
{
    ImplCalcToTopData*  mpNext;
    vcl::Window*             mpWindow;
    ImplCalcToTopData*       mpNext;
    VclPtr<vcl::Window>      mpWindow;
    vcl::Region*             mpInvalidateRegion;
};

@@ -117,12 +117,12 @@ void Window::ImplRemoveWindow( bool bRemoveFrameData )
    {
        if ( ImplIsOverlapWindow() )
        {
            if ( mpWindowImpl->mpFrameData->mpFirstOverlap == this )
            if ( mpWindowImpl->mpFrameData->mpFirstOverlap.get() == this )
                mpWindowImpl->mpFrameData->mpFirstOverlap = mpWindowImpl->mpNextOverlap;
            else
            {
                vcl::Window* pTempWin = mpWindowImpl->mpFrameData->mpFirstOverlap;
                while ( pTempWin->mpWindowImpl->mpNextOverlap != this )
                while ( pTempWin->mpWindowImpl->mpNextOverlap.get() != this )
                    pTempWin = pTempWin->mpWindowImpl->mpNextOverlap;
                pTempWin->mpWindowImpl->mpNextOverlap = mpWindowImpl->mpNextOverlap;
            }
@@ -194,7 +194,7 @@ void Window::reorderWithinParent(sal_uInt16 nNewPosition)

void Window::ImplToBottomChild()
{
    if ( !ImplIsOverlapWindow() && !mpWindowImpl->mbReallyVisible && (mpWindowImpl->mpParent->mpWindowImpl->mpLastChild != this) )
    if ( !ImplIsOverlapWindow() && !mpWindowImpl->mbReallyVisible && (mpWindowImpl->mpParent->mpWindowImpl->mpLastChild.get() != this) )
    {
        // put the window to the end of the list
        if ( mpWindowImpl->mpPrev )
@@ -265,7 +265,7 @@ void Window::ImplToTop( sal_uInt16 nFlags )
    }
    else
    {
        if ( mpWindowImpl->mpOverlapWindow->mpWindowImpl->mpFirstOverlap != this )
        if ( mpWindowImpl->mpOverlapWindow->mpWindowImpl->mpFirstOverlap.get() != this )
        {
            // remove window from the list
            mpWindowImpl->mpPrev->mpWindowImpl->mpNext = mpWindowImpl->mpNext;
@@ -477,7 +477,7 @@ void Window::SetZOrder( vcl::Window* pRefWindow, sal_uInt16 nFlags )
    DBG_ASSERT( pRefWindow->mpWindowImpl->mpParent == mpWindowImpl->mpParent, "Window::SetZOrder() - pRefWindow has other parent" );
    if ( nFlags & WINDOW_ZORDER_BEFOR )
    {
        if ( pRefWindow->mpWindowImpl->mpPrev == this )
        if ( pRefWindow->mpWindowImpl->mpPrev.get() == this )
            return;

        if ( ImplIsOverlapWindow() )
@@ -515,7 +515,7 @@ void Window::SetZOrder( vcl::Window* pRefWindow, sal_uInt16 nFlags )
    }
    else if ( nFlags & WINDOW_ZORDER_BEHIND )
    {
        if ( pRefWindow->mpWindowImpl->mpNext == this )
        if ( pRefWindow->mpWindowImpl->mpNext.get() == this )
            return;

        if ( ImplIsOverlapWindow() )
@@ -879,9 +879,8 @@ void Window::SetParent( vcl::Window* pNewParent )
    // remove ownerdraw decorated windows from list in the top-most frame window
    if( (GetStyle() & WB_OWNERDRAWDECORATION) && mpWindowImpl->mbFrame )
    {
        ::std::vector< vcl::Window* >& rList = ImplGetOwnerDrawList();
        ::std::vector< vcl::Window* >::iterator p;
        p = ::std::find( rList.begin(), rList.end(), this );
        ::std::vector< VclPtr<vcl::Window> >& rList = ImplGetOwnerDrawList();
        auto p = ::std::find( rList.begin(), rList.end(), VclPtr<vcl::Window>(this) );
        if( p != rList.end() )
            rList.erase( p );
    }
@@ -895,7 +894,7 @@ void Window::SetParent( vcl::Window* pNewParent )
        return;
    }

    if ( mpWindowImpl->mpParent == pNewParent )
    if ( mpWindowImpl->mpParent.get() == pNewParent )
        return;

    if ( mpWindowImpl->mbFrame )
@@ -912,7 +911,7 @@ void Window::SetParent( vcl::Window* pNewParent )
    else
    {
        pNewOverlapWindow = pNewParent->ImplGetFirstOverlapWindow();
        if ( mpWindowImpl->mpOverlapWindow != pNewOverlapWindow )
        if ( mpWindowImpl->mpOverlapWindow.get() != pNewOverlapWindow )
            pOldOverlapWindow = mpWindowImpl->mpOverlapWindow;
        else
            pOldOverlapWindow = NULL;
@@ -1110,17 +1109,17 @@ vcl::Window* Window::GetWindow( sal_uInt16 nType ) const
            return const_cast<vcl::Window*>(this);

        case WINDOW_FIRSTTOPWINDOWCHILD:
            return ImplGetWinData()->maTopWindowChildren.empty() ? NULL : *ImplGetWinData()->maTopWindowChildren.begin();
            return ImplGetWinData()->maTopWindowChildren.empty() ? NULL : (*ImplGetWinData()->maTopWindowChildren.begin()).get();

        case WINDOW_LASTTOPWINDOWCHILD:
            return ImplGetWinData()->maTopWindowChildren.empty() ? NULL : *ImplGetWinData()->maTopWindowChildren.rbegin();
            return ImplGetWinData()->maTopWindowChildren.empty() ? NULL : (*ImplGetWinData()->maTopWindowChildren.rbegin()).get();

        case WINDOW_PREVTOPWINDOWSIBLING:
        {
            if ( !mpWindowImpl->mpRealParent )
                return NULL;
            const ::std::list< vcl::Window* >& rTopWindows( mpWindowImpl->mpRealParent->ImplGetWinData()->maTopWindowChildren );
            ::std::list< vcl::Window* >::const_iterator myPos =
            const ::std::list< VclPtr<vcl::Window> >& rTopWindows( mpWindowImpl->mpRealParent->ImplGetWinData()->maTopWindowChildren );
            ::std::list< VclPtr<vcl::Window> >::const_iterator myPos =
                ::std::find( rTopWindows.begin(), rTopWindows.end(), this );
            if ( myPos == rTopWindows.end() )
                return NULL;
@@ -1133,8 +1132,8 @@ vcl::Window* Window::GetWindow( sal_uInt16 nType ) const
        {
            if ( !mpWindowImpl->mpRealParent )
                return NULL;
            const ::std::list< vcl::Window* >& rTopWindows( mpWindowImpl->mpRealParent->ImplGetWinData()->maTopWindowChildren );
            ::std::list< vcl::Window* >::const_iterator myPos =
            const ::std::list< VclPtr<vcl::Window> >& rTopWindows( mpWindowImpl->mpRealParent->ImplGetWinData()->maTopWindowChildren );
            ::std::list< VclPtr<vcl::Window> >::const_iterator myPos =
                ::std::find( rTopWindows.begin(), rTopWindows.end(), this );
            if ( ( myPos == rTopWindows.end() ) || ( ++myPos == rTopWindows.end() ) )
                return NULL;
diff --git a/vcl/source/window/syswin.cxx b/vcl/source/window/syswin.cxx
index 3bc802f..e13f1a2 100644
--- a/vcl/source/window/syswin.cxx
+++ b/vcl/source/window/syswin.cxx
@@ -120,6 +120,7 @@ void SystemWindow::dispose()
    mpWindowImpl->mbSysWin = false;
    disposeBuilder();

    mpDialogParent.clear();
    Window::dispose();
}

diff --git a/vcl/source/window/tabdlg.cxx b/vcl/source/window/tabdlg.cxx
index 9612ada..02220ba 100644
--- a/vcl/source/window/tabdlg.cxx
+++ b/vcl/source/window/tabdlg.cxx
@@ -226,7 +226,8 @@ TabDialog::~TabDialog()

void TabDialog::dispose()
{
    delete mpFixedLine;
    mpFixedLine.clear();
    mpViewWindow.clear();
    Dialog::dispose();
}

diff --git a/vcl/source/window/taskpanelist.cxx b/vcl/source/window/taskpanelist.cxx
index 2089172..af4f617 100644
--- a/vcl/source/window/taskpanelist.cxx
+++ b/vcl/source/window/taskpanelist.cxx
@@ -95,11 +95,8 @@ void TaskPaneList::AddWindow( vcl::Window *pWindow )
{
    if( pWindow )
    {
        ::std::vector< vcl::Window* >::iterator insertionPos = mTaskPanes.end();
        for ( ::std::vector< vcl::Window* >::iterator p = mTaskPanes.begin();
              p != mTaskPanes.end();
              ++p
            )
        auto insertionPos = mTaskPanes.end();
        for ( auto p = mTaskPanes.begin(); p != mTaskPanes.end(); ++p )
        {
            if ( *p == pWindow )
                // avoid duplicates
@@ -131,8 +128,7 @@ void TaskPaneList::AddWindow( vcl::Window *pWindow )

void TaskPaneList::RemoveWindow( vcl::Window *pWindow )
{
    ::std::vector< vcl::Window* >::iterator p;
    p = ::std::find( mTaskPanes.begin(), mTaskPanes.end(), pWindow );
    auto p = ::std::find( mTaskPanes.begin(), mTaskPanes.end(), VclPtr<vcl::Window>(pWindow) );
    if( p != mTaskPanes.end() )
    {
        mTaskPanes.erase( p );
@@ -142,8 +138,7 @@ void TaskPaneList::RemoveWindow( vcl::Window *pWindow )

bool TaskPaneList::IsInList( vcl::Window *pWindow )
{
    ::std::vector< vcl::Window* >::iterator p;
    p = ::std::find( mTaskPanes.begin(), mTaskPanes.end(), pWindow );
    auto p = ::std::find( mTaskPanes.begin(), mTaskPanes.end(), VclPtr<vcl::Window>(pWindow) );
    if( p != mTaskPanes.end() )
        return true;
    else
@@ -172,7 +167,7 @@ bool TaskPaneList::HandleKeyEvent(const KeyEvent& rKeyEvent)
        bSplitterOnly = aKeyCode.IsMod1() && aKeyCode.IsShift();

        // is the focus in the list ?
        ::std::vector< vcl::Window* >::iterator p = mTaskPanes.begin();
        auto p = mTaskPanes.begin();
        while( p != mTaskPanes.end() )
        {
            vcl::Window *pWin = *p;
@@ -245,7 +240,7 @@ vcl::Window* TaskPaneList::FindNextSplitter( vcl::Window *pWindow, bool bForward
    else
        ::std::stable_sort( mTaskPanes.begin(), mTaskPanes.end(), LTRSortBackward() );

    ::std::vector< vcl::Window* >::iterator p = mTaskPanes.begin();
    auto p = mTaskPanes.begin();
    while( p != mTaskPanes.end() )
    {
        if( !pWindow || *p == pWindow )
@@ -282,7 +277,7 @@ vcl::Window* TaskPaneList::FindNextFloat( vcl::Window *pWindow, bool bForward )
    else
        ::std::stable_sort( mTaskPanes.begin(), mTaskPanes.end(), LTRSortBackward() );

    ::std::vector< vcl::Window* >::iterator p = mTaskPanes.begin();
    auto p = mTaskPanes.begin();
    while( p != mTaskPanes.end() )
    {
        if( !pWindow || *p == pWindow )
diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx
index f95c020..678bd43 100644
--- a/vcl/source/window/toolbox.cxx
+++ b/vcl/source/window/toolbox.cxx
@@ -90,7 +90,7 @@ class ImplTBDragMgr
{
private:
    ImplTBList*     mpBoxList;
    ToolBox*        mpDragBox;
    VclPtr<ToolBox> mpDragBox;
    Point           maMouseOff;
    Rectangle       maRect;
    Rectangle       maStartRect;
@@ -1609,6 +1609,7 @@ void ToolBox::dispose()
            pSVData->maCtrlData.mpTBDragMgr = NULL;
        }
    }
    mpFloatWin.clear();
    DockingWindow::dispose();
}

@@ -2639,7 +2640,7 @@ IMPL_LINK_NOARG(ToolBox, ImplDropdownLongClickHdl)

        // do not reset data if the dropdown handler opened a floating window
        // see ImplFloatControl()
        if( mpFloatWin == NULL )
        if( !mpFloatWin )
        {
            // no floater was opened
            Deactivate();
@@ -2961,7 +2962,7 @@ void ToolBox::ImplDrawItem( sal_uInt16 nPos, sal_uInt16 nHighlight, bool bPaint,
    const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings();

    // no gradient background for items that have a popup open
    bool bHasOpenPopup = (mpFloatWin != NULL) && (mnDownItemId==pItem->mnId);
    bool bHasOpenPopup = mpFloatWin && (mnDownItemId==pItem->mnId);

    bool bHighContrastWhite = false;
    // check the face color as highcontrast indicator
@@ -3873,7 +3874,7 @@ void ToolBox::MouseButtonDown( const MouseEvent& rMEvt )

                        // do not reset data if the dropdown handler opened a floating window
                        // see ImplFloatControl()
                        if( mpFloatWin == NULL )
                        if( !mpFloatWin )
                        {
                            // no floater was opened
                            Deactivate();
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index d21b70c..c2ac77f 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -33,6 +33,7 @@
#include <vcl/syschild.hxx>
#include <vcl/dockwin.hxx>
#include <vcl/wall.hxx>
#include <vcl/fixed.hxx>
#include <vcl/gradient.hxx>
#include <vcl/button.hxx>
#include <vcl/taskpanelist.hxx>
@@ -176,9 +177,8 @@ void Window::dispose()
    // remove ownerdraw decorated windows from list in the top-most frame window
    if( (GetStyle() & WB_OWNERDRAWDECORATION) && mpWindowImpl->mbFrame )
    {
        ::std::vector< vcl::Window* >& rList = ImplGetOwnerDrawList();
        ::std::vector< vcl::Window* >::iterator p;
        p = ::std::find( rList.begin(), rList.end(), this );
        ::std::vector< VclPtr<vcl::Window> >& rList = ImplGetOwnerDrawList();
        auto p = ::std::find( rList.begin(), rList.end(), VclPtr<vcl::Window>(this) );
        if( p != rList.end() )
            rList.erase( p );
    }
@@ -241,9 +241,9 @@ void Window::dispose()
    if ( pSVData->maHelpData.mpHelpWin && (pSVData->maHelpData.mpHelpWin->GetParent() == this) )
        ImplDestroyHelpWindow( true );

    DBG_ASSERT( pSVData->maWinData.mpTrackWin != this,
    DBG_ASSERT( pSVData->maWinData.mpTrackWin.get() != this,
                "Window::~Window(): Window is in TrackingMode" );
    DBG_ASSERT( pSVData->maWinData.mpCaptureWin != this,
    DBG_ASSERT( pSVData->maWinData.mpCaptureWin.get() != this,
                "Window::~Window(): Window has the mouse captured" );

    // due to old compatibility
@@ -390,9 +390,8 @@ void Window::dispose()
    remove_from_all_size_groups();

    // clear mnemonic labels
    std::vector<FixedText*> aMnemonicLabels(list_mnemonic_labels());
    for (std::vector<FixedText*>::iterator aI = aMnemonicLabels.begin();
        aI != aMnemonicLabels.end(); ++aI)
    std::vector<VclPtr<FixedText> > aMnemonicLabels(list_mnemonic_labels());
    for (auto aI = aMnemonicLabels.begin(); aI != aMnemonicLabels.end(); ++aI)
    {
        remove_mnemonic_label(*aI);
    }
@@ -508,7 +507,7 @@ void Window::dispose()
    while ( pDelData )
    {
        pDelData->mbDel = true;
        pDelData->mpWindow = NULL;  // #112873# pDel is not associated with a Window anymore
        pDelData->mpWindow.clear();  // #112873# pDel is not associated with a Window anymore
        pDelData = pDelData->mpNext;
    }

@@ -523,8 +522,8 @@ void Window::dispose()
        {
            ImplWinData* pParentWinData = mpWindowImpl->mpRealParent->ImplGetWinData();

            ::std::list< vcl::Window* >::iterator myPos = ::std::find( pParentWinData->maTopWindowChildren.begin(),
                pParentWinData->maTopWindowChildren.end(), this );
            auto myPos = ::std::find( pParentWinData->maTopWindowChildren.begin(),
                pParentWinData->maTopWindowChildren.end(), VclPtr<vcl::Window>(this) );
            DBG_ASSERT( myPos != pParentWinData->maTopWindowChildren.end(), "Window::~Window: inconsistency in top window chain!" );
            if ( myPos != pParentWinData->maTopWindowChildren.end() )
                pParentWinData->maTopWindowChildren.erase( myPos );
@@ -563,10 +562,10 @@ void Window::dispose()
        else
        {
            vcl::Window* pSysWin = pSVData->maWinData.mpFirstFrame;
            while ( pSysWin->mpWindowImpl->mpFrameData->mpNextFrame != this )
            while ( pSysWin->mpWindowImpl->mpFrameData->mpNextFrame.get() != this )
                pSysWin = pSysWin->mpWindowImpl->mpFrameData->mpNextFrame;

            assert (mpWindowImpl->mpFrameData->mpNextFrame != pSysWin);
            assert (mpWindowImpl->mpFrameData->mpNextFrame.get() != pSysWin);
            pSysWin->mpWindowImpl->mpFrameData->mpNextFrame = mpWindowImpl->mpFrameData->mpNextFrame;
        }
        mpWindowImpl->mpFrame->SetCallback( NULL, NULL );
@@ -1005,7 +1004,7 @@ void Window::ImplInit( vcl::Window* pParent, WinBits nStyle, SystemParentData* p
        mpWindowImpl->mpOverlapWindow = this;

        // set frame data
        assert (pSVData->maWinData.mpFirstFrame != this);
        assert (pSVData->maWinData.mpFirstFrame.get() != this);
        mpWindowImpl->mpFrameData->mpNextFrame        = pSVData->maWinData.mpFirstFrame;
        pSVData->maWinData.mpFirstFrame = this;
        mpWindowImpl->mpFrameData->mpFirstOverlap     = NULL;
@@ -2508,7 +2507,7 @@ Size Window::GetSizePixel() const
    // #i43257# trigger pending resize handler to assure correct window sizes
    if( mpWindowImpl->mpFrameData->maResizeIdle.IsActive() )
    {
        ImplDelData aDogtag( this );
        ImplDelData aDogtag( const_cast<Window*>(this) );
        mpWindowImpl->mpFrameData->maResizeIdle.Stop();
        mpWindowImpl->mpFrameData->maResizeIdle.GetIdleHdl().Call( NULL );
        if( aDogtag.IsDead() )
@@ -2561,7 +2560,7 @@ void Window::Enable( bool bEnable, bool bChild )
    // window was disabled when the frame focus changed
    ImplSVData* pSVData = ImplGetSVData();
    if( bEnable &&
        pSVData->maWinData.mpFocusWin == NULL &&
        pSVData->maWinData.mpFocusWin == nullptr &&
        mpWindowImpl->mpFrameData->mbHasFocus &&
        mpWindowImpl->mpFrameData->mpFocusWin == this )
        pSVData->maWinData.mpFocusWin = this;
@@ -2644,7 +2643,7 @@ void Window::EnableInput( bool bEnable, bool bChild )
    // window was disabled when the frame focus changed
    ImplSVData* pSVData = ImplGetSVData();
    if( bEnable &&
        pSVData->maWinData.mpFocusWin == NULL &&
        pSVData->maWinData.mpFocusWin == nullptr &&
        mpWindowImpl->mpFrameData->mbHasFocus &&
        mpWindowImpl->mpFrameData->mpFocusWin == this )
        pSVData->maWinData.mpFocusWin = this;
@@ -2716,8 +2715,8 @@ void Window::EnableInput( bool bEnable, bool bChild, bool bSysWin,
        // the same for ownerdraw floating windows
        if( mpWindowImpl->mbFrame )
        {
            ::std::vector< vcl::Window* >& rList = mpWindowImpl->mpFrameData->maOwnerDrawList;
            ::std::vector< vcl::Window* >::iterator p = rList.begin();
            ::std::vector< VclPtr<vcl::Window> >& rList = mpWindowImpl->mpFrameData->maOwnerDrawList;
            auto p = rList.begin();
            while( p != rList.end() )
            {
                // Is Window in the path from this window
@@ -3083,7 +3082,7 @@ Rectangle Window::ImplGetWindowExtentsRelative( vcl::Window *pRelativeWindow, bo
    if( pRelativeWindow )
    {
        // #106399# express coordinates relative to borderwindow
        vcl::Window *pRelWin = (!bClientOnly && pRelativeWindow->mpWindowImpl->mpBorderWindow) ? pRelativeWindow->mpWindowImpl->mpBorderWindow : pRelativeWindow;
        vcl::Window *pRelWin = (!bClientOnly && pRelativeWindow->mpWindowImpl->mpBorderWindow) ? pRelativeWindow->mpWindowImpl->mpBorderWindow.get() : pRelativeWindow;
        aPos = pRelWin->AbsoluteScreenToOutputPixel( aPos );
    }
    return Rectangle( aPos, aSize );
@@ -3636,7 +3635,7 @@ void Window::ImplIncModalCount()
        {
            pParent = pParent->GetParent();
        }
        pFrameWindow = pParent ? pParent->mpWindowImpl->mpFrameWindow : NULL;
        pFrameWindow = pParent ? pParent->mpWindowImpl->mpFrameWindow.get() : NULL;
    }
}
void Window::ImplDecModalCount()
@@ -3650,7 +3649,7 @@ void Window::ImplDecModalCount()
        {
            pParent = pParent->GetParent();
        }
        pFrameWindow = pParent ? pParent->mpWindowImpl->mpFrameWindow : NULL;
        pFrameWindow = pParent ? pParent->mpWindowImpl->mpFrameWindow.get() : NULL;
    }
}

diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
index 1e60f08..25b599b 100644
--- a/vcl/source/window/window2.cxx
+++ b/vcl/source/window/window2.cxx
@@ -375,7 +375,7 @@ void Window::StartTracking( sal_uInt16 nFlags )
{
    ImplSVData* pSVData = ImplGetSVData();

    if ( pSVData->maWinData.mpTrackWin != this )
    if ( pSVData->maWinData.mpTrackWin.get() != this )
    {
        if ( pSVData->maWinData.mpTrackWin )
            pSVData->maWinData.mpTrackWin->EndTracking( ENDTRACK_CANCEL );
@@ -402,7 +402,7 @@ void Window::EndTracking( sal_uInt16 nFlags )
{
    ImplSVData* pSVData = ImplGetSVData();

    if ( pSVData->maWinData.mpTrackWin == this )
    if ( pSVData->maWinData.mpTrackWin.get() == this )
    {
        // due to DbgChkThis in brackets, as the window could be destroyed
        // in the handler
@@ -449,7 +449,7 @@ void Window::StartAutoScroll( sal_uInt16 nFlags )
{
    ImplSVData* pSVData = ImplGetSVData();

    if ( pSVData->maWinData.mpAutoScrollWin != this )
    if ( pSVData->maWinData.mpAutoScrollWin.get() != this )
    {
        if ( pSVData->maWinData.mpAutoScrollWin )
            pSVData->maWinData.mpAutoScrollWin->EndAutoScroll();
@@ -464,7 +464,7 @@ void Window::EndAutoScroll()
{
    ImplSVData* pSVData = ImplGetSVData();

    if ( pSVData->maWinData.mpAutoScrollWin == this )
    if ( pSVData->maWinData.mpAutoScrollWin.get() == this )
    {
        pSVData->maWinData.mpAutoScrollWin = NULL;
        pSVData->maWinData.mnAutoScrollFlags = 0;
@@ -938,7 +938,7 @@ void Window::EnableDocking( bool bEnable )
}

// retrieves the list of owner draw decorated windows for this window hiearchy
::std::vector<vcl::Window *>& Window::ImplGetOwnerDrawList()
::std::vector<VclPtr<vcl::Window> >& Window::ImplGetOwnerDrawList()
{
    return ImplGetTopmostFrameWindow()->mpWindowImpl->mpFrameData->maOwnerDrawList;
}
@@ -1016,7 +1016,7 @@ const vcl::Window* Window::ImplGetFirstOverlapWindow() const

vcl::Window* Window::ImplGetFrameWindow() const
{
    return mpWindowImpl ? mpWindowImpl->mpFrameWindow : NULL;
    return mpWindowImpl ? mpWindowImpl->mpFrameWindow.get() : NULL;
}

bool Window::IsDockingWindow() const
@@ -1222,7 +1222,7 @@ bool Window::IsInPaint() const

vcl::Window* Window::GetParent() const
{
    return mpWindowImpl ? mpWindowImpl->mpRealParent : NULL;
    return mpWindowImpl ? mpWindowImpl->mpRealParent.get() : NULL;
}

bool Window::IsVisible() const
@@ -1457,9 +1457,8 @@ void Window::queue_resize(StateChangedType eReason)
    WindowImpl *pWindowImpl = mpWindowImpl->mpBorderWindow ? mpWindowImpl->mpBorderWindow->mpWindowImpl : mpWindowImpl;
    if (pWindowImpl->m_xSizeGroup && pWindowImpl->m_xSizeGroup->get_mode() != VCL_SIZE_GROUP_NONE)
    {
        std::set<vcl::Window*> &rWindows = pWindowImpl->m_xSizeGroup->get_widgets();
        for (std::set<vcl::Window*>::iterator aI = rWindows.begin(),
            aEnd = rWindows.end(); aI != aEnd; ++aI)
        std::set<VclPtr<vcl::Window> > &rWindows = pWindowImpl->m_xSizeGroup->get_widgets();
        for (auto aI = rWindows.begin(), aEnd = rWindows.end(); aI != aEnd; ++aI)
        {
            vcl::Window *pOther = *aI;
            if (pOther == this)
@@ -1754,9 +1753,8 @@ Size Window::get_preferred_size() const
        if (eMode != VCL_SIZE_GROUP_NONE)
        {
            const bool bIgnoreInHidden = pWindowImpl->m_xSizeGroup->get_ignore_hidden();
            const std::set<vcl::Window*> &rWindows = pWindowImpl->m_xSizeGroup->get_widgets();
            for (std::set<vcl::Window*>::const_iterator aI = rWindows.begin(),
                aEnd = rWindows.end(); aI != aEnd; ++aI)
            const std::set<VclPtr<vcl::Window> > &rWindows = pWindowImpl->m_xSizeGroup->get_widgets();
            for (auto aI = rWindows.begin(), aEnd = rWindows.end(); aI != aEnd; ++aI)
            {
                const vcl::Window *pOther = *aI;
                if (pOther == this)
@@ -2040,8 +2038,8 @@ void Window::remove_from_all_size_groups()

void Window::add_mnemonic_label(FixedText *pLabel)
{
    std::vector<FixedText*>& v = mpWindowImpl->m_aMnemonicLabels;
    if (std::find(v.begin(), v.end(), pLabel) != v.end())
    std::vector<VclPtr<FixedText> >& v = mpWindowImpl->m_aMnemonicLabels;
    if (std::find(v.begin(), v.end(), VclPtr<FixedText>(pLabel)) != v.end())
        return;
    v.push_back(pLabel);
    pLabel->set_mnemonic_widget(this);
@@ -2049,15 +2047,15 @@ void Window::add_mnemonic_label(FixedText *pLabel)

void Window::remove_mnemonic_label(FixedText *pLabel)
{
    std::vector<FixedText*>& v = mpWindowImpl->m_aMnemonicLabels;
    std::vector<FixedText*>::iterator aFind = std::find(v.begin(), v.end(), pLabel);
    std::vector<VclPtr<FixedText> >& v = mpWindowImpl->m_aMnemonicLabels;
    auto aFind = std::find(v.begin(), v.end(), VclPtr<FixedText>(pLabel));
    if (aFind == v.end())
        return;
    v.erase(aFind);
    pLabel->set_mnemonic_widget(NULL);
}

std::vector<FixedText*> Window::list_mnemonic_labels() const
std::vector<VclPtr<FixedText> > Window::list_mnemonic_labels() const
{
    return mpWindowImpl->m_aMnemonicLabels;
}
diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx
index 890cb61..4570b75 100644
--- a/vcl/source/window/winproc.cxx
+++ b/vcl/source/window/winproc.cxx
@@ -243,7 +243,7 @@ static bool ImplCallCommand( vcl::Window* pChild, sal_uInt16 nEvt, void* pData =

struct ContextMenuEvent
{
    vcl::Window*         pWindow;
    VclPtr<vcl::Window>  pWindow;
    ImplDelData     aDelData;
    Point           aChildPos;
};
@@ -377,13 +377,13 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool

        // no mouse messages to disabled windows
        // #106845# if the window was disabed during capturing we have to pass the mouse events to release capturing
        if ( pSVData->maWinData.mpCaptureWin != pChild && (!pChild->IsEnabled() || !pChild->IsInputEnabled() || pChild->IsInModalNonRefMode() ) )
        if ( pSVData->maWinData.mpCaptureWin.get() != pChild && (!pChild->IsEnabled() || !pChild->IsInputEnabled() || pChild->IsInModalNonRefMode() ) )
        {
            ImplHandleMouseFloatMode( pChild, aMousePos, nCode, nSVEvent, bMouseLeave );
            if ( nSVEvent == MouseNotifyEvent::MOUSEMOVE )
            {
                ImplHandleMouseHelpRequest( pChild, aMousePos );
                if( pWinFrameData->mpMouseMoveWin != pChild )
                if( pWinFrameData->mpMouseMoveWin.get() != pChild )
                    nMode |= MouseEventModifiers::ENTERWINDOW;
            }

@@ -1726,7 +1726,7 @@ void ImplHandleResize( vcl::Window* pWindow, long nNewWidth, long nNewHeight )
                    {
                        // #i42750# presentation wants to be informed about resize
                        // as early as possible
                        WorkWindow* pWorkWindow = dynamic_cast<WorkWindow*>(pWindow->ImplGetWindowImpl()->mpClientWindow);
                        WorkWindow* pWorkWindow = dynamic_cast<WorkWindow*>(pWindow->ImplGetWindowImpl()->mpClientWindow.get());
                        if( ! pWorkWindow || pWorkWindow->IsPresentationMode() )
                            bStartTimer = false;
                    }
@@ -1972,7 +1972,7 @@ static void ImplHandleLoseFocus( vcl::Window* pWindow )

struct DelayedCloseEvent
{
    vcl::Window*         pWindow;
    VclPtr<vcl::Window> pWindow;
    ImplDelData     aDelData;
};

@@ -1985,9 +1985,9 @@ static sal_IntPtr DelayedCloseEventLink( void* pCEvent, void* )
        pEv->pWindow->ImplRemoveDel( &pEv->aDelData );
        // dispatch to correct window type
        if( pEv->pWindow->IsSystemWindow() )
            static_cast<SystemWindow*>(pEv->pWindow)->Close();
            static_cast<SystemWindow*>(pEv->pWindow.get())->Close();
        else if( pEv->pWindow->IsDockingWindow() )
            static_cast<DockingWindow*>(pEv->pWindow)->Close();
            static_cast<DockingWindow*>(pEv->pWindow.get())->Close();
    }
    delete pEv;

diff --git a/vcl/unx/generic/app/i18n_status.cxx b/vcl/unx/generic/app/i18n_status.cxx
index d60cc22..3bac12e 100644
--- a/vcl/unx/generic/app/i18n_status.cxx
+++ b/vcl/unx/generic/app/i18n_status.cxx
@@ -522,8 +522,6 @@ I18NStatus::I18NStatus() :

I18NStatus::~I18NStatus()
{
    if( m_pStatusWindow )
        delete m_pStatusWindow, m_pStatusWindow = NULL;
    if( pInstance == this )
        pInstance = NULL;
}
@@ -606,7 +604,7 @@ SalFrame* I18NStatus::getStatusFrame() const

void I18NStatus::toggleStatusWindow()
{
    if (m_pStatusWindow != 0)
    if (m_pStatusWindow != nullptr)
        m_pStatusWindow->toggle(getStatusWindowMode());
}

diff --git a/vcl/unx/generic/printer/cupsmgr.cxx b/vcl/unx/generic/printer/cupsmgr.cxx
index 92abca9..a38c01a 100644
--- a/vcl/unx/generic/printer/cupsmgr.cxx
+++ b/vcl/unx/generic/printer/cupsmgr.cxx
@@ -913,13 +913,14 @@ namespace
{
    class RTSPWDialog : public ModalDialog
    {
        FixedText* m_pText;
        Edit*      m_pUserEdit;
        Edit*      m_pPassEdit;
        VclPtr<FixedText> m_pText;
        VclPtr<Edit>      m_pUserEdit;
        VclPtr<Edit>      m_pPassEdit;

    public:
        RTSPWDialog(const OString& rServer, const OString& rUserName, vcl::Window* pParent);

        virtual ~RTSPWDialog();
        virtual void dispose() SAL_OVERRIDE;
        OString getUserName() const;
        OString getPassword() const;
    };
@@ -938,6 +939,19 @@ namespace
        m_pUserEdit->SetText( OStringToOUString(rUserName, osl_getThreadTextEncoding()));
    }

    RTSPWDialog::~RTSPWDialog()
    {
        dispose();
    }

    void RTSPWDialog::dispose()
    {
        m_pText.clear();
        m_pUserEdit.clear();
        m_pPassEdit.clear();
        ModalDialog::dispose();
    }

    OString RTSPWDialog::getUserName() const
    {
        return OUStringToOString( m_pUserEdit->GetText(), osl_getThreadTextEncoding() );
diff --git a/vcl/workben/icontest.cxx b/vcl/workben/icontest.cxx
index 3710a16c..481818b 100644
--- a/vcl/workben/icontest.cxx
+++ b/vcl/workben/icontest.cxx
@@ -71,10 +71,11 @@ protected:
public:
    Graphic maGraphic;
    Bitmap *mpBitmap;
    FixedBitmap *mpFixedBitmap;
    VclPtr<FixedBitmap> mpFixedBitmap;

    MyWorkWindow( vcl::Window* pParent, WinBits nWinStyle );

    virtual ~MyWorkWindow() { dispose(); }
    virtual void dispose() SAL_OVERRIDE { mpFixedBitmap.clear(); WorkWindow::dispose(); }
    void LoadGraphic( const OUString& sImageFile );

    virtual void Paint( const Rectangle& rRect ) SAL_OVERRIDE;
diff --git a/vcl/workben/mtfdemo.cxx b/vcl/workben/mtfdemo.cxx
index 4f65b0f..54c64ff 100644
--- a/vcl/workben/mtfdemo.cxx
+++ b/vcl/workben/mtfdemo.cxx
@@ -67,7 +67,7 @@ void DemoMtfWin::Paint( const Rectangle& rRect )

class DemoMtfApp : public Application
{
    DemoMtfWin *mpWin;
    VclPtr<DemoMtfWin> mpWin;
    OUString maFileName;

    void showHelp()
diff --git a/vcl/workben/vcldemo.cxx b/vcl/workben/vcldemo.cxx
index 14a5780..33c4eff 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());
diff --git a/xmlsecurity/inc/xmlsecurity/certificatechooser.hxx b/xmlsecurity/inc/xmlsecurity/certificatechooser.hxx
index 811889c..f54c0131 100644
--- a/xmlsecurity/inc/xmlsecurity/certificatechooser.hxx
+++ b/xmlsecurity/inc/xmlsecurity/certificatechooser.hxx
@@ -48,9 +48,9 @@ private:
    css::uno::Sequence< css::uno::Reference< css::security::XCertificate > > maCerts;
    SignatureInformations maCertsToIgnore;

    SvSimpleTable*     m_pCertLB;
    PushButton*         m_pViewBtn;
    OKButton*           m_pOKBtn;
    VclPtr<SvSimpleTable>     m_pCertLB;
    VclPtr<PushButton>         m_pViewBtn;
    VclPtr<OKButton>           m_pOKBtn;

    bool                mbInitialized;

diff --git a/xmlsecurity/inc/xmlsecurity/certificateviewer.hxx b/xmlsecurity/inc/xmlsecurity/certificateviewer.hxx
index 6c64af6..58571b7 100644
--- a/xmlsecurity/inc/xmlsecurity/certificateviewer.hxx
+++ b/xmlsecurity/inc/xmlsecurity/certificateviewer.hxx
@@ -46,7 +46,7 @@ private:
    friend class CertificateViewerDetailsTP;
    friend class CertificateViewerCertPathTP;

    TabControl*         mpTabCtrl;
    VclPtr<TabControl>         mpTabCtrl;
    sal_uInt16          mnGeneralId;
    sal_uInt16          mnDetailsId;
    sal_uInt16          mnPathId;
@@ -65,10 +65,12 @@ public:
class CertificateViewerTP : public TabPage
{
protected:
    CertificateViewer*  mpDlg;
    VclPtr<CertificateViewer>  mpDlg;
public:
    CertificateViewerTP( vcl::Window* _pParent, const OString& rID,
        const OUString& rUIXMLDescription, CertificateViewer* _pDlg );
    virtual ~CertificateViewerTP();
    virtual void dispose() SAL_OVERRIDE;
    void SetTabDlg( CertificateViewer* _pTabDlg )
    {
        mpDlg = _pTabDlg;
@@ -78,16 +80,18 @@ public:
class CertificateViewerGeneralTP : public CertificateViewerTP
{
private:
    FixedImage*         m_pCertImg;
    FixedText*          m_pHintNotTrustedFI;
    FixedText*          m_pIssuedToFI;
    FixedText*          m_pIssuedByFI;
    FixedText*          m_pValidFromDateFI;
    FixedText*          m_pValidToDateFI;
    FixedImage*         m_pKeyImg;
    FixedText*          m_pHintCorrespPrivKeyFI;
    VclPtr<FixedImage>         m_pCertImg;
    VclPtr<FixedText>          m_pHintNotTrustedFI;
    VclPtr<FixedText>          m_pIssuedToFI;
    VclPtr<FixedText>          m_pIssuedByFI;
    VclPtr<FixedText>          m_pValidFromDateFI;
    VclPtr<FixedText>          m_pValidToDateFI;
    VclPtr<FixedImage>         m_pKeyImg;
    VclPtr<FixedText>          m_pHintCorrespPrivKeyFI;
public:
                        CertificateViewerGeneralTP( vcl::Window* pParent, CertificateViewer* _pDlg );
    virtual             ~CertificateViewerGeneralTP();
    virtual void        dispose() SAL_OVERRIDE;

    virtual void        ActivatePage() SAL_OVERRIDE;
};
@@ -96,9 +100,9 @@ public:
class CertificateViewerDetailsTP : public CertificateViewerTP
{
private:
    SvSimpleTableContainer* m_pElementsLBContainer;
    SvSimpleTable*          m_pElementsLB;
    MultiLineEdit*          m_pValueDetails;
    VclPtr<SvSimpleTableContainer> m_pElementsLBContainer;
    VclPtr<SvSimpleTable>          m_pElementsLB;
    VclPtr<MultiLineEdit>          m_pValueDetails;
    vcl::Font               m_aStdFont;
    vcl::Font               m_aFixedWidthFont;

@@ -118,11 +122,11 @@ public:
class CertificateViewerCertPathTP : public CertificateViewerTP
{
private:
    SvTreeListBox*      mpCertPathLB;
    PushButton*         mpViewCertPB;
    VclMultiLineEdit*   mpCertStatusML;
    VclPtr<SvTreeListBox>      mpCertPathLB;
    VclPtr<PushButton>         mpViewCertPB;
    VclPtr<VclMultiLineEdit>   mpCertStatusML;

    CertificateViewer*  mpParent;
    VclPtr<CertificateViewer>  mpParent;
    bool                mbFirstActivateDone;
    Image               maCertImage;
    Image               maCertNotValidatedImage;
@@ -139,6 +143,7 @@ private:
public:
                        CertificateViewerCertPathTP( vcl::Window* pParent, CertificateViewer* _pDlg );
    virtual             ~CertificateViewerCertPathTP();
    virtual void        dispose() SAL_OVERRIDE;

    virtual void        ActivatePage() SAL_OVERRIDE;
};
diff --git a/xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx b/xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx
index 9ab5126..a3cdb39 100644
--- a/xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx
+++ b/xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx
@@ -63,24 +63,24 @@ private:
    DocumentSignatureMode   meSignatureMode;
    css::uno::Sequence < css::uno::Sequence < css::beans::PropertyValue > > m_manifest;

    FixedText*          m_pHintDocFT;
    FixedText*          m_pHintBasicFT;
    FixedText*          m_pHintPackageFT;
    SvSimpleTable*      m_pSignaturesLB;
    FixedImage*         m_pSigsValidImg;
    FixedText*          m_pSigsValidFI;
    FixedImage*         m_pSigsInvalidImg;
    FixedText*          m_pSigsInvalidFI;
    FixedImage*         m_pSigsNotvalidatedImg;
    FixedText*          m_pSigsNotvalidatedFI;
    FixedImage*         m_pSigsOldSignatureImg;
    FixedText*          m_pSigsOldSignatureFI;
    VclPtr<FixedText>          m_pHintDocFT;
    VclPtr<FixedText>          m_pHintBasicFT;
    VclPtr<FixedText>          m_pHintPackageFT;
    VclPtr<SvSimpleTable>      m_pSignaturesLB;
    VclPtr<FixedImage>         m_pSigsValidImg;
    VclPtr<FixedText>          m_pSigsValidFI;
    VclPtr<FixedImage>         m_pSigsInvalidImg;
    VclPtr<FixedText>          m_pSigsInvalidFI;
    VclPtr<FixedImage>         m_pSigsNotvalidatedImg;
    VclPtr<FixedText>          m_pSigsNotvalidatedFI;
    VclPtr<FixedImage>         m_pSigsOldSignatureImg;
    VclPtr<FixedText>          m_pSigsOldSignatureFI;

    PushButton*         m_pViewBtn;
    PushButton*         m_pAddBtn;
    PushButton*         m_pRemoveBtn;
    VclPtr<PushButton>         m_pViewBtn;
    VclPtr<PushButton>         m_pAddBtn;
    VclPtr<PushButton>         m_pRemoveBtn;

    CloseButton*        m_pCloseBtn;
    VclPtr<CloseButton>        m_pCloseBtn;

    OUString m_sODFVersion;
    //Signals if the document contains already a document signature. This is only
diff --git a/xmlsecurity/inc/xmlsecurity/macrosecurity.hxx b/xmlsecurity/inc/xmlsecurity/macrosecurity.hxx
index a56ce78..ce2dd21 100644
--- a/xmlsecurity/inc/xmlsecurity/macrosecurity.hxx
+++ b/xmlsecurity/inc/xmlsecurity/macrosecurity.hxx
@@ -47,9 +47,9 @@ private:
    friend class MacroSecurityLevelTP;
    friend class MacroSecurityTrustedSourcesTP;

    TabControl*         m_pTabCtrl;
    OKButton*           m_pOkBtn;
    PushButton*         m_pResetBtn;
    VclPtr<TabControl>         m_pTabCtrl;
    VclPtr<OKButton>           m_pOkBtn;
    VclPtr<PushButton>         m_pResetBtn;

    css::uno::Reference< css::uno::XComponentContext >  mxCtx;
    css::uno::Reference< css::xml::crypto::XSecurityEnvironment >  mxSecurityEnvironment;
@@ -58,8 +58,8 @@ private:
    sal_uInt16 m_nSecLevelId;
    sal_uInt16 m_nSecTrustId;

    MacroSecurityTP*    mpLevelTP;
    MacroSecurityTP*    mpTrustSrcTP;
    VclPtr<MacroSecurityTP>    mpLevelTP;
    VclPtr<MacroSecurityTP>    mpTrustSrcTP;

    DECL_LINK(          OkBtnHdl, void* );
public:
@@ -78,10 +78,12 @@ public:
class MacroSecurityTP : public TabPage
{
protected:
    MacroSecurity*      mpDlg;
    VclPtr<MacroSecurity>      mpDlg;
public:
    MacroSecurityTP(vcl::Window* _pParent, const OString& rID,
        const OUString& rUIXMLDescription, MacroSecurity* _pDlg);
    virtual ~MacroSecurityTP();
    virtual void dispose() SAL_OVERRIDE;

    void SetTabDlg(MacroSecurity* pTabDlg)
    {
@@ -94,10 +96,10 @@ public:
class MacroSecurityLevelTP : public MacroSecurityTP
{
private:
    RadioButton* m_pVeryHighRB;
    RadioButton* m_pHighRB;
    RadioButton* m_pMediumRB;
    RadioButton* m_pLowRB;
    VclPtr<RadioButton> m_pVeryHighRB;
    VclPtr<RadioButton> m_pHighRB;
    VclPtr<RadioButton> m_pMediumRB;
    VclPtr<RadioButton> m_pLowRB;

    sal_uInt16   mnCurLevel;

@@ -106,6 +108,8 @@ protected:

public:
                        MacroSecurityLevelTP( vcl::Window* pParent, MacroSecurity* _pDlg );
    virtual             ~MacroSecurityLevelTP();
    virtual void        dispose() SAL_OVERRIDE;

    virtual void        ClosePage( void ) SAL_OVERRIDE;
};
@@ -114,14 +118,14 @@ public:
class MacroSecurityTrustedSourcesTP : public MacroSecurityTP
{
private:
    FixedImage*         m_pTrustCertROFI;
    SvSimpleTable*     m_pTrustCertLB;
    PushButton*         m_pViewCertPB;
    PushButton*         m_pRemoveCertPB;
    FixedImage*         m_pTrustFileROFI;
    ListBox*            m_pTrustFileLocLB;
    PushButton*         m_pAddLocPB;
    PushButton*         m_pRemoveLocPB;
    VclPtr<FixedImage>         m_pTrustCertROFI;
    VclPtr<SvSimpleTable>     m_pTrustCertLB;
    VclPtr<PushButton>         m_pViewCertPB;
    VclPtr<PushButton>         m_pRemoveCertPB;
    VclPtr<FixedImage>         m_pTrustFileROFI;
    VclPtr<ListBox>            m_pTrustFileLocLB;
    VclPtr<PushButton>         m_pAddLocPB;
    VclPtr<PushButton>         m_pRemoveLocPB;

    css::uno::Sequence< SvtSecurityOptions::Certificate > maTrustedAuthors;

diff --git a/xmlsecurity/source/dialogs/certificatechooser.cxx b/xmlsecurity/source/dialogs/certificatechooser.cxx
index 576013a..f6c8cc9 100644
--- a/xmlsecurity/source/dialogs/certificatechooser.cxx
+++ b/xmlsecurity/source/dialogs/certificatechooser.cxx
@@ -86,7 +86,9 @@ CertificateChooser::~CertificateChooser()

void CertificateChooser::dispose()
{
    delete m_pCertLB;
    m_pCertLB.clear();
    m_pViewBtn.clear();
    m_pOKBtn.clear();
    ModalDialog::dispose();
}

diff --git a/xmlsecurity/source/dialogs/certificateviewer.cxx b/xmlsecurity/source/dialogs/certificateviewer.cxx
index 6de4d96..544e859 100644
--- a/xmlsecurity/source/dialogs/certificateviewer.cxx
+++ b/xmlsecurity/source/dialogs/certificateviewer.cxx
@@ -69,6 +69,7 @@ void CertificateViewer::dispose()
    delete mpTabCtrl->GetTabPage(mnGeneralId);
    delete mpTabCtrl->GetTabPage(mnDetailsId);
    delete mpTabCtrl->GetTabPage(mnPathId);
    mpTabCtrl.clear();
    TabDialog::dispose();
}

@@ -79,6 +80,18 @@ CertificateViewerTP::CertificateViewerTP( vcl::Window* _pParent, const OString& 
{
}

CertificateViewerTP::~CertificateViewerTP()
{
    dispose();
}

void CertificateViewerTP::dispose()
{
    mpDlg.clear();
    TabPage::dispose();
}


CertificateViewerGeneralTP::CertificateViewerGeneralTP( vcl::Window* _pParent, CertificateViewer* _pDlg )
    :CertificateViewerTP    ( _pParent, "CertGeneral", "xmlsec/ui/certgeneral.ui", _pDlg )
{
@@ -136,6 +149,24 @@ CertificateViewerGeneralTP::CertificateViewerGeneralTP( vcl::Window* _pParent, C
    }
}

CertificateViewerGeneralTP::~CertificateViewerGeneralTP()
{
    dispose();
}

void CertificateViewerGeneralTP::dispose()
{
    m_pCertImg.clear();
    m_pHintNotTrustedFI.clear();
    m_pIssuedToFI.clear();
    m_pIssuedByFI.clear();
    m_pValidFromDateFI.clear();
    m_pValidToDateFI.clear();
    m_pKeyImg.clear();
    m_pHintCorrespPrivKeyFI.clear();
    CertificateViewerTP::dispose();
}

void CertificateViewerGeneralTP::ActivatePage()
{

@@ -268,7 +299,9 @@ CertificateViewerDetailsTP::~CertificateViewerDetailsTP()
void CertificateViewerDetailsTP::dispose()
{
    Clear();
    delete m_pElementsLB;
    m_pElementsLBContainer.clear();
    m_pElementsLB.clear();
    m_pValueDetails.clear();
    CertificateViewerTP::dispose();
}

@@ -339,7 +372,17 @@ CertificateViewerCertPathTP::CertificateViewerCertPathTP( vcl::Window* _pParent,

CertificateViewerCertPathTP::~CertificateViewerCertPathTP()
{
    dispose();
}

void CertificateViewerCertPathTP::dispose()
{
    Clear();
    mpCertPathLB.clear();
    mpViewCertPB.clear();
    mpCertStatusML.clear();
    mpParent.clear();
    CertificateViewerTP::dispose();
}

void CertificateViewerCertPathTP::ActivatePage()
diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
index ab127de..03e9cfc 100644
--- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
+++ b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
@@ -240,7 +240,22 @@ DigitalSignaturesDialog::~DigitalSignaturesDialog()

void DigitalSignaturesDialog::dispose()
{
    delete m_pSignaturesLB;
    m_pHintDocFT.clear();
    m_pHintBasicFT.clear();
    m_pHintPackageFT.clear();
    m_pSignaturesLB.clear();
    m_pSigsValidImg.clear();
    m_pSigsValidFI.clear();
    m_pSigsInvalidImg.clear();
    m_pSigsInvalidFI.clear();
    m_pSigsNotvalidatedImg.clear();
    m_pSigsNotvalidatedFI.clear();
    m_pSigsOldSignatureImg.clear();
    m_pSigsOldSignatureFI.clear();
    m_pViewBtn.clear();
    m_pAddBtn.clear();
    m_pRemoveBtn.clear();
    m_pCloseBtn.clear();
    ModalDialog::dispose();
}

diff --git a/xmlsecurity/source/dialogs/macrosecurity.cxx b/xmlsecurity/source/dialogs/macrosecurity.cxx
index e5bcabc..9a7a068 100644
--- a/xmlsecurity/source/dialogs/macrosecurity.cxx
+++ b/xmlsecurity/source/dialogs/macrosecurity.cxx
@@ -91,6 +91,11 @@ void MacroSecurity::dispose()
{
    delete m_pTabCtrl->GetTabPage(m_nSecTrustId);
    delete m_pTabCtrl->GetTabPage(m_nSecLevelId);
    m_pTabCtrl.clear();
    m_pOkBtn.clear();
    m_pResetBtn.clear();
    mpLevelTP.clear();
    mpTrustSrcTP.clear();
    TabDialog::dispose();
}

@@ -101,6 +106,17 @@ MacroSecurityTP::MacroSecurityTP(vcl::Window* _pParent, const OString& rID,
{
}

MacroSecurityTP::~MacroSecurityTP()
{
    dispose();
}

void MacroSecurityTP::dispose()
{
    mpDlg.clear();
    TabPage::dispose();
}

MacroSecurityLevelTP::MacroSecurityLevelTP(vcl::Window* _pParent, MacroSecurity* _pDlg)
    : MacroSecurityTP(_pParent, "SecurityLevelPage", "xmlsec/ui/securitylevelpage.ui", _pDlg)
{
@@ -154,6 +170,20 @@ MacroSecurityLevelTP::MacroSecurityLevelTP(vcl::Window* _pParent, MacroSecurity*
    }
}

MacroSecurityLevelTP::~MacroSecurityLevelTP()
{
    dispose();
}

void MacroSecurityLevelTP::dispose()
{
    m_pVeryHighRB.clear();
    m_pHighRB.clear();
    m_pMediumRB.clear();
    m_pLowRB.clear();
    MacroSecurityTP::dispose();
}

IMPL_LINK_NOARG(MacroSecurityLevelTP, RadioButtonHdl)
{
    sal_uInt16 nNewLevel = 0;
@@ -405,7 +435,14 @@ MacroSecurityTrustedSourcesTP::~MacroSecurityTrustedSourcesTP()

void MacroSecurityTrustedSourcesTP::dispose()
{
    delete m_pTrustCertLB;
    m_pTrustCertLB.clear();
    m_pTrustCertROFI.clear();
    m_pViewCertPB.clear();
    m_pRemoveCertPB.clear();
    m_pTrustFileROFI.clear();
    m_pTrustFileLocLB.clear();
    m_pAddLocPB.clear();
    m_pRemoveLocPB.clear();
    MacroSecurityTP::dispose();
}