QSignalBlocker: mark all functions as noexcept

Consequently, mark also QObject::isSignalsBlocked() and
QObject::blockSignals() as noexcept.

Change-Id: Iaf44674bbf54eeb2bb5f267eb7caa916eccbf7fb
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
This commit is contained in:
Marc Mutz 2015-04-16 11:18:21 +02:00
parent 198190b76b
commit d3dfb8d8f1
2 changed files with 15 additions and 15 deletions

View File

@ -1395,7 +1395,7 @@ bool QObject::eventFilter(QObject * /* watched */, QEvent * /* event */)
\sa signalsBlocked() \sa signalsBlocked()
*/ */
bool QObject::blockSignals(bool block) bool QObject::blockSignals(bool block) Q_DECL_NOTHROW
{ {
Q_D(QObject); Q_D(QObject);
bool previous = d->blockSig; bool previous = d->blockSig;

View File

@ -137,8 +137,8 @@ public:
inline bool isWidgetType() const { return d_ptr->isWidget; } inline bool isWidgetType() const { return d_ptr->isWidget; }
inline bool isWindowType() const { return d_ptr->isWindow; } inline bool isWindowType() const { return d_ptr->isWindow; }
inline bool signalsBlocked() const { return d_ptr->blockSig; } inline bool signalsBlocked() const Q_DECL_NOTHROW { return d_ptr->blockSig; }
bool blockSignals(bool b); bool blockSignals(bool b) Q_DECL_NOTHROW;
QThread *thread() const; QThread *thread() const;
void moveToThread(QThread *thread); void moveToThread(QThread *thread);
@ -552,17 +552,17 @@ Q_CORE_EXPORT QDebug operator<<(QDebug, const QObject *);
class QSignalBlocker class QSignalBlocker
{ {
public: public:
inline explicit QSignalBlocker(QObject *o); inline explicit QSignalBlocker(QObject *o) Q_DECL_NOTHROW;
inline explicit QSignalBlocker(QObject &o); inline explicit QSignalBlocker(QObject &o) Q_DECL_NOTHROW;
inline ~QSignalBlocker(); inline ~QSignalBlocker();
#ifdef Q_COMPILER_RVALUE_REFS #ifdef Q_COMPILER_RVALUE_REFS
inline QSignalBlocker(QSignalBlocker &&other); inline QSignalBlocker(QSignalBlocker &&other) Q_DECL_NOTHROW;
inline QSignalBlocker &operator=(QSignalBlocker &&other); inline QSignalBlocker &operator=(QSignalBlocker &&other) Q_DECL_NOTHROW;
#endif #endif
inline void reblock(); inline void reblock() Q_DECL_NOTHROW;
inline void unblock(); inline void unblock() Q_DECL_NOTHROW;
private: private:
Q_DISABLE_COPY(QSignalBlocker) Q_DISABLE_COPY(QSignalBlocker)
QObject * m_o; QObject * m_o;
@ -570,20 +570,20 @@ private:
bool m_inhibited; bool m_inhibited;
}; };
QSignalBlocker::QSignalBlocker(QObject *o) QSignalBlocker::QSignalBlocker(QObject *o) Q_DECL_NOTHROW
: m_o(o), : m_o(o),
m_blocked(o && o->blockSignals(true)), m_blocked(o && o->blockSignals(true)),
m_inhibited(false) m_inhibited(false)
{} {}
QSignalBlocker::QSignalBlocker(QObject &o) QSignalBlocker::QSignalBlocker(QObject &o) Q_DECL_NOTHROW
: m_o(&o), : m_o(&o),
m_blocked(o.blockSignals(true)), m_blocked(o.blockSignals(true)),
m_inhibited(false) m_inhibited(false)
{} {}
#ifdef Q_COMPILER_RVALUE_REFS #ifdef Q_COMPILER_RVALUE_REFS
QSignalBlocker::QSignalBlocker(QSignalBlocker &&other) QSignalBlocker::QSignalBlocker(QSignalBlocker &&other) Q_DECL_NOTHROW
: m_o(other.m_o), : m_o(other.m_o),
m_blocked(other.m_blocked), m_blocked(other.m_blocked),
m_inhibited(other.m_inhibited) m_inhibited(other.m_inhibited)
@ -591,7 +591,7 @@ QSignalBlocker::QSignalBlocker(QSignalBlocker &&other)
other.m_o = 0; other.m_o = 0;
} }
QSignalBlocker &QSignalBlocker::operator=(QSignalBlocker &&other) QSignalBlocker &QSignalBlocker::operator=(QSignalBlocker &&other) Q_DECL_NOTHROW
{ {
if (this != &other) { if (this != &other) {
// if both *this and other block the same object's signals: // if both *this and other block the same object's signals:
@ -614,13 +614,13 @@ QSignalBlocker::~QSignalBlocker()
m_o->blockSignals(m_blocked); m_o->blockSignals(m_blocked);
} }
void QSignalBlocker::reblock() void QSignalBlocker::reblock() Q_DECL_NOTHROW
{ {
if (m_o) m_o->blockSignals(true); if (m_o) m_o->blockSignals(true);
m_inhibited = false; m_inhibited = false;
} }
void QSignalBlocker::unblock() void QSignalBlocker::unblock() Q_DECL_NOTHROW
{ {
if (m_o) m_o->blockSignals(m_blocked); if (m_o) m_o->blockSignals(m_blocked);
m_inhibited = true; m_inhibited = true;