From 0baef91f719d24223b99ebe18aa071aa5212208f Mon Sep 17 00:00:00 2001 From: OBATA Akio Date: Sat, 22 Jan 2022 14:34:09 +0900 Subject: [PATCH] Change to use c++11 unique_ptr instead of deprecated auto_ptr Signed-off-by: OBATA Akio (cherry picked from commit 0d168f7ecdd875e739d7e3fb0df7348bc5d7deb0) --- kghostview/dscparse/dscparse_adapter.cpp | 16 +++---- kghostview/dscparse/dscparse_adapter.h | 54 +----------------------- kghostview/kgvdocument.cpp | 2 +- tdefile-plugins/ps/gscreator.cpp | 2 +- 4 files changed, 12 insertions(+), 62 deletions(-) diff --git a/kghostview/dscparse/dscparse_adapter.cpp b/kghostview/dscparse/dscparse_adapter.cpp index 11596c63..5aae47b8 100644 --- a/kghostview/dscparse/dscparse_adapter.cpp +++ b/kghostview/dscparse/dscparse_adapter.cpp @@ -282,20 +282,20 @@ const CDSCMEDIA* KDSC::page_media() const return _cdsc->page_media; } -auto_ptr KDSC::bbox() const +unique_ptr KDSC::bbox() const { - if( _cdsc->bbox == 0 ) - return auto_ptr( 0 ); + if( _cdsc->bbox == nullptr ) + return unique_ptr( nullptr ); else - return auto_ptr( new KDSCBBOX( *_cdsc->bbox ) ); + return unique_ptr( new KDSCBBOX( *_cdsc->bbox ) ); } -auto_ptr KDSC::page_bbox() const +unique_ptr KDSC::page_bbox() const { - if( _cdsc->page_bbox == 0 ) - return auto_ptr( 0 ); + if( _cdsc->page_bbox == nullptr ) + return unique_ptr( nullptr ); else - return auto_ptr( new KDSCBBOX( *_cdsc->page_bbox ) ); + return unique_ptr( new KDSCBBOX( *_cdsc->page_bbox ) ); } TQString KDSC::dsc_title() const diff --git a/kghostview/dscparse/dscparse_adapter.h b/kghostview/dscparse/dscparse_adapter.h index 05b7e637..77855972 100644 --- a/kghostview/dscparse/dscparse_adapter.h +++ b/kghostview/dscparse/dscparse_adapter.h @@ -28,51 +28,6 @@ #include "dscparse.h" -#if defined(__GNUC__) -#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 93) -/* - * We add a quick 'n' dirty inline implementation of auto_ptr for older - * releases of GCC, which don't include an auto_ptr implementation in - * . - */ - -template class auto_ptr { -private: - T* _ptr; - -public: - typedef T element_type; - explicit auto_ptr(T* p = 0) : _ptr(p) {} - auto_ptr(auto_ptr& a) : _ptr(a.release()) {} - template auto_ptr(auto_ptr& a) : _ptr(a.release()) {} - auto_ptr& operator=(auto_ptr& a) { - if (&a != this) { - delete _ptr; - _ptr = a.release(); - } - return *this; - } - template - auto_ptr& operator=(auto_ptr& a) { - if (a.get() != this->get()) { - delete _ptr; - _ptr = a.release(); - } - return *this; - } - ~auto_ptr() { delete _ptr; } - - T& operator*() const { return *_ptr; } - T* operator->() const { return _ptr; } - T* get() const { return _ptr; } - T* release() { T* tmp = _ptr; _ptr = 0; return tmp; } - void reset(T* p = 0) { delete _ptr; _ptr = p; } -}; - -#endif -#endif - - class KDSCBBOX { public: @@ -304,13 +259,8 @@ public: CDSCMEDIA** media() const; const CDSCMEDIA* page_media() const; -#if defined(__GNUC__) && (__GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 93)) - auto_ptr bbox() const; - auto_ptr page_bbox() const; -#else - std::auto_ptr bbox() const; - std::auto_ptr page_bbox() const; -#endif + std::unique_ptr bbox() const; + std::unique_ptr page_bbox() const; // CDSCDOSEPS *doseps; diff --git a/kghostview/kgvdocument.cpp b/kghostview/kgvdocument.cpp index 3d9dad26..ae0742da 100644 --- a/kghostview/kgvdocument.cpp +++ b/kghostview/kgvdocument.cpp @@ -171,7 +171,7 @@ bool KGVDocument::uncompressFile() // If the file is gzipped, gunzip it to the temporary file _tmpUnzipped. kdDebug(4500) << "KGVDocument::uncompressFile()" << endl; - auto_ptr filterDev( KFilterDev::deviceForFile( _fileName, _mimetype, true ) ); + unique_ptr filterDev( KFilterDev::deviceForFile( _fileName, _mimetype, true ) ); if ( !filterDev.get() ) { KMimeType::Ptr mt = KMimeType::mimeType(_mimetype); if ( (_fileName.right( 3 ) == ".gz") || mt->is("application/x-gzip") ) { diff --git a/tdefile-plugins/ps/gscreator.cpp b/tdefile-plugins/ps/gscreator.cpp index c664947b..88601a4c 100644 --- a/tdefile-plugins/ps/gscreator.cpp +++ b/tdefile-plugins/ps/gscreator.cpp @@ -241,7 +241,7 @@ bool GSCreator::create(const TQString &path, int width, int height, TQImage &img char translation[64] = ""; char pagesize[32] = ""; char resopt[32] = ""; - std::auto_ptr bbox = dsc.bbox(); + std::unique_ptr bbox = dsc.bbox(); if (is_encapsulated) { // GhostScript's rendering at the extremely low resolutions // required for thumbnails leaves something to be desired. To