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:
parent
198190b76b
commit
d3dfb8d8f1
@ -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;
|
||||||
|
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user