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" #include "qgsreadwritecontext.h"
%End %End
public: public:
QgsReadWriteContextCategoryPopper( QgsReadWriteContext *context ); QgsReadWriteContextCategoryPopper( QgsReadWriteContext &context );
%Docstring %Docstring
Creates a popper Creates a popper
%End %End

View File

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

View File

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