Register QTextDocument* as a meta type to fix QTextEdit::document type
authorJ-P Nurmi <j-p.nurmi@nokia.com>
Fri, 17 Aug 2012 08:49:36 +0000 (10:49 +0200)
committerQt by Nokia <qt-info@nokia.com>
Sat, 18 Aug 2012 08:58:37 +0000 (10:58 +0200)
Change-Id: I666845049749bfa6f88b764eefaefb0dcf05cb3f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
src/gui/text/qsyntaxhighlighter.cpp
src/gui/text/qtextdocument_p.cpp
src/widgets/widgets/qtextedit.h

index f76bb51..fb02ad6 100644 (file)
@@ -320,7 +320,7 @@ QSyntaxHighlighter::QSyntaxHighlighter(QObject *parent)
     : QObject(*new QSyntaxHighlighterPrivate, parent)
 {
     if (parent->inherits("QTextEdit")) {
-        QTextDocument *doc = qobject_cast<QTextDocument *>(parent->property("document").value<QObject *>());
+        QTextDocument *doc = parent->property("document").value<QTextDocument *>();
         if (doc)
             setDocument(doc);
     }
index d4ea982..991ede3 100644 (file)
@@ -231,6 +231,8 @@ void QTextDocumentPrivate::init()
     undoEnabled = undoState;
     modified = false;
     modifiedState = 0;
+
+    qRegisterMetaType<QTextDocument *>();
 }
 
 void QTextDocumentPrivate::clear()
index d98531b..ab0a5ae 100644 (file)
@@ -86,7 +86,7 @@ class Q_WIDGETS_EXPORT QTextEdit : public QAbstractScrollArea
     Q_PROPERTY(bool acceptRichText READ acceptRichText WRITE setAcceptRichText)
     Q_PROPERTY(int cursorWidth READ cursorWidth WRITE setCursorWidth)
     Q_PROPERTY(Qt::TextInteractionFlags textInteractionFlags READ textInteractionFlags WRITE setTextInteractionFlags)
-    Q_PROPERTY(QObject *document READ document)
+    Q_PROPERTY(QTextDocument *document READ document WRITE setDocument)
 public:
     enum LineWrapMode {
         NoWrap,