Compare commits
485 Commits
qt-4_6_3-8
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
1d3b52daaf | ||
|
b8bea37602 | ||
|
64a2aa0bfc | ||
|
de7f39d5ed | ||
|
ccfeb6a608 | ||
|
e73d7b5927 | ||
|
1e12c4d637 | ||
|
3fafaeea11 | ||
|
56ab7ae00a | ||
|
973f90b5f8 | ||
|
16cf98a681 | ||
|
dc6c779515 | ||
|
d749d06c3e | ||
|
28433078d3 | ||
|
6383eb55e8 | ||
|
e288b7ca00 | ||
|
ecf530486e | ||
|
276c90a5b7 | ||
|
37a2aba837 | ||
|
ec0ac4149e | ||
|
430cfa020a | ||
|
28169437c2 | ||
|
d5717cd446 | ||
|
a1e7be54b8 | ||
|
d9b191b9ec | ||
|
d30cfdc894 | ||
|
736ab5e8a1 | ||
|
46567fbafb | ||
|
c6f3e912b2 | ||
|
0c24e255bb | ||
|
2c45da7842 | ||
|
4876d24d89 | ||
|
73c2f55e30 | ||
|
8d832b1c1e | ||
|
61fd11db0d | ||
|
7963cb35aa | ||
|
59915e4ad9 | ||
|
14c5aa506e | ||
|
87bb4a5751 | ||
|
593e8b6cfd | ||
|
44cdae5230 | ||
|
92af7f7a88 | ||
|
2e4d8b085b | ||
|
8657516756 | ||
|
be95107ea1 | ||
|
6d0df2a0a4 | ||
|
8cf9135957 | ||
|
231d286d41 | ||
|
a846b60884 | ||
|
6f7261dc5f | ||
|
404cd30436 | ||
|
541cc02c83 | ||
|
6dd80f3b69 | ||
|
210022372e | ||
|
33f92bd1af | ||
|
d6ee4edd91 | ||
|
88e9dfbe4b | ||
|
928a0668ca | ||
|
0537617a55 | ||
|
b6924d7787 | ||
|
f83530ad62 | ||
|
a8f6e65f6a | ||
|
63cda2bb9f | ||
|
74e790ecfb | ||
|
b3faea3dcf | ||
|
8b8b6f7520 | ||
|
49c310bbc0 | ||
|
aeb79bb543 | ||
|
c6c5987440 | ||
|
1244f6a379 | ||
|
b888d1c64e | ||
|
d131ab162f | ||
|
b0bb73c355 | ||
|
7d0674cfd8 | ||
|
a9071e838a | ||
|
a14f58dfd1 | ||
|
378ebbd0fa | ||
|
19688b12e8 | ||
|
6539b63734 | ||
|
76bc242110 | ||
|
773cae613c | ||
|
e272059ea4 | ||
|
cd4a130f36 | ||
|
279ddc7e2b | ||
|
53156e5052 | ||
|
e47878cf58 | ||
|
fc81bf09c8 | ||
|
75522bdd44 | ||
|
b83b6ab902 | ||
|
9969c7af3a | ||
|
0a8142156e | ||
|
d0d0880c8d | ||
|
901196ce45 | ||
|
3bf3ca0677 | ||
|
b7068c52dd | ||
|
44863ece3d | ||
|
83f139ea97 | ||
|
c3497d8517 | ||
|
0da40876de | ||
|
0aff623ddf | ||
|
b3dff4a11c | ||
|
b67fe78b00 | ||
|
1cbbe3b4b8 | ||
|
2d4235fd76 | ||
|
a7b8fcade0 | ||
|
1a53e519d2 | ||
|
b8b3815657 | ||
|
26faeda12f | ||
|
5d22bd8e4a | ||
|
62a9fa64e9 | ||
|
d3eb2bd609 | ||
|
768c812173 | ||
|
8ec4a9e6e1 | ||
|
90f12d395b | ||
|
f9646562e3 | ||
|
e88754810c | ||
|
81fc93291c | ||
|
b60256a7f5 | ||
|
9f99edcb8d | ||
|
14d638f8c2 | ||
|
e0433bd8b1 | ||
|
46be60d41a | ||
|
eaee77f0fe | ||
|
4610e175f8 | ||
|
97c30bc66d | ||
|
e84fc36353 | ||
|
f6916bdbaf | ||
|
3d9b30e780 | ||
|
8596660aef | ||
|
4c6ad9a444 | ||
|
58e8365063 | ||
|
db52875339 | ||
|
9331d5d829 | ||
|
ae0db1fa9a | ||
|
53cc9c20f2 | ||
|
e41de7f53a | ||
|
fab82a63e1 | ||
|
fae7ccca9e | ||
|
d504b2ce4b | ||
|
7ff9f93fee | ||
|
c1a09759e2 | ||
|
a5d326f0fd | ||
|
49c37326ea | ||
|
92bb5a34da | ||
|
dccfd199ad | ||
|
b442626fe7 | ||
|
088b772329 | ||
|
085037d44f | ||
|
81d355e657 | ||
|
f5fac42c88 | ||
|
2ee42c4afb | ||
|
e2a785dc0c | ||
|
ace1f8cdec | ||
|
1dd2314b97 | ||
|
3e52db65d9 | ||
|
2d55e14904 | ||
|
a4ee2e1f92 | ||
|
9bdae7df96 | ||
|
69bb144da5 | ||
|
553b0aeb5a | ||
|
6ee236bc94 | ||
|
9249484c37 | ||
|
0804463e9d | ||
|
22f92f680b | ||
|
8637627296 | ||
|
f24f81be1c | ||
|
bdf697bb19 | ||
|
0b15e7187f | ||
|
fe43d9b86a | ||
|
36205006b4 | ||
|
01e166b0c5 | ||
|
fab5de59f9 | ||
|
d20387edac | ||
|
f9755f3ab4 | ||
|
3ebc9a90b4 | ||
|
8dbbe2f056 | ||
|
7ee6d03861 | ||
|
b21e1f5472 | ||
|
809cb90014 | ||
|
23dec1f185 | ||
|
ad937db88f | ||
|
c56c2fc84a | ||
|
a67cb026ec | ||
|
21b133a841 | ||
|
9a85ff74dd | ||
|
8e4c02d46d | ||
|
9e4d52712f | ||
|
22ea7613bd | ||
|
0e56548e70 | ||
|
86416228bf | ||
|
3b88888ff0 | ||
|
3c87374223 | ||
|
22e5ecb69a | ||
|
12437b28f5 | ||
|
5fadc9d457 | ||
|
edf87b1ec8 | ||
|
9315bd6aa6 | ||
|
087ab1fb17 | ||
|
dea4644599 | ||
|
4f64405c27 | ||
|
6662fae879 | ||
|
e86eaa89ee | ||
|
5d4c00ca2f | ||
|
499fde8b2a | ||
|
5d8ae35092 | ||
|
7f431fbaa7 | ||
|
c2e696277e | ||
|
c3c8eaaaa9 | ||
|
82200be8dd | ||
|
8361e71552 | ||
|
1650d55936 | ||
|
118f765636 | ||
|
266a47c2dc | ||
|
fa6c900f93 | ||
|
4d4b19d3f8 | ||
|
e9629e4208 | ||
|
368f835532 | ||
|
4656da0cd4 | ||
|
e0673557d0 | ||
|
a75542ed95 | ||
|
bacb87c899 | ||
|
04f02f196f | ||
|
d8c792b4fc | ||
|
1ac4fa717c | ||
|
cdf70082aa | ||
|
89569a2242 | ||
|
0a91dd0faf | ||
|
37b42623a7 | ||
|
b2f384a4ba | ||
|
1399efea41 | ||
|
8df516bbfb | ||
|
bab905e093 | ||
|
6ede3a7f87 | ||
|
04fc6818ae | ||
|
d68208955a | ||
|
20e8a01183 | ||
|
9b470ba395 | ||
|
5aa0de5be8 | ||
|
215aa5fd08 | ||
|
97b27a9487 | ||
|
6e276638e1 | ||
|
81f4e80bb5 | ||
|
9c12e23239 | ||
|
52ef45e79a | ||
|
e3bfd6e1fe | ||
|
934f9eedc9 | ||
|
5f18fc6b1e | ||
|
747f71fa5b | ||
|
119248cace | ||
|
42134b3653 | ||
|
adc7c115dd | ||
|
f1d2a1410f | ||
|
3351a1ee1a | ||
|
145254b751 | ||
|
006084c8f4 | ||
|
9e3c0f0a62 | ||
|
1d42146cca | ||
|
af10e0158f | ||
|
76de2fcf22 | ||
|
41cb7e3491 | ||
|
9f74aac72e | ||
|
ff98402c2b | ||
|
d23802217a | ||
|
420aafa825 | ||
|
a5d51f892b | ||
|
060db3c767 | ||
|
c4934b1a43 | ||
|
5b7dbe9fd5 | ||
|
18fdbd1c4c | ||
|
2fe8ba1706 | ||
|
81789f851c | ||
|
651f62b07b | ||
|
62de8242b5 | ||
|
d5adc58734 | ||
|
879130ccb2 | ||
|
61f93597ce | ||
|
f8934db9d9 | ||
|
26b43071c0 | ||
|
45a5a11ca8 | ||
|
8d515ac543 | ||
|
a66b9ce81d | ||
|
c161b773eb | ||
|
d50e40ebed | ||
|
95b646ad34 | ||
|
d1296a4d3a | ||
|
0f42336250 | ||
|
a9a1095ff8 | ||
|
59d529bafa | ||
|
70982bc9f3 | ||
|
1b76e04434 | ||
|
a44a4dbbdd | ||
|
10cc1b1e10 | ||
|
e5126ea57e | ||
|
7a24f72b31 | ||
|
584e7bd537 | ||
|
be63e08f2e | ||
|
8001892377 | ||
|
064e0d8218 | ||
|
d19f27c426 | ||
|
fb25dbbe0b | ||
|
3ecceb88be | ||
|
fcbf1bc3e0 | ||
|
9b5f97e928 | ||
|
9e2ddba1bf | ||
|
ebd7259005 | ||
|
d56e28f80c | ||
|
07d2a83a45 | ||
|
fe8fd4660b | ||
|
17695d696e | ||
|
0a4122f3c7 | ||
|
dca2cfda12 | ||
|
03f796db51 | ||
|
ef9de1563f | ||
|
6f4f6b40ee | ||
|
9a146be85b | ||
|
34e2c25f86 | ||
|
4c18c4470c | ||
|
bb9ed3a702 | ||
|
1f58c3a6d8 | ||
|
d5a9be263d | ||
|
d7404ffde2 | ||
|
5cccbd34de | ||
|
8517c08334 | ||
|
15b71d3c8d | ||
|
440edf20b7 | ||
|
7aacf8ed8f | ||
|
9e2b706075 | ||
|
396edc8d59 | ||
|
e2781c7cfc | ||
|
f0f438f306 | ||
|
75dc5c3d4c | ||
|
7bb24cd446 | ||
|
0811c7ffc2 | ||
|
749a63c1f9 | ||
|
f8805edd3b | ||
|
5a4b823ab4 | ||
|
6e9f536460 | ||
|
d72d8fa998 | ||
|
ded6d74c65 | ||
|
921e069788 | ||
|
2d670be15f | ||
|
cf709d7572 | ||
|
16f2754625 | ||
|
8858367e16 | ||
|
4d01685929 | ||
|
14023e08c2 | ||
|
ab30481b14 | ||
|
922ba8aa27 | ||
|
5a3b34906e | ||
|
160e3905f0 | ||
|
efe49b233c | ||
|
34a50271ab | ||
|
c1f92f923d | ||
|
2d7c97cf55 | ||
|
22c56136ae | ||
|
1bb69fdee7 | ||
|
b8d8f1dc1b | ||
|
da899e3820 | ||
|
5ef9bed811 | ||
|
7497f5d973 | ||
|
8be6ad84de | ||
|
8244061b3d | ||
|
137cfcb128 | ||
|
9e141f8f95 | ||
|
9d66e67ec2 | ||
|
6111d96eb2 | ||
|
76078aea2e | ||
|
a941a58f4f | ||
|
fdfba67b94 | ||
|
2547722966 | ||
|
e5e6464e83 | ||
|
79a460b197 | ||
|
a4cb425a1d | ||
|
9432f72c6f | ||
|
47854b6b60 | ||
|
a6175d5a7a | ||
|
9978f4fd3f | ||
|
af20ebbd40 | ||
|
6f37f2ce29 | ||
|
e4702e2c09 | ||
|
e7ca277a10 | ||
|
f8f69bf18e | ||
|
3e6009be04 | ||
|
ee8290ceac | ||
|
32aeb96a5a | ||
|
6424aee238 | ||
|
3815b794ba | ||
|
f48bc31989 | ||
|
51e5c9f4e1 | ||
|
8ff2145cf6 | ||
|
7ee938e92b | ||
|
3eee5c4831 | ||
|
529fc5e1f4 | ||
|
023bbe6781 | ||
|
3190d33000 | ||
|
3ba8c12fa9 | ||
|
2d2276c6b2 | ||
|
53d9fccd83 | ||
|
659f8c9ee5 | ||
|
0b36370aaf | ||
|
0a74c97247 | ||
|
f13527cb86 | ||
|
7417f0069f | ||
|
c1430cbcf4 | ||
|
c7126434f0 | ||
|
cf17e68ecc | ||
|
3d02d73f3c | ||
|
bd2addd921 | ||
|
b1d8d8ba7c | ||
|
084149830f | ||
|
2d7f0aedce | ||
|
423c888d2a | ||
|
7ff8383aec | ||
|
3f218bd595 | ||
|
c0a736a53b | ||
|
efb4682aa6 | ||
|
ddf3c9870e | ||
|
40ea442909 | ||
|
98af2ffded | ||
|
7c848ff441 | ||
|
30f06196dc | ||
|
4d134b988e | ||
|
a6338f25bd | ||
|
ff1e9122ca | ||
|
c97478f426 | ||
|
2f3d95654b | ||
|
ab37904fe4 | ||
|
23f4dffa95 | ||
|
a0d03704b2 | ||
|
65cc31af55 | ||
|
c7f94c101b | ||
|
20d70c201a | ||
|
9d4b9accf8 | ||
|
d3bc0d2254 | ||
|
12f7dd61c8 | ||
|
ba86a44f6c | ||
|
2fe847ae00 | ||
|
b730397959 | ||
|
ba20a11e98 | ||
|
996100960b | ||
|
1b760d539f | ||
|
9944a49cde | ||
|
a0c7852d94 | ||
|
0dd2558f3b | ||
|
34eafd78f9 | ||
|
30286e7b96 | ||
|
a471309760 | ||
|
d4485681e4 | ||
|
708993a480 | ||
|
df6016dd04 | ||
|
6234a6f70e | ||
|
4762ae1934 | ||
|
2f5c7e48eb | ||
|
65ccedb1ad | ||
|
711f1678b4 | ||
|
6f860b2dd8 | ||
|
6e405dfcba | ||
|
d8455b671a | ||
|
0f1c55d979 | ||
|
390b42cf03 | ||
|
63c4ae2e27 | ||
|
e184187068 | ||
|
d30e6f44e6 | ||
|
de3cacfc5e | ||
|
89ea428615 | ||
|
c45d17ed39 | ||
|
bfaa111a1f | ||
|
b6a1a7348b | ||
|
37cc616b68 | ||
|
c3d76760c5 | ||
|
c2aca32302 | ||
|
45c933c0f3 | ||
|
ba712a9386 | ||
|
3975bfa88c | ||
|
cb5d533c6c | ||
|
73f2852e9f | ||
|
b9f1809b7f | ||
|
a5ce8bcfb2 | ||
|
0f4ec6792d | ||
|
cafa1b72a0 | ||
|
5a8a37138f | ||
|
3d5463b041 | ||
|
2f705be136 | ||
|
371b933c17 | ||
|
e7620d801c |
11
.cvsignore
11
.cvsignore
@ -1,11 +0,0 @@
|
||||
hi128-app-qt4-logo.png
|
||||
hi48-app-qt4-logo.png
|
||||
gstreamer-logo.svg
|
||||
qt-x11-opensource-src-4.5.2.tar.bz2
|
||||
qt-copy-patches-20090626svn.tar.bz2
|
||||
hi128-phonon-gstreamer.png
|
||||
hi16-phonon-gstreamer.png
|
||||
hi22-phonon-gstreamer.png
|
||||
hi32-phonon-gstreamer.png
|
||||
hi48-phonon-gstreamer.png
|
||||
hi64-phonon-gstreamer.png
|
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
/hi128-app-qt4-logo.png
|
||||
/hi48-app-qt4-logo.png
|
||||
/qt-everywhere-opensource-src-4.8.7.tar.gz
|
@ -1,24 +0,0 @@
|
||||
qt-bugs@ issue : none
|
||||
Trolltech task ID : none
|
||||
applied: yes
|
||||
author: David Faure <faure@kde.org>
|
||||
|
||||
Needed to distinguish qt-copy from released versions of qt, at least while
|
||||
we backport API additions to qt-copy.
|
||||
|
||||
Index: src/corelib/global/qglobal.h
|
||||
===================================================================
|
||||
--- src/corelib/global/qglobal.h (revision 536662)
|
||||
+++ src/corelib/global/qglobal.h (working copy)
|
||||
@@ -38,6 +38,11 @@
|
||||
#include <QtCore/qconfig.h>
|
||||
#endif
|
||||
|
||||
+/* QT_KDE_QT_COPY is set in qt-copy so that we know when we can use features backported to qt-copy
|
||||
+ Keep in mind that it should also work with the right release of Qt, so use something like:
|
||||
+ #if defined(QT_KDE_QT_COPY) || QT_VERSION >= 0x040200 */
|
||||
+#define QT_KDE_QT_COPY
|
||||
+
|
||||
/*
|
||||
The operating system, must be one of: (Q_OS_x)
|
||||
|
@ -1,35 +0,0 @@
|
||||
qt-bugs@ issue : none
|
||||
Qt Software task ID : none
|
||||
bugs.kde.org number : none
|
||||
applied: no
|
||||
author: Aurélien Gâteau <agateau@kde.org>
|
||||
|
||||
Do not deduce scrollbar extent twice if scrollbar policy is
|
||||
Qt::ScrollBarAlwaysOn.
|
||||
|
||||
This patch has been merged in master but won't be in 4.5.
|
||||
http://qt.gitorious.org/qt/qt/merge_requests/432
|
||||
|
||||
--- src/gui/itemviews/qlistview.cpp
|
||||
+++ src/gui/itemviews/qlistview.cpp
|
||||
@@ -1969,10 +1969,16 @@ void QListViewPrivate::prepareItemsLayout()
|
||||
int frameAroundContents = 0;
|
||||
if (q->style()->styleHint(QStyle::SH_ScrollView_FrameOnlyAroundContents))
|
||||
frameAroundContents = q->style()->pixelMetric(QStyle::PM_DefaultFrameWidth) * 2;
|
||||
- int verticalMargin = vbarpolicy==Qt::ScrollBarAlwaysOff ? 0 :
|
||||
- q->style()->pixelMetric(QStyle::PM_ScrollBarExtent, 0, q->verticalScrollBar()) + frameAroundContents;
|
||||
- int horizontalMargin = hbarpolicy==Qt::ScrollBarAlwaysOff ? 0 :
|
||||
- q->style()->pixelMetric(QStyle::PM_ScrollBarExtent, 0, q->horizontalScrollBar()) + frameAroundContents;
|
||||
+
|
||||
+ // maximumViewportSize() already takes scrollbar into account if policy is
|
||||
+ // Qt::ScrollBarAlwaysOn but scrollbar extent must be deduced if policy
|
||||
+ // is Qt::ScrollBarAsNeeded
|
||||
+ int verticalMargin = vbarpolicy==Qt::ScrollBarAsNeeded
|
||||
+ ? q->style()->pixelMetric(QStyle::PM_ScrollBarExtent, 0, q->verticalScrollBar()) + frameAroundContents
|
||||
+ : 0;
|
||||
+ int horizontalMargin = hbarpolicy==Qt::ScrollBarAsNeeded
|
||||
+ ? q->style()->pixelMetric(QStyle::PM_ScrollBarExtent, 0, q->horizontalScrollBar()) + frameAroundContents
|
||||
+ : 0;
|
||||
|
||||
layoutBounds.adjust(0, 0, -verticalMargin, -horizontalMargin);
|
||||
|
@ -1,24 +0,0 @@
|
||||
qt-bugs@ issue : unknows
|
||||
Qt Software task ID : 197802
|
||||
bugs.kde.org number : bugs on the issue not reported yed
|
||||
applied: no
|
||||
author: Marco Martin <notmart@gmail.com>
|
||||
|
||||
This patch makes children items of an hidden qgraphicsitem not be shown if show() is called on them. fixes several issues like the opensocial plasma widget and the Plasma desktop toolbox behaviour.
|
||||
|
||||
Index: src/gui/graphicsview/qgraphicsitem.cpp
|
||||
===================================================================
|
||||
--- src/gui/graphicsview/qgraphicsitem.cpp (revision 958522)
|
||||
+++ src/gui/graphicsview/qgraphicsitem.cpp (working copy)
|
||||
@@ -1522,6 +1522,11 @@
|
||||
if (visible == quint32(newVisible))
|
||||
return;
|
||||
|
||||
+ QGraphicsItem *parent(q_ptr->parentItem());
|
||||
+ if (parent && newVisible && !parent->d_ptr->visible) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
// Modify the property.
|
||||
const QVariant newVisibleVariant(q_ptr->itemChange(QGraphicsItem::ItemVisibleChange,
|
||||
quint32(newVisible)));
|
21
Makefile
21
Makefile
@ -1,21 +0,0 @@
|
||||
# Makefile for source rpm: qt
|
||||
# $Id$
|
||||
NAME := qt
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attempt a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
@ -1,9 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Name=Qt4 Assistant
|
||||
GenericName=Documentation viewer
|
||||
Comment=Shows Qt4 documentation and examples
|
||||
Exec=assistant-qt4
|
||||
Icon=assistant
|
||||
Terminal=false
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Categories=Qt;Development;Documentation;
|
||||
|
@ -6,6 +6,5 @@ Exec=designer-qt4
|
||||
Icon=designer
|
||||
MimeType=application/x-designer;
|
||||
Terminal=false
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Categories=Qt;Development;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,10 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Name=Qt4 Linguist
|
||||
GenericName=Translation tool
|
||||
Comment=Add translations to Qt4 applications
|
||||
Exec=linguist-qt4
|
||||
Icon=linguist
|
||||
MimeType=application/x-linguist;
|
||||
MimeType=text/vnd.trolltech.linguist;application/x-linguist;
|
||||
Terminal=false
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Categories=Qt;Development;
|
||||
|
33
macros.qt4
Normal file
33
macros.qt4
Normal file
@ -0,0 +1,33 @@
|
||||
%_qt4 @@NAME@@
|
||||
%_qt4_epoch @@EPOCH@@
|
||||
%_qt4_version @@VERSION@@
|
||||
%_qt4_evr @@EVR@@
|
||||
%_qt48 %{_qt4_version}
|
||||
%_qt4_prefix %{_libdir}/qt4
|
||||
%_qt4_bindir %{_qt4_prefix}/bin
|
||||
%_qt4_datadir %{_qt4_prefix}
|
||||
%_qt4_demosdir %{_qt4_prefix}/demos
|
||||
%_qt4_docdir %{_docdir}/qt4
|
||||
%_qt4_examples %{_qt4_prefix}/examples
|
||||
%_qt4_examplesdir %{_qt4_prefix}/examples
|
||||
%_qt4_headerdir %{_includedir}
|
||||
%_qt4_importdir %{_qt4_prefix}/imports
|
||||
%_qt4_libdir %{_libdir}
|
||||
%_qt4_plugindir %{_qt4_prefix}/plugins
|
||||
%_qt4_qmake %{_qt4_bindir}/qmake
|
||||
%_qt4_sysconfdir %{_sysconfdir}
|
||||
%_qt4_translationdir %{_datadir}/qt4/translations
|
||||
|
||||
%_qt4_ldflags %{?__global_ldflags}
|
||||
%_qt4_optflags %{optflags}
|
||||
|
||||
%_qt4_qmake_flags \\\
|
||||
QMAKE_CFLAGS_DEBUG="${CFLAGS:-%{_qt4_optflags}}" \\\
|
||||
QMAKE_CFLAGS_RELEASE="${CFLAGS:-%{_qt4_optflags}}" \\\
|
||||
QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS:-%{_qt4_optflags}}" \\\
|
||||
QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS:-%{_qt4_optflags}}" \\\
|
||||
QMAKE_LFLAGS_DEBUG="${LDFLAGS:-%{_qt4_ldflags}}" \\\
|
||||
QMAKE_LFLAGS_RELEASE="${LDFLAGS:-%{_qt4_ldflags}}" \\\
|
||||
QMAKE_STRIP=
|
||||
|
||||
%qmake_qt4 %{_qt4_qmake} %{_qt4_qmake_flags}
|
@ -4,24 +4,20 @@
|
||||
*
|
||||
* DO NOT INCLUDE THE NEW FILE DIRECTLY -- ALWAYS INCLUDE THIS ONE INSTEAD. */
|
||||
|
||||
#if defined(__x86_64__)
|
||||
# include <QtCore/qconfig-x86_64.h>
|
||||
#elif defined(__i386__)
|
||||
# include <QtCore/qconfig-i386.h>
|
||||
#elif defined(__powerpc64__)
|
||||
# include <QtCore/qconfig-ppc64.h>
|
||||
#elif defined(__powerpc__)
|
||||
# include <QtCore/qconfig-ppc.h>
|
||||
#elif defined(__s390x__)
|
||||
# include <QtCore/qconfig-s390x.h>
|
||||
#elif defined(__s390__)
|
||||
# include <QtCore/qconfig-s390.h>
|
||||
#elif defined(__sparc__) && defined (__arch64__)
|
||||
# include <QtCore/qconfig-sparc64.h>
|
||||
#elif defined(__sparc__)
|
||||
# include <QtCore/qconfig-sparc.h>
|
||||
#else
|
||||
/* Should never reach this point, if so see bugzilla.redhat.com/223663 */
|
||||
#error "This qt4-devel package does not work your architecture?"
|
||||
#ifndef QCONFIG_MULTILIB_H
|
||||
#define QCONFIG_MULTILIB_H
|
||||
|
||||
#ifndef __WORDSIZE
|
||||
#include <bits/wordsize.h>
|
||||
#endif
|
||||
|
||||
#if __WORDSIZE == 32
|
||||
#include "QtCore/qconfig-32.h"
|
||||
#elif __WORDSIZE == 64
|
||||
#include "QtCore/qconfig-64.h"
|
||||
#else
|
||||
#error "unexpected value for __WORDSIZE macro"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
10
qdbusviewer.desktop
Normal file
10
qdbusviewer.desktop
Normal file
@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Name=Qt4 QDbusViewer
|
||||
GenericName=D-Bus Debugger
|
||||
Comment=Debug D-Bus applications
|
||||
Exec=qdbusviewer
|
||||
Icon=qdbusviewer
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Qt;Development;Debugger;
|
||||
|
@ -1,60 +0,0 @@
|
||||
--- qt-x11-opensource-src-4.5.0/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h.orig 2009-03-15 00:21:08.000000000 -0500
|
||||
+++ qt-x11-opensource-src-4.5.0/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h 2009-03-15 00:22:38.000000000 -0500
|
||||
@@ -196,14 +196,14 @@
|
||||
#elif COMPILER(GCC)
|
||||
#define WTF_USE_LOCKFREE_THREADSAFESHARED 1
|
||||
|
||||
-inline void atomicIncrement(int volatile* addend) { __gnu_cxx::__atomic_add(addend, 1); }
|
||||
-inline int atomicDecrement(int volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, -1) - 1; }
|
||||
+inline void atomicIncrement(_Atomic_word volatile* addend) { __gnu_cxx::__atomic_add(addend, 1); }
|
||||
+inline _Atomic_word atomicDecrement(_Atomic_word volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, -1) - 1; }
|
||||
|
||||
#endif
|
||||
|
||||
template<class T> class ThreadSafeShared : Noncopyable {
|
||||
public:
|
||||
- ThreadSafeShared(int initialRefCount = 1)
|
||||
+ ThreadSafeShared(_Atomic_word initialRefCount = 1)
|
||||
: m_refCount(initialRefCount)
|
||||
{
|
||||
}
|
||||
@@ -237,16 +237,16 @@
|
||||
return refCount() == 1;
|
||||
}
|
||||
|
||||
- int refCount() const
|
||||
+ _Atomic_word refCount() const
|
||||
{
|
||||
#if !USE(LOCKFREE_THREADSAFESHARED)
|
||||
MutexLocker locker(m_mutex);
|
||||
#endif
|
||||
- return static_cast<int const volatile &>(m_refCount);
|
||||
+ return static_cast<_Atomic_word const volatile &>(m_refCount);
|
||||
}
|
||||
|
||||
private:
|
||||
- int m_refCount;
|
||||
+ _Atomic_word m_refCount;
|
||||
#if !USE(LOCKFREE_THREADSAFESHARED)
|
||||
mutable Mutex m_mutex;
|
||||
#endif
|
||||
--- qt-x11-opensource-src-4.5.0/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h.orig 2009-03-15 00:21:37.000000000 -0500
|
||||
+++ qt-x11-opensource-src-4.5.0/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h 2009-03-15 00:22:38.000000000 -0500
|
||||
@@ -214,9 +214,16 @@
|
||||
#endif
|
||||
|
||||
/* PLATFORM(SPARC64) */
|
||||
-#if defined(__sparc64__)
|
||||
+#if defined(__sparc64__) \
|
||||
+ || defined(__sparc__) && defined(_arch64__)
|
||||
#define WTF_PLATFORM_SPARC64 1
|
||||
#define WTF_PLATFORM_BIG_ENDIAN 1
|
||||
+#else
|
||||
+/* PLATFORM(SPARC) */
|
||||
+#if defined(__sparc__)
|
||||
+#define WTF_PLATFORM_SPARC 1
|
||||
+#define WTF_PLATFORM_BIG_ENDIAN 1
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
/* PLATFORM(WIN_CE) && PLATFORM(QT)
|
812
qt-4.8-poll.patch
Normal file
812
qt-4.8-poll.patch
Normal file
@ -0,0 +1,812 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.poll 2014-03-30 15:36:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp 2014-03-31 18:04:05.958260978 -0500
|
||||
@@ -158,13 +158,6 @@ static void qt_sa_sigchld_sigaction(int
|
||||
}
|
||||
}
|
||||
|
||||
-static inline void add_fd(int &nfds, int fd, fd_set *fdset)
|
||||
-{
|
||||
- FD_SET(fd, fdset);
|
||||
- if ((fd) > nfds)
|
||||
- nfds = fd;
|
||||
-}
|
||||
-
|
||||
struct QProcessInfo {
|
||||
QProcess *process;
|
||||
int deathPipe;
|
||||
@@ -256,9 +249,9 @@ QProcessManager::~QProcessManager()
|
||||
void QProcessManager::run()
|
||||
{
|
||||
forever {
|
||||
- fd_set readset;
|
||||
- FD_ZERO(&readset);
|
||||
- FD_SET(qt_qprocess_deadChild_pipe[0], &readset);
|
||||
+ pollfd fd;
|
||||
+ fd.fd = qt_qprocess_deadChild_pipe[0];
|
||||
+ fd.events = POLLIN;
|
||||
|
||||
#if defined (QPROCESS_DEBUG)
|
||||
qDebug() << "QProcessManager::run() waiting for children to die";
|
||||
@@ -267,8 +260,8 @@ void QProcessManager::run()
|
||||
// block forever, or until activity is detected on the dead child
|
||||
// pipe. the only other peers are the SIGCHLD signal handler, and the
|
||||
// QProcessManager destructor.
|
||||
- int nselect = select(qt_qprocess_deadChild_pipe[0] + 1, &readset, 0, 0, 0);
|
||||
- if (nselect < 0) {
|
||||
+ int ret = qt_safe_poll(&fd, 1, -1, /* retry_eintr */ false);
|
||||
+ if (ret < 0) {
|
||||
if (errno == EINTR)
|
||||
continue;
|
||||
break;
|
||||
@@ -1027,17 +1020,6 @@ void QProcessPrivate::killProcess()
|
||||
::kill(pid_t(pid), SIGKILL);
|
||||
}
|
||||
|
||||
-static int select_msecs(int nfds, fd_set *fdread, fd_set *fdwrite, int timeout)
|
||||
-{
|
||||
- if (timeout < 0)
|
||||
- return qt_safe_select(nfds, fdread, fdwrite, 0, 0);
|
||||
-
|
||||
- struct timeval tv;
|
||||
- tv.tv_sec = timeout / 1000;
|
||||
- tv.tv_usec = (timeout % 1000) * 1000;
|
||||
- return qt_safe_select(nfds, fdread, fdwrite, 0, &tv);
|
||||
-}
|
||||
-
|
||||
/*
|
||||
Returns the difference between msecs and elapsed. If msecs is -1,
|
||||
however, -1 is returned.
|
||||
@@ -1060,10 +1042,10 @@ bool QProcessPrivate::waitForStarted(int
|
||||
childStartedPipe[0]);
|
||||
#endif
|
||||
|
||||
- fd_set fds;
|
||||
- FD_ZERO(&fds);
|
||||
- FD_SET(childStartedPipe[0], &fds);
|
||||
- if (select_msecs(childStartedPipe[0] + 1, &fds, 0, msecs) == 0) {
|
||||
+ pollfd fd;
|
||||
+ fd.fd = childStartedPipe[0];
|
||||
+ fd.events = POLLIN;
|
||||
+ if (qt_safe_poll(&fd, 1, msecs) == 0) {
|
||||
processError = QProcess::Timedout;
|
||||
q->setErrorString(QProcess::tr("Process operation timed out"));
|
||||
#if defined (QPROCESS_DEBUG)
|
||||
@@ -1079,6 +1061,47 @@ bool QProcessPrivate::waitForStarted(int
|
||||
return startedEmitted;
|
||||
}
|
||||
|
||||
+class QProcessFDSet {
|
||||
+ pollfd fds[5];
|
||||
+
|
||||
+ static size_t size()
|
||||
+ {
|
||||
+ return sizeof(fds)/sizeof(fds[0]);
|
||||
+ }
|
||||
+
|
||||
+public:
|
||||
+ QProcessFDSet(QProcessPrivate &proc)
|
||||
+ {
|
||||
+ for (size_t i = 0; i < size(); ++i) {
|
||||
+ fds[i].fd = -1;
|
||||
+ fds[i].events = POLLIN;
|
||||
+ }
|
||||
+ death().fd = proc.deathPipe[0];
|
||||
+
|
||||
+ if (proc.processState == QProcess::Starting)
|
||||
+ started().fd = proc.childStartedPipe[0];
|
||||
+
|
||||
+ stdout().fd = proc.stdoutChannel.pipe[0];
|
||||
+ stderr().fd = proc.stderrChannel.pipe[0];
|
||||
+
|
||||
+ if (!proc.writeBuffer.isEmpty()) {
|
||||
+ stdin().fd = proc.stdinChannel.pipe[1];
|
||||
+ stdin().events = POLLOUT;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ int poll(int timeout)
|
||||
+ {
|
||||
+ return qt_safe_poll(fds, size(), timeout);
|
||||
+ }
|
||||
+
|
||||
+ pollfd &death() { return fds[0]; }
|
||||
+ pollfd &started() { return fds[1]; }
|
||||
+ pollfd &stdout() { return fds[2]; }
|
||||
+ pollfd &stderr() { return fds[3]; }
|
||||
+ pollfd &stdin() { return fds[4]; }
|
||||
+};
|
||||
+
|
||||
bool QProcessPrivate::waitForReadyRead(int msecs)
|
||||
{
|
||||
Q_Q(QProcess);
|
||||
@@ -1090,28 +1113,9 @@ bool QProcessPrivate::waitForReadyRead(i
|
||||
stopWatch.start();
|
||||
|
||||
forever {
|
||||
- fd_set fdread;
|
||||
- fd_set fdwrite;
|
||||
-
|
||||
- FD_ZERO(&fdread);
|
||||
- FD_ZERO(&fdwrite);
|
||||
-
|
||||
- int nfds = deathPipe[0];
|
||||
- FD_SET(deathPipe[0], &fdread);
|
||||
-
|
||||
- if (processState == QProcess::Starting)
|
||||
- add_fd(nfds, childStartedPipe[0], &fdread);
|
||||
-
|
||||
- if (stdoutChannel.pipe[0] != -1)
|
||||
- add_fd(nfds, stdoutChannel.pipe[0], &fdread);
|
||||
- if (stderrChannel.pipe[0] != -1)
|
||||
- add_fd(nfds, stderrChannel.pipe[0], &fdread);
|
||||
-
|
||||
- if (!writeBuffer.isEmpty() && stdinChannel.pipe[1] != -1)
|
||||
- add_fd(nfds, stdinChannel.pipe[1], &fdwrite);
|
||||
-
|
||||
+ QProcessFDSet fdset(*this);
|
||||
int timeout = qt_timeout_value(msecs, stopWatch.elapsed());
|
||||
- int ret = select_msecs(nfds + 1, &fdread, &fdwrite, timeout);
|
||||
+ int ret = fdset.poll(timeout);
|
||||
if (ret < 0) {
|
||||
break;
|
||||
}
|
||||
@@ -1121,18 +1125,18 @@ bool QProcessPrivate::waitForReadyRead(i
|
||||
return false;
|
||||
}
|
||||
|
||||
- if (childStartedPipe[0] != -1 && FD_ISSET(childStartedPipe[0], &fdread)) {
|
||||
+ if (qt_readable(fdset.started())) {
|
||||
if (!_q_startupNotification())
|
||||
return false;
|
||||
}
|
||||
|
||||
bool readyReadEmitted = false;
|
||||
- if (stdoutChannel.pipe[0] != -1 && FD_ISSET(stdoutChannel.pipe[0], &fdread)) {
|
||||
+ if (qt_readable(fdset.stdout())) {
|
||||
bool canRead = _q_canReadStandardOutput();
|
||||
if (processChannel == QProcess::StandardOutput && canRead)
|
||||
readyReadEmitted = true;
|
||||
}
|
||||
- if (stderrChannel.pipe[0] != -1 && FD_ISSET(stderrChannel.pipe[0], &fdread)) {
|
||||
+ if (qt_readable(fdset.stderr())) {
|
||||
bool canRead = _q_canReadStandardError();
|
||||
if (processChannel == QProcess::StandardError && canRead)
|
||||
readyReadEmitted = true;
|
||||
@@ -1140,13 +1144,13 @@ bool QProcessPrivate::waitForReadyRead(i
|
||||
if (readyReadEmitted)
|
||||
return true;
|
||||
|
||||
- if (stdinChannel.pipe[1] != -1 && FD_ISSET(stdinChannel.pipe[1], &fdwrite))
|
||||
+ if (qt_writable(fdset.stdin()))
|
||||
_q_canWrite();
|
||||
|
||||
- if (deathPipe[0] == -1 || FD_ISSET(deathPipe[0], &fdread)) {
|
||||
+ if (qt_readable(fdset.death())) {
|
||||
if (_q_processDied())
|
||||
return false;
|
||||
- }
|
||||
+ }
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -1162,29 +1166,9 @@ bool QProcessPrivate::waitForBytesWritte
|
||||
stopWatch.start();
|
||||
|
||||
while (!writeBuffer.isEmpty()) {
|
||||
- fd_set fdread;
|
||||
- fd_set fdwrite;
|
||||
-
|
||||
- FD_ZERO(&fdread);
|
||||
- FD_ZERO(&fdwrite);
|
||||
-
|
||||
- int nfds = deathPipe[0];
|
||||
- FD_SET(deathPipe[0], &fdread);
|
||||
-
|
||||
- if (processState == QProcess::Starting)
|
||||
- add_fd(nfds, childStartedPipe[0], &fdread);
|
||||
-
|
||||
- if (stdoutChannel.pipe[0] != -1)
|
||||
- add_fd(nfds, stdoutChannel.pipe[0], &fdread);
|
||||
- if (stderrChannel.pipe[0] != -1)
|
||||
- add_fd(nfds, stderrChannel.pipe[0], &fdread);
|
||||
-
|
||||
-
|
||||
- if (!writeBuffer.isEmpty() && stdinChannel.pipe[1] != -1)
|
||||
- add_fd(nfds, stdinChannel.pipe[1], &fdwrite);
|
||||
-
|
||||
+ QProcessFDSet fdset(*this);
|
||||
int timeout = qt_timeout_value(msecs, stopWatch.elapsed());
|
||||
- int ret = select_msecs(nfds + 1, &fdread, &fdwrite, timeout);
|
||||
+ int ret = fdset.poll(timeout);
|
||||
if (ret < 0) {
|
||||
break;
|
||||
}
|
||||
@@ -1195,24 +1179,24 @@ bool QProcessPrivate::waitForBytesWritte
|
||||
return false;
|
||||
}
|
||||
|
||||
- if (childStartedPipe[0] != -1 && FD_ISSET(childStartedPipe[0], &fdread)) {
|
||||
+ if (qt_readable(fdset.started())) {
|
||||
if (!_q_startupNotification())
|
||||
return false;
|
||||
}
|
||||
|
||||
- if (stdinChannel.pipe[1] != -1 && FD_ISSET(stdinChannel.pipe[1], &fdwrite))
|
||||
+ if (qt_writable(fdset.stdin()))
|
||||
return _q_canWrite();
|
||||
|
||||
- if (stdoutChannel.pipe[0] != -1 && FD_ISSET(stdoutChannel.pipe[0], &fdread))
|
||||
+ if (qt_readable(fdset.stdout()))
|
||||
_q_canReadStandardOutput();
|
||||
|
||||
- if (stderrChannel.pipe[0] != -1 && FD_ISSET(stderrChannel.pipe[0], &fdread))
|
||||
+ if (qt_readable(fdset.stderr()))
|
||||
_q_canReadStandardError();
|
||||
|
||||
- if (deathPipe[0] == -1 || FD_ISSET(deathPipe[0], &fdread)) {
|
||||
- if (_q_processDied())
|
||||
- return false;
|
||||
- }
|
||||
+ if (qt_readable(fdset.death())) {
|
||||
+ if (_q_processDied())
|
||||
+ return false;
|
||||
+ }
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -1229,29 +1213,9 @@ bool QProcessPrivate::waitForFinished(in
|
||||
stopWatch.start();
|
||||
|
||||
forever {
|
||||
- fd_set fdread;
|
||||
- fd_set fdwrite;
|
||||
- int nfds = -1;
|
||||
-
|
||||
- FD_ZERO(&fdread);
|
||||
- FD_ZERO(&fdwrite);
|
||||
-
|
||||
- if (processState == QProcess::Starting)
|
||||
- add_fd(nfds, childStartedPipe[0], &fdread);
|
||||
-
|
||||
- if (stdoutChannel.pipe[0] != -1)
|
||||
- add_fd(nfds, stdoutChannel.pipe[0], &fdread);
|
||||
- if (stderrChannel.pipe[0] != -1)
|
||||
- add_fd(nfds, stderrChannel.pipe[0], &fdread);
|
||||
-
|
||||
- if (processState == QProcess::Running)
|
||||
- add_fd(nfds, deathPipe[0], &fdread);
|
||||
-
|
||||
- if (!writeBuffer.isEmpty() && stdinChannel.pipe[1] != -1)
|
||||
- add_fd(nfds, stdinChannel.pipe[1], &fdwrite);
|
||||
-
|
||||
+ QProcessFDSet fdset(*this);
|
||||
int timeout = qt_timeout_value(msecs, stopWatch.elapsed());
|
||||
- int ret = select_msecs(nfds + 1, &fdread, &fdwrite, timeout);
|
||||
+ int ret = fdset.poll(timeout);
|
||||
if (ret < 0) {
|
||||
break;
|
||||
}
|
||||
@@ -1261,20 +1225,20 @@ bool QProcessPrivate::waitForFinished(in
|
||||
return false;
|
||||
}
|
||||
|
||||
- if (childStartedPipe[0] != -1 && FD_ISSET(childStartedPipe[0], &fdread)) {
|
||||
+ if (qt_readable(fdset.started())) {
|
||||
if (!_q_startupNotification())
|
||||
return false;
|
||||
}
|
||||
- if (stdinChannel.pipe[1] != -1 && FD_ISSET(stdinChannel.pipe[1], &fdwrite))
|
||||
+ if (qt_writable(fdset.stdin()))
|
||||
_q_canWrite();
|
||||
|
||||
- if (stdoutChannel.pipe[0] != -1 && FD_ISSET(stdoutChannel.pipe[0], &fdread))
|
||||
+ if (qt_readable(fdset.stdout()))
|
||||
_q_canReadStandardOutput();
|
||||
|
||||
- if (stderrChannel.pipe[0] != -1 && FD_ISSET(stderrChannel.pipe[0], &fdread))
|
||||
+ if (qt_readable(fdset.stderr()))
|
||||
_q_canReadStandardError();
|
||||
|
||||
- if (deathPipe[0] == -1 || FD_ISSET(deathPipe[0], &fdread)) {
|
||||
+ if (qt_readable(fdset.death())) {
|
||||
if (_q_processDied())
|
||||
return true;
|
||||
}
|
||||
@@ -1284,10 +1248,10 @@ bool QProcessPrivate::waitForFinished(in
|
||||
|
||||
bool QProcessPrivate::waitForWrite(int msecs)
|
||||
{
|
||||
- fd_set fdwrite;
|
||||
- FD_ZERO(&fdwrite);
|
||||
- FD_SET(stdinChannel.pipe[1], &fdwrite);
|
||||
- return select_msecs(stdinChannel.pipe[1] + 1, 0, &fdwrite, msecs < 0 ? 0 : msecs) == 1;
|
||||
+ pollfd fd;
|
||||
+ fd.fd = stdinChannel.pipe[1];
|
||||
+ fd.events = POLLIN;
|
||||
+ return qt_safe_poll(&fd, 1, msecs);
|
||||
}
|
||||
|
||||
void QProcessPrivate::findExitCode()
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp.poll 2014-03-30 15:36:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp 2014-03-31 18:01:59.369715403 -0500
|
||||
@@ -99,4 +99,165 @@ int qt_safe_select(int nfds, fd_set *fdr
|
||||
}
|
||||
}
|
||||
|
||||
+#ifndef Q_OS_VXWORKS
|
||||
+
|
||||
+int qt_safe_poll(struct pollfd *fds, int nfds, int timeout_ms, bool retry_eintr)
|
||||
+{
|
||||
+ if (nfds == 0)
|
||||
+ return 0;
|
||||
+ if (nfds < 0) {
|
||||
+ errno = EINVAL;
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ // Retry on ret == 0 if the deadline has not yet passed because
|
||||
+ // Linux can return early from the syscall, without setting EINTR.
|
||||
+ if (timeout_ms < 0) {
|
||||
+ forever {
|
||||
+ int ret = ::poll(fds, nfds, -1);
|
||||
+ if (ret > 0)
|
||||
+ return ret;
|
||||
+ if (retry_eintr) {
|
||||
+ if (ret == 0 || ret == -1 && errno == EINTR) {
|
||||
+ continue;
|
||||
+ } else {
|
||||
+ return -1;
|
||||
+ }
|
||||
+ }
|
||||
+ if (ret == 0) {
|
||||
+ errno = EINTR;
|
||||
+ return -1;
|
||||
+ }
|
||||
+ return ret;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ timeval previous = qt_gettime();
|
||||
+ timeval deadline = previous;
|
||||
+ deadline.tv_sec += timeout_ms / 1000;
|
||||
+ deadline.tv_usec += (timeout_ms % 1000) * 1000;
|
||||
+ if (deadline.tv_usec >= 1000000) {
|
||||
+ ++deadline.tv_sec;
|
||||
+ deadline.tv_usec -= 1000000;
|
||||
+ }
|
||||
+ int remaining = timeout_ms;
|
||||
+
|
||||
+ forever {
|
||||
+ int ret = ::poll(fds, nfds, remaining);
|
||||
+ if (ret > 0)
|
||||
+ return ret;
|
||||
+ timeval now = qt_gettime();
|
||||
+ if ((now.tv_sec > deadline.tv_sec // past deadline
|
||||
+ || (now.tv_sec == deadline.tv_sec
|
||||
+ && now.tv_usec >= deadline.tv_usec))
|
||||
+ || (now.tv_sec < previous.tv_sec // time warp
|
||||
+ || (now.tv_sec == previous.tv_sec
|
||||
+ && now.tv_usec < previous.tv_usec))
|
||||
+ || (ret < 0 && (errno != EINTR || !retry_eintr))) // other error
|
||||
+ return ret;
|
||||
+ if (ret == 0 && !retry_eintr) {
|
||||
+ errno = EINTR;
|
||||
+ return -1;
|
||||
+ }
|
||||
+ remaining = (deadline.tv_sec - now.tv_sec) * 1000
|
||||
+ + (deadline.tv_usec - now.tv_usec) / 1000;
|
||||
+ previous = now;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+#else
|
||||
+
|
||||
+// Poll emulation for VxWorks.
|
||||
+
|
||||
+static int mark_bad_descriptors(pollfd *fds, int nfds)
|
||||
+{
|
||||
+ fd_set r;
|
||||
+ FD_ZERO(&r);
|
||||
+ struct timeval tv;
|
||||
+ tv.tv_sec = 0;
|
||||
+ tv.tv_usec = 0;
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ // Check each descriptor invidually for badness.
|
||||
+ for (int i = 0; i < nfds; ++i) {
|
||||
+ pollfd &fd(fds[i]);
|
||||
+ if (fd.fd >= 0) {
|
||||
+ FD_SET(fd.fd, &r);
|
||||
+ int ret = qt_safe_select(fd.fd + 1, &r, NULL, NULL, &tv);
|
||||
+ FD_CLR(fd.fd, &r);
|
||||
+ if (ret < 0 && errno == EBADF) {
|
||||
+ fd.revents = POLLNVAL;
|
||||
+ ++ret;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ Q_ASSERT(ret > 0);
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+int qt_safe_poll(pollfd *fds, int nfds, int timeout, bool retry_eintr)
|
||||
+{
|
||||
+ fd_set r, w;
|
||||
+ FD_ZERO(&r);
|
||||
+ FD_ZERO(&w);
|
||||
+ int maxfd = -1;
|
||||
+
|
||||
+ // Extract the watched descriptors.
|
||||
+ for (int i = 0; i < nfds; ++i) {
|
||||
+ pollfd &fd(fds[i]);
|
||||
+ if (fd.fd >= 0 && fd.fd < FD_SETSIZE) {
|
||||
+ if (fd.events & POLLIN) {
|
||||
+ FD_SET(fd.fd, &r);
|
||||
+ if (fd.fd > maxfd)
|
||||
+ maxfd = fd.fd;
|
||||
+ }
|
||||
+ if (fd.events & POLLOUT) {
|
||||
+ FD_SET(fd.fd, &w);
|
||||
+ if (fd.fd > maxfd)
|
||||
+ maxfd = fd.fd;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // If timeout is negative, wait indefinitely for activity.
|
||||
+ timeval tv;
|
||||
+ timeval *ptv;
|
||||
+ if (timeout >= 0) {
|
||||
+ tv.tv_sec = timeout / 1000;
|
||||
+ tv.tv_usec = (timeout % 1000) * 1000;
|
||||
+ ptv = &tv;
|
||||
+ } else
|
||||
+ ptv = NULL;
|
||||
+
|
||||
+ int ret;
|
||||
+ if (retry_eintr)
|
||||
+ ret = qt_safe_select(maxfd + 1, &r, &w, NULL, ptv);
|
||||
+ else
|
||||
+ ret = ::select(maxfd + 1, &r, &w, NULL, ptv);
|
||||
+ if (ret < 0 && errno == EBADF) {
|
||||
+ return mark_bad_descriptors(fds, nfds);
|
||||
+ }
|
||||
+ if (ret <= 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ // Set the revents flags.
|
||||
+ ret = 0;
|
||||
+ for (int i = 0; i < nfds; ++i) {
|
||||
+ pollfd &fd(fds[i]);
|
||||
+ fd.revents = 0;
|
||||
+ if (fd.fd >= 0 && fd.fd < FD_SETSIZE) {
|
||||
+ if ((fd.events & POLLIN) && FD_ISSET(fd.fd, &r))
|
||||
+ fd.revents |= POLLIN;
|
||||
+ if ((fd.events & POLLOUT) && FD_ISSET(fd.fd, &w))
|
||||
+ fd.revents |= POLLOUT;
|
||||
+ if (fd.revents)
|
||||
+ ++ret;
|
||||
+ }
|
||||
+ }
|
||||
+ Q_ASSERT(ret > 0);
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
+
|
||||
QT_END_NAMESPACE
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h.poll qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h.poll 2014-03-30 15:36:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h 2014-03-31 18:01:59.370715392 -0500
|
||||
@@ -345,9 +345,42 @@ static inline pid_t qt_safe_waitpid(pid_
|
||||
|
||||
timeval qt_gettime(); // in qelapsedtimer_mac.cpp or qtimestamp_unix.cpp
|
||||
|
||||
+// Deprecated due to FD_SETSIZE limitation, use qt_safe_poll instead.
|
||||
Q_CORE_EXPORT int qt_safe_select(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept,
|
||||
const struct timeval *tv);
|
||||
|
||||
+#ifndef Q_OS_VXWORKS
|
||||
+#include <poll.h>
|
||||
+#else
|
||||
+
|
||||
+// Poll emulation for VxWorks.
|
||||
+
|
||||
+struct pollfd {
|
||||
+ int fd;
|
||||
+ short events;
|
||||
+ short revents;
|
||||
+};
|
||||
+
|
||||
+#define POLLIN 1
|
||||
+#define POLLOUT 2
|
||||
+#define POLLERR 4
|
||||
+#define POLLHUP 8
|
||||
+#define POLLNVAL 16
|
||||
+#endif
|
||||
+
|
||||
+inline bool qt_readable(const pollfd &fd)
|
||||
+{
|
||||
+ return fd.fd >= 0 && (fd.revents & (POLLIN | POLLHUP | POLLERR | POLLNVAL)) != 0;
|
||||
+}
|
||||
+
|
||||
+inline bool qt_writable(const pollfd &fd)
|
||||
+{
|
||||
+ return fd.fd >= 0 && (fd.revents & (POLLOUT | POLLHUP | POLLERR | POLLNVAL)) != 0;
|
||||
+}
|
||||
+
|
||||
+Q_CORE_EXPORT int qt_safe_poll(pollfd *fds, int nfds, int timeout,
|
||||
+ bool retry_eintr = true);
|
||||
+
|
||||
// according to X/OPEN we have to define semun ourselves
|
||||
// we use prefix as on some systems sem.h will have it
|
||||
struct semid_ds;
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp 2014-03-31 18:01:59.370715392 -0500
|
||||
@@ -208,16 +208,11 @@ void QLocalServerPrivate::_q_onNewConnec
|
||||
|
||||
void QLocalServerPrivate::waitForNewConnection(int msec, bool *timedOut)
|
||||
{
|
||||
- fd_set readfds;
|
||||
- FD_ZERO(&readfds);
|
||||
- FD_SET(listenSocket, &readfds);
|
||||
+ struct pollfd fd;
|
||||
+ fd.fd = listenSocket;
|
||||
+ fd.events = POLLIN;
|
||||
|
||||
- timeval timeout;
|
||||
- timeout.tv_sec = msec / 1000;
|
||||
- timeout.tv_usec = (msec % 1000) * 1000;
|
||||
-
|
||||
- int result = -1;
|
||||
- result = qt_safe_select(listenSocket + 1, &readfds, 0, 0, (msec == -1) ? 0 : &timeout);
|
||||
+ int result = qt_safe_poll(&fd, 1, msec);
|
||||
if (-1 == result) {
|
||||
setError(QLatin1String("QLocalServer::waitForNewConnection"));
|
||||
closeServer();
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp 2014-03-31 18:01:59.370715392 -0500
|
||||
@@ -56,10 +56,6 @@
|
||||
#include <qdebug.h>
|
||||
#include <qelapsedtimer.h>
|
||||
|
||||
-#ifdef Q_OS_VXWORKS
|
||||
-# include <selectLib.h>
|
||||
-#endif
|
||||
-
|
||||
#define QT_CONNECT_TIMEOUT 30000
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
@@ -520,32 +516,17 @@ bool QLocalSocket::waitForConnected(int
|
||||
if (state() != ConnectingState)
|
||||
return (state() == ConnectedState);
|
||||
|
||||
- fd_set fds;
|
||||
- FD_ZERO(&fds);
|
||||
- FD_SET(d->connectingSocket, &fds);
|
||||
-
|
||||
- timeval timeout;
|
||||
- timeout.tv_sec = msec / 1000;
|
||||
- timeout.tv_usec = (msec % 1000) * 1000;
|
||||
-
|
||||
- // timeout can not be 0 or else select will return an error.
|
||||
- if (0 == msec)
|
||||
- timeout.tv_usec = 1000;
|
||||
+ pollfd fd;
|
||||
+ fd.fd = d->connectingSocket;
|
||||
+ fd.events = POLLIN | POLLOUT;
|
||||
|
||||
int result = -1;
|
||||
// on Linux timeout will be updated by select, but _not_ on other systems.
|
||||
QElapsedTimer timer;
|
||||
+ int remaining = msec;
|
||||
timer.start();
|
||||
- while (state() == ConnectingState
|
||||
- && (-1 == msec || timer.elapsed() < msec)) {
|
||||
-#ifdef Q_OS_SYMBIAN
|
||||
- // On Symbian, ready-to-write is signaled when non-blocking socket
|
||||
- // connect is finised. Is ready-to-read really used on other
|
||||
- // UNIX paltforms when using non-blocking AF_UNIX socket?
|
||||
- result = ::select(d->connectingSocket + 1, 0, &fds, 0, &timeout);
|
||||
-#else
|
||||
- result = ::select(d->connectingSocket + 1, &fds, 0, 0, &timeout);
|
||||
-#endif
|
||||
+ while (state() == ConnectingState) {
|
||||
+ result = qt_safe_poll(&fd, 1, remaining, /* retry_eintr */ false);
|
||||
if (-1 == result && errno != EINTR) {
|
||||
d->errorOccurred( QLocalSocket::UnknownSocketError,
|
||||
QLatin1String("QLocalSocket::waitForConnected"));
|
||||
@@ -553,6 +534,11 @@ bool QLocalSocket::waitForConnected(int
|
||||
}
|
||||
if (result > 0)
|
||||
d->_q_connectToSocket();
|
||||
+ if (msec >= 0) {
|
||||
+ remaining = timer.elapsed() - msec;
|
||||
+ if (remaining < 0)
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
|
||||
return (state() == ConnectedState);
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp 2014-03-31 18:01:59.371715381 -0500
|
||||
@@ -1068,48 +1068,40 @@ qint64 QNativeSocketEnginePrivate::nativ
|
||||
|
||||
int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool selectForRead) const
|
||||
{
|
||||
- fd_set fds;
|
||||
- FD_ZERO(&fds);
|
||||
- FD_SET(socketDescriptor, &fds);
|
||||
-
|
||||
- struct timeval tv;
|
||||
- tv.tv_sec = timeout / 1000;
|
||||
- tv.tv_usec = (timeout % 1000) * 1000;
|
||||
-
|
||||
- int retval;
|
||||
- if (selectForRead)
|
||||
- retval = qt_safe_select(socketDescriptor + 1, &fds, 0, 0, timeout < 0 ? 0 : &tv);
|
||||
- else
|
||||
- retval = qt_safe_select(socketDescriptor + 1, 0, &fds, 0, timeout < 0 ? 0 : &tv);
|
||||
-
|
||||
- return retval;
|
||||
+ struct pollfd fd;
|
||||
+ fd.fd = socketDescriptor;
|
||||
+ if (selectForRead) {
|
||||
+ fd.events = POLLIN;
|
||||
+ } else {
|
||||
+ fd.events = POLLOUT;
|
||||
+ }
|
||||
+ return qt_safe_poll(&fd, 1, timeout);
|
||||
}
|
||||
|
||||
int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool checkRead, bool checkWrite,
|
||||
bool *selectForRead, bool *selectForWrite) const
|
||||
{
|
||||
- fd_set fdread;
|
||||
- FD_ZERO(&fdread);
|
||||
+ struct pollfd fd;
|
||||
+ fd.fd = socketDescriptor;
|
||||
if (checkRead)
|
||||
- FD_SET(socketDescriptor, &fdread);
|
||||
-
|
||||
- fd_set fdwrite;
|
||||
- FD_ZERO(&fdwrite);
|
||||
+ fd.events = POLLIN;
|
||||
+ else
|
||||
+ fd.events = 0;
|
||||
if (checkWrite)
|
||||
- FD_SET(socketDescriptor, &fdwrite);
|
||||
-
|
||||
- struct timeval tv;
|
||||
- tv.tv_sec = timeout / 1000;
|
||||
- tv.tv_usec = (timeout % 1000) * 1000;
|
||||
-
|
||||
- int ret;
|
||||
- ret = qt_safe_select(socketDescriptor + 1, &fdread, &fdwrite, 0, timeout < 0 ? 0 : &tv);
|
||||
-
|
||||
+ fd.events |= POLLOUT;
|
||||
+ int ret = qt_safe_poll(&fd, 1, timeout);
|
||||
if (ret <= 0)
|
||||
- return ret;
|
||||
- *selectForRead = FD_ISSET(socketDescriptor, &fdread);
|
||||
- *selectForWrite = FD_ISSET(socketDescriptor, &fdwrite);
|
||||
-
|
||||
+ return ret;
|
||||
+ bool r = (fd.revents & (POLLIN | POLLHUP | POLLERR)) != 0;
|
||||
+ bool w = (fd.revents & (POLLOUT | POLLHUP | POLLERR)) != 0;
|
||||
+ // Emulate the return value from select(2).
|
||||
+ ret = 0;
|
||||
+ if (r)
|
||||
+ ++ret;
|
||||
+ if (w)
|
||||
+ ++ret;
|
||||
+ *selectForRead = r;
|
||||
+ *selectForWrite = w;
|
||||
return ret;
|
||||
}
|
||||
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp 2014-03-31 18:01:59.371715381 -0500
|
||||
@@ -68,6 +68,7 @@ static inline int qt_socket_socket(int d
|
||||
#endif
|
||||
|
||||
#include "q3socketdevice.h"
|
||||
+#include "private/qcore_unix_p.h"
|
||||
|
||||
#ifndef QT_NO_NETWORK
|
||||
|
||||
@@ -588,19 +589,10 @@ Q_LONG Q3SocketDevice::waitForMore( int
|
||||
{
|
||||
if ( !isValid() )
|
||||
return -1;
|
||||
- if ( fd >= FD_SETSIZE )
|
||||
- return -1;
|
||||
-
|
||||
- fd_set fds;
|
||||
- struct timeval tv;
|
||||
-
|
||||
- FD_ZERO( &fds );
|
||||
- FD_SET( fd, &fds );
|
||||
-
|
||||
- tv.tv_sec = msecs / 1000;
|
||||
- tv.tv_usec = (msecs % 1000) * 1000;
|
||||
|
||||
- int rv = select( fd+1, &fds, 0, 0, msecs < 0 ? 0 : &tv );
|
||||
+ pollfd pfd;
|
||||
+ pfd.fd = fd;
|
||||
+ int rv = qt_safe_poll(&pfd, 1, msecs, /* retry_eintr */ false);
|
||||
|
||||
if ( rv < 0 )
|
||||
return -1;
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp 2014-03-31 18:01:59.372715370 -0500
|
||||
@@ -981,13 +981,10 @@ bool Q3Process::isRunning() const
|
||||
// On heavy processing, the socket notifier for the sigchild might not
|
||||
// have found time to fire yet.
|
||||
if ( d->procManager && d->procManager->sigchldFd[1] < FD_SETSIZE ) {
|
||||
- fd_set fds;
|
||||
- struct timeval tv;
|
||||
- FD_ZERO( &fds );
|
||||
- FD_SET( d->procManager->sigchldFd[1], &fds );
|
||||
- tv.tv_sec = 0;
|
||||
- tv.tv_usec = 0;
|
||||
- if ( ::select( d->procManager->sigchldFd[1]+1, &fds, 0, 0, &tv ) > 0 )
|
||||
+ pollfd fd;
|
||||
+ fd.fd = d->procManager->sigchldFd[1];
|
||||
+ fd.events = POLLIN;
|
||||
+ if ( qt_safe_poll(&fd, 1, 0, /* retry_eintr */ false) > 0 )
|
||||
d->procManager->sigchldHnd( d->procManager->sigchldFd[1] );
|
||||
}
|
||||
|
||||
@@ -1124,29 +1121,21 @@ void Q3Process::socketRead( int fd )
|
||||
}
|
||||
}
|
||||
|
||||
- if ( fd < FD_SETSIZE ) {
|
||||
- fd_set fds;
|
||||
- struct timeval tv;
|
||||
- FD_ZERO( &fds );
|
||||
- FD_SET( fd, &fds );
|
||||
- tv.tv_sec = 0;
|
||||
- tv.tv_usec = 0;
|
||||
- while ( ::select( fd+1, &fds, 0, 0, &tv ) > 0 ) {
|
||||
- // prepare for the next round
|
||||
- FD_ZERO( &fds );
|
||||
- FD_SET( fd, &fds );
|
||||
- // read data
|
||||
- ba = new QByteArray( basize );
|
||||
- n = ::read( fd, ba->data(), basize );
|
||||
- if ( n > 0 ) {
|
||||
- ba->resize( n );
|
||||
- buffer->append( ba );
|
||||
- ba = 0;
|
||||
- } else {
|
||||
- delete ba;
|
||||
- ba = 0;
|
||||
- break;
|
||||
- }
|
||||
+ pollfd pfd;
|
||||
+ pfd.fd = fd;
|
||||
+ pfd.events = POLLIN;
|
||||
+ while (qt_safe_poll(&pfd, 1, 0)) {
|
||||
+ // read data
|
||||
+ ba = new QByteArray( basize );
|
||||
+ n = ::read( fd, ba->data(), basize );
|
||||
+ if ( n > 0 ) {
|
||||
+ ba->resize( n );
|
||||
+ buffer->append( ba );
|
||||
+ ba = 0;
|
||||
+ } else {
|
||||
+ delete ba;
|
||||
+ ba = 0;
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
|
514
qt-aarch64.patch
Normal file
514
qt-aarch64.patch
Normal file
File diff suppressed because one or more lines are too long
@ -1,41 +0,0 @@
|
||||
diff -ur qt-all-opensource-src-4.4.0-rc1/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp qt-all-opensource-src-4.4.0-rc1-as_IN-437440/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
|
||||
--- qt-all-opensource-src-4.4.0-rc1/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp 2008-04-02 18:33:48.000000000 +0200
|
||||
+++ qt-all-opensource-src-4.4.0-rc1-as_IN-437440/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp 2008-04-08 04:37:45.000000000 +0200
|
||||
@@ -552,7 +552,7 @@
|
||||
None, None, None, None,
|
||||
None, None, None, None,
|
||||
|
||||
- None, None, None, None,
|
||||
+ Below, None, None, None,
|
||||
None, None, None, None,
|
||||
None, None, None, None,
|
||||
None, None, None, None,
|
||||
@@ -1169,7 +1169,7 @@
|
||||
HB_Script script = item->item.script;
|
||||
assert(script >= HB_Script_Devanagari && script <= HB_Script_Sinhala);
|
||||
const unsigned short script_base = 0x0900 + 0x80*(script-HB_Script_Devanagari);
|
||||
- const unsigned short ra = script_base + 0x30;
|
||||
+ unsigned short ra = script_base + 0x30;
|
||||
const unsigned short halant = script_base + 0x4d;
|
||||
const unsigned short nukta = script_base + 0x3c;
|
||||
bool control = false;
|
||||
@@ -1212,6 +1212,19 @@
|
||||
HB_UChar16 *uc = reordered;
|
||||
bool beginsWithRa = false;
|
||||
|
||||
+ // Exception in Bengali Script
|
||||
+ //
|
||||
+ // Bengali script supports two languages bengali and assamese
|
||||
+ // Unfortunately for both languages there is different ra defined in same script chart
|
||||
+ // for Bengali it ra is 'Base+ 0x30' and for assamese 'Base+0x70'
|
||||
+ // Base is same 0x0980
|
||||
+ // To handle this exception we need to change ra to from const to normal variable
|
||||
+ // and aslo need to change ra to 'Base+0x70' whenever we will get assamese language
|
||||
+ //character in data
|
||||
+ if((script == HB_Script_Bengali) && (*uc==0x09F0)){
|
||||
+ ra = script_base + 0x70;
|
||||
+ }
|
||||
+
|
||||
// Rule 1: find base consonant
|
||||
//
|
||||
// The shaping engine finds the base consonant of the
|
@ -1,23 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
DATE=$(date +%Y%m%d)
|
||||
EXPORT_DIR=qt-copy
|
||||
|
||||
set -x
|
||||
rm -rf $EXPORT_DIR
|
||||
|
||||
# trunk tracking qt-4.5 now
|
||||
SVN_ROOT=svn://anonsvn.kde.org/home/kde/trunk/qt-copy
|
||||
|
||||
svn export --non-recursive $SVN_ROOT $EXPORT_DIR/
|
||||
svn export $SVN_ROOT/patches $EXPORT_DIR/patches
|
||||
|
||||
pushd $EXPORT_DIR
|
||||
rm -f ../qt-copy-patches-${DATE}svn.tar.bz2
|
||||
tar cjf ../qt-copy-patches-${DATE}svn.tar.bz2 \
|
||||
.applied_patches apply_patches README.qt-copy patches/
|
||||
popd
|
||||
|
||||
# cleanup
|
||||
rm -rf $EXPORT_DIR
|
||||
|
238
qt-cupsEnumDests.patch
Normal file
238
qt-cupsEnumDests.patch
Normal file
@ -0,0 +1,238 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp.cupsEnumDests 2012-11-23 10:09:53.000000000 +0000
|
||||
+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp 2013-07-03 15:30:06.232936976 +0100
|
||||
@@ -50,9 +50,19 @@
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
+typedef int (*CupsEnumDests)(unsigned flags, int msec, int *cancel,
|
||||
+ cups_ptype_t type, cups_ptype_t mask,
|
||||
+ cups_dest_cb_t cb, void *user_data);
|
||||
+typedef http_t * (*CupsConnectDest)(cups_dest_t *dest, unsigned flags,
|
||||
+ int msec, int *cancel,
|
||||
+ char *resource, size_t resourcesize,
|
||||
+ cups_dest_cb_t cb, void *user_data);
|
||||
+typedef int (*CupsCopyDest)(cups_dest_t *dest, int num_dests,
|
||||
+ cups_dest_t **dests);
|
||||
typedef int (*CupsGetDests)(cups_dest_t **dests);
|
||||
typedef void (*CupsFreeDests)(int num_dests, cups_dest_t *dests);
|
||||
typedef const char* (*CupsGetPPD)(const char *printer);
|
||||
+typedef const char* (*CupsGetPPD2)(http_t *http, const char *printer);
|
||||
typedef int (*CupsMarkOptions)(ppd_file_t *ppd, int num_options, cups_option_t *options);
|
||||
typedef ppd_file_t* (*PPDOpenFile)(const char *filename);
|
||||
typedef void (*PPDMarkDefaults)(ppd_file_t *ppd);
|
||||
@@ -66,12 +76,24 @@ typedef const char* (*CupsLangEncoding)(
|
||||
typedef int (*CupsAddOption)(const char *name, const char *value, int num_options, cups_option_t **options);
|
||||
typedef int (*CupsTempFd)(char *name, int len);
|
||||
typedef int (*CupsPrintFile)(const char * name, const char * filename, const char * title, int num_options, cups_option_t * options);
|
||||
+typedef int (*CupsPrintFile2)(http_t *http, const char *name, const char *filename, const char *title, int num_options, cups_option_t *options);
|
||||
+
|
||||
+typedef struct
|
||||
+{
|
||||
+ cups_dest_t *printers;
|
||||
+ int num_printers;
|
||||
+} EnumDestsContext;
|
||||
|
||||
static bool cupsLoaded = false;
|
||||
static int qt_cups_num_printers = 0;
|
||||
+static cups_dest_t *qt_cups_printers = 0;
|
||||
+static CupsEnumDests _cupsEnumDests = 0;
|
||||
+static CupsConnectDest _cupsConnectDest = 0;
|
||||
+static CupsCopyDest _cupsCopyDest = 0;
|
||||
static CupsGetDests _cupsGetDests = 0;
|
||||
static CupsFreeDests _cupsFreeDests = 0;
|
||||
static CupsGetPPD _cupsGetPPD = 0;
|
||||
+static CupsGetPPD2 _cupsGetPPD2 = 0;
|
||||
static PPDOpenFile _ppdOpenFile = 0;
|
||||
static PPDMarkDefaults _ppdMarkDefaults = 0;
|
||||
static PPDClose _ppdClose = 0;
|
||||
@@ -84,14 +106,35 @@ static CupsLangEncoding _cupsLangEncodin
|
||||
static CupsAddOption _cupsAddOption = 0;
|
||||
static CupsTempFd _cupsTempFd = 0;
|
||||
static CupsPrintFile _cupsPrintFile = 0;
|
||||
+static CupsPrintFile2 _cupsPrintFile2 = 0;
|
||||
+
|
||||
+static int enum_dest_cb (void *user_data, unsigned flags, cups_dest_t *dest)
|
||||
+{
|
||||
+ EnumDestsContext *context = (EnumDestsContext *) user_data;
|
||||
+
|
||||
+ if ((flags & (CUPS_DEST_FLAGS_UNCONNECTED |
|
||||
+ CUPS_DEST_FLAGS_REMOVED |
|
||||
+ CUPS_DEST_FLAGS_ERROR |
|
||||
+ CUPS_DEST_FLAGS_RESOLVING |
|
||||
+ CUPS_DEST_FLAGS_CONNECTING |
|
||||
+ CUPS_DEST_FLAGS_CANCELED)) == 0)
|
||||
+ context->num_printers = _cupsCopyDest (dest, context->num_printers,
|
||||
+ &context->printers);
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
|
||||
static void resolveCups()
|
||||
{
|
||||
QLibrary cupsLib(QLatin1String("cups"), 2);
|
||||
if(cupsLib.load()) {
|
||||
+ _cupsEnumDests = (CupsEnumDests) cupsLib.resolve("cupsEnumDests");
|
||||
+ _cupsConnectDest = (CupsConnectDest) cupsLib.resolve("cupsConnectDest");
|
||||
+ _cupsCopyDest = (CupsCopyDest) cupsLib.resolve("cupsCopyDest");
|
||||
_cupsGetDests = (CupsGetDests) cupsLib.resolve("cupsGetDests");
|
||||
_cupsFreeDests = (CupsFreeDests) cupsLib.resolve("cupsFreeDests");
|
||||
_cupsGetPPD = (CupsGetPPD) cupsLib.resolve("cupsGetPPD");
|
||||
+ _cupsGetPPD2 = (CupsGetPPD2) cupsLib.resolve("cupsGetPPD2");
|
||||
_cupsLangGet = (CupsLangGet) cupsLib.resolve("cupsLangGet");
|
||||
_cupsLangEncoding = (CupsLangEncoding) cupsLib.resolve("cupsLangEncoding");
|
||||
_ppdOpenFile = (PPDOpenFile) cupsLib.resolve("ppdOpenFile");
|
||||
@@ -104,14 +147,27 @@ static void resolveCups()
|
||||
_cupsAddOption = (CupsAddOption) cupsLib.resolve("cupsAddOption");
|
||||
_cupsTempFd = (CupsTempFd) cupsLib.resolve("cupsTempFd");
|
||||
_cupsPrintFile = (CupsPrintFile) cupsLib.resolve("cupsPrintFile");
|
||||
+ _cupsPrintFile2 = (CupsPrintFile2) cupsLib.resolve("cupsPrintFile2");
|
||||
|
||||
- if (_cupsGetDests && _cupsFreeDests) {
|
||||
- cups_dest_t *printers;
|
||||
+ if (_cupsEnumDests && _cupsCopyDest &&
|
||||
+ _cupsConnectDest && _cupsGetPPD2 &&
|
||||
+ _cupsPrintFile2) {
|
||||
+ EnumDestsContext context;
|
||||
+ context.printers = 0;
|
||||
+ context.num_printers = 0;
|
||||
+ _cupsEnumDests(0, -1, 0, 0, 0,
|
||||
+ enum_dest_cb, &context);
|
||||
+
|
||||
+ qt_cups_printers = context.printers;
|
||||
+ qt_cups_num_printers = context.num_printers;
|
||||
+ } else if (_cupsGetDests && _cupsFreeDests) {
|
||||
+ cups_dest_t *printers;
|
||||
int num_printers = _cupsGetDests(&printers);
|
||||
- if (num_printers)
|
||||
- _cupsFreeDests(num_printers, printers);
|
||||
- qt_cups_num_printers = num_printers;
|
||||
- }
|
||||
+
|
||||
+ if (num_printers)
|
||||
+ _cupsFreeDests(num_printers, printers);
|
||||
+ qt_cups_num_printers = num_printers;
|
||||
+ }
|
||||
}
|
||||
cupsLoaded = true;
|
||||
}
|
||||
@@ -134,7 +190,15 @@ QCUPSSupport::QCUPSSupport()
|
||||
return;
|
||||
|
||||
// Update the available printer count
|
||||
- qt_cups_num_printers = prnCount = _cupsGetDests(&printers);
|
||||
+ if (qt_cups_printers && _cupsCopyDest) {
|
||||
+ int i;
|
||||
+ for (i = 0; i < qt_cups_num_printers; ++i) {
|
||||
+ prnCount = _cupsCopyDest (&qt_cups_printers[i],
|
||||
+ prnCount,
|
||||
+ &printers);
|
||||
+ }
|
||||
+ } else
|
||||
+ qt_cups_num_printers = prnCount = _cupsGetDests(&printers);
|
||||
|
||||
for (int i = 0; i < prnCount; ++i) {
|
||||
if (printers[i].is_default) {
|
||||
@@ -188,7 +252,19 @@ const ppd_file_t* QCUPSSupport::setCurre
|
||||
currPPD = 0;
|
||||
page_sizes = 0;
|
||||
|
||||
- const char *ppdFile = _cupsGetPPD(printers[index].name);
|
||||
+ const char *ppdFile = 0;
|
||||
+ if (_cupsConnectDest && _cupsGetPPD2) {
|
||||
+ char resource[HTTP_MAX_URI];
|
||||
+ http_t *http = _cupsConnectDest (&printers[index], 0, -1, 0,
|
||||
+ resource, sizeof (resource),
|
||||
+ 0, 0);
|
||||
+ if (http) {
|
||||
+ char *name = strrchr (resource, '/');
|
||||
+ if (name)
|
||||
+ ppdFile = _cupsGetPPD2 (http, ++name);
|
||||
+ }
|
||||
+ } else
|
||||
+ ppdFile = _cupsGetPPD(printers[index].name);
|
||||
|
||||
if (!ppdFile)
|
||||
return 0;
|
||||
@@ -343,7 +419,29 @@ bool QCUPSSupport::printerHasPPD(const c
|
||||
{
|
||||
if (!isAvailable())
|
||||
return false;
|
||||
- const char *ppdFile = _cupsGetPPD(printerName);
|
||||
+
|
||||
+ const char *ppdFile = 0;
|
||||
+ if (_cupsConnectDest && _cupsGetPPD2) {
|
||||
+ int i;
|
||||
+ for (i = 0; i < prnCount; ++i)
|
||||
+ if (!strcmp (printers[i].name, printerName))
|
||||
+ break;
|
||||
+
|
||||
+ if (i == prnCount)
|
||||
+ return false;
|
||||
+
|
||||
+ char resource[HTTP_MAX_URI];
|
||||
+ http_t *http = _cupsConnectDest (&printers[i], 0, -1, 0,
|
||||
+ resource, sizeof (resource),
|
||||
+ 0, 0);
|
||||
+ if (http) {
|
||||
+ char *name = strrchr (resource, '/');
|
||||
+ if (name)
|
||||
+ ppdFile = _cupsGetPPD2 (http, ++name);
|
||||
+ }
|
||||
+ } else
|
||||
+ ppdFile = _cupsGetPPD(printerName);
|
||||
+
|
||||
if (ppdFile)
|
||||
unlink(ppdFile);
|
||||
return (ppdFile != 0);
|
||||
@@ -394,6 +492,26 @@ QPair<int, QString> QCUPSSupport::tempFd
|
||||
int QCUPSSupport::printFile(const char * printerName, const char * filename, const char * title,
|
||||
int num_options, cups_option_t * options)
|
||||
{
|
||||
+ if (_cupsConnectDest && _cupsPrintFile2) {
|
||||
+ int i;
|
||||
+ for (i = 0; i < prnCount; ++i)
|
||||
+ if (!strcmp (printers[i].name, printerName))
|
||||
+ break;
|
||||
+
|
||||
+ if (i != prnCount) {
|
||||
+ char resource[HTTP_MAX_URI];
|
||||
+ http_t *http = _cupsConnectDest (&printers[i], 0, -1, 0,
|
||||
+ resource, sizeof (resource),
|
||||
+ 0, 0);
|
||||
+ if (http) {
|
||||
+ char *name = strrchr (resource, '/');
|
||||
+ if (name)
|
||||
+ return _cupsPrintFile2 (http, ++name, filename, title,
|
||||
+ num_options, options);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
return _cupsPrintFile(printerName, filename, title, num_options, options);
|
||||
}
|
||||
|
||||
diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h
|
||||
--- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h.cupsEnumDests 2012-11-23 10:09:53.000000000 +0000
|
||||
+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h 2013-07-03 15:27:24.733343017 +0100
|
||||
@@ -92,7 +92,7 @@ public:
|
||||
|
||||
QStringList options() const;
|
||||
|
||||
- static bool printerHasPPD(const char *printerName);
|
||||
+ bool printerHasPPD(const char *printerName);
|
||||
|
||||
QString unicodeString(const char *s);
|
||||
|
||||
diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp.cupsEnumDests 2013-07-03 15:27:24.531342277 +0100
|
||||
+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp 2013-07-03 15:27:24.733343017 +0100
|
||||
@@ -844,7 +844,7 @@ void QPrinter::setPrinterName(const QStr
|
||||
if(d->use_default_engine
|
||||
&& d->outputFormat == QPrinter::NativeFormat) {
|
||||
if (QCUPSSupport::cupsVersion() >= 10200
|
||||
- && QCUPSSupport::printerHasPPD(name.toLocal8Bit().constData()))
|
||||
+ && QCUPSSupport().printerHasPPD(name.toLocal8Bit().constData()))
|
||||
setOutputFormat(QPrinter::PdfFormat);
|
||||
else
|
||||
setOutputFormat(QPrinter::PostScriptFormat);
|
84
qt-everywhere-opensource-src-4.6.2-cups.patch
Normal file
84
qt-everywhere-opensource-src-4.6.2-cups.patch
Normal file
@ -0,0 +1,84 @@
|
||||
diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-11 16:55:22.000000000 +0100
|
||||
+++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-28 04:34:16.000000000 +0100
|
||||
@@ -569,6 +569,32 @@
|
||||
void QPrintDialogPrivate::selectPrinter(QCUPSSupport *cups)
|
||||
{
|
||||
options.duplex->setEnabled(cups && cups->ppdOption("Duplex"));
|
||||
+
|
||||
+ if (cups) {
|
||||
+ const ppd_option_t* duplex = cups->ppdOption("Duplex");
|
||||
+ if (duplex) {
|
||||
+ // copy default ppd duplex to qt dialog
|
||||
+ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0)
|
||||
+ options.duplexShort->setChecked(true);
|
||||
+ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0)
|
||||
+ options.duplexLong->setChecked(true);
|
||||
+ else
|
||||
+ options.noDuplex->setChecked(true);
|
||||
+ }
|
||||
+
|
||||
+ if (cups->currentPPD()) {
|
||||
+ // set default color
|
||||
+ if (cups->currentPPD()->color_device)
|
||||
+ options.color->setChecked(true);
|
||||
+ else
|
||||
+ options.grayscale->setChecked(true);
|
||||
+ }
|
||||
+
|
||||
+ // set collation
|
||||
+ const ppd_option_t *collate = cups->ppdOption("Collate");
|
||||
+ if (collate)
|
||||
+ options.collate->setChecked(qstrcmp(collate->defchoice, "True")==0);
|
||||
+ }
|
||||
}
|
||||
#endif
|
||||
|
||||
diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp
|
||||
--- qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp 2010-02-11 16:55:22.000000000 +0100
|
||||
+++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp 2010-02-28 04:55:15.000000000 +0100
|
||||
@@ -627,6 +627,44 @@
|
||||
&& d_ptr->paintEngine->type() != QPaintEngine::MacPrinter) {
|
||||
setOutputFormat(QPrinter::PdfFormat);
|
||||
}
|
||||
+
|
||||
+#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
|
||||
+ // fill in defaults from ppd file
|
||||
+ QCUPSSupport cups;
|
||||
+
|
||||
+ int printernum = -1;
|
||||
+ for (int i = 0; i < cups.availablePrintersCount(); i++) {
|
||||
+ if (printerName().toLocal8Bit() == cups.availablePrinters()[i].name)
|
||||
+ printernum = i;
|
||||
+ }
|
||||
+ if (printernum >= 0) {
|
||||
+ cups.setCurrentPrinter(printernum);
|
||||
+
|
||||
+ const ppd_option_t* duplex = cups.ppdOption("Duplex");
|
||||
+ if (duplex) {
|
||||
+ // copy default ppd duplex to qt dialog
|
||||
+ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0)
|
||||
+ setDuplex(DuplexShortSide);
|
||||
+ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0)
|
||||
+ setDuplex(DuplexLongSide);
|
||||
+ else
|
||||
+ setDuplex(DuplexNone);
|
||||
+ }
|
||||
+
|
||||
+ if (cups.currentPPD()) {
|
||||
+ // set default color
|
||||
+ if (cups.currentPPD()->color_device)
|
||||
+ setColorMode(Color);
|
||||
+ else
|
||||
+ setColorMode(GrayScale);
|
||||
+ }
|
||||
+
|
||||
+ // set collation
|
||||
+ const ppd_option_t *collate = cups.ppdOption("Collate");
|
||||
+ if (collate)
|
||||
+ setCollateCopies(qstrcmp(collate->defchoice, "True")==0);
|
||||
+ }
|
||||
+#endif
|
||||
}
|
||||
|
||||
/*!
|
@ -0,0 +1,69 @@
|
||||
diff -ur qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck/src/gui/kernel/qguieventdispatcher_glib.cpp
|
||||
--- qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-06-02 04:03:15.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-12-08 22:22:38.000000000 +0100
|
||||
@@ -76,7 +76,7 @@
|
||||
GX11EventSource *source = reinterpret_cast<GX11EventSource *>(s);
|
||||
return (XEventsQueued(X11->display, QueuedAfterFlush)
|
||||
|| (!(source->flags & QEventLoop::ExcludeUserInputEvents)
|
||||
- && !source->d->queuedUserInputEvents.isEmpty()));
|
||||
+ && source->d && !source->d->queuedUserInputEvents.isEmpty()));
|
||||
}
|
||||
|
||||
static gboolean x11EventSourceCheck(GSource *s)
|
||||
@@ -84,7 +84,7 @@
|
||||
GX11EventSource *source = reinterpret_cast<GX11EventSource *>(s);
|
||||
return (XEventsQueued(X11->display, QueuedAfterFlush)
|
||||
|| (!(source->flags & QEventLoop::ExcludeUserInputEvents)
|
||||
- && !source->d->queuedUserInputEvents.isEmpty()));
|
||||
+ && source->d && !source->d->queuedUserInputEvents.isEmpty()));
|
||||
}
|
||||
|
||||
static gboolean x11EventSourceDispatch(GSource *s, GSourceFunc callback, gpointer user_data)
|
||||
@@ -95,7 +95,7 @@
|
||||
do {
|
||||
XEvent event;
|
||||
if (!(source->flags & QEventLoop::ExcludeUserInputEvents)
|
||||
- && !source->d->queuedUserInputEvents.isEmpty()) {
|
||||
+ && source->d && !source->d->queuedUserInputEvents.isEmpty()) {
|
||||
// process a pending user input event
|
||||
event = source->d->queuedUserInputEvents.takeFirst();
|
||||
} else if (XEventsQueued(X11->display, QueuedAlready)) {
|
||||
@@ -112,7 +112,8 @@
|
||||
case XKeyRelease:
|
||||
case EnterNotify:
|
||||
case LeaveNotify:
|
||||
- source->d->queuedUserInputEvents.append(event);
|
||||
+ if (source->d)
|
||||
+ source->d->queuedUserInputEvents.append(event);
|
||||
continue;
|
||||
|
||||
case ClientMessage:
|
||||
@@ -127,7 +128,8 @@
|
||||
break;
|
||||
}
|
||||
}
|
||||
- source->d->queuedUserInputEvents.append(event);
|
||||
+ if (source->d)
|
||||
+ source->d->queuedUserInputEvents.append(event);
|
||||
continue;
|
||||
|
||||
default:
|
||||
@@ -140,7 +142,7 @@
|
||||
}
|
||||
|
||||
// send through event filter
|
||||
- if (source->q->filterEvent(&event))
|
||||
+ if (source->q && source->q->filterEvent(&event))
|
||||
continue;
|
||||
|
||||
if (qApp->x11ProcessEvent(&event) == 1)
|
||||
@@ -152,7 +154,8 @@
|
||||
|
||||
out:
|
||||
|
||||
- source->d->runTimersOnceWithNormalPriority();
|
||||
+ if (source->d)
|
||||
+ source->d->runTimersOnceWithNormalPriority();
|
||||
|
||||
if (callback)
|
||||
callback(user_data);
|
41
qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch
Normal file
41
qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch
Normal file
@ -0,0 +1,41 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h.QTBUG-22037 qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h
|
||||
--- qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h.QTBUG-22037 2011-10-03 22:44:32.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h 2011-10-15 14:25:52.238694974 -0500
|
||||
@@ -769,26 +769,18 @@ Q_OUTOFLINE_TEMPLATE void QList<T>::clea
|
||||
template <typename T>
|
||||
Q_OUTOFLINE_TEMPLATE int QList<T>::removeAll(const T &_t)
|
||||
{
|
||||
- int index = indexOf(_t);
|
||||
- if (index == -1)
|
||||
- return 0;
|
||||
-
|
||||
+ detachShared();
|
||||
const T t = _t;
|
||||
- detach();
|
||||
-
|
||||
- Node *i = reinterpret_cast<Node *>(p.at(index));
|
||||
- Node *e = reinterpret_cast<Node *>(p.end());
|
||||
- Node *n = i;
|
||||
- node_destruct(i);
|
||||
- while (++i != e) {
|
||||
- if (i->t() == t)
|
||||
- node_destruct(i);
|
||||
- else
|
||||
- *n++ = *i;
|
||||
- }
|
||||
-
|
||||
- int removedCount = e - n;
|
||||
- d->end -= removedCount;
|
||||
+ int removedCount=0, i=0;
|
||||
+ Node *n;
|
||||
+ while (i < p.size())
|
||||
+ if ((n = reinterpret_cast<Node *>(p.at(i)))->t() == t) {
|
||||
+ node_destruct(n);
|
||||
+ p.remove(i);
|
||||
+ ++removedCount;
|
||||
+ } else {
|
||||
+ ++i;
|
||||
+ }
|
||||
return removedCount;
|
||||
}
|
||||
|
20
qt-everywhere-opensource-src-4.8.0-s390-atomic.patch
Normal file
20
qt-everywhere-opensource-src-4.8.0-s390-atomic.patch
Normal file
@ -0,0 +1,20 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h.s390-atomic qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h
|
||||
--- qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h.s390-atomic 2011-12-18 16:15:20.000000000 +0100
|
||||
+++ qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h 2011-12-18 16:17:34.000000000 +0100
|
||||
@@ -400,6 +400,16 @@ Q_INLINE_TEMPLATE T* QBasicAtomicPointer
|
||||
|
||||
|
||||
template <typename T>
|
||||
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd)
|
||||
+{
|
||||
+#ifndef __s390x__
|
||||
+ return (T *)__CS_OLD_LOOP(&_q_value, valueToAdd * sizeof(T), "ar", "", "bcr 15,0\n");
|
||||
+#else
|
||||
+ return (T *)__CSG_OLD_LOOP(&_q_value, valueToAdd * sizeof(T), "agr", "", "bcr 15,0\n");
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+template <typename T>
|
||||
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)
|
||||
{
|
||||
return fetchAndAddOrdered(valueToAdd);
|
@ -0,0 +1,36 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf
|
||||
--- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf 2011-05-25 13:39:38.789054074 +0200
|
||||
@@ -12,6 +12,8 @@ QMAKE_INCREMENTAL_STYLE = sublib
|
||||
QMAKE_CFLAGS = -m32
|
||||
QMAKE_LFLAGS = -m32
|
||||
|
||||
+QMAKE_CFLAGS_RELEASE += -O2
|
||||
+
|
||||
include(../common/linux.conf)
|
||||
include(../common/gcc-base-unix.conf)
|
||||
include(../common/g++-unix.conf)
|
||||
diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf
|
||||
--- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf 2011-05-25 13:39:47.460747770 +0200
|
||||
@@ -15,6 +15,8 @@ QMAKE_INCREMENTAL_STYLE = sublib
|
||||
QMAKE_CFLAGS = -m64
|
||||
QMAKE_LFLAGS = -m64
|
||||
|
||||
+QMAKE_CFLAGS_RELEASE += -O2
|
||||
+
|
||||
include(../common/linux.conf)
|
||||
include(../common/gcc-base-unix.conf)
|
||||
include(../common/g++-unix.conf)
|
||||
diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf
|
||||
--- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf 2011-05-25 13:39:26.630088814 +0200
|
||||
@@ -9,6 +9,8 @@ CONFIG += qt warn_on release increment
|
||||
QT += core gui
|
||||
QMAKE_INCREMENTAL_STYLE = sublib
|
||||
|
||||
+QMAKE_CFLAGS_RELEASE += -O2
|
||||
+
|
||||
include(../common/linux.conf)
|
||||
include(../common/gcc-base-unix.conf)
|
||||
include(../common/g++-unix.conf)
|
@ -0,0 +1,12 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp.qtreeview-kpackagekit-crash qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp.qtreeview-kpackagekit-crash 2011-05-23 12:26:21.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp 2011-05-25 13:24:33.137315194 +0200
|
||||
@@ -3215,7 +3215,7 @@ int QTreeViewPrivate::itemHeight(int ite
|
||||
return defaultItemHeight;
|
||||
if (viewItems.isEmpty())
|
||||
return 0;
|
||||
- const QModelIndex &index = viewItems.at(item).index;
|
||||
+ QModelIndex index = viewItems.at(item).index;
|
||||
if (!index.isValid())
|
||||
return 0;
|
||||
int height = viewItems.at(item).height;
|
27
qt-everywhere-opensource-src-4.8.1-linguist_qmake-qt4.patch
Normal file
27
qt-everywhere-opensource-src-4.8.1-linguist_qmake-qt4.patch
Normal file
@ -0,0 +1,27 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.2/tools/linguist/lrelease/main.cpp.linguist_qtmake-qt4 qt-everywhere-opensource-src-4.8.2/tools/linguist/lrelease/main.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.2/tools/linguist/lrelease/main.cpp.linguist_qtmake-qt4 2012-04-26 21:45:50.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.2/tools/linguist/lrelease/main.cpp 2012-05-29 12:17:03.416561535 +0200
|
||||
@@ -314,9 +314,9 @@ int main(int argc, char **argv)
|
||||
parseHandler.verbose = evalHandler.verbose = cd.isVerbose();
|
||||
ProFileOption option;
|
||||
#ifdef QT_BOOTSTRAPPED
|
||||
- option.initProperties(binDir + QLatin1String("/qmake"));
|
||||
+ option.initProperties(binDir + QLatin1String("/qmake-qt4"));
|
||||
#else
|
||||
- option.initProperties(app.applicationDirPath() + QLatin1String("/qmake"));
|
||||
+ option.initProperties(app.applicationDirPath() + QLatin1String("/qmake-qt4"));
|
||||
#endif
|
||||
ProFileParser parser(0, &parseHandler);
|
||||
ProFileEvaluator visitor(&option, &parser, &evalHandler);
|
||||
diff -up qt-everywhere-opensource-src-4.8.2/tools/linguist/lupdate/main.cpp.linguist_qtmake-qt4 qt-everywhere-opensource-src-4.8.2/tools/linguist/lupdate/main.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.2/tools/linguist/lupdate/main.cpp.linguist_qtmake-qt4 2012-04-26 21:45:50.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.2/tools/linguist/lupdate/main.cpp 2012-05-29 11:46:48.811134546 +0200
|
||||
@@ -765,7 +765,7 @@ int main(int argc, char **argv)
|
||||
|
||||
parseHandler.verbose = evalHandler.verbose = !!(options & Verbose);
|
||||
ProFileOption option;
|
||||
- option.initProperties(app.applicationDirPath() + QLatin1String("/qmake"));
|
||||
+ option.initProperties(app.applicationDirPath() + QLatin1String("/qmake-qt4"));
|
||||
option.setCommandLineArguments(QStringList() << QLatin1String("CONFIG+=lupdate_run"));
|
||||
ProFileParser parser(0, &parseHandler);
|
||||
|
@ -0,0 +1,10 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro.debuginfo qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro
|
||||
--- qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro.debuginfo 2012-03-14 09:01:17.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro 2012-05-11 11:55:37.780070386 -0500
|
||||
@@ -34,6 +34,3 @@ MOCDIR = .moc
|
||||
|
||||
*-g++*: QMAKE_CXXFLAGS += -fno-strict-aliasing
|
||||
|
||||
-CONFIG -= separate_debug_info
|
||||
-CONFIG += no_debug_info
|
||||
-
|
13
qt-everywhere-opensource-src-4.8.2--assistant-crash.patch
Normal file
13
qt-everywhere-opensource-src-4.8.2--assistant-crash.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp.me qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp.me 2012-06-19 12:52:22.740180410 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp 2012-06-19 12:52:51.953194103 +0200
|
||||
@@ -944,8 +944,7 @@ void MainWindow::updateApplicationFont()
|
||||
if (helpEngine.usesAppFont())
|
||||
font = helpEngine.appFont();
|
||||
|
||||
- const QWidgetList &widgets = qApp->allWidgets();
|
||||
- foreach (QWidget* widget, widgets)
|
||||
+ foreach (QWidget* widget, QApplication::allWidgets())
|
||||
widget->setFont(font);
|
||||
}
|
||||
|
23
qt-everywhere-opensource-src-4.8.3-icu_no_debug.patch
Normal file
23
qt-everywhere-opensource-src-4.8.3-icu_no_debug.patch
Normal file
@ -0,0 +1,23 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp.icu_no_debug qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp.icu_no_debug 2012-09-06 02:33:45.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp 2012-09-11 09:04:21.542379795 -0500
|
||||
@@ -84,7 +84,9 @@ bool qt_initIcu(const QString &localeStr
|
||||
QLibrary lib(QLatin1String("icui18n"), QLatin1String(U_ICU_VERSION_SHORT));
|
||||
lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
|
||||
if (!lib.load()) {
|
||||
+#ifndef QT_NO_DEBUG
|
||||
qWarning() << "Unable to load library icui18n" << lib.errorString();
|
||||
+#endif
|
||||
status = ErrorLoading;
|
||||
return false;
|
||||
}
|
||||
@@ -114,7 +116,9 @@ bool qt_initIcu(const QString &localeStr
|
||||
QLibrary ucLib(QLatin1String("icuuc"), QLatin1String(U_ICU_VERSION_SHORT));
|
||||
ucLib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
|
||||
if (!ucLib.load()) {
|
||||
+#ifndef QT_NO_DEBUG
|
||||
qWarning() << "Unable to load library icuuc" << ucLib.errorString();
|
||||
+#endif
|
||||
status = ErrorLoading;
|
||||
return false;
|
||||
}
|
12
qt-everywhere-opensource-src-4.8.3-no_Werror.patch
Normal file
12
qt-everywhere-opensource-src-4.8.3-no_Werror.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri.no_Werror qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri
|
||||
--- qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri.no_Werror 2012-09-06 02:33:50.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri 2012-09-11 09:03:19.152159783 -0500
|
||||
@@ -102,7 +102,7 @@ CONFIG -= warn_on
|
||||
|
||||
# Treat warnings as errors on x86/Linux/GCC
|
||||
linux-g++* {
|
||||
- !CONFIG(standalone_package):if(isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386)): QMAKE_CXXFLAGS += -Werror
|
||||
+ #!CONFIG(standalone_package):if(isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386)): QMAKE_CXXFLAGS += -Werror
|
||||
|
||||
greaterThan(QT_GCC_MAJOR_VERSION, 3):greaterThan(QT_GCC_MINOR_VERSION, 5) {
|
||||
if (!contains(QMAKE_CXXFLAGS, -std=c++0x) && !contains(QMAKE_CXXFLAGS, -std=gnu++0x)) {
|
@ -0,0 +1,14 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.3/src/dbus/qdbusconnection.cpp.qdbusconnection_no_debug.patch qt-everywhere-opensource-src-4.8.3/src/dbus/qdbusconnection.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.3/src/dbus/qdbusconnection.cpp.qdbusconnection_no_debug.patch 2012-09-06 02:33:44.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.3/src/dbus/qdbusconnection.cpp 2012-09-11 08:55:29.854026815 -0500
|
||||
@@ -1109,8 +1109,10 @@ public:
|
||||
// make sure this connection is running on the main thread
|
||||
QCoreApplication *instance = QCoreApplication::instance();
|
||||
if (!instance) {
|
||||
+#ifndef QT_NO_DEBUG
|
||||
qWarning("QDBusConnection: %s D-Bus connection created before QCoreApplication. Application may misbehave.",
|
||||
type == SessionBus ? "session" : type == SystemBus ? "system" : "generic");
|
||||
+#endif
|
||||
} else if (QDBusConnectionPrivate::d(*this)) {
|
||||
QDBusConnectionPrivate::d(*this)->moveToThread(instance->thread());
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp.qmake_pkgconfig_requires_private qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp.qmake_pkgconfig_requires_private 2012-11-23 04:11:21.000000000 -0600
|
||||
+++ qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp 2013-02-11 07:36:36.192779528 -0600
|
||||
@@ -3293,6 +3293,12 @@ MakefileGenerator::writePkgConfigFile()
|
||||
t << "Requires: " << requires << endl;
|
||||
}
|
||||
|
||||
+ // requires.private
|
||||
+ const QString requires_private = project->values("QMAKE_PKGCONFIG_REQUIRES_PRIVATE").join(" ");
|
||||
+ if (!requires_private.isEmpty()) {
|
||||
+ t << "Requires.private: " << requires_private << endl;
|
||||
+ }
|
||||
+
|
||||
t << endl;
|
||||
}
|
||||
|
24
qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch
Normal file
24
qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch
Normal file
@ -0,0 +1,24 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf.QTBUG-14467 qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf
|
||||
--- qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf.QTBUG-14467 2013-05-30 16:19:17.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf 2013-06-09 11:53:45.709773603 -0500
|
||||
@@ -72,7 +72,7 @@ defineTest(qtAddLibrary) {
|
||||
}
|
||||
isEmpty(LINKAGE) {
|
||||
if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
|
||||
- win32:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}d
|
||||
+ win32:LINKAGE = -l$${LIB_NAME}d$${QT_LIBINFIX}
|
||||
mac:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}_debug
|
||||
}
|
||||
isEmpty(LINKAGE):LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf.QTBUG-14467 qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf
|
||||
--- qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf.QTBUG-14467 2013-05-30 16:19:17.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf 2013-06-09 11:53:45.710773593 -0500
|
||||
@@ -6,7 +6,7 @@ contains(TEMPLATE, ".*app"){
|
||||
|
||||
qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {
|
||||
isEqual(entryLib, -lqtmain): {
|
||||
- CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d
|
||||
+ CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}d$${QT_LIBINFIX}
|
||||
else: QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}
|
||||
} else {
|
||||
QMAKE_LIBS += $${entryLib}
|
84
qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch
Normal file
84
qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch
Normal file
@ -0,0 +1,84 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp.QTBUG-21900 qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp.QTBUG-21900 2013-05-30 16:18:05.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp 2013-06-09 11:53:45.891771748 -0500
|
||||
@@ -818,6 +818,27 @@ static Bool qt_sync_request_scanner(Disp
|
||||
#endif
|
||||
#endif // QT_NO_XSYNC
|
||||
|
||||
+struct qt_configure_event_data
|
||||
+{
|
||||
+ WId window;
|
||||
+ WId parent;
|
||||
+};
|
||||
+
|
||||
+static Bool qt_configure_event_scanner(Display*, XEvent *event, XPointer arg)
|
||||
+{
|
||||
+ qt_configure_event_data *data =
|
||||
+ reinterpret_cast<qt_configure_event_data*>(arg);
|
||||
+ if (event->type == ConfigureNotify &&
|
||||
+ event->xconfigure.window == data->window) {
|
||||
+ return true;
|
||||
+ } else if (event->type == ReparentNotify &&
|
||||
+ event->xreparent.window == data->window) {
|
||||
+ data->parent = event->xreparent.parent;
|
||||
+ }
|
||||
+
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
static void qt_x11_create_intern_atoms()
|
||||
{
|
||||
const char *names[QX11Data::NAtoms];
|
||||
@@ -5302,8 +5323,11 @@ bool QETWidget::translateConfigEvent(con
|
||||
if (d->extra->compress_events) {
|
||||
// ConfigureNotify compression for faster opaque resizing
|
||||
XEvent otherEvent;
|
||||
- while (XCheckTypedWindowEvent(X11->display, internalWinId(), ConfigureNotify,
|
||||
- &otherEvent)) {
|
||||
+ qt_configure_event_data configureData;
|
||||
+ configureData.window = internalWinId();
|
||||
+ configureData.parent = d->topData()->parentWinId;
|
||||
+ while (XCheckIfEvent(X11->display, &otherEvent,
|
||||
+ &qt_configure_event_scanner, (XPointer)&configureData)) {
|
||||
if (qt_x11EventFilter(&otherEvent))
|
||||
continue;
|
||||
|
||||
@@ -5316,13 +5340,19 @@ bool QETWidget::translateConfigEvent(con
|
||||
newSize.setWidth(otherEvent.xconfigure.width);
|
||||
newSize.setHeight(otherEvent.xconfigure.height);
|
||||
|
||||
+ trust = isVisible()
|
||||
+ && (configureData.parent == XNone ||
|
||||
+ configureData.parent == QX11Info::appRootWindow());
|
||||
+
|
||||
if (otherEvent.xconfigure.send_event || trust) {
|
||||
newCPos.rx() = otherEvent.xconfigure.x +
|
||||
otherEvent.xconfigure.border_width;
|
||||
newCPos.ry() = otherEvent.xconfigure.y +
|
||||
otherEvent.xconfigure.border_width;
|
||||
isCPos = true;
|
||||
- }
|
||||
+ } else {
|
||||
+ isCPos = false;
|
||||
+ }
|
||||
}
|
||||
#ifndef QT_NO_XSYNC
|
||||
qt_sync_request_event_data sync_event;
|
||||
@@ -5335,9 +5365,14 @@ bool QETWidget::translateConfigEvent(con
|
||||
}
|
||||
|
||||
if (!isCPos) {
|
||||
- // we didn't get an updated position of the toplevel.
|
||||
- // either we haven't moved or there is a bug in the window manager.
|
||||
- // anyway, let's query the position to be certain.
|
||||
+ // If the last configure event didn't have a trustable position,
|
||||
+ // it's necessary to query, see ICCCM 4.24:
|
||||
+ //
|
||||
+ // Any real ConfigureNotify event on a top-level window implies
|
||||
+ // that the window’s position on the root may have changed, even
|
||||
+ // though the event reports that the window’s position in its
|
||||
+ // parent is unchanged because the window may have been reparented.
|
||||
+
|
||||
int x, y;
|
||||
Window child;
|
||||
XTranslateCoordinates(X11->display, internalWinId(),
|
12
qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch
Normal file
12
qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -ur qt-everywhere-opensource-src-4.8.5-CVE-2013-4549/src/xml/sax/qxml.cpp qt-everywhere-opensource-src-4.8.5-QTBUG-35459/src/xml/sax/qxml.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.5-CVE-2013-4549/src/xml/sax/qxml.cpp 2013-12-05 19:23:33.000000000 +0100
|
||||
+++ qt-everywhere-opensource-src-4.8.5-QTBUG-35459/src/xml/sax/qxml.cpp 2014-01-13 20:13:59.000000000 +0100
|
||||
@@ -428,7 +428,7 @@
|
||||
// for the DTD currently being parsed.
|
||||
static const int dtdRecursionLimit = 2;
|
||||
// The maximum amount of characters an entity value may contain, after expansion.
|
||||
- static const int entityCharacterLimit = 1024;
|
||||
+ static const int entityCharacterLimit = 4096;
|
||||
|
||||
const QString &string();
|
||||
void stringClear();
|
29
qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch
Normal file
29
qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch
Normal file
@ -0,0 +1,29 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp.QTBUG-4862 qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp.QTBUG-4862 2013-06-09 12:02:50.323221694 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp 2013-06-09 12:38:53.140804742 -0500
|
||||
@@ -624,6 +624,25 @@ QString QFileSystemEngine::homePath()
|
||||
{
|
||||
QString home = QFile::decodeName(qgetenv("HOME"));
|
||||
if (home.isEmpty())
|
||||
+ {
|
||||
+#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
|
||||
+ int size_max = sysconf(_SC_GETPW_R_SIZE_MAX);
|
||||
+ if (size_max == -1)
|
||||
+ size_max = 1024;
|
||||
+ QVarLengthArray<char, 1024> buf(size_max);
|
||||
+#endif
|
||||
+ struct passwd *pw = 0;
|
||||
+ uid_t user_id = getuid();
|
||||
+ pw = getpwuid(user_id);
|
||||
+#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
|
||||
+ struct passwd entry;
|
||||
+ getpwuid_r(user_id, &entry, buf.data(), buf.size(), &pw);
|
||||
+#else
|
||||
+ pw = getpwuid(user_id);
|
||||
+#endif
|
||||
+ home = QFile::decodeName(QByteArray(pw->pw_dir));
|
||||
+ }
|
||||
+ if (home.isEmpty())
|
||||
home = rootPath();
|
||||
return QDir::cleanPath(home);
|
||||
}
|
19
qt-everywhere-opensource-src-4.8.5-mysql_config.patch
Normal file
19
qt-everywhere-opensource-src-4.8.5-mysql_config.patch
Normal file
@ -0,0 +1,19 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/configure.mysql_config qt-everywhere-opensource-src-4.8.5/configure
|
||||
--- qt-everywhere-opensource-src-4.8.5/configure.mysql_config 2013-06-07 00:16:41.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/configure 2014-03-07 10:09:27.412071146 -0600
|
||||
@@ -5480,8 +5480,15 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
|
||||
[ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
|
||||
if [ -x "$CFG_MYSQL_CONFIG" ]; then
|
||||
QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
|
||||
+ $CFG_MYSQL_CONFIG --variable=pkglibdir &>/dev/null && \
|
||||
+ QT_MYSQL_PKGLIBDIR=`$CFG_MYSQL_CONFIG --variable=pkglibdir 2>/dev/null`
|
||||
+ if [ -n "$QT_MYSQL_PKGLIBDIR" ]; then
|
||||
+ QT_LFLAGS_MYSQL_R="-L$QT_MYSQL_PKGLIBDIR -lmysqlclient_r"
|
||||
+ QT_LFLAGS_MYSQL="-L$QT_MYSQL_PKGLIBDIR -lmysqlclient"
|
||||
+ else
|
||||
QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
|
||||
QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
|
||||
+ fi
|
||||
QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
|
||||
QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
|
||||
fi
|
@ -0,0 +1,22 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp.qgtkstyle_disable_gtk_theme_check qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp.qgtkstyle_disable_gtk_theme_check 2013-06-09 16:28:22.938840346 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp 2013-06-09 17:03:01.781125479 -0500
|
||||
@@ -503,18 +503,6 @@ void QGtkStylePrivate::initGtkWidgets()
|
||||
return;
|
||||
}
|
||||
|
||||
- static QString themeName;
|
||||
- if (!gtkWidgetMap()->contains("GtkWindow") && themeName.isEmpty()) {
|
||||
- themeName = getThemeName();
|
||||
-
|
||||
- if (themeName == QLS("Qt") || themeName == QLS("Qt4")) {
|
||||
- // Due to namespace conflicts with Qt3 and obvious recursion with Qt4,
|
||||
- // we cannot support the GTK_Qt Gtk engine
|
||||
- qWarning("QGtkStyle cannot be used together with the GTK_Qt engine.");
|
||||
- return;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
if (QGtkStylePrivate::gtk_init) {
|
||||
// Gtk will set the Qt error handler so we have to reset it afterwards
|
||||
x11ErrorHandler qt_x_errhandler = XSetErrorHandler(0);
|
19
qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch
Normal file
19
qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch
Normal file
@ -0,0 +1,19 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp.qt_plugin_path qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp.qt_plugin_path 2013-06-07 00:16:52.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp 2013-06-21 07:14:10.045039936 -0500
|
||||
@@ -2511,6 +2511,15 @@ QStringList QCoreApplication::libraryPat
|
||||
if (!app_libpaths->contains(installPathPlugins))
|
||||
app_libpaths->append(installPathPlugins);
|
||||
}
|
||||
+
|
||||
+ // hack in support for kde4 plugin paths -- Rex
|
||||
+ QString kde4PathPlugins = QLibraryInfo::location(QLibraryInfo::LibrariesPath) + QLatin1String("/kde4/plugins");
|
||||
+ if (QFile::exists(kde4PathPlugins)) {
|
||||
+ // Make sure we convert from backslashes to slashes.
|
||||
+ //kde4PathPlugins = QDir(kde4PathPlugins).canonicalPath();
|
||||
+ if (!app_libpaths->contains(kde4PathPlugins))
|
||||
+ app_libpaths->append(kde4PathPlugins);
|
||||
+ }
|
||||
#endif
|
||||
|
||||
// If QCoreApplication is not yet instantiated,
|
@ -0,0 +1,12 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri.tds_no_strict_aliasing qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri.tds_no_strict_aliasing 2013-06-09 11:57:49.198291245 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri 2013-06-09 12:01:24.120100371 -0500
|
||||
@@ -1,6 +1,8 @@
|
||||
HEADERS += $$PWD/qsql_tds.h
|
||||
SOURCES += $$PWD/qsql_tds.cpp
|
||||
|
||||
+*-g++*: QMAKE_CXXFLAGS += -fno-strict-aliasing
|
||||
+
|
||||
unix|win32-g++*: {
|
||||
LIBS += $$QT_LFLAGS_TDS
|
||||
!contains(LIBS, .*sybdb.*):LIBS += -lsybdb
|
28
qt-everywhere-opensource-src-4.8.5-uic_multilib.patch
Normal file
28
qt-everywhere-opensource-src-4.8.5-uic_multilib.patch
Normal file
@ -0,0 +1,28 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/tools/moc/moc.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/moc/moc.cpp
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp.uic_multilib 2013-05-30 16:18:04.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp 2013-06-09 11:50:25.597813974 -0500
|
||||
@@ -152,8 +152,7 @@ void Ui3Reader::embed(const char *projec
|
||||
for ( it = images.begin(); it != images.end(); ++it )
|
||||
out << "** " << *it << "\n";
|
||||
out << "**\n";
|
||||
- out << "** Created: " << QDateTime::currentDateTime().toString() << "\n";
|
||||
- out << "** by: The User Interface Compiler for Qt version " << QT_VERSION_STR << "\n";
|
||||
+ out << "** Created: by: The User Interface Compiler for Qt version " << QT_VERSION_STR << "\n";
|
||||
out << "**\n";
|
||||
out << "** WARNING! All changes made in this file will be lost!\n";
|
||||
out << "****************************************************************************/\n";
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp.uic_multilib 2013-05-30 16:18:04.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp 2013-06-09 11:51:28.310174526 -0500
|
||||
@@ -146,8 +146,7 @@ void Uic::writeCopyrightHeader(DomUI *ui
|
||||
out << "/********************************************************************************\n";
|
||||
out << "** Form generated from reading UI file '" << QFileInfo(opt.inputFile).fileName() << "'\n";
|
||||
out << "**\n";
|
||||
- out << "** Created: " << QDateTime::currentDateTime().toString() << "\n";
|
||||
- out << "** " << QString::fromLatin1("by: Qt User Interface Compiler version %1\n").arg(QLatin1String(QT_VERSION_STR));
|
||||
+ out << "** Created by: " << QString::fromLatin1("Qt User Interface Compiler version %1\n").arg(QLatin1String(QT_VERSION_STR));
|
||||
out << "**\n";
|
||||
out << "** WARNING! All changes made in this file will be lost when recompiling UI file!\n";
|
||||
out << "********************************************************************************/\n\n";
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic/uic.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic/uic.cpp
|
16
qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch
Normal file
16
qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch
Normal file
@ -0,0 +1,16 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri.webkit_debuginfo qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri.webkit_debuginfo 2013-06-07 00:16:55.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri 2013-07-11 14:04:19.937056249 -0500
|
||||
@@ -5,6 +5,12 @@ include(features.pri)
|
||||
|
||||
# Uncomment this to enable Texture Mapper.
|
||||
# CONFIG += texmap
|
||||
+#
|
||||
+equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips)|equals(QT_ARCH, i386)|equals(QT_ARCH, i686)|equals(QT_ARCH, x86_64)|equals(QT_ARCH, powerpc64)|equals(QT_ARCH, powerpc) {
|
||||
+ message("WebCore workaround for QtWebkit: do not build with -g, but with -g1")
|
||||
+ QMAKE_CXXFLAGS_RELEASE -= -g
|
||||
+ QMAKE_CXXFLAGS_RELEASE += -g1
|
||||
+}
|
||||
|
||||
QT *= network
|
||||
|
17
qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch
Normal file
17
qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch
Normal file
@ -0,0 +1,17 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp.QTBUG-22829 qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp.QTBUG-22829 2015-05-07 09:14:44.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp 2016-12-08 12:32:46.638962448 -0600
|
||||
@@ -188,8 +188,12 @@ int runMoc(int _argc, char **_argv)
|
||||
pp.macros["Q_MOC_RUN"];
|
||||
pp.macros["__cplusplus"];
|
||||
|
||||
- // Workaround a bug while parsing the boost/type_traits/has_operator.hpp header. See QTBUG-22829
|
||||
+ // Workaround a bugs while parsing some boost headers. See QTBUG-22829
|
||||
pp.macros["BOOST_TT_HAS_OPERATOR_HPP_INCLUDED"];
|
||||
+ pp.macros["BOOST_LEXICAL_CAST_INCLUDED"];
|
||||
+ pp.macros["BOOST_NEXT_PRIOR_HPP_INCLUDED"];
|
||||
+ pp.macros["BOOST_TYPE_TRAITS_HPP"];
|
||||
+ pp.macros["_SYS_SYSMACROS_H_OUTER"];
|
||||
|
||||
QByteArray filename;
|
||||
QByteArray output;
|
94
qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch
Normal file
94
qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch
Normal file
@ -0,0 +1,94 @@
|
||||
--- src/corelib/kernel/qeventdispatcher_glib.cpp.sav 2014-03-28 15:26:37.000000000 +0100
|
||||
+++ src/corelib/kernel/qeventdispatcher_glib.cpp 2014-04-24 09:44:09.358659204 +0200
|
||||
@@ -255,22 +255,30 @@ struct GPostEventSource
|
||||
GSource source;
|
||||
QAtomicInt serialNumber;
|
||||
int lastSerialNumber;
|
||||
+ QEventLoop::ProcessEventsFlags processEventsFlags;
|
||||
QEventDispatcherGlibPrivate *d;
|
||||
};
|
||||
|
||||
static gboolean postEventSourcePrepare(GSource *s, gint *timeout)
|
||||
{
|
||||
+ GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
|
||||
QThreadData *data = QThreadData::current();
|
||||
if (!data)
|
||||
return false;
|
||||
|
||||
+ QEventLoop::ProcessEventsFlags excludeAllFlags
|
||||
+ = QEventLoop::ExcludeUserInputEvents
|
||||
+ | QEventLoop::ExcludeSocketNotifiers
|
||||
+ | QEventLoop::X11ExcludeTimers;
|
||||
+ if ((source->processEventsFlags & excludeAllFlags) == excludeAllFlags)
|
||||
+ return false;
|
||||
+
|
||||
gint dummy;
|
||||
if (!timeout)
|
||||
timeout = &dummy;
|
||||
const bool canWait = data->canWaitLocked();
|
||||
*timeout = canWait ? -1 : 0;
|
||||
|
||||
- GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
|
||||
return (!canWait
|
||||
|| (source->serialNumber != source->lastSerialNumber));
|
||||
}
|
||||
@@ -284,8 +292,14 @@ static gboolean postEventSourceDispatch(
|
||||
{
|
||||
GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
|
||||
source->lastSerialNumber = source->serialNumber;
|
||||
- QCoreApplication::sendPostedEvents();
|
||||
- source->d->runTimersOnceWithNormalPriority();
|
||||
+ QEventLoop::ProcessEventsFlags excludeAllFlags
|
||||
+ = QEventLoop::ExcludeUserInputEvents
|
||||
+ | QEventLoop::ExcludeSocketNotifiers
|
||||
+ | QEventLoop::X11ExcludeTimers;
|
||||
+ if ((source->processEventsFlags & excludeAllFlags) != excludeAllFlags) {
|
||||
+ QCoreApplication::sendPostedEvents();
|
||||
+ source->d->runTimersOnceWithNormalPriority();
|
||||
+ }
|
||||
return true; // i dunno, george...
|
||||
}
|
||||
|
||||
@@ -329,6 +343,7 @@ QEventDispatcherGlibPrivate::QEventDispa
|
||||
postEventSource = reinterpret_cast<GPostEventSource *>(g_source_new(&postEventSourceFuncs,
|
||||
sizeof(GPostEventSource)));
|
||||
postEventSource->serialNumber = 1;
|
||||
+ postEventSource->processEventsFlags = QEventLoop::AllEvents;
|
||||
postEventSource->d = this;
|
||||
g_source_set_can_recurse(&postEventSource->source, true);
|
||||
g_source_attach(&postEventSource->source, mainContext);
|
||||
@@ -423,6 +438,7 @@ bool QEventDispatcherGlib::processEvents
|
||||
|
||||
// tell postEventSourcePrepare() and timerSource about any new flags
|
||||
QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags;
|
||||
+ d->postEventSource->processEventsFlags = flags;
|
||||
d->timerSource->processEventsFlags = flags;
|
||||
d->socketNotifierSource->processEventsFlags = flags;
|
||||
|
||||
@@ -435,6 +451,7 @@ bool QEventDispatcherGlib::processEvents
|
||||
while (!result && canWait)
|
||||
result = g_main_context_iteration(d->mainContext, canWait);
|
||||
|
||||
+ d->postEventSource->processEventsFlags = savedFlags;
|
||||
d->timerSource->processEventsFlags = savedFlags;
|
||||
d->socketNotifierSource->processEventsFlags = savedFlags;
|
||||
|
||||
--- src/corelib/kernel/qeventdispatcher_unix.cpp.sav 2013-06-07 07:16:52.000000000 +0200
|
||||
+++ src/corelib/kernel/qeventdispatcher_unix.cpp 2014-04-24 09:43:06.927589535 +0200
|
||||
@@ -905,7 +905,15 @@ bool QEventDispatcherUNIX::processEvents
|
||||
|
||||
// we are awake, broadcast it
|
||||
emit awake();
|
||||
- QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
|
||||
+
|
||||
+ QEventLoop::ProcessEventsFlags excludeAllFlags
|
||||
+ = QEventLoop::ExcludeUserInputEvents
|
||||
+ | QEventLoop::ExcludeSocketNotifiers
|
||||
+ | QEventLoop::X11ExcludeTimers;
|
||||
+ if ((flags & excludeAllFlags) == excludeAllFlags)
|
||||
+ return false;
|
||||
+ if(( flags & excludeAllFlags ) != excludeAllFlags )
|
||||
+ QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
|
||||
|
||||
int nevents = 0;
|
||||
const bool canWait = (d->threadData->canWaitLocked()
|
63
qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch
Normal file
63
qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch
Normal file
@ -0,0 +1,63 @@
|
||||
Author: Jan-Marek Glogowski <glogow@fbihome.de>
|
||||
Date: Thu Mar 06 18:44:43 2014 +0100
|
||||
|
||||
Honor QEventLoop::ExcludeSocketNotifiers in glib event loop.
|
||||
|
||||
Implements QEventLoop::ExcludeSocketNotifiers in the same way
|
||||
QEventLoop::X11ExcludeTimers is already implemented for the glib
|
||||
event loop.
|
||||
|
||||
--- qt4-x11-4.8.1.orig/src/corelib/kernel/qeventdispatcher_glib.cpp
|
||||
+++ qt4-x11-4.8.1/src/corelib/kernel/qeventdispatcher_glib.cpp
|
||||
@@ -65,6 +65,7 @@ struct GPollFDWithQSocketNotifier
|
||||
struct GSocketNotifierSource
|
||||
{
|
||||
GSource source;
|
||||
+ QEventLoop::ProcessEventsFlags processEventsFlags;
|
||||
QList<GPollFDWithQSocketNotifier *> pollfds;
|
||||
};
|
||||
|
||||
@@ -80,6 +81,9 @@ static gboolean socketNotifierSourceChec
|
||||
GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(source);
|
||||
|
||||
bool pending = false;
|
||||
+ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers)
|
||||
+ return pending;
|
||||
+
|
||||
for (int i = 0; !pending && i < src->pollfds.count(); ++i) {
|
||||
GPollFDWithQSocketNotifier *p = src->pollfds.at(i);
|
||||
|
||||
@@ -103,6 +107,9 @@ static gboolean socketNotifierSourceDisp
|
||||
QEvent event(QEvent::SockAct);
|
||||
|
||||
GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(source);
|
||||
+ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers)
|
||||
+ return true;
|
||||
+
|
||||
for (int i = 0; i < src->pollfds.count(); ++i) {
|
||||
GPollFDWithQSocketNotifier *p = src->pollfds.at(i);
|
||||
|
||||
@@ -330,6 +337,7 @@ QEventDispatcherGlibPrivate::QEventDispa
|
||||
reinterpret_cast<GSocketNotifierSource *>(g_source_new(&socketNotifierSourceFuncs,
|
||||
sizeof(GSocketNotifierSource)));
|
||||
(void) new (&socketNotifierSource->pollfds) QList<GPollFDWithQSocketNotifier *>();
|
||||
+ socketNotifierSource->processEventsFlags = QEventLoop::AllEvents;
|
||||
g_source_set_can_recurse(&socketNotifierSource->source, true);
|
||||
g_source_attach(&socketNotifierSource->source, mainContext);
|
||||
|
||||
@@ -415,6 +423,7 @@ bool QEventDispatcherGlib::processEvents
|
||||
// tell postEventSourcePrepare() and timerSource about any new flags
|
||||
QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags;
|
||||
d->timerSource->processEventsFlags = flags;
|
||||
+ d->socketNotifierSource->processEventsFlags = flags;
|
||||
|
||||
if (!(flags & QEventLoop::EventLoopExec)) {
|
||||
// force timers to be sent at normal priority
|
||||
@@ -426,6 +435,7 @@ bool QEventDispatcherGlib::processEvents
|
||||
result = g_main_context_iteration(d->mainContext, canWait);
|
||||
|
||||
d->timerSource->processEventsFlags = savedFlags;
|
||||
+ d->socketNotifierSource->processEventsFlags = savedFlags;
|
||||
|
||||
if (canWait)
|
||||
emit awake();
|
12
qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch
Normal file
12
qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch
Normal file
@ -0,0 +1,12 @@
|
||||
--- src/gui/kernel/qclipboard_x11.cpp.sav 2014-04-25 09:52:03.855693228 +0200
|
||||
+++ src/gui/kernel/qclipboard_x11.cpp 2014-04-25 09:51:58.038693777 +0200
|
||||
@@ -548,7 +548,8 @@ bool QX11Data::clipboardWaitForEvent(Win
|
||||
return false;
|
||||
|
||||
XSync(X11->display, false);
|
||||
- usleep(50000);
|
||||
+ if (!XPending(X11->display))
|
||||
+ usleep(5000);
|
||||
|
||||
now.start();
|
||||
|
31
qt-everywhere-opensource-src-4.8.6-s390.patch
Normal file
31
qt-everywhere-opensource-src-4.8.6-s390.patch
Normal file
@ -0,0 +1,31 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h.s390 qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h.s390 2014-03-30 15:36:49.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h 2014-03-31 17:59:16.846465899 -0500
|
||||
@@ -189,6 +189,18 @@
|
||||
#define WTF_CPU_SPARC 1
|
||||
#endif
|
||||
|
||||
+/* CPU(S390X) - S390 64-bit */
|
||||
+#if defined(__s390x__)
|
||||
+#define WTF_CPU_S390X 1
|
||||
+#define WTF_CPU_BIG_ENDIAN 1
|
||||
+#endif
|
||||
+
|
||||
+/* CPU(S390) - S390 32-bit */
|
||||
+#if defined(__s390__)
|
||||
+#define WTF_CPU_S390 1
|
||||
+#define WTF_CPU_BIG_ENDIAN 1
|
||||
+#endif
|
||||
+
|
||||
/* CPU(X86) - i386 / x86 32-bit */
|
||||
#if defined(__i386__) \
|
||||
|| defined(i386) \
|
||||
@@ -903,7 +915,7 @@
|
||||
#endif
|
||||
|
||||
#if !defined(WTF_USE_JSVALUE64) && !defined(WTF_USE_JSVALUE32) && !defined(WTF_USE_JSVALUE32_64)
|
||||
-#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(MIPS64) || CPU(AARCH64)
|
||||
+#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(MIPS64) || CPU(AARCH64) || CPU(S390X)
|
||||
#define WTF_USE_JSVALUE64 1
|
||||
#elif CPU(ARM) || CPU(PPC64)
|
||||
#define WTF_USE_JSVALUE32 1
|
351
qt-everywhere-opensource-src-4.8.6-system-clucene.patch
Normal file
351
qt-everywhere-opensource-src-4.8.6-system-clucene.patch
Normal file
@ -0,0 +1,351 @@
|
||||
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/fulltextsearch.pri qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/fulltextsearch.pri
|
||||
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/fulltextsearch.pri 2014-04-10 20:37:12.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/fulltextsearch.pri 2014-10-26 03:33:45.000000000 +0100
|
||||
@@ -1,125 +1,7 @@
|
||||
-DEFINES += _BUILD_FOR_QT_ LUCENE_DISABLE_MEMTRACKING
|
||||
-win32:DEFINES += _CRT_SECURE_NO_DEPRECATE _MT
|
||||
-
|
||||
-CLUCENEDIR = ../../../../src/3rdparty/clucene/src/CLucene
|
||||
-
|
||||
-INCLUDEPATH += . .. \
|
||||
- $$CLUCENEDIR \
|
||||
- $$CLUCENEDIR/../ \
|
||||
- $$CLUCENEDIR/analysis \
|
||||
- $$CLUCENEDIR/analysis/standard \
|
||||
- $$CLUCENEDIR/config \
|
||||
- $$CLUCENEDIR/debug \
|
||||
- $$CLUCENEDIR/document \
|
||||
- $$CLUCENEDIR/index \
|
||||
- $$CLUCENEDIR/queryParser \
|
||||
- $$CLUCENEDIR/search \
|
||||
- $$CLUCENEDIR/store \
|
||||
- $$CLUCENEDIR/util
|
||||
-
|
||||
-
|
||||
-SOURCES += $$CLUCENEDIR/StdHeader.cpp \
|
||||
- $$CLUCENEDIR/analysis/AnalysisHeader.cpp \
|
||||
- $$CLUCENEDIR/analysis/Analyzers.cpp \
|
||||
- $$CLUCENEDIR/config/gunichartables.cpp \
|
||||
- $$CLUCENEDIR/config/repl_lltot.cpp \
|
||||
- $$CLUCENEDIR/config/repl_tcscasecmp.cpp \
|
||||
- $$CLUCENEDIR/config/repl_tcslwr.cpp \
|
||||
- $$CLUCENEDIR/config/repl_tcstod.cpp \
|
||||
- $$CLUCENEDIR/config/repl_tcstoll.cpp \
|
||||
- $$CLUCENEDIR/config/repl_tprintf.cpp \
|
||||
- $$CLUCENEDIR/config/threads.cpp \
|
||||
- $$CLUCENEDIR/config/utf8.cpp \
|
||||
- $$CLUCENEDIR/debug/condition.cpp \
|
||||
- $$CLUCENEDIR/debug/error.cpp \
|
||||
- $$CLUCENEDIR/debug/memtracking.cpp \
|
||||
- $$CLUCENEDIR/document/DateField.cpp \
|
||||
- $$CLUCENEDIR/document/Document.cpp \
|
||||
- $$CLUCENEDIR/document/Field.cpp \
|
||||
- $$CLUCENEDIR/index/CompoundFile.cpp \
|
||||
- $$CLUCENEDIR/index/DocumentWriter.cpp \
|
||||
- $$CLUCENEDIR/index/FieldInfos.cpp \
|
||||
- $$CLUCENEDIR/index/FieldsReader.cpp \
|
||||
- $$CLUCENEDIR/index/FieldsWriter.cpp \
|
||||
- $$CLUCENEDIR/index/IndexModifier.cpp \
|
||||
- $$CLUCENEDIR/index/IndexReader.cpp \
|
||||
- $$CLUCENEDIR/index/IndexWriter.cpp \
|
||||
- $$CLUCENEDIR/index/MultiReader.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentInfos.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentMergeInfo.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentMergeQueue.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentMerger.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentReader.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentTermDocs.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentTermEnum.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentTermPositions.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentTermVector.cpp \
|
||||
- $$CLUCENEDIR/index/Term.cpp \
|
||||
- $$CLUCENEDIR/index/TermInfo.cpp \
|
||||
- $$CLUCENEDIR/index/TermInfosReader.cpp \
|
||||
- $$CLUCENEDIR/index/TermInfosWriter.cpp \
|
||||
- $$CLUCENEDIR/index/TermVectorReader.cpp \
|
||||
- $$CLUCENEDIR/index/TermVectorWriter.cpp \
|
||||
- $$CLUCENEDIR/queryParser/Lexer.cpp \
|
||||
- $$CLUCENEDIR/queryParser/MultiFieldQueryParser.cpp \
|
||||
- $$CLUCENEDIR/queryParser/QueryParser.cpp \
|
||||
- $$CLUCENEDIR/queryParser/QueryParserBase.cpp \
|
||||
- $$CLUCENEDIR/queryParser/QueryToken.cpp \
|
||||
- $$CLUCENEDIR/queryParser/TokenList.cpp \
|
||||
- $$CLUCENEDIR/search/BooleanQuery.cpp \
|
||||
- $$CLUCENEDIR/search/BooleanScorer.cpp \
|
||||
- $$CLUCENEDIR/search/CachingWrapperFilter.cpp \
|
||||
- $$CLUCENEDIR/search/ChainedFilter.cpp \
|
||||
- $$CLUCENEDIR/search/ConjunctionScorer.cpp \
|
||||
- $$CLUCENEDIR/search/DateFilter.cpp \
|
||||
- $$CLUCENEDIR/search/ExactPhraseScorer.cpp \
|
||||
- $$CLUCENEDIR/search/Explanation.cpp \
|
||||
- $$CLUCENEDIR/search/FieldCache.cpp \
|
||||
- $$CLUCENEDIR/search/FieldCacheImpl.cpp \
|
||||
- $$CLUCENEDIR/search/FieldDocSortedHitQueue.cpp \
|
||||
- $$CLUCENEDIR/search/FieldSortedHitQueue.cpp \
|
||||
- $$CLUCENEDIR/search/FilteredTermEnum.cpp \
|
||||
- $$CLUCENEDIR/search/FuzzyQuery.cpp \
|
||||
- $$CLUCENEDIR/search/HitQueue.cpp \
|
||||
- $$CLUCENEDIR/search/Hits.cpp \
|
||||
- $$CLUCENEDIR/search/IndexSearcher.cpp \
|
||||
- $$CLUCENEDIR/search/MultiSearcher.cpp \
|
||||
- $$CLUCENEDIR/search/MultiTermQuery.cpp \
|
||||
- $$CLUCENEDIR/search/PhrasePositions.cpp \
|
||||
- $$CLUCENEDIR/search/PhraseQuery.cpp \
|
||||
- $$CLUCENEDIR/search/PhraseScorer.cpp \
|
||||
- $$CLUCENEDIR/search/PrefixQuery.cpp \
|
||||
- $$CLUCENEDIR/search/QueryFilter.cpp \
|
||||
- $$CLUCENEDIR/search/RangeFilter.cpp \
|
||||
- $$CLUCENEDIR/search/RangeQuery.cpp \
|
||||
- $$CLUCENEDIR/search/SearchHeader.cpp \
|
||||
- $$CLUCENEDIR/search/Similarity.cpp \
|
||||
- $$CLUCENEDIR/search/SloppyPhraseScorer.cpp \
|
||||
- $$CLUCENEDIR/search/Sort.cpp \
|
||||
- $$CLUCENEDIR/search/TermQuery.cpp \
|
||||
- $$CLUCENEDIR/search/TermScorer.cpp \
|
||||
- $$CLUCENEDIR/search/WildcardQuery.cpp \
|
||||
- $$CLUCENEDIR/search/WildcardTermEnum.cpp \
|
||||
- $$CLUCENEDIR/store/FSDirectory.cpp \
|
||||
- $$CLUCENEDIR/store/IndexInput.cpp \
|
||||
- $$CLUCENEDIR/store/IndexOutput.cpp \
|
||||
- $$CLUCENEDIR/store/Lock.cpp \
|
||||
- $$CLUCENEDIR/store/MMapInput.cpp \
|
||||
- $$CLUCENEDIR/store/RAMDirectory.cpp \
|
||||
- $$CLUCENEDIR/store/TransactionalRAMDirectory.cpp \
|
||||
- $$CLUCENEDIR/util/BitSet.cpp \
|
||||
- $$CLUCENEDIR/util/Equators.cpp \
|
||||
- $$CLUCENEDIR/util/FastCharStream.cpp \
|
||||
- $$CLUCENEDIR/util/fileinputstream.cpp \
|
||||
- $$CLUCENEDIR/util/Misc.cpp \
|
||||
- $$CLUCENEDIR/util/Reader.cpp \
|
||||
- $$CLUCENEDIR/util/StringBuffer.cpp \
|
||||
- $$CLUCENEDIR/util/StringIntern.cpp \
|
||||
- $$CLUCENEDIR/util/ThreadLocal.cpp \
|
||||
- $$CLUCENEDIR/analysis/standard/StandardAnalyzer.cpp \
|
||||
- $$CLUCENEDIR/analysis/standard/StandardFilter.cpp \
|
||||
- $$CLUCENEDIR/analysis/standard/StandardTokenizer.cpp
|
||||
|
||||
+INCLUDEPATH += /usr/include/clucene09 $$[QT_INSTALL_LIBS]/clucene09 $$[QT_INSTALL_LIBS]
|
||||
+LIBS += -L$$[QT_INSTALL_LIBS]/clucene09 -lclucene
|
||||
+#DEFINES += LUCENE_ENABLE_REFCOUNT (must be set at CLucene build time!)
|
||||
|
||||
#Header files
|
||||
HEADERS += qclucene_global_p.h \
|
||||
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene-config_p.h qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene-config_p.h
|
||||
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene-config_p.h 2014-04-10 20:37:12.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene-config_p.h 2014-10-26 02:28:54.000000000 +0100
|
||||
@@ -15,6 +15,8 @@
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
+#error This header must not be included when building against system CLucene.
|
||||
+
|
||||
#ifndef QCLUCENE_CONFIG_P_H
|
||||
#define QCLUCENE_CONFIG_P_H
|
||||
|
||||
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene_global_p.h qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene_global_p.h
|
||||
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene_global_p.h 2014-04-10 20:37:12.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene_global_p.h 2014-10-26 02:31:54.000000000 +0100
|
||||
@@ -29,20 +29,10 @@
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
-#if !defined(_MSC_VER)
|
||||
-# include "qclucene-config_p.h"
|
||||
-#endif
|
||||
-
|
||||
#include <QtCore/QChar>
|
||||
#include <QtCore/QString>
|
||||
|
||||
-#if !defined(_MSC_VER) && !defined(__MINGW32__) && defined(_CL_HAVE_WCHAR_H) && defined(_CL_HAVE_WCHAR_T)
|
||||
-# if !defined(TCHAR)
|
||||
-# define TCHAR wchar_t
|
||||
-# endif
|
||||
-#else
|
||||
-# include <windows.h>
|
||||
-#endif
|
||||
+#include <CLucene/StdHeader.h>
|
||||
|
||||
QT_BEGIN_HEADER
|
||||
|
||||
@@ -56,52 +46,6 @@
|
||||
# define QHELP_EXPORT Q_DECL_IMPORT
|
||||
#endif
|
||||
|
||||
-//
|
||||
-// W A R N I N G
|
||||
-// -------------
|
||||
-//
|
||||
-// adjustments here, need to be done in
|
||||
-// QTDIR/src/3rdparty/clucene/src/CLucene/StdHeader.h as well
|
||||
-//
|
||||
-#if defined(_LUCENE_DONTIMPLEMENT_NS_MACROS)
|
||||
-
|
||||
-#elif !defined(DISABLE_NAMESPACE)
|
||||
-# ifdef QT_NAMESPACE
|
||||
-# define CL_NS_DEF(sub) namespace QT_NAMESPACE { namespace lucene{ namespace sub{
|
||||
-# define CL_NS_DEF2(sub,sub2) namespace QT_NAMESPACE { namespace lucene{ namespace sub{ namespace sub2 {
|
||||
-
|
||||
-# define CL_NS_END }}}
|
||||
-# define CL_NS_END2 }}}}
|
||||
-
|
||||
-# define CL_NS_USE(sub) using namespace QT_NAMESPACE::lucene::sub;
|
||||
-# define CL_NS_USE2(sub,sub2) using namespace QT_NAMESPACE::lucene::sub::sub2;
|
||||
-
|
||||
-# define CL_NS(sub) QT_NAMESPACE::lucene::sub
|
||||
-# define CL_NS2(sub,sub2) QT_NAMESPACE::lucene::sub::sub2
|
||||
-# else
|
||||
-# define CL_NS_DEF(sub) namespace lucene{ namespace sub{
|
||||
-# define CL_NS_DEF2(sub,sub2) namespace lucene{ namespace sub{ namespace sub2 {
|
||||
-
|
||||
-# define CL_NS_END }}
|
||||
-# define CL_NS_END2 }}}
|
||||
-
|
||||
-# define CL_NS_USE(sub) using namespace lucene::sub;
|
||||
-# define CL_NS_USE2(sub,sub2) using namespace lucene::sub::sub2;
|
||||
-
|
||||
-# define CL_NS(sub) lucene::sub
|
||||
-# define CL_NS2(sub,sub2) lucene::sub::sub2
|
||||
-# endif
|
||||
-#else
|
||||
-# define CL_NS_DEF(sub)
|
||||
-# define CL_NS_DEF2(sub, sub2)
|
||||
-# define CL_NS_END
|
||||
-# define CL_NS_END2
|
||||
-# define CL_NS_USE(sub)
|
||||
-# define CL_NS_USE2(sub,sub2)
|
||||
-# define CL_NS(sub)
|
||||
-# define CL_NS2(sub,sub2)
|
||||
-#endif
|
||||
-
|
||||
namespace {
|
||||
TCHAR* QStringToTChar(const QString &str)
|
||||
{
|
||||
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexreader.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexreader.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexreader.cpp 2014-04-10 20:37:12.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexreader.cpp 2014-10-26 02:48:02.000000000 +0100
|
||||
@@ -18,6 +18,8 @@
|
||||
#include "qindexreader_p.h"
|
||||
#include "qclucene_global_p.h"
|
||||
|
||||
+#include <QtCore/QDir>
|
||||
+
|
||||
#include <CLucene.h>
|
||||
#include <CLucene/index/IndexReader.h>
|
||||
|
||||
@@ -59,13 +61,13 @@
|
||||
{
|
||||
using namespace lucene::index;
|
||||
|
||||
- return IndexReader::isLuceneFile(filename);
|
||||
+ return IndexReader::isLuceneFile(filename.toLocal8Bit().constData());
|
||||
}
|
||||
|
||||
bool QCLuceneIndexReader::indexExists(const QString &directory)
|
||||
{
|
||||
using namespace lucene::index;
|
||||
- return IndexReader::indexExists(directory);
|
||||
+ return IndexReader::indexExists(directory.toLocal8Bit().constData());
|
||||
}
|
||||
|
||||
QCLuceneIndexReader QCLuceneIndexReader::open(const QString &path)
|
||||
@@ -73,7 +75,7 @@
|
||||
using namespace lucene::index;
|
||||
|
||||
QCLuceneIndexReader indexReader;
|
||||
- indexReader.d->reader = IndexReader::open(path);
|
||||
+ indexReader.d->reader = IndexReader::open(path.toLocal8Bit().constData());
|
||||
|
||||
return indexReader;
|
||||
}
|
||||
@@ -81,25 +83,29 @@
|
||||
void QCLuceneIndexReader::unlock(const QString &path)
|
||||
{
|
||||
using namespace lucene::index;
|
||||
- IndexReader::unlock(path);
|
||||
+ IndexReader::unlock(path.toLocal8Bit().constData());
|
||||
}
|
||||
|
||||
bool QCLuceneIndexReader::isLocked(const QString &directory)
|
||||
{
|
||||
+ // The system CLucene fails here if the directory does not exist yet, unlike
|
||||
+ // the bundled one. Work around that.
|
||||
+ QDir::current().mkpath(directory);
|
||||
+
|
||||
using namespace lucene::index;
|
||||
- return IndexReader::isLocked(directory);
|
||||
+ return IndexReader::isLocked(directory.toLocal8Bit().constData());
|
||||
}
|
||||
|
||||
quint64 QCLuceneIndexReader::lastModified(const QString &directory)
|
||||
{
|
||||
using namespace lucene::index;
|
||||
- return quint64(IndexReader::lastModified(directory));
|
||||
+ return quint64(IndexReader::lastModified(directory.toLocal8Bit().constData()));
|
||||
}
|
||||
|
||||
qint64 QCLuceneIndexReader::getCurrentVersion(const QString &directory)
|
||||
{
|
||||
using namespace lucene::index;
|
||||
- return qint64(IndexReader::getCurrentVersion(directory));
|
||||
+ return qint64(IndexReader::getCurrentVersion(directory.toLocal8Bit().constData()));
|
||||
}
|
||||
|
||||
void QCLuceneIndexReader::close()
|
||||
@@ -155,7 +161,7 @@
|
||||
void QCLuceneIndexReader::setNorm(qint32 doc, const QString &field, qreal value)
|
||||
{
|
||||
TCHAR *fieldName = QStringToTChar(field);
|
||||
- d->reader->setNorm(int32_t(doc), fieldName, qreal(value));
|
||||
+ d->reader->setNorm(int32_t(doc), fieldName, (float_t)value);
|
||||
delete [] fieldName;
|
||||
}
|
||||
|
||||
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexwriter.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexwriter.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexwriter.cpp 2014-04-10 20:37:12.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexwriter.cpp 2014-10-26 02:48:27.000000000 +0100
|
||||
@@ -18,6 +18,8 @@
|
||||
#include "qindexwriter_p.h"
|
||||
#include "qindexreader_p.h"
|
||||
|
||||
+#include <QtCore/QDir>
|
||||
+
|
||||
#include <CLucene.h>
|
||||
#include <CLucene/index/IndexWriter.h>
|
||||
|
||||
@@ -50,7 +52,12 @@
|
||||
: d(new QCLuceneIndexWriterPrivate())
|
||||
, analyzer(analyzer)
|
||||
{
|
||||
- d->writer = new lucene::index::IndexWriter(path,
|
||||
+ // The system CLucene cannot create directories recursively, so do it here.
|
||||
+ // Ignore failure: If it failed, we will get an error from CLucene anyway.
|
||||
+ if (create)
|
||||
+ QDir::current().mkpath(path);
|
||||
+
|
||||
+ d->writer = new lucene::index::IndexWriter(path.toLocal8Bit().constData(),
|
||||
analyzer.d->analyzer, create, closeDir);
|
||||
}
|
||||
|
||||
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qsearchable.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qsearchable.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qsearchable.cpp 2014-04-10 20:37:12.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qsearchable.cpp 2014-10-26 02:48:44.000000000 +0100
|
||||
@@ -95,7 +95,7 @@
|
||||
: QCLuceneSearcher()
|
||||
{
|
||||
lucene::search::IndexSearcher *searcher =
|
||||
- new lucene::search::IndexSearcher(path);
|
||||
+ new lucene::search::IndexSearcher(path.toLocal8Bit().constData());
|
||||
|
||||
reader.d->reader = searcher->getReader();
|
||||
reader.d->deleteCLuceneIndexReader = false;
|
||||
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/lib.pro qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/lib.pro
|
||||
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/lib.pro 2014-04-10 20:37:12.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/lib.pro 2014-10-26 02:27:55.000000000 +0100
|
||||
@@ -43,6 +43,7 @@
|
||||
qhelp_global.cpp
|
||||
|
||||
# access to clucene
|
||||
+INCLUDEPATH += /usr/include/clucene09 $$[QT_INSTALL_LIBS]/clucene09 $$[QT_INSTALL_LIBS]
|
||||
SOURCES += qhelpsearchindexwriter_clucene.cpp \
|
||||
qhelpsearchindexreader_clucene.cpp
|
||||
HEADERS += qhelpenginecore.h \
|
1456
qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch
Normal file
1456
qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch
Normal file
File diff suppressed because it is too large
Load Diff
12
qt-everywhere-opensource-src-4.8.7-QT_VERSION_CHECK.patch
Normal file
12
qt-everywhere-opensource-src-4.8.7-QT_VERSION_CHECK.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h.majmin qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h.majmin 2015-05-07 09:14:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h 2016-12-08 12:10:29.677359701 -0600
|
||||
@@ -52,7 +52,7 @@
|
||||
/*
|
||||
can be used like #if (QT_VERSION >= QT_VERSION_CHECK(4, 4, 0))
|
||||
*/
|
||||
-#define QT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch))
|
||||
+#define QT_VERSION_CHECK(qt_version_check_major, qt_version_check_minor, qt_version_check_patch) ((qt_version_check_major<<16)|(qt_version_check_minor<<8)|(qt_version_check_patch))
|
||||
|
||||
#define QT_PACKAGEDATE_STR "2015-05-07"
|
||||
|
12
qt-everywhere-opensource-src-4.8.7-alsa-1.1.patch
Normal file
12
qt-everywhere-opensource-src-4.8.7-alsa-1.1.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp.than qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp.than 2016-02-10 16:31:02.450152334 +0100
|
||||
+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp 2016-02-10 16:31:51.495307579 +0100
|
||||
@@ -40,7 +40,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include <alsa/asoundlib.h>
|
||||
-#if(!(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 10))
|
||||
+#if(!(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 10)))
|
||||
#error "Alsa version found too old, require >= 1.0.10"
|
||||
#endif
|
||||
|
45
qt-everywhere-opensource-src-4.8.7-firebird.patch
Normal file
45
qt-everywhere-opensource-src-4.8.7-firebird.patch
Normal file
@ -0,0 +1,45 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp.ibase qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp.ibase 2015-05-07 09:14:42.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp 2016-11-30 10:55:05.825339674 -0600
|
||||
@@ -39,7 +39,7 @@
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
-#include <ibase.h>
|
||||
+#include <firebird/ibase.h>
|
||||
|
||||
int main(int, char **)
|
||||
{
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro.ibase qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro
|
||||
--- qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro.ibase 2015-05-07 09:14:42.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro 2016-11-30 10:56:11.017740104 -0600
|
||||
@@ -1,4 +1,4 @@
|
||||
SOURCES = ibase.cpp
|
||||
CONFIG -= qt dylib
|
||||
mac:CONFIG -= app_bundle
|
||||
-LIBS += -lgds
|
||||
+LIBS += -lfbclient
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h.ibase qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h.ibase 2015-05-07 09:14:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h 2016-11-30 10:57:34.516252974 -0600
|
||||
@@ -45,7 +45,7 @@
|
||||
#include <QtSql/qsqlresult.h>
|
||||
#include <QtSql/qsqldriver.h>
|
||||
#include <QtSql/private/qsqlcachedresult_p.h>
|
||||
-#include <ibase.h>
|
||||
+#include <firebird/ibase.h>
|
||||
|
||||
QT_BEGIN_HEADER
|
||||
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri.ibase qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri.ibase 2015-05-07 09:14:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri 2016-11-30 10:57:11.783113341 -0600
|
||||
@@ -2,7 +2,7 @@ HEADERS += $$PWD/qsql_ibase.h
|
||||
SOURCES += $$PWD/qsql_ibase.cpp
|
||||
|
||||
unix {
|
||||
- !contains(LIBS, .*gds.*):!contains(LIBS, .*libfb.*):LIBS += -lgds
|
||||
+ !contains(LIBS, .*gds.*):!contains(LIBS, .*libfb.*):LIBS += -lfbclient
|
||||
} else {
|
||||
!contains(LIBS, .*gds.*):!contains(LIBS, .*fbclient.*) {
|
||||
win32-borland:LIBS += gds32.lib
|
35
qt-everywhere-opensource-src-4.8.7-gcc6.patch
Normal file
35
qt-everywhere-opensource-src-4.8.7-gcc6.patch
Normal file
@ -0,0 +1,35 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/configure.gcc6 qt-everywhere-opensource-src-4.8.7/configure
|
||||
--- qt-everywhere-opensource-src-4.8.7/configure.gcc6 2016-04-15 07:04:19.430268222 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/configure 2016-04-15 07:05:22.157568689 -0500
|
||||
@@ -7744,7 +7744,7 @@ case "$XPLATFORM" in
|
||||
*-g++*)
|
||||
# Check gcc's version
|
||||
case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
|
||||
- 5*|4*|3.4*)
|
||||
+ 8*|7*|6*|5*|4*|3.4*)
|
||||
;;
|
||||
3.3*)
|
||||
canBuildWebKit="no"
|
||||
@@ -8060,7 +8060,7 @@ g++*)
|
||||
3.*)
|
||||
COMPILER_VERSION="3.*"
|
||||
;;
|
||||
- 5*|4.*)
|
||||
+ 8*|7*|6*|5*|4.*)
|
||||
COMPILER_VERSION="4"
|
||||
;;
|
||||
*)
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.gcc6 qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.gcc6 2015-05-07 09:14:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h 2016-04-15 07:04:19.431268227 -0500
|
||||
@@ -70,8 +70,8 @@ namespace QPatternist
|
||||
ForegroundShift = 10,
|
||||
BackgroundShift = 20,
|
||||
SpecialShift = 20,
|
||||
- ForegroundMask = ((1 << ForegroundShift) - 1) << ForegroundShift,
|
||||
- BackgroundMask = ((1 << BackgroundShift) - 1) << BackgroundShift
|
||||
+ ForegroundMask = 0x1f << ForegroundShift,
|
||||
+ BackgroundMask = 0x7 << BackgroundShift
|
||||
};
|
||||
|
||||
public:
|
13
qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch
Normal file
13
qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/script/script.pro.gcc8 qt-everywhere-opensource-src-4.8.7/src/script/script.pro
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/script/script.pro.gcc8 2015-05-07 09:14:43.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/script/script.pro 2018-05-19 16:01:24.699926959 -0500
|
||||
@@ -91,6 +91,9 @@ symbian {
|
||||
TARGET.UID3=0x2001B2E1
|
||||
}
|
||||
|
||||
+# hack around gcc8 optimization bug with -O2
|
||||
+QMAKE_CXXFLAGS_RELEASE += -O1
|
||||
+
|
||||
symbian {
|
||||
symbian-abld|symbian-sbsv2 {
|
||||
MMP_RULES += ALWAYS_BUILD_AS_ARM
|
28
qt-everywhere-opensource-src-4.8.7-icu59.patch
Normal file
28
qt-everywhere-opensource-src-4.8.7-icu59.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From: Fabian Vogt <fabian@ritter-vogt.de>
|
||||
Subject: Fix build with ICU >= 59
|
||||
|
||||
ICU >= 59 requires C++11 for its header files.
|
||||
Qt can't be compiled with -std=c++11 as a whole, so only enable
|
||||
it for qlocale_icu.cpp.
|
||||
|
||||
Index: qt-everywhere-opensource-src-4.8.7/src/corelib/tools/tools.pri
|
||||
===================================================================
|
||||
--- qt-everywhere-opensource-src-4.8.7.orig/src/corelib/tools/tools.pri
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/corelib/tools/tools.pri
|
||||
@@ -102,7 +102,15 @@ contains(QT_CONFIG, zlib):include($$PWD/
|
||||
else:include($$PWD/../../3rdparty/zlib_dependency.pri)
|
||||
|
||||
contains(QT_CONFIG,icu) {
|
||||
- SOURCES += tools/qlocale_icu.cpp
|
||||
+ cpp11.name = cpp11
|
||||
+ cpp11.input = SOURCES_CPP11
|
||||
+ cpp11.dependency_type = TYPE_C
|
||||
+ cpp11.variable_out = OBJECTS
|
||||
+ cpp11.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_IN_BASE}$${first(QMAKE_EXT_OBJ)}
|
||||
+ cpp11.commands = $${QMAKE_CXX} $(CXXFLAGS) -std=c++11 $(INCPATH) -c ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
|
||||
+ QMAKE_EXTRA_COMPILERS += cpp11
|
||||
+
|
||||
+ SOURCES_CPP11 += tools/qlocale_icu.cpp
|
||||
DEFINES += QT_USE_ICU
|
||||
}
|
||||
|
28
qt-everywhere-opensource-src-4.8.7-mariadb.patch
Normal file
28
qt-everywhere-opensource-src-4.8.7-mariadb.patch
Normal file
@ -0,0 +1,28 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp.mariadb qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp.mariadb 2015-05-07 09:14:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp 2017-10-23 14:13:15.871808984 -0500
|
||||
@@ -1105,11 +1105,16 @@ static void qLibraryInit()
|
||||
}
|
||||
# endif // MYSQL_VERSION_ID
|
||||
#endif // Q_NO_MYSQL_EMBEDDED
|
||||
+
|
||||
+#if defined(MARIADB_BASE_VERSION) || defined(MARIADB_VERSION_ID)
|
||||
+ qAddPostRoutine(mysql_server_end);
|
||||
+#endif
|
||||
}
|
||||
|
||||
static void qLibraryEnd()
|
||||
{
|
||||
#ifndef Q_NO_MYSQL_EMBEDDED
|
||||
+#if !defined(MARIADB_BASE_VERSION) && !defined(MARIADB_VERSION_ID)
|
||||
# if MYSQL_VERSION_ID > 40000
|
||||
# if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003
|
||||
mysql_library_end();
|
||||
@@ -1118,6 +1123,7 @@ static void qLibraryEnd()
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
+#endif
|
||||
}
|
||||
|
||||
QMYSQLDriver::QMYSQLDriver(QObject * parent)
|
13
qt-everywhere-opensource-src-4.8.7-mips64.patch
Normal file
13
qt-everywhere-opensource-src-4.8.7-mips64.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff -urp qt-everywhere-opensource-src-4.8.7/configure q/configure
|
||||
--- qt-everywhere-opensource-src-4.8.7/configure 2016-04-03 16:49:50.218644449 +0200
|
||||
+++ q/configure 2016-04-03 17:22:35.376405024 +0200
|
||||
@@ -3331,6 +3331,9 @@ arm*)
|
||||
CFG_ARCH=arm
|
||||
COMPAT_ARCH=armv6
|
||||
;;
|
||||
+mips*)
|
||||
+ CFG_ARCH=mips
|
||||
+ ;;
|
||||
esac
|
||||
|
||||
if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
|
694
qt-everywhere-opensource-src-4.8.7-openssl-1.1.patch
Normal file
694
qt-everywhere-opensource-src-4.8.7-openssl-1.1.patch
Normal file
@ -0,0 +1,694 @@
|
||||
diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslcertificate.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslcertificate.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslcertificate.cpp 2015-05-07 16:14:44.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslcertificate.cpp 2018-01-05 17:44:16.997588265 +0100
|
||||
@@ -259,10 +259,10 @@
|
||||
QByteArray QSslCertificate::version() const
|
||||
{
|
||||
QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
|
||||
- if (d->versionString.isEmpty() && d->x509)
|
||||
+ if (d->versionString.isEmpty() && d->x509) {
|
||||
d->versionString =
|
||||
- QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1);
|
||||
-
|
||||
+ QByteArray::number(qlonglong(q_X509_get_version(d->x509)) + 1);
|
||||
+ }
|
||||
return d->versionString;
|
||||
}
|
||||
|
||||
@@ -276,7 +276,7 @@
|
||||
{
|
||||
QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
|
||||
if (d->serialNumberString.isEmpty() && d->x509) {
|
||||
- ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
|
||||
+ ASN1_INTEGER *serialNumber = q_X509_get_serialNumber(d->x509);
|
||||
// if we cannot convert to a long, just output the hexadecimal number
|
||||
if (serialNumber->length > 4) {
|
||||
QByteArray hexString;
|
||||
@@ -489,24 +489,33 @@
|
||||
QSslKey key;
|
||||
|
||||
key.d->type = QSsl::PublicKey;
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
X509_PUBKEY *xkey = d->x509->cert_info->key;
|
||||
+#else
|
||||
+ X509_PUBKEY *xkey = q_X509_get_X509_PUBKEY(d->x509);
|
||||
+#endif
|
||||
EVP_PKEY *pkey = q_X509_PUBKEY_get(xkey);
|
||||
Q_ASSERT(pkey);
|
||||
|
||||
- if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) {
|
||||
+ int key_id;
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+ key_id = q_EVP_PKEY_type(pkey->type);
|
||||
+#else
|
||||
+ key_id = q_EVP_PKEY_base_id(pkey);
|
||||
+#endif
|
||||
+ if (key_id == EVP_PKEY_RSA) {
|
||||
key.d->rsa = q_EVP_PKEY_get1_RSA(pkey);
|
||||
key.d->algorithm = QSsl::Rsa;
|
||||
key.d->isNull = false;
|
||||
- } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) {
|
||||
+ } else if (key_id == EVP_PKEY_DSA) {
|
||||
key.d->dsa = q_EVP_PKEY_get1_DSA(pkey);
|
||||
key.d->algorithm = QSsl::Dsa;
|
||||
key.d->isNull = false;
|
||||
- } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) {
|
||||
+ } else if (key_id == EVP_PKEY_DH) {
|
||||
// DH unsupported
|
||||
} else {
|
||||
// error?
|
||||
}
|
||||
-
|
||||
q_EVP_PKEY_free(pkey);
|
||||
return key;
|
||||
}
|
||||
@@ -687,7 +696,11 @@
|
||||
unsigned char *data = 0;
|
||||
int size = q_ASN1_STRING_to_UTF8(&data, q_X509_NAME_ENTRY_get_data(e));
|
||||
info[QString::fromUtf8(obj)] = QString::fromUtf8((char*)data, size);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
q_CRYPTO_free(data);
|
||||
+#else
|
||||
+ q_CRYPTO_free(data, __FILE__, __LINE__);
|
||||
+#endif
|
||||
}
|
||||
return info;
|
||||
}
|
||||
diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslkey.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslkey.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslkey.cpp 2015-05-07 16:14:44.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslkey.cpp 2018-01-05 18:00:27.453937599 +0100
|
||||
@@ -321,8 +321,19 @@
|
||||
{
|
||||
if (d->isNull)
|
||||
return -1;
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
return (d->algorithm == QSsl::Rsa)
|
||||
? q_BN_num_bits(d->rsa->n) : q_BN_num_bits(d->dsa->p);
|
||||
+#else
|
||||
+ if (d->algorithm == QSsl::Rsa) {
|
||||
+ return q_RSA_bits(d->rsa);
|
||||
+ } else {
|
||||
+ const BIGNUM *p = (const BIGNUM *) NULL;
|
||||
+ q_DSA_get0_pqg(d->dsa, &p, (const BIGNUM **) NULL, (const BIGNUM **) NULL);
|
||||
+ return q_BN_num_bits(p);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
}
|
||||
|
||||
/*!
|
||||
diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp 2015-05-07 16:14:44.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl.cpp 2018-01-05 12:06:06.336990956 +0100
|
||||
@@ -93,6 +93,7 @@
|
||||
bool QSslSocketPrivate::s_loadedCiphersAndCerts = false;
|
||||
bool QSslSocketPrivate::s_loadRootCertsOnDemand = false;
|
||||
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
/* \internal
|
||||
|
||||
From OpenSSL's thread(3) manual page:
|
||||
@@ -174,6 +175,8 @@
|
||||
}
|
||||
} // extern "C"
|
||||
|
||||
+#endif //OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
+
|
||||
QSslSocketBackendPrivate::QSslSocketBackendPrivate()
|
||||
: ssl(0),
|
||||
ctx(0),
|
||||
@@ -222,9 +225,12 @@
|
||||
ciph.d->encryptionMethod = descriptionList.at(4).mid(4);
|
||||
ciph.d->exportable = (descriptionList.size() > 6 && descriptionList.at(6) == QLatin1String("export"));
|
||||
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
ciph.d->bits = cipher->strength_bits;
|
||||
ciph.d->supportedBits = cipher->alg_bits;
|
||||
-
|
||||
+#else
|
||||
+ ciph.d->bits = q_SSL_CIPHER_get_bits(cipher, &ciph.d->supportedBits);
|
||||
+#endif
|
||||
}
|
||||
return ciph;
|
||||
}
|
||||
@@ -363,7 +369,7 @@
|
||||
//
|
||||
// See also: QSslContext::fromConfiguration()
|
||||
if (caCertificate.expiryDate() >= QDateTime::currentDateTime()) {
|
||||
- q_X509_STORE_add_cert(ctx->cert_store, (X509 *)caCertificate.handle());
|
||||
+ q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(ctx), (X509 *)caCertificate.handle());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -500,8 +506,10 @@
|
||||
*/
|
||||
void QSslSocketPrivate::deinitialize()
|
||||
{
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
q_CRYPTO_set_id_callback(0);
|
||||
q_CRYPTO_set_locking_callback(0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -522,13 +530,17 @@
|
||||
return false;
|
||||
|
||||
// Check if the library itself needs to be initialized.
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
QMutexLocker locker(openssl_locks()->initLock());
|
||||
+#endif
|
||||
if (!s_libraryLoaded) {
|
||||
s_libraryLoaded = true;
|
||||
|
||||
// Initialize OpenSSL.
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
q_CRYPTO_set_id_callback(id_function);
|
||||
q_CRYPTO_set_locking_callback(locking_function);
|
||||
+#endif
|
||||
if (q_SSL_library_init() != 1)
|
||||
return false;
|
||||
q_SSL_load_error_strings();
|
||||
@@ -567,7 +579,9 @@
|
||||
|
||||
void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
|
||||
{
|
||||
- QMutexLocker locker(openssl_locks()->initLock());
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+ QMutexLocker locker(openssl_locks()->initLock());
|
||||
+#endif
|
||||
if (s_loadedCiphersAndCerts)
|
||||
return;
|
||||
s_loadedCiphersAndCerts = true;
|
||||
@@ -659,13 +673,18 @@
|
||||
STACK_OF(SSL_CIPHER) *supportedCiphers = q_SSL_get_ciphers(mySsl);
|
||||
for (int i = 0; i < q_sk_SSL_CIPHER_num(supportedCiphers); ++i) {
|
||||
if (SSL_CIPHER *cipher = q_sk_SSL_CIPHER_value(supportedCiphers, i)) {
|
||||
- if (cipher->valid) {
|
||||
+
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+ if (cipher->valid) {
|
||||
+#endif
|
||||
QSslCipher ciph = QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(cipher);
|
||||
if (!ciph.isNull()) {
|
||||
if (!ciph.name().toLower().startsWith(QLatin1String("adh")))
|
||||
ciphers << ciph;
|
||||
}
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
}
|
||||
|
||||
diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_p.h qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_p.h
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_p.h 2015-05-07 16:14:44.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_p.h 2018-01-05 12:06:06.337990940 +0100
|
||||
@@ -84,6 +84,10 @@
|
||||
#include <openssl/tls1.h>
|
||||
#endif
|
||||
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
+#define OPENSSL_NO_SSL2
|
||||
+#endif
|
||||
+
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
typedef _STACK STACK;
|
||||
#endif
|
||||
diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp 2015-05-07 16:14:44.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols.cpp 2018-01-05 17:59:10.636973932 +0100
|
||||
@@ -111,16 +111,30 @@
|
||||
DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return);
|
||||
DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return)
|
||||
DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return)
|
||||
+#else
|
||||
+DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return)
|
||||
+#endif
|
||||
DEFINEFUNC2(BIO *, BIO_new_mem_buf, void *a, a, int b, b, return 0, return)
|
||||
DEFINEFUNC3(int, BIO_read, BIO *a, a, void *b, b, int c, c, return -1, return)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
|
||||
+#else
|
||||
+DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
|
||||
+#endif
|
||||
DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return)
|
||||
DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
|
||||
DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG)
|
||||
DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG)
|
||||
+#endif
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG)
|
||||
+#else
|
||||
+DEFINEFUNC3(void, CRYPTO_free, void *a, a, const char *b, b, int c, c, return, DUMMYARG)
|
||||
+#endif
|
||||
DEFINEFUNC(void, DSA_free, DSA *a, a, return, DUMMYARG)
|
||||
#if OPENSSL_VERSION_NUMBER < 0x00908000L
|
||||
DEFINEFUNC3(X509 *, d2i_X509, X509 **a, a, unsigned char **b, b, long c, c, return 0, return)
|
||||
@@ -157,6 +171,7 @@
|
||||
DEFINEFUNC2(void, RAND_seed, const void *a, a, int b, b, return, DUMMYARG)
|
||||
DEFINEFUNC(int, RAND_status, void, DUMMYARG, return -1, return)
|
||||
DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
|
||||
DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
@@ -166,6 +181,12 @@
|
||||
DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG)
|
||||
DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return)
|
||||
#endif
|
||||
+#else
|
||||
+DEFINEFUNC(int, OPENSSL_sk_num, STACK *a, a, return -1, return)
|
||||
+DEFINEFUNC2(void, OPENSSL_sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
|
||||
+DEFINEFUNC(void, OPENSSL_sk_free, _STACK *a, a, return, DUMMYARG)
|
||||
+DEFINEFUNC2(void *, OPENSSL_sk_value, STACK *a, a, int b, b, return 0, return)
|
||||
+#endif
|
||||
DEFINEFUNC(int, SSL_accept, SSL *a, a, return -1, return)
|
||||
DEFINEFUNC(int, SSL_clear, SSL *a, a, return -1, return)
|
||||
DEFINEFUNC3(char *, SSL_CIPHER_description, SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
|
||||
@@ -213,8 +234,12 @@
|
||||
#else
|
||||
DEFINEFUNC(long, SSL_get_verify_result, SSL *a, a, return -1, return)
|
||||
#endif
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return)
|
||||
DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG)
|
||||
+#else
|
||||
+DEFINEFUNC2(int, OPENSSL_init_ssl, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return -1, return)
|
||||
+#endif
|
||||
DEFINEFUNC(SSL *, SSL_new, SSL_CTX *a, a, return 0, return)
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
|
||||
DEFINEFUNC4(long, SSL_ctrl, SSL *a, a, int cmd, cmd, long larg, larg, void *parg, parg, return -1, return)
|
||||
@@ -229,13 +254,21 @@
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
#endif
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+#else
|
||||
+DEFINEFUNC(const SSL_METHOD *, TLS_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+#endif
|
||||
DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
#ifndef OPENSSL_NO_SSL2
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
#endif
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+#else
|
||||
+DEFINEFUNC(const SSL_METHOD *, TLS_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+#endif
|
||||
DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
#else
|
||||
DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
@@ -274,7 +307,11 @@
|
||||
DEFINEFUNC(int, X509_STORE_CTX_get_error, X509_STORE_CTX *a, a, return -1, return)
|
||||
DEFINEFUNC(int, X509_STORE_CTX_get_error_depth, X509_STORE_CTX *a, a, return -1, return)
|
||||
DEFINEFUNC(X509 *, X509_STORE_CTX_get_current_cert, X509_STORE_CTX *a, a, return 0, return)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return)
|
||||
+#else
|
||||
+DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get0_chain, X509_STORE_CTX *a, a, return 0, return)
|
||||
+#endif
|
||||
DEFINEFUNC(X509_STORE_CTX *, X509_STORE_CTX_new, DUMMYARG, DUMMYARG, return 0, return)
|
||||
#ifdef SSLEAY_MACROS
|
||||
DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return)
|
||||
@@ -282,10 +319,34 @@
|
||||
DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return)
|
||||
DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return)
|
||||
#endif
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG)
|
||||
DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG)
|
||||
+#else
|
||||
+DEFINEFUNC2(int, OPENSSL_init_crypto, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return -1, return)
|
||||
+#endif
|
||||
DEFINEFUNC3(int, SSL_CTX_load_verify_locations, SSL_CTX *ctx, ctx, const char *CAfile, CAfile, const char *CApath, CApath, return 0, return)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return)
|
||||
+#else
|
||||
+DEFINEFUNC(unsigned long, OpenSSL_version_num, void, DUMMYARG, return 0, return)
|
||||
+#endif
|
||||
+DEFINEFUNC(X509_STORE *, SSL_CTX_get_cert_store, const SSL_CTX *ctx, ctx, return 0, return)
|
||||
+
|
||||
+DEFINEFUNC(ASN1_INTEGER *, X509_get_serialNumber, X509 *x, x, return 0, return)
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
+DEFINEFUNC(int, EVP_PKEY_id, const EVP_PKEY *pkey, pkey, return 0, return)
|
||||
+DEFINEFUNC(int, EVP_PKEY_base_id, const EVP_PKEY *pkey, pkey, return 0, return)
|
||||
+DEFINEFUNC2(int, SSL_CIPHER_get_bits, const SSL_CIPHER *cipher, cipher, int *alg_bits, alg_bits, return 0, return)
|
||||
+DEFINEFUNC2(long, SSL_CTX_set_options, SSL_CTX *ctx, ctx, long options, options, return 0, return)
|
||||
+DEFINEFUNC(long, X509_get_version, X509 *x, x, return 0, return)
|
||||
+DEFINEFUNC(X509_PUBKEY *, X509_get_X509_PUBKEY, X509 *x, x, return 0, return)
|
||||
+DEFINEFUNC(int, RSA_bits, const RSA *rsa, rsa, return 0, return)
|
||||
+DEFINEFUNC(int, DSA_security_bits, const DSA *dsa, dsa, return 0, return)
|
||||
+DEFINEFUNC(ASN1_TIME *, X509_getm_notAfter, X509 *x, x, return 0, return)
|
||||
+DEFINEFUNC(ASN1_TIME *, X509_getm_notBefore, X509 *x, x, return 0, return)
|
||||
+DEFINEFUNC4(void, DSA_get0_pqg, const DSA *d, d, const BIGNUM **p, p, const BIGNUM **q, q, const BIGNUM **g, g, return, return)
|
||||
+#endif
|
||||
|
||||
#ifdef Q_OS_SYMBIAN
|
||||
#define RESOLVEFUNC(func, ordinal, lib) \
|
||||
@@ -580,7 +641,11 @@
|
||||
static volatile bool symbolsResolved = false;
|
||||
static volatile bool triedToResolveSymbols = false;
|
||||
#ifndef QT_NO_THREAD
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_SSL_library_init));
|
||||
+#else
|
||||
+ QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_OPENSSL_init_ssl));
|
||||
+#endif
|
||||
#endif
|
||||
if (symbolsResolved)
|
||||
return true;
|
||||
@@ -614,9 +679,11 @@
|
||||
RESOLVEFUNC(BIO_write, 269, libs.second )
|
||||
RESOLVEFUNC(BN_num_bits, 387, libs.second )
|
||||
RESOLVEFUNC(CRYPTO_free, 469, libs.second )
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(CRYPTO_num_locks, 500, libs.second )
|
||||
RESOLVEFUNC(CRYPTO_set_id_callback, 513, libs.second )
|
||||
RESOLVEFUNC(CRYPTO_set_locking_callback, 516, libs.second )
|
||||
+#endif
|
||||
RESOLVEFUNC(DSA_free, 594, libs.second )
|
||||
RESOLVEFUNC(ERR_error_string, 744, libs.second )
|
||||
RESOLVEFUNC(ERR_get_error, 749, libs.second )
|
||||
@@ -674,8 +741,10 @@
|
||||
RESOLVEFUNC(SSL_get_peer_cert_chain, 117, libs.first )
|
||||
RESOLVEFUNC(SSL_get_peer_certificate, 118, libs.first )
|
||||
RESOLVEFUNC(SSL_get_verify_result, 132, libs.first )
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(SSL_library_init, 137, libs.first )
|
||||
RESOLVEFUNC(SSL_load_error_strings, 139, libs.first )
|
||||
+#endif
|
||||
RESOLVEFUNC(SSL_new, 140, libs.first )
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
|
||||
RESOLVEFUNC(SSL_ctrl, 95, libs.first )
|
||||
@@ -747,9 +816,11 @@
|
||||
RESOLVEFUNC(BIO_write)
|
||||
RESOLVEFUNC(BN_num_bits)
|
||||
RESOLVEFUNC(CRYPTO_free)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(CRYPTO_num_locks)
|
||||
RESOLVEFUNC(CRYPTO_set_id_callback)
|
||||
RESOLVEFUNC(CRYPTO_set_locking_callback)
|
||||
+#endif
|
||||
RESOLVEFUNC(DSA_free)
|
||||
RESOLVEFUNC(ERR_error_string)
|
||||
RESOLVEFUNC(ERR_get_error)
|
||||
@@ -779,10 +850,17 @@
|
||||
RESOLVEFUNC(RAND_seed)
|
||||
RESOLVEFUNC(RAND_status)
|
||||
RESOLVEFUNC(RSA_free)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(sk_free)
|
||||
RESOLVEFUNC(sk_num)
|
||||
RESOLVEFUNC(sk_pop_free)
|
||||
RESOLVEFUNC(sk_value)
|
||||
+#else
|
||||
+ RESOLVEFUNC(OPENSSL_sk_free)
|
||||
+ RESOLVEFUNC(OPENSSL_sk_num)
|
||||
+ RESOLVEFUNC(OPENSSL_sk_pop_free)
|
||||
+ RESOLVEFUNC(OPENSSL_sk_value)
|
||||
+#endif
|
||||
RESOLVEFUNC(SSL_CIPHER_description)
|
||||
RESOLVEFUNC(SSL_CTX_check_private_key)
|
||||
RESOLVEFUNC(SSL_CTX_ctrl)
|
||||
@@ -797,6 +875,7 @@
|
||||
RESOLVEFUNC(SSL_CTX_use_PrivateKey)
|
||||
RESOLVEFUNC(SSL_CTX_use_RSAPrivateKey)
|
||||
RESOLVEFUNC(SSL_CTX_use_PrivateKey_file)
|
||||
+ RESOLVEFUNC(SSL_CTX_get_cert_store)
|
||||
RESOLVEFUNC(SSL_accept)
|
||||
RESOLVEFUNC(SSL_clear)
|
||||
RESOLVEFUNC(SSL_connect)
|
||||
@@ -807,8 +886,12 @@
|
||||
RESOLVEFUNC(SSL_get_peer_cert_chain)
|
||||
RESOLVEFUNC(SSL_get_peer_certificate)
|
||||
RESOLVEFUNC(SSL_get_verify_result)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(SSL_library_init)
|
||||
RESOLVEFUNC(SSL_load_error_strings)
|
||||
+#else
|
||||
+ RESOLVEFUNC(OPENSSL_init_ssl)
|
||||
+#endif
|
||||
RESOLVEFUNC(SSL_new)
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
|
||||
RESOLVEFUNC(SSL_ctrl)
|
||||
@@ -819,17 +902,47 @@
|
||||
RESOLVEFUNC(SSL_set_connect_state)
|
||||
RESOLVEFUNC(SSL_shutdown)
|
||||
RESOLVEFUNC(SSL_write)
|
||||
+
|
||||
+ RESOLVEFUNC(X509_get_serialNumber)
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
+ RESOLVEFUNC(SSL_CTX_ctrl)
|
||||
+ RESOLVEFUNC(EVP_PKEY_id)
|
||||
+ RESOLVEFUNC(EVP_PKEY_base_id)
|
||||
+ RESOLVEFUNC(SSL_CIPHER_get_bits)
|
||||
+ RESOLVEFUNC(SSL_CTX_set_options)
|
||||
+ RESOLVEFUNC(X509_get_version)
|
||||
+ RESOLVEFUNC(X509_get_X509_PUBKEY)
|
||||
+ RESOLVEFUNC(RSA_bits)
|
||||
+ RESOLVEFUNC(DSA_security_bits)
|
||||
+ RESOLVEFUNC(DSA_get0_pqg)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+ RESOLVEFUNC(X509_get_notAfter)
|
||||
+ RESOLVEFUNC(X509_get_notBefore)
|
||||
+#else
|
||||
+ RESOLVEFUNC(X509_getm_notAfter)
|
||||
+ RESOLVEFUNC(X509_getm_notBefore)
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#ifndef OPENSSL_NO_SSL2
|
||||
RESOLVEFUNC(SSLv2_client_method)
|
||||
#endif
|
||||
RESOLVEFUNC(SSLv3_client_method)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(SSLv23_client_method)
|
||||
+#else
|
||||
+ RESOLVEFUNC(TLS_client_method)
|
||||
+#endif
|
||||
RESOLVEFUNC(TLSv1_client_method)
|
||||
#ifndef OPENSSL_NO_SSL2
|
||||
RESOLVEFUNC(SSLv2_server_method)
|
||||
#endif
|
||||
RESOLVEFUNC(SSLv3_server_method)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(SSLv23_server_method)
|
||||
+#else
|
||||
+ RESOLVEFUNC(TLS_server_method)
|
||||
+#endif
|
||||
RESOLVEFUNC(TLSv1_server_method)
|
||||
RESOLVEFUNC(X509_NAME_entry_count)
|
||||
RESOLVEFUNC(X509_NAME_get_entry)
|
||||
@@ -846,7 +959,11 @@
|
||||
RESOLVEFUNC(X509_STORE_CTX_get_error)
|
||||
RESOLVEFUNC(X509_STORE_CTX_get_error_depth)
|
||||
RESOLVEFUNC(X509_STORE_CTX_get_current_cert)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(X509_STORE_CTX_get_chain)
|
||||
+#else
|
||||
+ RESOLVEFUNC(X509_STORE_CTX_get0_chain)
|
||||
+#endif
|
||||
RESOLVEFUNC(X509_cmp)
|
||||
#ifndef SSLEAY_MACROS
|
||||
RESOLVEFUNC(X509_dup)
|
||||
@@ -867,10 +984,18 @@
|
||||
RESOLVEFUNC(d2i_DSAPrivateKey)
|
||||
RESOLVEFUNC(d2i_RSAPrivateKey)
|
||||
#endif
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf)
|
||||
RESOLVEFUNC(OPENSSL_add_all_algorithms_conf)
|
||||
+#else
|
||||
+ RESOLVEFUNC(OPENSSL_init_crypto)
|
||||
+#endif
|
||||
RESOLVEFUNC(SSL_CTX_load_verify_locations)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(SSLeay)
|
||||
+#else
|
||||
+ RESOLVEFUNC(OpenSSL_version_num)
|
||||
+#endif
|
||||
#endif // Q_OS_SYMBIAN
|
||||
symbolsResolved = true;
|
||||
delete libs.first;
|
||||
diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols_p.h qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols_p.h
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols_p.h 2015-05-07 16:14:44.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols_p.h 2018-01-05 17:59:42.041550255 +0100
|
||||
@@ -207,16 +207,31 @@
|
||||
int q_ASN1_STRING_to_UTF8(unsigned char **a, ASN1_STRING *b);
|
||||
long q_BIO_ctrl(BIO *a, int b, long c, void *d);
|
||||
int q_BIO_free(BIO *a);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
BIO *q_BIO_new(BIO_METHOD *a);
|
||||
+#else
|
||||
+BIO *q_BIO_new(const BIO_METHOD *a);
|
||||
+#endif
|
||||
BIO *q_BIO_new_mem_buf(void *a, int b);
|
||||
int q_BIO_read(BIO *a, void *b, int c);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
BIO_METHOD *q_BIO_s_mem();
|
||||
+#else
|
||||
+const BIO_METHOD *q_BIO_s_mem();
|
||||
+#endif
|
||||
int q_BIO_write(BIO *a, const void *b, int c);
|
||||
int q_BN_num_bits(const BIGNUM *a);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
int q_CRYPTO_num_locks();
|
||||
void q_CRYPTO_set_locking_callback(void (*a)(int, int, const char *, int));
|
||||
void q_CRYPTO_set_id_callback(unsigned long (*a)());
|
||||
void q_CRYPTO_free(void *a);
|
||||
+#else
|
||||
+#define q_CRYPTO_num_locks() 1
|
||||
+#define q_CRYPTO_set_locking_callback(a)
|
||||
+#define q_CRYPTO_set_id_callback(a)
|
||||
+void q_CRYPTO_free(void *a, const char *b, int c);
|
||||
+#endif
|
||||
void q_DSA_free(DSA *a);
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00908000L
|
||||
// 0.9.8 broke SC and BC by changing this function's signature.
|
||||
@@ -258,6 +273,7 @@
|
||||
void q_RAND_seed(const void *a, int b);
|
||||
int q_RAND_status();
|
||||
void q_RSA_free(RSA *a);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
int q_sk_num(STACK *a);
|
||||
void q_sk_pop_free(STACK *a, void (*b)(void *));
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
@@ -267,6 +283,16 @@
|
||||
void q_sk_free(STACK *a);
|
||||
char * q_sk_value(STACK *a, int b);
|
||||
#endif
|
||||
+#else
|
||||
+int q_OPENSSL_sk_num(STACK *a);
|
||||
+void q_OPENSSL_sk_pop_free(STACK *a, void (*b)(void *));
|
||||
+void q_OPENSSL_sk_free(_STACK *a);
|
||||
+void * q_OPENSSL_sk_value(STACK *a, int b);
|
||||
+#define q_sk_num q_OPENSSL_sk_num
|
||||
+#define q_sk_pop_free q_OPENSSL_sk_pop_free
|
||||
+#define q_sk_free q_OPENSSL_sk_free
|
||||
+#define q_sk_value q_OPENSSL_sk_value
|
||||
+#endif
|
||||
int q_SSL_accept(SSL *a);
|
||||
int q_SSL_clear(SSL *a);
|
||||
char *q_SSL_CIPHER_description(SSL_CIPHER *a, char *b, int c);
|
||||
@@ -314,8 +340,14 @@
|
||||
#else
|
||||
long q_SSL_get_verify_result(SSL *a);
|
||||
#endif
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
int q_SSL_library_init();
|
||||
void q_SSL_load_error_strings();
|
||||
+#else
|
||||
+int q_OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
|
||||
+#define q_SSL_library_init() q_OPENSSL_init_ssl(0, (const OPENSSL_INIT_SETTINGS *) NULL)
|
||||
+#define q_SSL_load_error_strings() q_OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, (const OPENSSL_INIT_SETTINGS *) NULL)
|
||||
+#endif
|
||||
SSL *q_SSL_new(SSL_CTX *a);
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
|
||||
long q_SSL_ctrl(SSL *ssl,int cmd, long larg, void *parg);
|
||||
@@ -328,11 +360,21 @@
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
const SSL_METHOD *q_SSLv2_client_method();
|
||||
const SSL_METHOD *q_SSLv3_client_method();
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
const SSL_METHOD *q_SSLv23_client_method();
|
||||
+#else
|
||||
+const SSL_METHOD *q_TLS_client_method();
|
||||
+#define q_SSLv23_client_method q_TLS_client_method
|
||||
+#endif
|
||||
const SSL_METHOD *q_TLSv1_client_method();
|
||||
const SSL_METHOD *q_SSLv2_server_method();
|
||||
const SSL_METHOD *q_SSLv3_server_method();
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
const SSL_METHOD *q_SSLv23_server_method();
|
||||
+#else
|
||||
+const SSL_METHOD *q_TLS_server_method();
|
||||
+#define q_SSLv23_server_method q_TLS_server_method
|
||||
+#endif
|
||||
const SSL_METHOD *q_TLSv1_server_method();
|
||||
#else
|
||||
SSL_METHOD *q_SSLv2_client_method();
|
||||
@@ -377,7 +419,12 @@
|
||||
int q_X509_STORE_CTX_get_error(X509_STORE_CTX *ctx);
|
||||
int q_X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx);
|
||||
X509 *q_X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
STACK_OF(X509) *q_X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx);
|
||||
+#else
|
||||
+STACK_OF(X509) *q_X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx);
|
||||
+#define q_X509_STORE_CTX_get_chain q_X509_STORE_CTX_get0_chain
|
||||
+#endif
|
||||
|
||||
#define q_BIO_get_mem_data(b, pp) (int)q_BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp)
|
||||
#define q_BIO_pending(b) (int)q_BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL)
|
||||
@@ -399,7 +446,25 @@
|
||||
PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_DSAPrivateKey,PEM_STRING_DSA,\
|
||||
bp,(char *)x,enc,kstr,klen,cb,u)
|
||||
#endif
|
||||
+
|
||||
+X509_STORE * q_SSL_CTX_get_cert_store(const SSL_CTX *ctx);
|
||||
+ASN1_INTEGER * q_X509_get_serialNumber(X509 *x);
|
||||
+
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
#define q_SSL_CTX_set_options(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL)
|
||||
+#define q_X509_get_version(x) X509_get_version(x)
|
||||
+#else
|
||||
+int q_EVP_PKEY_id(const EVP_PKEY *pkey);
|
||||
+int q_EVP_PKEY_base_id(const EVP_PKEY *pkey);
|
||||
+int q_SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *alg_bits);
|
||||
+long q_SSL_CTX_set_options(SSL_CTX *ctx, long options);
|
||||
+long q_X509_get_version(X509 *x);
|
||||
+X509_PUBKEY * q_X509_get_X509_PUBKEY(X509 *x);
|
||||
+int q_RSA_bits(const RSA *rsa);
|
||||
+int q_DSA_security_bits(const DSA *dsa);
|
||||
+void q_DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g);
|
||||
+#endif
|
||||
+
|
||||
#define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_sk_num)(st)
|
||||
#define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_sk_value)(st, i)
|
||||
#define q_sk_GENERAL_NAME_num(st) q_SKM_sk_num(GENERAL_NAME, (st))
|
||||
@@ -410,8 +475,17 @@
|
||||
#define q_sk_SSL_CIPHER_value(st, i) q_SKM_sk_value(SSL_CIPHER, (st), (i))
|
||||
#define q_SSL_CTX_add_extra_chain_cert(ctx,x509) \
|
||||
q_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509)
|
||||
+
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
#define q_X509_get_notAfter(x) X509_get_notAfter(x)
|
||||
#define q_X509_get_notBefore(x) X509_get_notBefore(x)
|
||||
+#else
|
||||
+ASN1_TIME *q_X509_getm_notAfter(X509 *x);
|
||||
+ASN1_TIME *q_X509_getm_notBefore(X509 *x);
|
||||
+#define q_X509_get_notAfter(x) q_X509_getm_notAfter(x)
|
||||
+#define q_X509_get_notBefore(x) q_X509_getm_notBefore(x)
|
||||
+#endif
|
||||
+
|
||||
#define q_EVP_PKEY_assign_RSA(pkey,rsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
|
||||
(char *)(rsa))
|
||||
#define q_EVP_PKEY_assign_DSA(pkey,dsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\
|
||||
@@ -421,10 +495,21 @@
|
||||
#else
|
||||
#define q_OpenSSL_add_all_algorithms() q_OPENSSL_add_all_algorithms_noconf()
|
||||
#endif
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
void q_OPENSSL_add_all_algorithms_noconf();
|
||||
void q_OPENSSL_add_all_algorithms_conf();
|
||||
+#else
|
||||
+int q_OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
|
||||
+#define q_OPENSSL_add_all_algorithms_conf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS | OPENSSL_INIT_ADD_ALL_DIGESTS | OPENSSL_INIT_LOAD_CONFIG, (const OPENSSL_INIT_SETTINGS *) NULL)
|
||||
+# define q_OPENSSL_add_all_algorithms_noconf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS | OPENSSL_INIT_ADD_ALL_DIGESTS, (const OPENSSL_INIT_SETTINGS *) NULL)
|
||||
+#endif
|
||||
int q_SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
long q_SSLeay();
|
||||
+#else
|
||||
+unsigned long q_OpenSSL_version_num();
|
||||
+#define q_SSLeay q_OpenSSL_version_num
|
||||
+#endif
|
||||
|
||||
// Helper function
|
||||
class QDateTime;
|
12
qt-everywhere-opensource-src-4.8.7-qmake_LFLAGS.patch
Normal file
12
qt-everywhere-opensource-src-4.8.7-qmake_LFLAGS.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix.qmake_LFLAGS qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix
|
||||
--- qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix.qmake_LFLAGS 2015-05-07 09:14:42.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix 2018-02-15 08:25:13.168838577 -0600
|
||||
@@ -3,7 +3,7 @@ BUILD_PATH = @BUILD_PATH@
|
||||
QTOBJS = @QMAKE_QTOBJS@
|
||||
QTSRCS = @QMAKE_QTSRCS@
|
||||
QMAKESPEC = @QMAKESPEC@
|
||||
-LFLAGS = @QMAKE_LFLAGS@
|
||||
+LFLAGS = @QMAKE_LFLAGS@ $(QMAKE_LFLAGS_RELEASE)
|
||||
|
||||
#qmake code
|
||||
OBJS=project.o property.o main.o makefile.o unixmake2.o unixmake.o \
|
17
qt-prefer_adwaita_on_gnome.patch
Normal file
17
qt-prefer_adwaita_on_gnome.patch
Normal file
@ -0,0 +1,17 @@
|
||||
--- src/gui/kernel/qguiplatformplugin.cpp.adwaita 2015-02-12 14:32:45.217935391 +0100
|
||||
+++ src/gui/kernel/qguiplatformplugin.cpp 2015-02-12 14:46:11.471866038 +0100
|
||||
@@ -165,8 +165,13 @@ QString QGuiPlatformPlugin::styleName()
|
||||
case DE_GNOME: {
|
||||
QStringList availableStyles = QStyleFactory::keys();
|
||||
// Set QGtkStyle for GNOME if available
|
||||
+ QString adwaitaStyleKey = QString::fromLatin1("adwaita");
|
||||
QString gtkStyleKey = QString::fromLatin1("GTK+");
|
||||
- if (availableStyles.contains(gtkStyleKey)) {
|
||||
+ if (availableStyles.contains(adwaitaStyleKey)) {
|
||||
+ stylename = adwaitaStyleKey;
|
||||
+ break;
|
||||
+ }
|
||||
+ else if (availableStyles.contains(gtkStyleKey)) {
|
||||
stylename = gtkStyleKey;
|
||||
break;
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
--- qt-x11-opensource-src-4.2.2/qmake/project.cpp.QMAKEPATH 2006-11-27 11:26:03.000000000 -0600
|
||||
+++ qt-x11-opensource-src-4.2.2/qmake/project.cpp 2007-02-26 13:45:39.000000000 -0600
|
||||
@@ -498,6 +498,7 @@
|
||||
ret << ((*it) + concat);
|
||||
}
|
||||
ret << QLibraryInfo::location(QLibraryInfo::DataPath) + concat;
|
||||
+ ret << QLibraryInfo::location(QLibraryInfo::PrefixPath) + concat;
|
||||
|
||||
return ret;
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
--- qt-x11-opensource-src-4.2.2/mkspecs/linux-g++-64/qmake.conf.multilib 2006-11-27 11:26:42.000000000 -0600
|
||||
+++ qt-x11-opensource-src-4.2.2/mkspecs/linux-g++-64/qmake.conf 2007-02-26 15:01:02.000000000 -0600
|
||||
@@ -14,6 +14,8 @@
|
||||
QMAKE_CFLAGS = -m64
|
||||
QMAKE_LFLAGS = -m64
|
||||
|
||||
+QMAKE_CFLAGS_RELEASE += -O2
|
||||
+
|
||||
include(../common/g++.conf)
|
||||
include(../common/linux.conf)
|
||||
|
||||
--- qt-x11-opensource-src-4.2.2/mkspecs/linux-g++-32/qmake.conf.multilib 2006-11-27 11:26:42.000000000 -0600
|
||||
+++ qt-x11-opensource-src-4.2.2/mkspecs/linux-g++-32/qmake.conf 2007-02-26 15:01:34.000000000 -0600
|
||||
@@ -11,6 +11,8 @@
|
||||
QMAKE_CFLAGS = -m32
|
||||
QMAKE_LFLAGS = -m32
|
||||
|
||||
+QMAKE_CFLAGS_RELEASE += -O2
|
||||
+
|
||||
include(../common/g++.conf)
|
||||
include(../common/linux.conf)
|
||||
load(qt_config)
|
||||
--- qt-x11-opensource-src-4.2.2/mkspecs/linux-g++/qmake.conf.multilib 2006-11-27 11:26:42.000000000 -0600
|
||||
+++ qt-x11-opensource-src-4.2.2/mkspecs/linux-g++/qmake.conf 2007-02-26 15:01:26.000000000 -0600
|
||||
@@ -8,6 +8,8 @@
|
||||
QT += core gui
|
||||
QMAKE_INCREMENTAL_STYLE = sublib
|
||||
|
||||
+QMAKE_CFLAGS_RELEASE += -O2
|
||||
+
|
||||
include(../common/g++.conf)
|
||||
include(../common/linux.conf)
|
||||
load(qt_config)
|
@ -1,14 +0,0 @@
|
||||
diff -up qt-x11-opensource-src-4.5.0/src/corelib/tools/qstring.cpp.gcc_hack qt-x11-opensource-src-4.5.0/src/corelib/tools/qstring.cpp
|
||||
--- qt-x11-opensource-src-4.5.0/src/corelib/tools/qstring.cpp.gcc_hack 2009-02-25 15:09:22.000000000 -0600
|
||||
+++ qt-x11-opensource-src-4.5.0/src/corelib/tools/qstring.cpp 2009-03-27 11:56:51.000000000 -0500
|
||||
@@ -102,8 +102,8 @@ static QHash<void *, QByteArray> *asciiC
|
||||
// internal
|
||||
int qFindString(const QChar *haystack, int haystackLen, int from,
|
||||
const QChar *needle, int needleLen, Qt::CaseSensitivity cs);
|
||||
-int qFindStringBoyerMoore(const QChar *haystack, int haystackLen, int from,
|
||||
- const QChar *needle, int needleLen, Qt::CaseSensitivity cs);
|
||||
+//int qFindStringBoyerMoore(const QChar *haystack, int haystackLen, int from,
|
||||
+// const QChar *needle, int needleLen, Qt::CaseSensitivity cs);
|
||||
|
||||
|
||||
// Unicode case-insensitive comparison
|
@ -1,21 +0,0 @@
|
||||
diff -ur qt-orig/tools/qdoc3/qdoc3.pro qt-4.5.2/tools/qdoc3/qdoc3.pro
|
||||
--- qt-orig/tools/qdoc3/qdoc3.pro 2009-06-20 06:57:59.000000000 +0200
|
||||
+++ qt-4.5.2/tools/qdoc3/qdoc3.pro 2009-06-25 20:00:12.000000000 +0200
|
||||
@@ -99,3 +99,6 @@
|
||||
webxmlgenerator.cpp \
|
||||
yyindent.cpp
|
||||
|
||||
+TARGET= qdoc3
|
||||
+target.path = $$[QT_INSTALL_BINS]
|
||||
+INSTALLS += target
|
||||
diff -ur qt-orig/tools/tools.pro qt-4.5.2/tools/tools.pro
|
||||
--- qt-orig/tools/tools.pro 2009-06-20 06:57:59.000000000 +0200
|
||||
+++ qt-4.5.2/tools/tools.pro 2009-06-25 19:59:19.000000000 +0200
|
||||
@@ -13,6 +13,7 @@
|
||||
SUBDIRS += designer
|
||||
}
|
||||
SUBDIRS += linguist
|
||||
+ SUBDIRS += qdoc3
|
||||
wince*: SUBDIRS = qtestlib designer
|
||||
unix:!mac:!embedded:contains(QT_CONFIG, qt3support):SUBDIRS += qtconfig
|
||||
win32:!wince*:SUBDIRS += activeqt
|
@ -1,19 +0,0 @@
|
||||
diff -up qt-x11-opensource-src-4.5.1/src/corelib/kernel/qcoreapplication.cpp.kde4_plugins qt-x11-opensource-src-4.5.1/src/corelib/kernel/qcoreapplication.cpp
|
||||
--- qt-x11-opensource-src-4.5.1/src/corelib/kernel/qcoreapplication.cpp.kde4_plugins 2009-04-21 18:57:41.000000000 -0500
|
||||
+++ qt-x11-opensource-src-4.5.1/src/corelib/kernel/qcoreapplication.cpp 2009-05-06 13:53:40.258081854 -0500
|
||||
@@ -2061,6 +2061,15 @@ QStringList QCoreApplication::libraryPat
|
||||
app_libpaths->append(installPathPlugins);
|
||||
}
|
||||
|
||||
+ // hack in support for kde4 plugin paths -- Rex
|
||||
+ QString kde4PathPlugins = QLibraryInfo::location(QLibraryInfo::LibrariesPath) + QLatin1String("/kde4/plugins");
|
||||
+ if (QFile::exists(kde4PathPlugins)) {
|
||||
+ // Make sure we convert from backslashes to slashes.
|
||||
+ // kde4PathPlugins = QDir(kde4PathPlugins).canonicalPath();
|
||||
+ if (!app_libpaths->contains(kde4PathPlugins))
|
||||
+ app_libpaths->append(kde4PathPlugins);
|
||||
+ }
|
||||
+
|
||||
// If QCoreApplication is not yet instantiated,
|
||||
// make sure we add the application path when we construct the QCoreApplication
|
||||
if (self) self->d_func()->appendApplicationPathToLibraryPaths();
|
@ -1,27 +0,0 @@
|
||||
diff -up qt-x11-opensource-src-4.5.1/configure.mysql_config qt-x11-opensource-src-4.5.1/configure
|
||||
--- qt-x11-opensource-src-4.5.1/configure.mysql_config 2009-05-04 09:14:37.105826464 -0500
|
||||
+++ qt-x11-opensource-src-4.5.1/configure 2009-05-04 09:15:26.747077312 -0500
|
||||
@@ -4334,6 +4334,7 @@ if [ "$CFG_ACCESSIBILITY" = "auto" ]; th
|
||||
CFG_ACCESSIBILITY=yes
|
||||
fi
|
||||
|
||||
+set -x
|
||||
# auto-detect SQL-modules support
|
||||
for _SQLDR in $CFG_SQL_AVAILABLE; do
|
||||
case $_SQLDR in
|
||||
@@ -4342,8 +4343,15 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
|
||||
[ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`$WHICH mysql_config`
|
||||
if [ -x "$CFG_MYSQL_CONFIG" ]; then
|
||||
QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
|
||||
+ $CFG_MYSQL_CONFIG --pkglibdir &>/dev/null && \
|
||||
+ QT_MYSQL_PKGLIBDIR=`$CFG_MYSQL_CONFIG --pkglibdir 2>/dev/null`
|
||||
+ if [ -n "$QT_MYSQL_PKGLIBDIR" ]; then
|
||||
+ QT_LFLAGS_MYSQL_R="-L$QT_MYSQL_PKGLIBDIR -lmysqlclient_r"
|
||||
+ QT_LFLAGS_MYSQL="-L$QT_MYSQL_PKGLIBDIR -lmysqlclient"
|
||||
+ else
|
||||
QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
|
||||
QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
|
||||
+ fi
|
||||
QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
|
||||
QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
|
||||
fi
|
@ -1,38 +0,0 @@
|
||||
diff -ur qt-orig/src/phonon/phonon.pro qt-x11-opensource-src-4.5.2/src/phonon/phonon.pro
|
||||
--- qt-orig/src/phonon/phonon.pro 2009-06-20 06:57:57.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/phonon/phonon.pro 2009-06-25 19:30:00.000000000 +0200
|
||||
@@ -112,4 +112,9 @@
|
||||
DEFINES += QT_NO_DBUS
|
||||
}
|
||||
|
||||
+# install dbus service file
|
||||
+sources.files = $$PHONON_DIR/org.kde.Phonon.AudioOutput.xml
|
||||
+sources.path = /usr/share/dbus-1/interfaces
|
||||
+INSTALLS += sources
|
||||
+
|
||||
contains(QT_CONFIG, reduce_exports): CONFIG += hide_symbols
|
||||
diff -ur qt-orig/src/plugins/phonon/gstreamer/gstreamer.pro qt-x11-opensource-src-4.5.2/src/plugins/phonon/gstreamer/gstreamer.pro
|
||||
--- qt-orig/src/plugins/phonon/gstreamer/gstreamer.pro 2009-06-20 06:57:58.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/plugins/phonon/gstreamer/gstreamer.pro 2009-06-25 19:31:36.000000000 +0200
|
||||
@@ -62,6 +62,8 @@
|
||||
}
|
||||
|
||||
target.path = $$[QT_INSTALL_PLUGINS]/phonon_backend
|
||||
-INSTALLS += target
|
||||
+services.files = $$PHONON_GSTREAMER_DIR/gstreamer.desktop
|
||||
+services.path = /usr/share/kde4/services/phononbackends
|
||||
+INSTALLS += target services
|
||||
|
||||
include(../../qpluginbase.pri)
|
||||
diff -ur qt-orig/src/3rdparty/phonon/gstreamer/gstreamer.desktop qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/gstreamer.desktop
|
||||
--- qt-orig/src/3rdparty/phonon/gstreamer/gstreamer.desktop 2009-06-20 06:57:54.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/gstreamer.desktop 2009-06-25 19:30:00.000000000 +0200
|
||||
@@ -2,7 +2,7 @@
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=PhononBackend
|
||||
MimeType=application/x-annodex;video/quicktime;video/x-quicktime;audio/x-m4a;application/x-quicktimeplayer;video/mkv;video/msvideo;video/x-msvideo;video/x-flic;audio/x-aiff;audio/aiff;audio/x-pn-aiff;audio/x-realaudio;audio/basic;audio/x-basic;audio/x-pn-au;audio/x-8svx;audio/8svx;audio/x-16sv;audio/168sv;image/x-ilbm;image/ilbm;video/x-anim;video/anim;image/png;image/x-png;video/mng;video/x-mng;audio/x-ogg;audio/x-speex+ogg;application/ogg;application/ogg;audio/vnd.rn-realaudio;audio/x-pn-realaudio-plugin;audio/x-real-audio;application/vnd.rn-realmedia;video/mpeg;video/x-mpeg;audio/x-wav;audio/wav;audio/x-pn-wav;audio/x-pn-windows-acm;audio/mpeg2;audio/x-mpeg2;audio/mpeg3;audio/x-mpeg3;audio/mpeg;audio/x-mpeg;x-mpegurl;audio/x-mpegurl;audio/mp3;audio/mpeg;
|
||||
-X-KDE-Library=phonon_gstreamer
|
||||
+X-KDE-Library=libphonon_gstreamer
|
||||
X-KDE-PhononBackendInfo-InterfaceVersion=1
|
||||
X-KDE-PhononBackendInfo-Version=0.1
|
||||
X-KDE-PhononBackendInfo-Website=http://gstreamer.freedesktop.org/
|
@ -1,25 +0,0 @@
|
||||
diff -up qt-x11-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp.orig qt-x11-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp
|
||||
--- qt-x11-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp.orig 2009-08-18 12:28:26.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp 2009-08-18 12:33:43.000000000 +0200
|
||||
@@ -867,7 +867,9 @@ HTMLTokenizer::State HTMLTokenizer::pars
|
||||
}
|
||||
} else {
|
||||
// FIXME: We should eventually colorize entities by sending them as a special token.
|
||||
- checkBuffer(11);
|
||||
+ // 12 bytes required: up to 10 bytes in m_cBuffer plus the
|
||||
+ // leading '&' and trailing ';'
|
||||
+ checkBuffer(12);
|
||||
*dest++ = '&';
|
||||
for (unsigned i = 0; i < cBufferPos; i++)
|
||||
dest[i] = m_cBuffer[i];
|
||||
@@ -878,7 +880,9 @@ HTMLTokenizer::State HTMLTokenizer::pars
|
||||
}
|
||||
}
|
||||
} else {
|
||||
- checkBuffer(10);
|
||||
+ // 11 bytes required: up to 10 bytes in m_cBuffer plus the
|
||||
+ // leading '&'
|
||||
+ checkBuffer(11);
|
||||
// ignore the sequence, add it to the buffer as plaintext
|
||||
*dest++ = '&';
|
||||
for (unsigned i = 0; i < cBufferPos; i++)
|
@ -1,12 +0,0 @@
|
||||
diff -up qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp.orig qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp
|
||||
--- qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp.orig 2009-08-31 16:46:48.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp 2009-08-31 16:49:47.000000000 +0200
|
||||
@@ -377,7 +377,7 @@ QMultiMap<QSsl::AlternateNameEntryType,
|
||||
}
|
||||
|
||||
const char *altNameStr = reinterpret_cast<const char *>(q_ASN1_STRING_data(genName->d.ia5));
|
||||
- const QString altName = QLatin1String(QByteArray(altNameStr, len));
|
||||
+ const QString altName = QString::fromLatin1(altNameStr, len);
|
||||
if (genName->type == GEN_DNS)
|
||||
result.insert(QSsl::DnsEntry, altName);
|
||||
else if (genName->type == GEN_EMAIL)
|
@ -1,60 +0,0 @@
|
||||
diff -up qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/audiooutput.cpp.than qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/audiooutput.cpp
|
||||
--- qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/audiooutput.cpp.than 2009-08-16 14:20:43.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/audiooutput.cpp 2009-08-16 14:45:56.000000000 +0200
|
||||
@@ -141,7 +141,9 @@ bool AudioOutput::setOutputDevice(int ne
|
||||
// Save previous state
|
||||
GstState oldState = GST_STATE(m_audioSink);
|
||||
const QByteArray oldDeviceValue = GstHelper::property(m_audioSink, "device");
|
||||
- const QByteArray deviceId = deviceList.at(newDevice).gstId;
|
||||
+ const QByteArray deviceId = (deviceList.at(newDevice).gstId == "PulseAudio"
|
||||
+ ? "default"
|
||||
+ : deviceList.at(newDevice).gstId);
|
||||
m_device = newDevice;
|
||||
|
||||
// We test if the device can be opened by checking if it can go from NULL to READY state
|
||||
diff -up qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/devicemanager.cpp.than qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/devicemanager.cpp
|
||||
--- qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/devicemanager.cpp.than 2009-08-15 12:39:08.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer/devicemanager.cpp 2009-08-16 14:45:13.000000000 +0200
|
||||
@@ -50,6 +50,8 @@ AudioDevice::AudioDevice(DeviceManager *
|
||||
//get name from device
|
||||
if (gstId == "default") {
|
||||
description = "Default audio device";
|
||||
+ } else if (gstId == "PulseAudio") {
|
||||
+ description = QObject::tr("Pass all audio through the PulseAudio Sound Server.\n").toUtf8();
|
||||
} else {
|
||||
GstElement *aSink= manager->createAudioSink();
|
||||
|
||||
@@ -175,6 +177,18 @@ GstElement *DeviceManager::createAudioSi
|
||||
}
|
||||
}
|
||||
|
||||
+ if (!sink) {
|
||||
+ sink = gst_element_factory_make ("pulsesink", NULL);
|
||||
+ if (canOpenDevice(sink)) {
|
||||
+ m_backend->logMessage("AudioOutput using pulse audio sink");
|
||||
+ m_audioSink = "pulsesink";
|
||||
+ }
|
||||
+ else if (sink) {
|
||||
+ gst_object_unref(sink);
|
||||
+ sink = 0;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
#ifdef USE_ALSASINK2
|
||||
if (!sink) {
|
||||
sink = gst_element_factory_make ("_k_alsasink", NULL);
|
||||
@@ -306,8 +320,12 @@ void DeviceManager::updateDeviceList()
|
||||
QList<QByteArray> list;
|
||||
|
||||
if (audioSink) {
|
||||
- list = GstHelper::extractProperties(audioSink, "device");
|
||||
- list.prepend("default");
|
||||
+ if (m_audioSink == "pulsesink") {
|
||||
+ list.append("PulseAudio");
|
||||
+ } else {
|
||||
+ list = GstHelper::extractProperties(audioSink, "device");
|
||||
+ list.prepend("default");
|
||||
+ }
|
||||
|
||||
for (int i = 0 ; i < list.size() ; ++i) {
|
||||
QByteArray gstId = list.at(i);
|
@ -1,157 +0,0 @@
|
||||
diff -up qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp.openssl qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp
|
||||
--- qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp.openssl 2009-06-20 06:57:57.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp 2009-08-26 12:14:32.000000000 +0200
|
||||
@@ -362,7 +362,7 @@ QMultiMap<QSsl::AlternateNameEntryType,
|
||||
if (!d->x509)
|
||||
return result;
|
||||
|
||||
- STACK *altNames = (STACK *)q_X509_get_ext_d2i(d->x509, NID_subject_alt_name, 0, 0);
|
||||
+ STACK_OF(GENERAL_NAME) *altNames = (STACK_OF(GENERAL_NAME) *)q_X509_get_ext_d2i(d->x509, NID_subject_alt_name, 0, 0);
|
||||
|
||||
if (altNames) {
|
||||
for (int i = 0; i < q_sk_GENERAL_NAME_num(altNames); ++i) {
|
||||
@@ -383,7 +383,7 @@ QMultiMap<QSsl::AlternateNameEntryType,
|
||||
else if (genName->type == GEN_EMAIL)
|
||||
result.insert(QSsl::EmailEntry, altName);
|
||||
}
|
||||
- q_sk_free(altNames);
|
||||
+ q_sk_free((STACK *)altNames);
|
||||
}
|
||||
|
||||
return result;
|
||||
diff -up qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp.openssl qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp
|
||||
--- qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp.openssl 2009-06-20 06:57:57.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp 2009-08-26 10:40:09.000000000 +0200
|
||||
@@ -911,7 +911,7 @@ QSslCipher QSslSocketBackendPrivate::ses
|
||||
{
|
||||
if (!ssl || !ctx)
|
||||
return QSslCipher();
|
||||
- SSL_CIPHER *sessionCipher = q_SSL_get_current_cipher(ssl);
|
||||
+ SSL_CIPHER *sessionCipher = (SSL_CIPHER *)q_SSL_get_current_cipher(ssl);
|
||||
return sessionCipher ? QSslCipher_from_SSL_CIPHER(sessionCipher) : QSslCipher();
|
||||
}
|
||||
|
||||
diff -up qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols.cpp.openssl qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols.cpp
|
||||
--- qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols.cpp.openssl 2009-08-26 10:36:25.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols.cpp 2009-08-26 12:40:30.000000000 +0200
|
||||
@@ -144,10 +144,10 @@ DEFINEFUNC(int, RAND_status, void, DUMMY
|
||||
DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG)
|
||||
DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG)
|
||||
DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
|
||||
-DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return)
|
||||
+DEFINEFUNC2(OSSL_SKVALUE_RTYPE *, sk_value, STACK *a, a, int b, b, return 0, return)
|
||||
DEFINEFUNC(int, SSL_accept, SSL *a, a, return -1, return)
|
||||
DEFINEFUNC(int, SSL_clear, SSL *a, a, return -1, return)
|
||||
-DEFINEFUNC3(char *, SSL_CIPHER_description, SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
|
||||
+DEFINEFUNC3(char *, SSL_CIPHER_description, OSSL_MORECONST SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
|
||||
DEFINEFUNC(int, SSL_connect, SSL *a, a, return -1, return)
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00908000L
|
||||
// 0.9.8 broke SC and BC by changing this function's signature.
|
||||
@@ -157,7 +157,7 @@ DEFINEFUNC(int, SSL_CTX_check_private_ke
|
||||
#endif
|
||||
DEFINEFUNC4(long, SSL_CTX_ctrl, SSL_CTX *a, a, int b, b, long c, c, void *d, d, return -1, return)
|
||||
DEFINEFUNC(void, SSL_CTX_free, SSL_CTX *a, a, return, DUMMYARG)
|
||||
-DEFINEFUNC(SSL_CTX *, SSL_CTX_new, SSL_METHOD *a, a, return 0, return)
|
||||
+DEFINEFUNC(SSL_CTX *, SSL_CTX_new, OSSL_MORECONST SSL_METHOD *a, a, return 0, return)
|
||||
DEFINEFUNC2(int, SSL_CTX_set_cipher_list, SSL_CTX *a, a, const char *b, b, return -1, return)
|
||||
DEFINEFUNC(int, SSL_CTX_set_default_verify_paths, SSL_CTX *a, a, return -1, return)
|
||||
DEFINEFUNC3(void, SSL_CTX_set_verify, SSL_CTX *a, a, int b, b, int (*c)(int, X509_STORE_CTX *), c, return, DUMMYARG)
|
||||
@@ -174,7 +174,7 @@ DEFINEFUNC(STACK_OF(SSL_CIPHER) *, SSL_g
|
||||
#else
|
||||
DEFINEFUNC(STACK_OF(SSL_CIPHER) *, SSL_get_ciphers, SSL *a, a, return 0, return)
|
||||
#endif
|
||||
-DEFINEFUNC(SSL_CIPHER *, SSL_get_current_cipher, SSL *a, a, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_CIPHER *, SSL_get_current_cipher, SSL *a, a, return 0, return)
|
||||
DEFINEFUNC2(int, SSL_get_error, SSL *a, a, int b, b, return -1, return)
|
||||
DEFINEFUNC(STACK_OF(X509) *, SSL_get_peer_cert_chain, SSL *a, a, return 0, return)
|
||||
DEFINEFUNC(X509 *, SSL_get_peer_certificate, SSL *a, a, return 0, return)
|
||||
@@ -192,14 +192,14 @@ DEFINEFUNC3(void, SSL_set_bio, SSL *a, a
|
||||
DEFINEFUNC(void, SSL_set_accept_state, SSL *a, a, return, DUMMYARG)
|
||||
DEFINEFUNC(void, SSL_set_connect_state, SSL *a, a, return, DUMMYARG)
|
||||
DEFINEFUNC(int, SSL_shutdown, SSL *a, a, return -1, return)
|
||||
-DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
-DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
-DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
-DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
-DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
-DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
-DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
-DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
DEFINEFUNC3(int, SSL_write, SSL *a, a, const void *b, b, int c, c, return -1, return)
|
||||
DEFINEFUNC2(int, X509_cmp, X509 *a, a, X509 *b, b, return -1, return)
|
||||
#ifndef SSLEAY_MACROS
|
||||
diff -up qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols_p.h.openssl qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols_p.h
|
||||
--- qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols_p.h.openssl 2009-06-20 06:57:57.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols_p.h 2009-08-26 10:35:25.000000000 +0200
|
||||
@@ -254,12 +254,20 @@ int q_PEM_write_bio_RSA_PUBKEY(BIO *a, R
|
||||
void q_RAND_seed(const void *a, int b);
|
||||
int q_RAND_status();
|
||||
void q_RSA_free(RSA *a);
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
+#define STACK _STACK
|
||||
+#define OSSL_SKVALUE_RTYPE void
|
||||
+#define OSSL_MORECONST const
|
||||
+#else
|
||||
+#define OSSL_SKVALUE_RTYPE char
|
||||
+#define OSSL_MORECONST
|
||||
+#endif
|
||||
void q_sk_free(STACK *a);
|
||||
int q_sk_num(STACK *a);
|
||||
-char * q_sk_value(STACK *a, int b);
|
||||
+OSSL_SKVALUE_RTYPE * q_sk_value(STACK *a, int b);
|
||||
int q_SSL_accept(SSL *a);
|
||||
int q_SSL_clear(SSL *a);
|
||||
-char *q_SSL_CIPHER_description(SSL_CIPHER *a, char *b, int c);
|
||||
+char *q_SSL_CIPHER_description(OSSL_MORECONST SSL_CIPHER *a, char *b, int c);
|
||||
int q_SSL_connect(SSL *a);
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00908000L
|
||||
// 0.9.8 broke SC and BC by changing this function's signature.
|
||||
@@ -269,7 +277,7 @@ int q_SSL_CTX_check_private_key(SSL_CTX
|
||||
#endif
|
||||
long q_SSL_CTX_ctrl(SSL_CTX *a, int b, long c, void *d);
|
||||
void q_SSL_CTX_free(SSL_CTX *a);
|
||||
-SSL_CTX *q_SSL_CTX_new(SSL_METHOD *a);
|
||||
+SSL_CTX *q_SSL_CTX_new(OSSL_MORECONST SSL_METHOD *a);
|
||||
int q_SSL_CTX_set_cipher_list(SSL_CTX *a, const char *b);
|
||||
int q_SSL_CTX_set_default_verify_paths(SSL_CTX *a);
|
||||
void q_SSL_CTX_set_verify(SSL_CTX *a, int b, int (*c)(int, X509_STORE_CTX *));
|
||||
@@ -286,7 +294,7 @@ STACK_OF(SSL_CIPHER) *q_SSL_get_ciphers(
|
||||
#else
|
||||
STACK_OF(SSL_CIPHER) *q_SSL_get_ciphers(SSL *a);
|
||||
#endif
|
||||
-SSL_CIPHER *q_SSL_get_current_cipher(SSL *a);
|
||||
+OSSL_MORECONST SSL_CIPHER *q_SSL_get_current_cipher(SSL *a);
|
||||
int q_SSL_get_error(SSL *a, int b);
|
||||
STACK_OF(X509) *q_SSL_get_peer_cert_chain(SSL *a);
|
||||
X509 *q_SSL_get_peer_certificate(SSL *a);
|
||||
@@ -304,14 +312,14 @@ void q_SSL_set_bio(SSL *a, BIO *b, BIO *
|
||||
void q_SSL_set_accept_state(SSL *a);
|
||||
void q_SSL_set_connect_state(SSL *a);
|
||||
int q_SSL_shutdown(SSL *a);
|
||||
-SSL_METHOD *q_SSLv2_client_method();
|
||||
-SSL_METHOD *q_SSLv3_client_method();
|
||||
-SSL_METHOD *q_SSLv23_client_method();
|
||||
-SSL_METHOD *q_TLSv1_client_method();
|
||||
-SSL_METHOD *q_SSLv2_server_method();
|
||||
-SSL_METHOD *q_SSLv3_server_method();
|
||||
-SSL_METHOD *q_SSLv23_server_method();
|
||||
-SSL_METHOD *q_TLSv1_server_method();
|
||||
+OSSL_MORECONST SSL_METHOD *q_SSLv2_client_method();
|
||||
+OSSL_MORECONST SSL_METHOD *q_SSLv3_client_method();
|
||||
+OSSL_MORECONST SSL_METHOD *q_SSLv23_client_method();
|
||||
+OSSL_MORECONST SSL_METHOD *q_TLSv1_client_method();
|
||||
+OSSL_MORECONST SSL_METHOD *q_SSLv2_server_method();
|
||||
+OSSL_MORECONST SSL_METHOD *q_SSLv3_server_method();
|
||||
+OSSL_MORECONST SSL_METHOD *q_SSLv23_server_method();
|
||||
+OSSL_MORECONST SSL_METHOD *q_TLSv1_server_method();
|
||||
int q_SSL_write(SSL *a, const void *b, int c);
|
||||
int q_X509_cmp(X509 *a, X509 *b);
|
||||
#ifdef SSLEAY_MACROS
|
@ -1,43 +0,0 @@
|
||||
diff -up qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/phonon/globalconfig.cpp.phonon-pulseaudio qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/phonon/globalconfig.cpp
|
||||
--- qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/phonon/globalconfig.cpp.phonon-pulseaudio 2009-06-20 06:57:54.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/3rdparty/phonon/phonon/globalconfig.cpp 2009-08-21 00:11:55.000000000 +0200
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "phononnamespace_p.h"
|
||||
|
||||
#include <QtCore/QList>
|
||||
+#include <QtCore/QHash>
|
||||
#include <QtCore/QVariant>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
@@ -167,6 +168,15 @@ QList<int> GlobalConfig::audioOutputDevi
|
||||
| ((override & HideUnavailableDevices) ? FilterUnavailableDevices : 0)
|
||||
);
|
||||
}
|
||||
+ // make PulseAudio the global default (assume it is already default in this list)
|
||||
+ if (!list.isEmpty()) {
|
||||
+ int firstIndex = list.first();
|
||||
+ if (backendIface->objectDescriptionProperties(Phonon::AudioOutputDeviceType,
|
||||
+ firstIndex)["name"].toString() == "PulseAudio") {
|
||||
+ list.removeFirst();
|
||||
+ defaultList.prepend(firstIndex);
|
||||
+ }
|
||||
+ }
|
||||
defaultList += list;
|
||||
}
|
||||
|
||||
@@ -222,6 +232,15 @@ QList<int> GlobalConfig::audioCaptureDev
|
||||
| ((override & HideUnavailableDevices) ? FilterUnavailableDevices : 0)
|
||||
);
|
||||
}
|
||||
+ // make PulseAudio the global default (assume it is already default in this list)
|
||||
+ if (!list.isEmpty()) {
|
||||
+ int firstIndex = list.first();
|
||||
+ if (backendIface->objectDescriptionProperties(Phonon::AudioCaptureDeviceType,
|
||||
+ firstIndex)["name"].toString() == "PulseAudio") {
|
||||
+ list.removeFirst();
|
||||
+ defaultList.prepend(firstIndex);
|
||||
+ }
|
||||
+ }
|
||||
defaultList += list;
|
||||
}
|
||||
|
@ -1,42 +0,0 @@
|
||||
diff -up qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp.me qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp
|
||||
--- qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp.me 2009-09-09 14:28:38.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp 2009-09-09 15:00:07.000000000 +0200
|
||||
@@ -482,31 +482,20 @@ void QSslSocketPrivate::resetDefaultCiph
|
||||
|
||||
QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
|
||||
{
|
||||
-#ifdef QQ_OS_UNIX
|
||||
+ QFile caBundle;
|
||||
+
|
||||
+#ifdef Q_OS_UNIX
|
||||
// Check known locations for the system's default bundle. ### On Windows,
|
||||
// we should use CAPI to find the bundle, and not rely on default unix
|
||||
// locations.
|
||||
- const char *standardLocations[] = {"/etc/ssl/certs/",
|
||||
-#if 0
|
||||
- // KDE uses KConfig for its SSL store,
|
||||
- // but it also stores the bundle at
|
||||
- // this location
|
||||
- "$HOME/.kde/share/apps/kssl/ca-bundle.crt",
|
||||
-#endif
|
||||
- 0};
|
||||
- const char **it = standardLocations;
|
||||
- QStringList nameFilter;
|
||||
- nameFilter << QLatin1String("*.pem") << QLatin1String("*.crt");
|
||||
- while (*it) {
|
||||
- if (QDirIterator(QLatin1String(*it), nameFilter).hasNext())
|
||||
- return certificatesFromPath(QLatin1String(*it));
|
||||
- ++it;
|
||||
- }
|
||||
+ caBundle.setFileName(QLatin1String("/etc/pki/tls/certs/ca-bundle.crt"));
|
||||
+ if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
+ return QSslCertificate::fromDevice(&caBundle);
|
||||
#endif
|
||||
|
||||
// Qt provides a default bundle when we cannot detect the system's default
|
||||
// bundle.
|
||||
- QFile caBundle(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt"));
|
||||
+ caBundle.setFileName(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt"));
|
||||
if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
return QSslCertificate::fromDevice(&caBundle);
|
||||
|
@ -1,92 +0,0 @@
|
||||
From 9e5fa633913ef952ca4ef5312fe396bcfc885321 Mon Sep 17 00:00:00 2001
|
||||
From: Denis Dzyubenko <denis.dzyubenko@nokia.com>
|
||||
Date: Wed, 22 Jul 2009 17:12:17 +0200
|
||||
Subject: [PATCH] Revert "Added a check that X11 timestamp goes forward only."
|
||||
|
||||
In some cases we might get an invalid timestamp that is far away in
|
||||
the future, so remembering it will break all consequent X calls that
|
||||
require a timestamp because it just contains junk (for example
|
||||
clipboard will stop working). This happens with XIM+SCIM pair -
|
||||
whenever we start input method and type something to the widget, we
|
||||
get a XKeyPress event with a commited string, however the 'serial' and
|
||||
'time' members of the XEvent structure are not initialized (according
|
||||
to valgrind) and contain junk.
|
||||
|
||||
This reverts commit 2ed015b8a0ffad63f0f59b0e2255057f416895fb.
|
||||
|
||||
Reviewed-By: Brad
|
||||
---
|
||||
src/gui/kernel/qapplication_x11.cpp | 35 +++++++++++++++--------------------
|
||||
1 files changed, 15 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp
|
||||
index 163ceb6..abedfd6 100644
|
||||
--- a/src/gui/kernel/qapplication_x11.cpp
|
||||
+++ b/src/gui/kernel/qapplication_x11.cpp
|
||||
@@ -3142,48 +3142,43 @@ int QApplication::x11ProcessEvent(XEvent* event)
|
||||
#ifdef ALIEN_DEBUG
|
||||
//qDebug() << "QApplication::x11ProcessEvent:" << event->type;
|
||||
#endif
|
||||
- Time time = 0, userTime = 0;
|
||||
switch (event->type) {
|
||||
case ButtonPress:
|
||||
pressed_window = event->xbutton.window;
|
||||
- userTime = event->xbutton.time;
|
||||
+ X11->userTime = event->xbutton.time;
|
||||
// fallthrough intended
|
||||
case ButtonRelease:
|
||||
- time = event->xbutton.time;
|
||||
+ X11->time = event->xbutton.time;
|
||||
break;
|
||||
case MotionNotify:
|
||||
- time = event->xmotion.time;
|
||||
+ X11->time = event->xmotion.time;
|
||||
break;
|
||||
case XKeyPress:
|
||||
- userTime = event->xkey.time;
|
||||
+ X11->userTime = event->xkey.time;
|
||||
// fallthrough intended
|
||||
case XKeyRelease:
|
||||
- time = event->xkey.time;
|
||||
+ X11->time = event->xkey.time;
|
||||
break;
|
||||
case PropertyNotify:
|
||||
- time = event->xproperty.time;
|
||||
+ X11->time = event->xproperty.time;
|
||||
break;
|
||||
case EnterNotify:
|
||||
case LeaveNotify:
|
||||
- time = event->xcrossing.time;
|
||||
+ X11->time = event->xcrossing.time;
|
||||
break;
|
||||
case SelectionClear:
|
||||
- time = event->xselectionclear.time;
|
||||
+ X11->time = event->xselectionclear.time;
|
||||
break;
|
||||
default:
|
||||
-#ifndef QT_NO_XFIXES
|
||||
- if (X11->use_xfixes && event->type == (X11->xfixes_eventbase + XFixesSelectionNotify)) {
|
||||
- XFixesSelectionNotifyEvent *req =
|
||||
- reinterpret_cast<XFixesSelectionNotifyEvent *>(event);
|
||||
- time = req->selection_timestamp;
|
||||
- }
|
||||
-#endif
|
||||
break;
|
||||
}
|
||||
- if (time > X11->time)
|
||||
- X11->time = time;
|
||||
- if (userTime > X11->userTime)
|
||||
- X11->userTime = userTime;
|
||||
+#ifndef QT_NO_XFIXES
|
||||
+ if (X11->use_xfixes && event->type == (X11->xfixes_eventbase + XFixesSelectionNotify)) {
|
||||
+ XFixesSelectionNotifyEvent *req =
|
||||
+ reinterpret_cast<XFixesSelectionNotifyEvent *>(event);
|
||||
+ X11->time = req->selection_timestamp;
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
QETWidget *widget = (QETWidget*)QWidget::find((WId)event->xany.window);
|
||||
|
||||
--
|
||||
1.6.1
|
||||
|
@ -4,7 +4,5 @@ Comment=Configure Qt4 behavior, styles, fonts
|
||||
Exec=qtconfig-qt4
|
||||
Icon=qt4-logo
|
||||
Terminal=false
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Categories=Qt;Settings;
|
||||
NoDisplay=true
|
||||
|
@ -4,6 +4,5 @@ Comment=Show Qt4 demos and programming examples
|
||||
Exec=qtdemo-qt4
|
||||
Icon=qt4-logo
|
||||
Terminal=false
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Categories=Qt;Development;
|
||||
|
9
sources
9
sources
@ -1,10 +1,3 @@
|
||||
d9f511e4b51983b4e10eb58b320416d5 hi128-app-qt4-logo.png
|
||||
6dcc0672ff9e60a6b83f95c5f42bec5b hi48-app-qt4-logo.png
|
||||
8e3924f417fea67f72b2105faed2119c gstreamer-logo.svg
|
||||
28a7e8ac9805a6f614d2a27ee1a6ac9d qt-x11-opensource-src-4.5.2.tar.bz2
|
||||
60de9d7e1cddd019f09fd036f0e5413a hi128-phonon-gstreamer.png
|
||||
7ca265e0cf75b3b4c81e1490d3dba3be hi16-phonon-gstreamer.png
|
||||
0a9f69d901aded140d4fed969c22e14f hi22-phonon-gstreamer.png
|
||||
12db12c009b722a6dc141f78feb7e330 hi32-phonon-gstreamer.png
|
||||
86c34a1b81d44980b1381f94ed6b7a23 hi48-phonon-gstreamer.png
|
||||
153505c71ec021b0a3bd4b74f2492e93 hi64-phonon-gstreamer.png
|
||||
d990ee66bf7ab0c785589776f35ba6ad qt-everywhere-opensource-src-4.8.7.tar.gz
|
||||
|
Loading…
Reference in New Issue
Block a user