diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2011-04-11 10:58:18 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2011-04-11 10:58:18 (GMT) |
commit | 935d4fc9504af2696f7d91b2074290b02f811da8 (patch) | |
tree | ad8450d4f06309ea789ef8173b91270504a1ea57 /src | |
parent | d9c84c26dc212b2f170dfb48346df7c439e6f759 (diff) | |
parent | b033bb91ea6fd32989cc59904aa79db9a188bf5b (diff) | |
download | Qt-935d4fc9504af2696f7d91b2074290b02f811da8.zip Qt-935d4fc9504af2696f7d91b2074290b02f811da8.tar.gz Qt-935d4fc9504af2696f7d91b2074290b02f811da8.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Make sure removed QTextBlock is invalid
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/text/qfragmentmap_p.h | 5 | ||||
-rw-r--r-- | src/gui/text/qtextobject.cpp | 5 | ||||
-rw-r--r-- | src/gui/text/qtextobject.h | 2 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/gui/text/qfragmentmap_p.h b/src/gui/text/qfragmentmap_p.h index 501bfff..4057142 100644 --- a/src/gui/text/qfragmentmap_p.h +++ b/src/gui/text/qfragmentmap_p.h @@ -195,6 +195,10 @@ public: head->root = new_root; } + inline bool isValid(uint n) const { + return n > 0 && n != head->freelist; + } + union { Header *head; Fragment *fragments; @@ -854,6 +858,7 @@ public: return data.fragment(index); } inline uint position(uint node, uint field = 0) const { return data.position(node, field); } + inline bool isValid(uint n) const { return data.isValid(n); } inline uint next(uint n) const { return data.next(n); } inline uint previous(uint n) const { return data.previous(n); } inline uint size(uint node, uint field = 0) const { return data.size(node, field); } diff --git a/src/gui/text/qtextobject.cpp b/src/gui/text/qtextobject.cpp index 94f2fc7..a403cc5 100644 --- a/src/gui/text/qtextobject.cpp +++ b/src/gui/text/qtextobject.cpp @@ -891,6 +891,11 @@ QTextBlockUserData::~QTextBlockUserData() Returns true if this text block is valid; otherwise returns false. */ +bool QTextBlock::isValid() const +{ + return p != 0 && p->blockMap().isValid(n); +} + /*! \fn QTextBlock &QTextBlock::operator=(const QTextBlock &other) diff --git a/src/gui/text/qtextobject.h b/src/gui/text/qtextobject.h index d5c1e8d..73aed79 100644 --- a/src/gui/text/qtextobject.h +++ b/src/gui/text/qtextobject.h @@ -204,7 +204,7 @@ public: inline QTextBlock(const QTextBlock &o) : p(o.p), n(o.n) {} inline QTextBlock &operator=(const QTextBlock &o) { p = o.p; n = o.n; return *this; } - inline bool isValid() const { return p != 0 && n != 0; } + bool isValid() const; inline bool operator==(const QTextBlock &o) const { return p == o.p && n == o.n; } inline bool operator!=(const QTextBlock &o) const { return p != o.p || n != o.n; } |