From 5b8b30d2436f0488ca3ebaaf6d8feae23a778b5f Mon Sep 17 00:00:00 2001 From: Jay Nabonne Date: Mon, 21 Jan 2019 12:35:55 +0000 Subject: [PATCH] Don't use pointer for wxDC::m_clippingRegion in wxQt An object can be used directly instead. --- include/wx/qt/dc.h | 2 +- src/qt/dc.cpp | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/include/wx/qt/dc.h b/include/wx/qt/dc.h index 43bd13e070..d1c632f714 100644 --- a/include/wx/qt/dc.h +++ b/include/wx/qt/dc.h @@ -116,7 +116,7 @@ protected: QPainter *m_qtPainter; QPixmap *m_qtPixmap; - wxRegion *m_clippingRegion; + wxRegion m_clippingRegion; private: enum wxQtRasterColourOp { diff --git a/src/qt/dc.cpp b/src/qt/dc.cpp index 35dec4b0ac..7ba806795f 100644 --- a/src/qt/dc.cpp +++ b/src/qt/dc.cpp @@ -48,7 +48,6 @@ wxIMPLEMENT_CLASS(wxQtDCImpl,wxDCImpl); wxQtDCImpl::wxQtDCImpl( wxDC *owner ) : wxDCImpl( owner ) { - m_clippingRegion = new wxRegion; m_qtPixmap = NULL; m_rasterColourOp = wxQtNONE; m_qtPenColor = new QColor; @@ -67,7 +66,6 @@ wxQtDCImpl::~wxQtDCImpl() delete m_qtPainter; } - delete m_clippingRegion; delete m_qtPenColor; delete m_qtBrushColor; } @@ -87,7 +85,7 @@ void wxQtDCImpl::QtPreparePainter( ) if (m_clipping) { - wxRegionIterator ri(*m_clippingRegion); + wxRegionIterator ri(m_clippingRegion); bool append = false; while (ri.HaveRects()) { @@ -438,11 +436,11 @@ void wxQtDCImpl::DoSetClippingRegion(wxCoord x, wxCoord y, /* Note: Qt states that QPainter::clipRegion() may be slow, so we * keep the region manually, which should be faster */ if ( m_clipping ) - m_clippingRegion->Union( wxRect( x, y, width, height ) ); + m_clippingRegion.Union( wxRect( x, y, width, height ) ); else - m_clippingRegion->Intersect( wxRect( x, y, width, height ) ); + m_clippingRegion.Intersect( wxRect( x, y, width, height ) ); - wxRect clipRect = m_clippingRegion->GetBox(); + wxRect clipRect = m_clippingRegion.GetBox(); m_clipX1 = clipRect.GetLeft(); m_clipX2 = clipRect.GetRight() + 1; @@ -476,11 +474,11 @@ void wxQtDCImpl::DoSetDeviceClippingRegion(const wxRegion& region) /* Note: Qt states that QPainter::clipRegion() may be slow, so we * keep the region manually, which should be faster */ if ( m_clipping ) - m_clippingRegion->Union( region ); + m_clippingRegion.Union( region ); else - m_clippingRegion->Intersect( region ); + m_clippingRegion.Intersect( region ); - wxRect clipRect = m_clippingRegion->GetBox(); + wxRect clipRect = m_clippingRegion.GetBox(); m_clipX1 = clipRect.GetLeft(); m_clipX2 = clipRect.GetRight() + 1; @@ -493,7 +491,7 @@ void wxQtDCImpl::DoSetDeviceClippingRegion(const wxRegion& region) void wxQtDCImpl::DestroyClippingRegion() { wxDCImpl::DestroyClippingRegion(); - m_clippingRegion->Clear(); + m_clippingRegion.Clear(); if (m_qtPainter->isActive()) m_qtPainter->setClipping( false );