commit 2da2f6c00c4ef9b88e769f18234c4d0400997ea1
Author: Guillaume Munch <[email protected]>
Date:   Fri Jul 29 21:18:43 2016 +0100

    Basic implementation of QSignalBlocker for qt4
    
    (cherry picked from commit bc8eb059db9f25b0cb44af0a26fba13170971f40)
---
 src/frontends/qt4/qt_helpers.h |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/src/frontends/qt4/qt_helpers.h b/src/frontends/qt4/qt_helpers.h
index d4afc78..f0a9a11 100644
--- a/src/frontends/qt4/qt_helpers.h
+++ b/src/frontends/qt4/qt_helpers.h
@@ -195,6 +195,24 @@ QString changeExtension(QString const & oldname, QString 
const & ext);
 /// parameter.
 QString guiName(std::string const & type, BufferParams const & bp);
 
+#if QT_VERSION < 0x050300
+// Very partial implementation of QSignalBlocker for archaic qt versions.
+class QSignalBlocker {
+public:
+       explicit QSignalBlocker(QObject * o)
+               : obj(o), init_state(obj && obj->blockSignals(true)) {}
+
+       ~QSignalBlocker() {
+               if (obj)
+                       obj->blockSignals(init_state);
+       }
+private:
+       QObject * obj;
+       bool init_state;
+};
+#endif
+
+
 } // namespace lyx
 
 #endif // QTHELPERS_H

Reply via email to