1
Description: fix QTextBlockUserData losing its data
2
Origin: pyqt4 4.10.1 snapshot
3
Bug: http://www.riverbankcomputing.com/pipermail/pyqt/2013-March/032457.html
4
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/python-qt4/+bug/1161818
5
Author: phil@riverbankcomputing.com
7
--- a/sip/QtGui/qsyntaxhighlighter.sip
8
+++ b/sip/QtGui/qsyntaxhighlighter.sip
10
-// qsyntaxhighlighter.sip generated by MetaSIP on Fri Mar 1 21:42:08 2013
11
+// qsyntaxhighlighter.sip generated by MetaSIP on Thu Mar 14 02:48:42 2013
13
// This file is part of the QtGui Python extension module.
15
@@ -68,7 +68,25 @@ protected:
16
int previousBlockState() const;
17
int currentBlockState() const;
18
void setCurrentBlockState(int newState);
19
- void setCurrentBlockUserData(QTextBlockUserData *data /Transfer/);
20
+ void setCurrentBlockUserData(QTextBlockUserData *data /GetWrapper/);
22
+ // Ownership of the user data is with the document not the text block.
23
+ QTextDocument *td = sipCpp->document();
27
+ PyObject *td_obj = sipConvertFromType(td, sipType_QTextDocument, 0);
31
+ sipTransferTo(a0Wrapper, td_obj);
36
+ sipCpp->setCurrentBlockUserData(a0);
39
QTextBlockUserData *currentBlockUserData() const;
41
QTextBlock currentBlock() const;
42
--- a/sip/QtGui/qtextobject.sip
43
+++ b/sip/QtGui/qtextobject.sip
45
-// qtextobject.sip generated by MetaSIP on Fri Mar 1 21:42:08 2013
46
+// qtextobject.sip generated by MetaSIP on Thu Mar 14 02:48:42 2013
48
// This file is part of the QtGui Python extension module.
50
@@ -193,7 +193,26 @@ public:
51
QTextBlock next() const;
52
QTextBlock previous() const;
53
QTextBlockUserData *userData() const;
54
- void setUserData(QTextBlockUserData *data /Transfer/);
55
+ void setUserData(QTextBlockUserData *data /GetWrapper/);
57
+ // Ownership of the user data is with the document not the text block.
58
+ const QTextDocument *td = sipCpp->document();
62
+ PyObject *td_obj = sipConvertFromType(const_cast<QTextDocument *>(td),
63
+ sipType_QTextDocument, 0);
67
+ sipTransferTo(a0Wrapper, td_obj);
72
+ sipCpp->setUserData(a0);
75
int userState() const;
76
void setUserState(int state);