diff --git a/src/Magnum/PrimitiveQuery.h b/src/Magnum/PrimitiveQuery.h index ad7649f19..c23524ebc 100644 --- a/src/Magnum/PrimitiveQuery.h +++ b/src/Magnum/PrimitiveQuery.h @@ -98,6 +98,17 @@ class PrimitiveQuery: public AbstractQuery { */ explicit PrimitiveQuery(Target target): AbstractQuery(GLenum(target)) {} + #ifdef CORRADE_GCC45_COMPATIBILITY + /* GCC 4.5 somehow cannot do this on its own */ + PrimitiveQuery(const PrimitiveQuery&) = delete; + PrimitiveQuery(PrimitiveQuery&& other): AbstractQuery(std::move(other)) {} + PrimitiveQuery& operator=(const PrimitiveQuery&) = delete; + PrimitiveQuery& operator=(PrimitiveQuery&& other) { + AbstractQuery::operator=(std::move(other)); + return *this; + } + #endif + #ifdef MAGNUM_BUILD_DEPRECATED /** * @copybrief AbstractQuery::begin() diff --git a/src/Magnum/SampleQuery.h b/src/Magnum/SampleQuery.h index 594659eb8..53018a8fe 100644 --- a/src/Magnum/SampleQuery.h +++ b/src/Magnum/SampleQuery.h @@ -192,6 +192,17 @@ class SampleQuery: public AbstractQuery { */ explicit SampleQuery(Target target): AbstractQuery(GLenum(target)) {} + #ifdef CORRADE_GCC45_COMPATIBILITY + /* GCC 4.5 somehow cannot do this on its own */ + SampleQuery(const SampleQuery&) = delete; + SampleQuery(SampleQuery&& other): AbstractQuery(std::move(other)) {} + SampleQuery& operator=(const SampleQuery&) = delete; + SampleQuery& operator=(SampleQuery&& other) { + AbstractQuery::operator=(std::move(other)); + return *this; + } + #endif + #ifdef MAGNUM_BUILD_DEPRECATED /** * @copybrief AbstractQuery::begin() diff --git a/src/Magnum/TimeQuery.h b/src/Magnum/TimeQuery.h index 497715fee..397a71e8d 100644 --- a/src/Magnum/TimeQuery.h +++ b/src/Magnum/TimeQuery.h @@ -107,6 +107,17 @@ class TimeQuery: public AbstractQuery { */ explicit TimeQuery(Target target): AbstractQuery(GLenum(target)) {} + #ifdef CORRADE_GCC45_COMPATIBILITY + /* GCC 4.5 somehow cannot do this on its own */ + TimeQuery(const TimeQuery&) = delete; + TimeQuery(TimeQuery&& other): AbstractQuery(std::move(other)) {} + TimeQuery& operator=(const TimeQuery&) = delete; + TimeQuery& operator=(TimeQuery&& other) { + AbstractQuery::operator=(std::move(other)); + return *this; + } + #endif + /** * @brief Query timestamp *