Fix lifecycle issues.

Change-Id: I7524ca3da7d134d94553be0e7a6db7e879984ae8
diff --git a/dbaccess/source/ui/browser/brwview.cxx b/dbaccess/source/ui/browser/brwview.cxx
index a9402381..fe0ad00 100644
--- a/dbaccess/source/ui/browser/brwview.cxx
+++ b/dbaccess/source/ui/browser/brwview.cxx
@@ -159,7 +159,7 @@ void UnoDataBrowserView::setTreeView(DBTreeView* _pTreeView)
{
    if (m_pTreeView.get() != _pTreeView)
    {
        m_pTreeView.clear();
        m_pTreeView.disposeAndClear();
        m_pTreeView = _pTreeView;
    }
}
diff --git a/vcl/source/window/openglwin.cxx b/vcl/source/window/openglwin.cxx
index 1ef46da..21af6cc 100644
--- a/vcl/source/window/openglwin.cxx
+++ b/vcl/source/window/openglwin.cxx
@@ -16,6 +16,7 @@ class OpenGLWindowImpl
{
public:
    OpenGLWindowImpl(vcl::Window* pWindow);
    ~OpenGLWindowImpl() { mxChildWindow.disposeAndClear(); }
    OpenGLContext& getContext() { return maContext;}
private:
    OpenGLContext maContext;
@@ -31,7 +32,6 @@ OpenGLWindowImpl::OpenGLWindowImpl(vcl::Window* pWindow)
    pWindow->SetMouseTransparent(false);
}


OpenGLWindow::OpenGLWindow(vcl::Window* pParent):
    Window(pParent, 0),
    mxImpl(new OpenGLWindowImpl(this)),
@@ -49,7 +49,7 @@ void OpenGLWindow::dispose()
    if(mpRenderer)
        mpRenderer->contextDestroyed();
    mpRenderer = NULL;

    mxImpl.reset();
    Window::dispose();
}