diff --git a/aegisub/libaegisub/common/log.cpp b/aegisub/libaegisub/common/log.cpp index f7571cc5a..8d41a2250 100644 --- a/aegisub/libaegisub/common/log.cpp +++ b/aegisub/libaegisub/common/log.cpp @@ -18,10 +18,13 @@ /// @brief Logging /// @ingroup libaegisub - +#ifndef AGI_PRE #include #include +#include +#endif + #include "libaegisub/log.h" #include "libaegisub/mutex.h" #include "libaegisub/types.h" @@ -31,7 +34,7 @@ namespace agi { namespace log { /// Global log sink. -LogSink *log = new LogSink(); +std::auto_ptr log(new LogSink()); /// Short Severity ID /// Keep this ordered the same as Severity diff --git a/aegisub/libaegisub/include/libaegisub/log.h b/aegisub/libaegisub/include/libaegisub/log.h index 5257f5ec3..8cdfa672d 100644 --- a/aegisub/libaegisub/include/libaegisub/log.h +++ b/aegisub/libaegisub/include/libaegisub/log.h @@ -67,7 +67,7 @@ enum Severity { extern const char *Severity_ID; /// Global log sink. -extern LogSink *log; +extern std::auto_ptr log; /// Container to hold a single message struct SinkMessage { diff --git a/aegisub/src/ass_export_filter.cpp b/aegisub/src/ass_export_filter.cpp index afbf65799..9e203a40a 100644 --- a/aegisub/src/ass_export_filter.cpp +++ b/aegisub/src/ass_export_filter.cpp @@ -34,9 +34,6 @@ /// @ingroup export /// - -/////////// -// Headers #include "config.h" #include "ass_export_filter.h" @@ -184,7 +181,7 @@ const wxString& AssExportFilter::GetDescription() const { /// DOCME -AssExportFilterChain *AssExportFilterChain::instance=NULL; +std::auto_ptr AssExportFilterChain::instance; @@ -192,7 +189,7 @@ AssExportFilterChain *AssExportFilterChain::instance=NULL; /// @return /// FilterList *AssExportFilterChain::GetFilterList() { - if (instance == NULL) instance = new AssExportFilterChain(); + if (!instance.get()) instance.reset(new AssExportFilterChain()); return &(instance->Filters); } @@ -202,7 +199,7 @@ FilterList *AssExportFilterChain::GetFilterList() { /// @return /// FilterList *AssExportFilterChain::GetUnpreparedFilterList() { - if (instance == NULL) instance = new AssExportFilterChain(); + if (!instance.get()) instance.reset(new AssExportFilterChain()); return &(instance->Unprepared); } @@ -216,5 +213,3 @@ void AssExportFilterChain::PrepareFilters() { } instance->Unprepared.clear(); } - - diff --git a/aegisub/src/ass_export_filter.h b/aegisub/src/ass_export_filter.h index cfbf9b530..406f88096 100644 --- a/aegisub/src/ass_export_filter.h +++ b/aegisub/src/ass_export_filter.h @@ -42,6 +42,7 @@ // Headers #ifndef AGI_PRE #include +#include #include #include @@ -81,7 +82,7 @@ private: /// DOCME - static AssExportFilterChain *instance; + static std::auto_ptr instance; static FilterList *GetFilterList(); static FilterList *GetUnpreparedFilterList();