[Libreoffice-commits] core.git: Branch 'feature/vclref' - compilerplugins/clang include/svtools include/vcl svtools/source vcl/inc vcl/source
Noel Grandin
noel at peralex.com
Fri Mar 13 07:27:20 PDT 2015
compilerplugins/clang/vclwidgets.cxx | 61 +++++++++++++++------------
include/svtools/toolpanel/drawerlayouter.hxx | 3 -
include/svtools/valueset.hxx | 2
include/vcl/opengl/OpenGLContext.hxx | 1
svtools/source/control/valueset.cxx | 6 +-
svtools/source/table/tablecontrol_impl.hxx | 3 -
svtools/source/toolpanel/drawerlayouter.cxx | 14 ++----
svtools/source/toolpanel/tablayouter.cxx | 2
vcl/inc/ilstbox.hxx | 6 --
vcl/source/control/combobox.cxx | 12 ++---
vcl/source/control/ilstbox.cxx | 3 -
vcl/source/control/lstbox.cxx | 10 ++--
vcl/source/control/morebtn.cxx | 2
vcl/source/opengl/OpenGLContext.cxx | 1
vcl/source/window/openglwin.cxx | 2
vcl/source/window/toolbox.cxx | 2
16 files changed, 65 insertions(+), 65 deletions(-)
New commits:
commit bae896a2ca4a48072c924daf95e7a09ccbb56eff
Author: Noel Grandin <noel at peralex.com>
Date: Fri Mar 13 16:26:50 2015 +0200
vclwidget: improve detection of vcl::Window fields
that need to be wrapped in VclPtr, and convert several sites
Change-Id: I1fb1ed164a99642a0c1ccbf433eb14df688fa476
diff --git a/compilerplugins/clang/vclwidgets.cxx b/compilerplugins/clang/vclwidgets.cxx
index 9359d8a..72142e6 100644
--- a/compilerplugins/clang/vclwidgets.cxx
+++ b/compilerplugins/clang/vclwidgets.cxx
@@ -48,17 +48,22 @@ private:
bool isDisposeCallingSuperclassDispose(const CXXMethodDecl* pMethodDecl);
};
-static const char sVclPtr[] = "VclPtr";
+static bool startsWith(const std::string& s, const char* other)
+{
+ return s.compare(0, strlen(other), other) == 0;
+}
bool BaseCheckNotWindowSubclass(const CXXRecordDecl *BaseDefinition, void *) {
- if (BaseDefinition->getQualifiedNameAsString().compare("vcl::Window") == 0) {
+ if (BaseDefinition && BaseDefinition->getQualifiedNameAsString().compare("vcl::Window") == 0) {
return false;
}
return true;
}
bool isDerivedFromWindow(const CXXRecordDecl *decl) {
- if (decl->getQualifiedNameAsString().compare("vcl::Window") == 0)
+ if (!decl)
+ return false;
+ if (decl->getQualifiedNameAsString() == "vcl::Window")
return true;
if (!decl->hasDefinition()) {
return false;
@@ -72,26 +77,24 @@ bool isDerivedFromWindow(const CXXRecordDecl *decl) {
return false;
}
-bool isPointerToWindowSubclass(const Type* pType0) {
- const Type* pType = pType0->getUnqualifiedDesugaredType();
- if (!pType->isPointerType()) {
+bool containsWindowSubclass(const Type* pType0);
+
+bool containsWindowSubclass(const QualType& qType) {
+ if (startsWith(qType.getAsString(), "VclPtr"))
return false;
- }
- QualType pointeeType = pType->getPointeeType();
- const RecordType *recordType = pointeeType->getAs<RecordType>();
- if (recordType == nullptr) {
+ if (startsWith(qType.getAsString(), "class VclPtr"))
return false;
- }
- const CXXRecordDecl *recordDecl = dyn_cast<CXXRecordDecl>(recordType->getDecl());
- if (recordDecl == nullptr) {
+ if (startsWith(qType.getAsString(), "const class VclPtr"))
return false;
- }
- bool b = isDerivedFromWindow(recordDecl);
- return b;
+ return containsWindowSubclass(qType.getTypePtr());
}
-bool containsPointerToWindowSubclass(const Type* pType0) {
+bool containsWindowSubclass(const Type* pType0) {
+ if (!pType0)
+ return false;
const Type* pType = pType0->getUnqualifiedDesugaredType();
+ if (!pType)
+ return false;
const CXXRecordDecl* pRecordDecl = pType->getAsCXXRecordDecl();
if (pRecordDecl) {
const ClassTemplateSpecializationDecl* pTemplate = dyn_cast<ClassTemplateSpecializationDecl>(pRecordDecl);
@@ -99,14 +102,19 @@ bool containsPointerToWindowSubclass(const Type* pType0) {
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()))
+ containsWindowSubclass(rArg.getAsType()))
{
return true;
}
}
}
}
- return isPointerToWindowSubclass(pType);
+ if (pType->isPointerType()) {
+ QualType pointeeType = pType->getPointeeType();
+ return containsWindowSubclass(pointeeType);
+ } else {
+ return isDerivedFromWindow(pRecordDecl);
+ }
}
bool VCLWidgets::VisitCXXDestructorDecl(const CXXDestructorDecl* pCXXDestructorDecl)
@@ -131,7 +139,7 @@ bool VCLWidgets::VisitCXXDestructorDecl(const CXXDestructorDecl* pCXXDestructorD
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) {
+ if (startsWith(pFieldRecordTypeDecl->getQualifiedNameAsString(), "VclPtr")) {
foundVclPtrField = true;
break;
}
@@ -213,15 +221,14 @@ bool VCLWidgets::VisitFieldDecl(const FieldDecl * fieldDecl) {
if (fieldDecl->isBitField()) {
return true;
}
- if (containsPointerToWindowSubclass(fieldDecl->getType().getTypePtr())) {
+ if (containsWindowSubclass(fieldDecl->getType())) {
report(
DiagnosticsEngine::Warning,
- "vcl::Window subclass declared as a pointer field, should be wrapped in VclPtr.",
+ "vcl::Window subclass declared as a pointer field, should be wrapped in VclPtr." + fieldDecl->getType().getAsString(),
fieldDecl->getLocation())
<< fieldDecl->getSourceRange();
return true;
}
-
const RecordType *recordType = fieldDecl->getType()->getAs<RecordType>();
if (recordType == nullptr) {
return true;
@@ -243,7 +250,7 @@ bool VCLWidgets::VisitFieldDecl(const FieldDecl * fieldDecl) {
// If this field is a VclPtr field, then the class MUST have a dispose method
const CXXRecordDecl *pParentRecordDecl = dyn_cast<CXXRecordDecl>(fieldDecl->getParent());
if (pParentRecordDecl && isDerivedFromWindow(pParentRecordDecl)
- && recordDecl->getQualifiedNameAsString().compare(0, strlen(sVclPtr), sVclPtr) == 0)
+ && startsWith(recordDecl->getQualifiedNameAsString(), "VclPtr"))
{
bool foundDispose = false;
for(auto methodDecl : pParentRecordDecl->methods()) {
@@ -287,8 +294,8 @@ bool VCLWidgets::VisitParmVarDecl(ParmVarDecl const * pvDecl)
report(
DiagnosticsEngine::Warning,
"vcl::Window subclass passed as a VclPtr parameter, should be passed as a raw pointer.",
- pvDecl->getLocation())
- << pvDecl->getSourceRange();
+ pvDecl->getCanonicalDecl()->getLocation())
+ << pvDecl->getCanonicalDecl()->getSourceRange();
}
return true;
}
@@ -400,7 +407,7 @@ bool VCLWidgets::VisitFunctionDecl( const FunctionDecl* functionDecl )
std::vector<std::string> aVclPtrFields;
for(auto fieldDecl : pMethodDecl->getParent()->fields()) {
- if (fieldDecl->getType().getAsString().compare(0, strlen(sVclPtr), sVclPtr) == 0) {
+ if (startsWith(fieldDecl->getType().getAsString(), "VclPtr")) {
aVclPtrFields.push_back(fieldDecl->getNameAsString());
}
}
diff --git a/include/svtools/toolpanel/drawerlayouter.hxx b/include/svtools/toolpanel/drawerlayouter.hxx
index 93b11f4..5614801 100644
--- a/include/svtools/toolpanel/drawerlayouter.hxx
+++ b/include/svtools/toolpanel/drawerlayouter.hxx
@@ -33,7 +33,6 @@ namespace svt
class ToolPanelViewShell;
class ToolPanelDrawer;
- typedef ::boost::shared_ptr< ToolPanelDrawer > PToolPanelDrawer;
//= ToolPanelDrawer
@@ -79,7 +78,7 @@ namespace svt
private:
vcl::Window& m_rParentWindow;
IToolPanelDeck& m_rPanelDeck;
- ::std::vector< PToolPanelDrawer > m_aDrawers;
+ ::std::vector< VclPtr<ToolPanelDrawer> > m_aDrawers;
::boost::optional< size_t > m_aLastKnownActivePanel;
};
diff --git a/include/svtools/valueset.hxx b/include/svtools/valueset.hxx
index f1aa6c2..a18700c 100644
--- a/include/svtools/valueset.hxx
+++ b/include/svtools/valueset.hxx
@@ -201,7 +201,7 @@ private:
Timer maTimer;
ValueItemList mItemList;
ValueSetItemPtr mpNoneItem;
- boost::scoped_ptr<ScrollBar> mpScrollBar;
+ VclPtr<ScrollBar> mpScrollBar;
Rectangle maNoneItemRect;
Rectangle maItemListRect;
long mnItemWidth;
diff --git a/include/vcl/opengl/OpenGLContext.hxx b/include/vcl/opengl/OpenGLContext.hxx
index f119b98..b78f6d3 100644
--- a/include/vcl/opengl/OpenGLContext.hxx
+++ b/include/vcl/opengl/OpenGLContext.hxx
@@ -263,7 +263,6 @@ private:
VclPtr<vcl::Window> m_pWindow;
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/svtools/source/control/valueset.cxx b/svtools/source/control/valueset.cxx
index 68c5c11..ae0941c 100644
--- a/svtools/source/control/valueset.cxx
+++ b/svtools/source/control/valueset.cxx
@@ -135,6 +135,7 @@ void ValueSet::dispose()
xComponent->dispose();
ImplDeleteItems();
+ mpScrollBar.disposeAndClear();
Control::dispose();
}
@@ -350,7 +351,7 @@ void ValueSet::Format()
long nOff;
long nNoneHeight;
long nNoneSpace;
- boost::scoped_ptr<ScrollBar> pDeletedScrollBar(NULL);
+ VclPtr<ScrollBar> pDeletedScrollBar;
// consider the scrolling
if ( nStyle & WB_VSCROLL )
@@ -360,7 +361,8 @@ void ValueSet::Format()
if ( mpScrollBar.get() )
{
// delete ScrollBar not until later, to prevent recursive calls
- pDeletedScrollBar.swap(mpScrollBar);
+ pDeletedScrollBar = mpScrollBar;
+ mpScrollBar.disposeAndClear();
}
}
diff --git a/svtools/source/table/tablecontrol_impl.hxx b/svtools/source/table/tablecontrol_impl.hxx
index 480511f..6a46e33 100644
--- a/svtools/source/table/tablecontrol_impl.hxx
+++ b/svtools/source/table/tablecontrol_impl.hxx
@@ -122,8 +122,7 @@ namespace svt { namespace table
The window's upper left corner is at position (0,0), relative to the
table control, which is the direct parent of the data window.
*/
- ::boost::scoped_ptr< TableDataWindow >
- m_pDataWindow;
+ VclPtr<TableDataWindow> m_pDataWindow;
/// the vertical scrollbar, if any
VclPtr<ScrollBar> m_pVScroll;
/// the horizontal scrollbar, if any
diff --git a/svtools/source/toolpanel/drawerlayouter.cxx b/svtools/source/toolpanel/drawerlayouter.cxx
index b2e692c..9d3d5e1 100644
--- a/svtools/source/toolpanel/drawerlayouter.cxx
+++ b/svtools/source/toolpanel/drawerlayouter.cxx
@@ -132,7 +132,7 @@ namespace svt
{
ENSURE_OR_RETURN( i_nChildIndex < m_aDrawers.size(), "illegal index", NULL );
- const PToolPanelDrawer pDrawer( m_aDrawers[ i_nChildIndex ] );
+ ToolPanelDrawer *pDrawer( m_aDrawers[ i_nChildIndex ] );
Reference< XAccessible > xItemAccessible = pDrawer->GetAccessible( false );
if ( !xItemAccessible.is() )
@@ -151,7 +151,7 @@ namespace svt
{
OSL_PRECOND( i_nPosition <= m_aDrawers.size(), "DrawerDeckLayouter::PanelInserted: inconsistency!" );
- PToolPanelDrawer pDrawer( new ToolPanelDrawer( m_rParentWindow, i_pPanel->GetDisplayName() ) );
+ ToolPanelDrawer *pDrawer( new ToolPanelDrawer( m_rParentWindow, i_pPanel->GetDisplayName() ) );
pDrawer->SetHelpId( i_pPanel->GetHelpID() );
// proper Z-Order
if ( i_nPosition == 0 )
@@ -160,8 +160,8 @@ namespace svt
}
else
{
- const PToolPanelDrawer pFirstDrawer( m_aDrawers[ i_nPosition - 1 ] );
- pDrawer->SetZOrder( pFirstDrawer.get(), WINDOW_ZORDER_BEHIND );
+ ToolPanelDrawer* pFirstDrawer( m_aDrawers[ i_nPosition - 1 ] );
+ pDrawer->SetZOrder( pFirstDrawer, WINDOW_ZORDER_BEHIND );
}
pDrawer->Show();
@@ -213,10 +213,7 @@ namespace svt
size_t DrawerDeckLayouter::impl_getPanelPositionFromWindow( const vcl::Window* i_pDrawerWindow ) const
{
- for ( ::std::vector< PToolPanelDrawer >::const_iterator drawerPos = m_aDrawers.begin();
- drawerPos != m_aDrawers.end();
- ++drawerPos
- )
+ for ( auto drawerPos = m_aDrawers.begin(); drawerPos != m_aDrawers.end(); ++drawerPos )
{
if ( drawerPos->get() == i_pDrawerWindow )
return drawerPos - m_aDrawers.begin();
@@ -229,7 +226,6 @@ namespace svt
{
OSL_PRECOND( i_nPosition < m_aDrawers.size(), "DrawerDeckLayouter::impl_removeDrawer: invalid panel position!" );
m_aDrawers[ i_nPosition ]->RemoveEventListener( LINK( this, DrawerDeckLayouter, OnWindowEvent ) );
- OSL_ENSURE( m_aDrawers[ i_nPosition ].unique(), "DrawerDeckLayouter::impl_removeDrawer: somebody else is still holding a reference!" );
m_aDrawers.erase( m_aDrawers.begin() + i_nPosition );
}
diff --git a/svtools/source/toolpanel/tablayouter.cxx b/svtools/source/toolpanel/tablayouter.cxx
index 39a0874..b2e6f24 100644
--- a/svtools/source/toolpanel/tablayouter.cxx
+++ b/svtools/source/toolpanel/tablayouter.cxx
@@ -41,7 +41,7 @@ namespace svt
{
TabAlignment eAlignment;
IToolPanelDeck& rPanels;
- ::std::unique_ptr< PanelTabBar > pTabBar;
+ VclPtr< PanelTabBar > pTabBar;
AccessibleFactoryAccess aAccessibleFactory;
TabDeckLayouter_Data( vcl::Window& i_rParent, IToolPanelDeck& i_rPanels,
diff --git a/vcl/inc/ilstbox.hxx b/vcl/inc/ilstbox.hxx
index 8e95a8a..3c253cb 100644
--- a/vcl/inc/ilstbox.hxx
+++ b/vcl/inc/ilstbox.hxx
@@ -378,12 +378,10 @@ protected:
virtual void SelectEntry( ::vcl::StringEntryIdentifier _entry ) SAL_OVERRIDE;
};
-typedef rtl::Reference<ImplListBoxWindow> ImplListBoxWindowPtr;
-
class ImplListBox : public Control
{
private:
- ImplListBoxWindowPtr maLBWindow;
+ VclPtr<ImplListBoxWindow> maLBWindow;
VclPtr<ScrollBar> mpHScrollBar;
VclPtr<ScrollBar> mpVScrollBar;
VclPtr<ScrollBarBox> mpScrollBarBox;
@@ -418,7 +416,7 @@ public:
virtual void dispose() SAL_OVERRIDE;
const ImplEntryList* GetEntryList() const { return maLBWindow->GetEntryList(); }
- ImplListBoxWindowPtr GetMainWindow() { return maLBWindow; }
+ ImplListBoxWindow* GetMainWindow() { return maLBWindow.get(); }
virtual void Resize() SAL_OVERRIDE;
virtual const Wallpaper& GetDisplayBackground() const SAL_OVERRIDE;
diff --git a/vcl/source/control/combobox.cxx b/vcl/source/control/combobox.cxx
index 40eb7c3..f1724dc 100644
--- a/vcl/source/control/combobox.cxx
+++ b/vcl/source/control/combobox.cxx
@@ -587,19 +587,19 @@ void ComboBox::FillLayoutData() const
mpControlData->mpLayoutData = new vcl::ControlLayoutData();
AppendLayoutData( *mpSubEdit );
mpSubEdit->SetLayoutDataParent( this );
- ImplListBoxWindowPtr rMainWindow = mpImplLB->GetMainWindow();
+ ImplListBoxWindow* rMainWindow = mpImplLB->GetMainWindow();
if( mpFloatWin )
{
// dropdown mode
if( mpFloatWin->IsReallyVisible() )
{
- AppendLayoutData( *(rMainWindow.get()) );
+ AppendLayoutData( *rMainWindow );
rMainWindow->SetLayoutDataParent( this );
}
}
else
{
- AppendLayoutData( *(rMainWindow.get()) );
+ AppendLayoutData( *rMainWindow );
rMainWindow->SetLayoutDataParent( this );
}
}
@@ -771,7 +771,7 @@ bool ComboBox::Notify( NotifyEvent& rNEvt )
nDone = false; // don't eat this event, let the default handling happen (i.e. scroll the context)
}
}
- else if( ( rNEvt.GetType() == MouseNotifyEvent::MOUSEBUTTONDOWN ) && ( rNEvt.GetWindow() == mpImplLB->GetMainWindow().get() ) )
+ else if( ( rNEvt.GetType() == MouseNotifyEvent::MOUSEBUTTONDOWN ) && ( rNEvt.GetWindow() == mpImplLB->GetMainWindow() ) )
{
mpSubEdit->GrabFocus();
}
@@ -1249,7 +1249,7 @@ void ComboBox::EnableUserDraw( bool bUserDraw )
void ComboBox::DrawEntry( const UserDrawEvent& rEvt, bool bDrawImage, bool bDrawText, bool bDrawTextAtImagePos )
{
- DBG_ASSERT( rEvt.GetDevice() == mpImplLB->GetMainWindow().get(), "DrawEntry?!" );
+ DBG_ASSERT( rEvt.GetDevice() == mpImplLB->GetMainWindow(), "DrawEntry?!" );
mpImplLB->GetMainWindow()->DrawEntry( rEvt.GetItemId(), bDrawImage, bDrawText, bDrawTextAtImagePos );
}
@@ -1388,7 +1388,7 @@ long ComboBox::GetIndexForPoint( const Point& rPoint, sal_Int32& rPos ) const
{
// point must be either in main list window
// or in impl window (dropdown case)
- ImplListBoxWindowPtr rMain = mpImplLB->GetMainWindow();
+ ImplListBoxWindow* rMain = mpImplLB->GetMainWindow();
// convert coordinates to ImplListBoxWindow pixel coordinate space
Point aConvPoint = LogicToPixel( rPoint );
diff --git a/vcl/source/control/ilstbox.cxx b/vcl/source/control/ilstbox.cxx
index 663f557..d32a4ec 100644
--- a/vcl/source/control/ilstbox.cxx
+++ b/vcl/source/control/ilstbox.cxx
@@ -2173,6 +2173,7 @@ void ImplListBox::dispose()
mpVScrollBar.disposeAndClear();
mpScrollBarBox.disposeAndClear();
maLBWindow.clear();
+ maLBWindow.disposeAndClear();
Control::dispose();
}
@@ -2979,7 +2980,7 @@ void ImplListBoxFloatingWindow::setPosSizePixel( long nX, long nY, long nWidth,
// this the presence of the vertical Scrollbar has to be known.
mpImplLB->SetSizePixel( GetOutputSizePixel() );
((vcl::Window*)mpImplLB)->Resize();
- ((vcl::Window*)mpImplLB->GetMainWindow().get())->Resize();
+ ((vcl::Window*)mpImplLB->GetMainWindow())->Resize();
}
}
diff --git a/vcl/source/control/lstbox.cxx b/vcl/source/control/lstbox.cxx
index 67a2275..31103a4 100644
--- a/vcl/source/control/lstbox.cxx
+++ b/vcl/source/control/lstbox.cxx
@@ -693,7 +693,7 @@ void ListBox::Resize()
void ListBox::FillLayoutData() const
{
mpControlData->mpLayoutData = new vcl::ControlLayoutData();
- const ImplListBoxWindowPtr rMainWin = mpImplLB->GetMainWindow();
+ const ImplListBoxWindow* rMainWin = mpImplLB->GetMainWindow();
if( mpFloatWin )
{
// Dropdown mode
@@ -701,13 +701,13 @@ void ListBox::FillLayoutData() const
mpImplWin->SetLayoutDataParent( this );
if( mpFloatWin->IsReallyVisible() )
{
- AppendLayoutData( *(rMainWin.get()) );
+ AppendLayoutData( *rMainWin );
rMainWin->SetLayoutDataParent( this );
}
}
else
{
- AppendLayoutData( *(rMainWin.get()) );
+ AppendLayoutData( *rMainWin );
rMainWin->SetLayoutDataParent( this );
}
}
@@ -723,7 +723,7 @@ long ListBox::GetIndexForPoint( const Point& rPoint, sal_Int32& rPos ) const
{
// Point must be either in main list window
// or in impl window (dropdown case)
- ImplListBoxWindowPtr rMain = mpImplLB->GetMainWindow();
+ ImplListBoxWindow* rMain = mpImplLB->GetMainWindow();
// Convert coordinates to ImplListBoxWindow pixel coordinate space
Point aConvPoint = LogicToPixel( rPoint );
@@ -1373,7 +1373,7 @@ void ListBox::UserDraw( const UserDrawEvent& )
void ListBox::DrawEntry( const UserDrawEvent& rEvt, bool bDrawImage, bool bDrawText, bool bDrawTextAtImagePos )
{
- if ( rEvt.GetDevice() == mpImplLB->GetMainWindow().get() )
+ if ( rEvt.GetDevice() == mpImplLB->GetMainWindow() )
mpImplLB->GetMainWindow()->DrawEntry( rEvt.GetItemId(), bDrawImage, bDrawText, bDrawTextAtImagePos );
else if ( rEvt.GetDevice() == mpImplWin )
mpImplWin->DrawEntry( bDrawImage, bDrawText, bDrawTextAtImagePos );
diff --git a/vcl/source/control/morebtn.cxx b/vcl/source/control/morebtn.cxx
index c1adde4..443032c 100644
--- a/vcl/source/control/morebtn.cxx
+++ b/vcl/source/control/morebtn.cxx
@@ -22,7 +22,7 @@
#include <tools/rc.h>
#include <vector>
-typedef ::std::vector< vcl::Window* > ImplMoreWindowList;
+typedef ::std::vector< VclPtr<vcl::Window> > ImplMoreWindowList;
struct ImplMoreButtonData
{
diff --git a/vcl/source/opengl/OpenGLContext.cxx b/vcl/source/opengl/OpenGLContext.cxx
index 72b42b9..10f67b2 100644
--- a/vcl/source/opengl/OpenGLContext.cxx
+++ b/vcl/source/opengl/OpenGLContext.cxx
@@ -1083,7 +1083,6 @@ bool OpenGLContext::initWindow()
if( !m_pChildWindow )
{
m_pChildWindow = new SystemChildWindow(mpWindow, 0, &winData, false);
- m_pChildWindowGC.reset(m_pChildWindow);
}
pChildSysData = m_pChildWindow->GetSystemData();
}
diff --git a/vcl/source/window/openglwin.cxx b/vcl/source/window/openglwin.cxx
index 8be9ef8..53b726e 100644
--- a/vcl/source/window/openglwin.cxx
+++ b/vcl/source/window/openglwin.cxx
@@ -19,7 +19,7 @@ public:
OpenGLContext& getContext() { return maContext;}
private:
OpenGLContext maContext;
- boost::scoped_ptr<SystemChildWindow> mpChildWindow;
+ VclPtr<SystemChildWindow> mpChildWindow;
};
OpenGLWindowImpl::OpenGLWindowImpl(vcl::Window* pWindow)
diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx
index bd91203..1b7bfc9 100644
--- a/vcl/source/window/toolbox.cxx
+++ b/vcl/source/window/toolbox.cxx
@@ -84,7 +84,7 @@
static void ImplDrawButton( ToolBox* pThis, const Rectangle &rRect, sal_uInt16 highlight, bool bChecked, bool bEnabled, bool bIsWindow );
-typedef ::std::vector< ToolBox* > ImplTBList;
+typedef ::std::vector< VclPtr<ToolBox> > ImplTBList;
class ImplTBDragMgr
{
More information about the Libreoffice-commits
mailing list