correctly use reference for context in QgsReadWriteContextCategoryPopper

This commit is contained in:
Denis Rouzaud 2018-02-28 20:32:51 -04:00
parent 3c78fb58aa
commit a483ef817a
3 changed files with 5 additions and 9 deletions

View File

@ -116,7 +116,7 @@ This would happen when it gets out of scope.
#include "qgsreadwritecontext.h"
%End
public:
QgsReadWriteContextCategoryPopper( QgsReadWriteContext *context );
QgsReadWriteContextCategoryPopper( QgsReadWriteContext &context );
%Docstring
Creates a popper
%End

View File

@ -41,7 +41,7 @@ QgsReadWriteContextCategoryPopper QgsReadWriteContext::enterCategory( const QStr
if ( !details.isEmpty() )
message.append( QString( " :: %1" ).arg( details ) );
mCategories.push_back( message );
return QgsReadWriteContextCategoryPopper( this );
return QgsReadWriteContextCategoryPopper( *this );
}
void QgsReadWriteContext::leaveCategory()

View File

@ -124,14 +124,10 @@ class CORE_EXPORT QgsReadWriteContextCategoryPopper
{
public:
//! Creates a popper
QgsReadWriteContextCategoryPopper( QgsReadWriteContext *context ) : mContext( context ) {}
~QgsReadWriteContextCategoryPopper()
{
if ( mContext )
mContext->leaveCategory();
}
QgsReadWriteContextCategoryPopper( QgsReadWriteContext &context ) : mContext( context ) {}
~QgsReadWriteContextCategoryPopper() {mContext.leaveCategory();}
private:
QgsReadWriteContext *mContext;
QgsReadWriteContext &mContext;
};
#endif // QGSREADWRITECONTEXT_H