summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2015-03-30 17:52:43 +0100
committerMichael Meeks <michael.meeks@collabora.com>2015-04-10 13:13:59 +0100
commitc7f3e599da3f4adf0c8cfe6e087948dc8f61bcce (patch)
treed2fa7051bb9c0c79f824bf3256a18acaecf00df4
parentvclptr: create Instance helpers, and set initial ref-count to 1. (diff)
downloadcore-c7f3e599da3f4adf0c8cfe6e087948dc8f61bcce.tar.gz
core-c7f3e599da3f4adf0c8cfe6e087948dc8f61bcce.zip
Revert part of "Unwind mpDialogParent oddness."
Now its ok to reference / un-reference ourself during construction. Change-Id: Ib3b302719c7d40d7a42272f93db5e4c437859cad
-rw-r--r--include/vcl/dockwin.hxx2
-rw-r--r--include/vcl/syswin.hxx2
-rw-r--r--vcl/source/window/dialog.cxx2
3 files changed, 3 insertions, 3 deletions
diff --git a/include/vcl/dockwin.hxx b/include/vcl/dockwin.hxx
index bd334ea09043..71c81818fa22 100644
--- a/include/vcl/dockwin.hxx
+++ b/include/vcl/dockwin.hxx
@@ -261,7 +261,7 @@ private:
mbIsCalculatingInitialLayoutSize:1,
mbInitialLayoutDone:1;
- vcl::Window *mpDialogParent; // deliberately not a VclPtr
+ VclPtr<vcl::Window> mpDialogParent;
SAL_DLLPRIVATE void ImplInitDockingWindowData();
SAL_DLLPRIVATE void setPosSizeOnContainee(Size aSize, Window &rBox);
diff --git a/include/vcl/syswin.hxx b/include/vcl/syswin.hxx
index 5609d57c6419..f90fb16bfeea 100644
--- a/include/vcl/syswin.hxx
+++ b/include/vcl/syswin.hxx
@@ -149,7 +149,7 @@ private:
Idle maLayoutIdle;
protected:
bool mbIsDefferedInit;
- vcl::Window *mpDialogParent; // deliberately not a VclPtr
+ VclPtr<vcl::Window> mpDialogParent;
public:
using Window::ImplIsInTaskPaneList;
SAL_DLLPRIVATE bool ImplIsInTaskPaneList( vcl::Window* pWin );
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index e59ba305a80a..0e29d4a44ca3 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -488,7 +488,7 @@ OUString VclBuilderContainer::getUIRootDir()
//do the init. Find the real parent stashed in mpDialogParent.
void Dialog::doDeferredInit(WinBits nBits)
{
- vcl::Window *pParent = mpDialogParent;
+ VclPtr<vcl::Window> pParent = mpDialogParent;
mpDialogParent = NULL;
ImplInit(pParent, nBits);
mbIsDefferedInit = false;