Compare commits
20 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
b978dead28 | ||
|
01392e94e4 | ||
|
b2c64a8205 | ||
|
1226c06a0a | ||
|
9ed5612df8 | ||
|
78e2db278c | ||
|
492bd93223 | ||
|
4d282ff93f | ||
|
0e8f71ddd4 | ||
|
9fed71c90e | ||
|
b4827db4fc | ||
|
b38ecb620b | ||
|
979fb02c8a | ||
|
fa9aa5e3fa | ||
|
18261c636d | ||
|
1888dd486d | ||
|
b70808d1e3 | ||
|
3e7013fc87 | ||
|
9c291e4915 | ||
|
d8fc052b31 |
21
.gitignore
vendored
21
.gitignore
vendored
@ -1,10 +1,11 @@
|
|||||||
hi128-app-qt4-logo.png
|
/hi128-app-qt4-logo.png
|
||||||
hi48-app-qt4-logo.png
|
/hi48-app-qt4-logo.png
|
||||||
gstreamer-logo.svg
|
/gstreamer-logo.svg
|
||||||
hi128-phonon-gstreamer.png
|
/hi128-phonon-gstreamer.png
|
||||||
hi16-phonon-gstreamer.png
|
/hi16-phonon-gstreamer.png
|
||||||
hi22-phonon-gstreamer.png
|
/hi22-phonon-gstreamer.png
|
||||||
hi32-phonon-gstreamer.png
|
/hi32-phonon-gstreamer.png
|
||||||
hi48-phonon-gstreamer.png
|
/hi48-phonon-gstreamer.png
|
||||||
hi64-phonon-gstreamer.png
|
/hi64-phonon-gstreamer.png
|
||||||
/qt-everywhere-opensource-src-4.7.3.tar.gz
|
/qt-everywhere-opensource-src-4.7.4.tar.gz
|
||||||
|
/qt-everywhere-opensource-src-4.8.0-rc1.tar.gz
|
||||||
|
@ -1,70 +0,0 @@
|
|||||||
From 9eb3560cfd5cd0bc9c7bf79f2c27657ee07b8f95 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Albert Astals Cid <aacid@kde.org>
|
|
||||||
Date: Sat, 8 Aug 2009 14:40:25 +0200
|
|
||||||
Subject: [PATCH 12/13] Add context to tr calls in QShortcut
|
|
||||||
|
|
||||||
Some languages have special rules for using "+" to concatenate strings and
|
|
||||||
for example it needs to be Ctrl + Shift instead of Ctrl+Shift, adding
|
|
||||||
context to these strings helps creating a more correct translation
|
|
||||||
---
|
|
||||||
src/gui/kernel/qkeysequence.cpp | 20 ++++++++++----------
|
|
||||||
1 files changed, 10 insertions(+), 10 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp
|
|
||||||
index 894f663..c17f253 100644
|
|
||||||
--- a/src/gui/kernel/qkeysequence.cpp
|
|
||||||
+++ b/src/gui/kernel/qkeysequence.cpp
|
|
||||||
@@ -991,10 +991,10 @@ int QKeySequencePrivate::decodeString(const QString &str, QKeySequence::Sequence
|
|
||||||
|
|
||||||
QList<QModifKeyName> modifs;
|
|
||||||
if (nativeText) {
|
|
||||||
- modifs << QModifKeyName(Qt::CTRL, QShortcut::tr("Ctrl").toLower().append(QLatin1Char('+')))
|
|
||||||
- << QModifKeyName(Qt::SHIFT, QShortcut::tr("Shift").toLower().append(QLatin1Char('+')))
|
|
||||||
- << QModifKeyName(Qt::ALT, QShortcut::tr("Alt").toLower().append(QLatin1Char('+')))
|
|
||||||
- << QModifKeyName(Qt::META, QShortcut::tr("Meta").toLower().append(QLatin1Char('+')));
|
|
||||||
+ modifs << QModifKeyName(Qt::CTRL, QShortcut::tr("Ctrl", "Ctrl key, used for shortcuts").toLower().append(QLatin1Char('+')))
|
|
||||||
+ << QModifKeyName(Qt::SHIFT, QShortcut::tr("Shift", "Shift key, used for shortcuts").toLower().append(QLatin1Char('+')))
|
|
||||||
+ << QModifKeyName(Qt::ALT, QShortcut::tr("Alt", "Alt key, used for shortcuts").toLower().append(QLatin1Char('+')))
|
|
||||||
+ << QModifKeyName(Qt::META, QShortcut::tr("Meta", "Meta key, used for shortcuts").toLower().append(QLatin1Char('+')));
|
|
||||||
}
|
|
||||||
modifs += *gmodifs; // Test non-translated ones last
|
|
||||||
|
|
||||||
@@ -1086,7 +1086,7 @@ QString QKeySequence::encodeString(int key)
|
|
||||||
static inline void addKey(QString &str, const QString &theKey, QKeySequence::SequenceFormat format)
|
|
||||||
{
|
|
||||||
if (!str.isEmpty())
|
|
||||||
- str += (format == QKeySequence::NativeText) ? QShortcut::tr("+")
|
|
||||||
+ str += (format == QKeySequence::NativeText) ? QShortcut::tr("+", "Symbol used to concatenate keys in shortcuts")
|
|
||||||
: QString::fromLatin1("+");
|
|
||||||
str += theKey;
|
|
||||||
}
|
|
||||||
@@ -1111,13 +1111,13 @@ QString QKeySequencePrivate::encodeString(int key, QKeySequence::SequenceFormat
|
|
||||||
{
|
|
||||||
// On other systems the order is Meta, Control, Alt, Shift
|
|
||||||
if ((key & Qt::META) == Qt::META)
|
|
||||||
- s = nativeText ? QShortcut::tr("Meta") : QString::fromLatin1("Meta");
|
|
||||||
+ s = nativeText ? QShortcut::tr("Meta", "Meta key, used for shortcuts") : QString::fromLatin1("Meta");
|
|
||||||
if ((key & Qt::CTRL) == Qt::CTRL)
|
|
||||||
- addKey(s, nativeText ? QShortcut::tr("Ctrl") : QString::fromLatin1("Ctrl"), format);
|
|
||||||
+ addKey(s, nativeText ? QShortcut::tr("Ctrl", "Ctrl key, used for shortcuts") : QString::fromLatin1("Ctrl"), format);
|
|
||||||
if ((key & Qt::ALT) == Qt::ALT)
|
|
||||||
- addKey(s, nativeText ? QShortcut::tr("Alt") : QString::fromLatin1("Alt"), format);
|
|
||||||
+ addKey(s, nativeText ? QShortcut::tr("Alt", "Alt key, used for shortcuts") : QString::fromLatin1("Alt"), format);
|
|
||||||
if ((key & Qt::SHIFT) == Qt::SHIFT)
|
|
||||||
- addKey(s, nativeText ? QShortcut::tr("Shift") : QString::fromLatin1("Shift"), format);
|
|
||||||
+ addKey(s, nativeText ? QShortcut::tr("Shift", "Shift key, used for shortcuts") : QString::fromLatin1("Shift"), format);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1132,7 +1132,7 @@ QString QKeySequencePrivate::encodeString(int key, QKeySequence::SequenceFormat
|
|
||||||
p += QChar((key-0x10000)%400+0xdc00);
|
|
||||||
}
|
|
||||||
} else if (key >= Qt::Key_F1 && key <= Qt::Key_F35) {
|
|
||||||
- p = nativeText ? QShortcut::tr("F%1").arg(key - Qt::Key_F1 + 1)
|
|
||||||
+ p = nativeText ? QShortcut::tr("F%1", "Fx key, used for shortcuts").arg(key - Qt::Key_F1 + 1)
|
|
||||||
: QString::fromLatin1("F%1").arg(key - Qt::Key_F1 + 1);
|
|
||||||
} else if (key) {
|
|
||||||
int i=0;
|
|
||||||
--
|
|
||||||
1.6.5.1
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
|||||||
From 4d3b9aa83cf7f6d9f9b88d9936e5980629daac2a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Cristiano di Flora <cristiano.di-flora@nokia.com>
|
|
||||||
Date: Tue, 22 Feb 2011 05:27:51 +0200
|
|
||||||
Subject: [PATCH] Fix QNetworkConfigurationManager crash due to null private pointer.
|
|
||||||
|
|
||||||
Reviewed-by: Aaron McCarthy
|
|
||||||
Task-Number: QTBUG-17305
|
|
||||||
(cherry picked from commit 7388fcb83592a90aace054314e0c3e7e7a94fdae)
|
|
||||||
---
|
|
||||||
src/network/bearer/qnetworkconfigmanager.cpp | 17 +++++------------
|
|
||||||
1 files changed, 5 insertions(+), 12 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/network/bearer/qnetworkconfigmanager.cpp b/src/network/bearer/qnetworkconfigmanager.cpp
|
|
||||||
index 0e3c519..7eadb82 100644
|
|
||||||
--- a/src/network/bearer/qnetworkconfigmanager.cpp
|
|
||||||
+++ b/src/network/bearer/qnetworkconfigmanager.cpp
|
|
||||||
@@ -57,16 +57,17 @@ QT_BEGIN_NAMESPACE
|
|
||||||
{ \
|
|
||||||
delete this_##NAME.pointer; \
|
|
||||||
this_##NAME.pointer = 0; \
|
|
||||||
- this_##NAME.destroyed = true; \
|
|
||||||
} \
|
|
||||||
static TYPE *NAME() \
|
|
||||||
{ \
|
|
||||||
- if (!this_##NAME.pointer && !this_##NAME.destroyed) { \
|
|
||||||
+ if (!this_##NAME.pointer) { \
|
|
||||||
TYPE *x = new TYPE; \
|
|
||||||
if (!this_##NAME.pointer.testAndSetOrdered(0, x)) \
|
|
||||||
delete x; \
|
|
||||||
- else \
|
|
||||||
+ else { \
|
|
||||||
qAddPostRoutine(NAME##_cleanup); \
|
|
||||||
+ this_##NAME.pointer->updateConfigurations(); \
|
|
||||||
+ } \
|
|
||||||
} \
|
|
||||||
return this_##NAME.pointer; \
|
|
||||||
}
|
|
||||||
@@ -75,15 +76,7 @@ Q_GLOBAL_STATIC_QAPP_DESTRUCTION(QNetworkConfigurationManagerPrivate, connManage
|
|
||||||
|
|
||||||
QNetworkConfigurationManagerPrivate *qNetworkConfigurationManagerPrivate()
|
|
||||||
{
|
|
||||||
- static bool initialized = false;
|
|
||||||
-
|
|
||||||
- QNetworkConfigurationManagerPrivate *m = connManager();
|
|
||||||
- if (!initialized) {
|
|
||||||
- initialized = true;
|
|
||||||
- m->updateConfigurations();
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- return m;
|
|
||||||
+ return connManager();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
--
|
|
||||||
1.6.1
|
|
||||||
|
|
23
QTBUG-16402-fix-ARM-Thumb2-build.patch
Normal file
23
QTBUG-16402-fix-ARM-Thumb2-build.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
diff -up qt-everywhere-opensource-src-4.7.4/src/corelib/arch/qatomic_armv6.h.thumb qt-everywhere-opensource-src-4.7.4/src/corelib/arch/qatomic_armv6.h
|
||||||
|
--- qt-everywhere-opensource-src-4.7.4/src/corelib/arch/qatomic_armv6.h.thumb 2011-09-17 20:01:15.636182558 +0200
|
||||||
|
+++ qt-everywhere-opensource-src-4.7.4/src/corelib/arch/qatomic_armv6.h 2011-09-17 20:04:06.752642585 +0200
|
||||||
|
@@ -144,6 +144,9 @@ inline bool QBasicAtomicInt::testAndSetO
|
||||||
|
asm volatile("0:\n"
|
||||||
|
"ldrex %[result], [%[_q_value]]\n"
|
||||||
|
"eors %[result], %[result], %[expectedValue]\n"
|
||||||
|
+#ifdef __thumb__
|
||||||
|
+ "itt eq\n"
|
||||||
|
+#endif
|
||||||
|
"strexeq %[result], %[newValue], [%[_q_value]]\n"
|
||||||
|
"teqeq %[result], #1\n"
|
||||||
|
"beq 0b\n"
|
||||||
|
@@ -202,6 +205,9 @@ Q_INLINE_TEMPLATE bool QBasicAtomicPoint
|
||||||
|
asm volatile("0:\n"
|
||||||
|
"ldrex %[result], [%[_q_value]]\n"
|
||||||
|
"eors %[result], %[result], %[expectedValue]\n"
|
||||||
|
+#ifdef __thumb__
|
||||||
|
+ "itt eq\n"
|
||||||
|
+#endif
|
||||||
|
"strexeq %[result], %[newValue], [%[_q_value]]\n"
|
||||||
|
"teqeq %[result], #1\n"
|
||||||
|
"beq 0b\n"
|
230
QTBUG-19947-fontconfig-2.patch
Normal file
230
QTBUG-19947-fontconfig-2.patch
Normal file
@ -0,0 +1,230 @@
|
|||||||
|
From 589a94ddb30499b0f3ecaf909a5b291d64d02dc7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jiang Jiang <jiang.jiang@nokia.com>
|
||||||
|
Date: Mon, 20 Jun 2011 13:47:01 +0200
|
||||||
|
Subject: [PATCH] Fix fontconfig usage in X11 font database
|
||||||
|
|
||||||
|
We should do FcConfigSubstitute(0, pattern, FcMatchFont) on a
|
||||||
|
FcPattern for query because the family list in it will contain
|
||||||
|
almost all the families after FcConfigSubstitute(0, pattern,
|
||||||
|
FcMatchPattern), then the test in <match target="font"> will
|
||||||
|
almost always succeed. In general, FcMatchFont substitute
|
||||||
|
should only be done on the FcPattern that we got after
|
||||||
|
FcFontMatch() or FcFontRenderPrepare().
|
||||||
|
|
||||||
|
Based on the suggestion of fontconfig author Behdad Esfahbod,
|
||||||
|
this patch reorganized the tryPatternLoad logic so that it only
|
||||||
|
does the QFontEngine creation part, FcPattern *match is retrieved
|
||||||
|
outside of that function. In this way, the match pattern we got
|
||||||
|
can be either from FcFontMatch() or after FcFontRenderPrepare()
|
||||||
|
on one of the fonts we got from qt_fontSetForPattern(). Then we
|
||||||
|
don't need to duplicate the pattern and add all criterias back
|
||||||
|
with qt_addPatternProps(). It not only simplified the code a lot
|
||||||
|
but also fix the way we apply FcMatchFont substitution. This
|
||||||
|
substitution will either be done by FcFontMatch() or
|
||||||
|
FcFontRenderPrepare, both implicitly.
|
||||||
|
|
||||||
|
Task-number: QTBUG-2148, QTBUG-19947
|
||||||
|
Reviewed-by: Eskil
|
||||||
|
---
|
||||||
|
src/gui/text/qfontdatabase_x11.cpp | 55 +++++++++++++++---------------------
|
||||||
|
src/gui/text/qfontengine_x11.cpp | 28 +++++-------------
|
||||||
|
2 files changed, 31 insertions(+), 52 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/gui/text/qfontdatabase_x11.cpp b/src/gui/text/qfontdatabase_x11.cpp
|
||||||
|
index 754334c..958daa2 100644
|
||||||
|
--- a/src/gui/text/qfontdatabase_x11.cpp
|
||||||
|
+++ b/src/gui/text/qfontdatabase_x11.cpp
|
||||||
|
@@ -1566,9 +1566,8 @@ static FcPattern *getFcPattern(const QFontPrivate *fp, int script, const QFontDe
|
||||||
|
|
||||||
|
qt_addPatternProps(pattern, fp->screen, script, request);
|
||||||
|
|
||||||
|
- FcDefaultSubstitute(pattern);
|
||||||
|
FcConfigSubstitute(0, pattern, FcMatchPattern);
|
||||||
|
- FcConfigSubstitute(0, pattern, FcMatchFont);
|
||||||
|
+ FcDefaultSubstitute(pattern);
|
||||||
|
|
||||||
|
// these should only get added to the pattern _after_ substitution
|
||||||
|
// append the default fallback font for the specified script
|
||||||
|
@@ -1606,35 +1605,20 @@ static void FcFontSetRemove(FcFontSet *fs, int at)
|
||||||
|
memmove(fs->fonts + at, fs->fonts + at + 1, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
-static QFontEngine *tryPatternLoad(FcPattern *p, int screen,
|
||||||
|
- const QFontDef &request, int script, FcPattern **matchedPattern = 0)
|
||||||
|
+static QFontEngine *tryPatternLoad(FcPattern *match, int screen,
|
||||||
|
+ const QFontDef &request, int script)
|
||||||
|
{
|
||||||
|
#ifdef FONT_MATCH_DEBUG
|
||||||
|
FcChar8 *fam;
|
||||||
|
- FcPatternGetString(p, FC_FAMILY, 0, &fam);
|
||||||
|
+ FcPatternGetString(match, FC_FAMILY, 0, &fam);
|
||||||
|
FM_DEBUG("==== trying %s\n", fam);
|
||||||
|
#endif
|
||||||
|
FM_DEBUG("passes charset test\n");
|
||||||
|
- FcPattern *pattern = FcPatternDuplicate(p);
|
||||||
|
- // add properties back in as the font selected from the
|
||||||
|
- // list doesn't contain them.
|
||||||
|
- qt_addPatternProps(pattern, screen, script, request);
|
||||||
|
-
|
||||||
|
- FcConfigSubstitute(0, pattern, FcMatchPattern);
|
||||||
|
- FcDefaultSubstitute(pattern);
|
||||||
|
- FcResult res;
|
||||||
|
- FcPattern *match = FcFontMatch(0, pattern, &res);
|
||||||
|
-
|
||||||
|
- if (matchedPattern)
|
||||||
|
- *matchedPattern = 0;
|
||||||
|
|
||||||
|
QFontEngineX11FT *engine = 0;
|
||||||
|
if (!match) // probably no fonts available.
|
||||||
|
goto done;
|
||||||
|
|
||||||
|
- if (matchedPattern)
|
||||||
|
- *matchedPattern = FcPatternDuplicate(match);
|
||||||
|
-
|
||||||
|
if (script != QUnicodeTables::Common) {
|
||||||
|
// skip font if it doesn't support the language we want
|
||||||
|
if (specialChars[script]) {
|
||||||
|
@@ -1673,11 +1657,6 @@ static QFontEngine *tryPatternLoad(FcPattern *p, int screen,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
done:
|
||||||
|
- FcPatternDestroy(pattern);
|
||||||
|
- if (!engine && matchedPattern && *matchedPattern) {
|
||||||
|
- FcPatternDestroy(*matchedPattern);
|
||||||
|
- *matchedPattern = 0;
|
||||||
|
- }
|
||||||
|
return engine;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1726,14 +1705,26 @@ static QFontEngine *loadFc(const QFontPrivate *fp, int script, const QFontDef &r
|
||||||
|
#endif
|
||||||
|
|
||||||
|
QFontEngine *fe = 0;
|
||||||
|
- FcPattern *matchedPattern = 0;
|
||||||
|
- fe = tryPatternLoad(pattern, fp->screen, request, script, &matchedPattern);
|
||||||
|
+ FcResult res;
|
||||||
|
+ FcPattern *match = FcFontMatch(0, pattern, &res);
|
||||||
|
+ fe = tryPatternLoad(match, fp->screen, request, script);
|
||||||
|
if (!fe) {
|
||||||
|
FcFontSet *fs = qt_fontSetForPattern(pattern, request);
|
||||||
|
|
||||||
|
+ if (match) {
|
||||||
|
+ FcPatternDestroy(match);
|
||||||
|
+ match = 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (fs) {
|
||||||
|
- for (int i = 0; !fe && i < fs->nfont; ++i)
|
||||||
|
- fe = tryPatternLoad(fs->fonts[i], fp->screen, request, script, &matchedPattern);
|
||||||
|
+ for (int i = 0; !fe && i < fs->nfont; ++i) {
|
||||||
|
+ match = FcFontRenderPrepare(NULL, pattern, fs->fonts[i]);
|
||||||
|
+ fe = tryPatternLoad(match, fp->screen, request, script);
|
||||||
|
+ if (fe)
|
||||||
|
+ break;
|
||||||
|
+ FcPatternDestroy(match);
|
||||||
|
+ match = 0;
|
||||||
|
+ }
|
||||||
|
FcFontSetDestroy(fs);
|
||||||
|
}
|
||||||
|
FM_DEBUG("engine for script %d is %s\n", script, fe ? fe->fontDef.family.toLatin1().data(): "(null)");
|
||||||
|
@@ -1741,11 +1732,11 @@ static QFontEngine *loadFc(const QFontPrivate *fp, int script, const QFontDef &r
|
||||||
|
if (fe
|
||||||
|
&& script == QUnicodeTables::Common
|
||||||
|
&& !(request.styleStrategy & QFont::NoFontMerging) && !fe->symbol) {
|
||||||
|
- fe = new QFontEngineMultiFT(fe, matchedPattern, pattern, fp->screen, request);
|
||||||
|
+ fe = new QFontEngineMultiFT(fe, match, pattern, fp->screen, request);
|
||||||
|
} else {
|
||||||
|
FcPatternDestroy(pattern);
|
||||||
|
- if (matchedPattern)
|
||||||
|
- FcPatternDestroy(matchedPattern);
|
||||||
|
+ if (match)
|
||||||
|
+ FcPatternDestroy(match);
|
||||||
|
}
|
||||||
|
return fe;
|
||||||
|
}
|
||||||
|
diff --git a/src/gui/text/qfontengine_x11.cpp b/src/gui/text/qfontengine_x11.cpp
|
||||||
|
index e3bfa5d..490866c 100644
|
||||||
|
--- a/src/gui/text/qfontengine_x11.cpp
|
||||||
|
+++ b/src/gui/text/qfontengine_x11.cpp
|
||||||
|
@@ -863,11 +863,8 @@ glyph_t QFontEngineXLFD::glyphIndexToFreetypeGlyphIndex(glyph_t g) const
|
||||||
|
// Multi FT engine
|
||||||
|
// ------------------------------------------------------------------
|
||||||
|
|
||||||
|
-static QFontEngine *engineForPattern(FcPattern *pattern, const QFontDef &request,
|
||||||
|
- int screen)
|
||||||
|
+static QFontEngine *engineForPattern(FcPattern *match, const QFontDef &request, int screen)
|
||||||
|
{
|
||||||
|
- FcResult res;
|
||||||
|
- FcPattern *match = FcFontMatch(0, pattern, &res);
|
||||||
|
QFontEngineX11FT *engine = new QFontEngineX11FT(match, request, screen);
|
||||||
|
if (!engine->invalid())
|
||||||
|
return engine;
|
||||||
|
@@ -879,9 +876,9 @@ static QFontEngine *engineForPattern(FcPattern *pattern, const QFontDef &request
|
||||||
|
}
|
||||||
|
|
||||||
|
QFontEngineMultiFT::QFontEngineMultiFT(QFontEngine *fe, FcPattern *matchedPattern, FcPattern *p, int s, const QFontDef &req)
|
||||||
|
- : QFontEngineMulti(2), request(req), pattern(p), firstEnginePattern(matchedPattern), fontSet(0), screen(s)
|
||||||
|
+ : QFontEngineMulti(2), request(req), pattern(p), fontSet(0), screen(s)
|
||||||
|
{
|
||||||
|
-
|
||||||
|
+ firstEnginePattern = FcPatternDuplicate(matchedPattern);
|
||||||
|
engines[0] = fe;
|
||||||
|
engines.at(0)->ref.ref();
|
||||||
|
fontDef = engines[0]->fontDef;
|
||||||
|
@@ -907,8 +904,6 @@ void QFontEngineMultiFT::loadEngine(int at)
|
||||||
|
extern QMutex *qt_fontdatabase_mutex();
|
||||||
|
QMutexLocker locker(qt_fontdatabase_mutex());
|
||||||
|
|
||||||
|
- extern void qt_addPatternProps(FcPattern *pattern, int screen, int script,
|
||||||
|
- const QFontDef &request);
|
||||||
|
extern QFontDef qt_FcPatternToQFontDef(FcPattern *pattern, const QFontDef &);
|
||||||
|
extern FcFontSet *qt_fontSetForPattern(FcPattern *pattern, const QFontDef &request);
|
||||||
|
|
||||||
|
@@ -940,22 +935,18 @@ void QFontEngineMultiFT::loadEngine(int at)
|
||||||
|
Q_ASSERT(at < engines.size());
|
||||||
|
Q_ASSERT(engines.at(at) == 0);
|
||||||
|
|
||||||
|
- FcPattern *pattern = FcPatternDuplicate(fontSet->fonts[at + firstFontIndex - 1]);
|
||||||
|
- qt_addPatternProps(pattern, screen, QUnicodeTables::Common, request);
|
||||||
|
-
|
||||||
|
- QFontDef fontDef = qt_FcPatternToQFontDef(pattern, this->request);
|
||||||
|
+ FcPattern *match = FcFontRenderPrepare(NULL, pattern, fontSet->fonts[at + firstFontIndex - 1]);
|
||||||
|
+ QFontDef fontDef = qt_FcPatternToQFontDef(match, this->request);
|
||||||
|
|
||||||
|
// note: we use -1 for the script to make sure that we keep real
|
||||||
|
// FT engines separate from Multi engines in the font cache
|
||||||
|
QFontCache::Key key(fontDef, -1, screen);
|
||||||
|
QFontEngine *fontEngine = QFontCache::instance()->findEngine(key);
|
||||||
|
if (!fontEngine) {
|
||||||
|
- FcConfigSubstitute(0, pattern, FcMatchPattern);
|
||||||
|
- FcDefaultSubstitute(pattern);
|
||||||
|
- fontEngine = engineForPattern(pattern, request, screen);
|
||||||
|
+ fontEngine = engineForPattern(match, request, screen);
|
||||||
|
QFontCache::instance()->insertEngine(key, fontEngine);
|
||||||
|
}
|
||||||
|
- FcPatternDestroy(pattern);
|
||||||
|
+ FcPatternDestroy(match);
|
||||||
|
fontEngine->ref.ref();
|
||||||
|
engines[at] = fontEngine;
|
||||||
|
}
|
||||||
|
@@ -1123,17 +1114,14 @@ QFontEngineX11FT::QFontEngineX11FT(FcPattern *pattern, const QFontDef &fd, int s
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- if (!init(face_id, antialias, defaultFormat)) {
|
||||||
|
- FcPatternDestroy(pattern);
|
||||||
|
+ if (!init(face_id, antialias, defaultFormat))
|
||||||
|
return;
|
||||||
|
- }
|
||||||
|
|
||||||
|
if (!freetype->charset) {
|
||||||
|
FcCharSet *cs;
|
||||||
|
FcPatternGetCharSet (pattern, FC_CHARSET, 0, &cs);
|
||||||
|
freetype->charset = FcCharSetCopy(cs);
|
||||||
|
}
|
||||||
|
- FcPatternDestroy(pattern);
|
||||||
|
}
|
||||||
|
|
||||||
|
QFontEngineX11FT::~QFontEngineX11FT()
|
||||||
|
--
|
||||||
|
1.7.4.1
|
@ -1,6 +0,0 @@
|
|||||||
# quick-n-dirty method to fetch patches from -patched git branch
|
|
||||||
# unfortunately, requires an already checked-out copy of the git repo
|
|
||||||
|
|
||||||
# when switching branches, use something like: git checkout --track remotes/origin/4.6-stable-patched
|
|
||||||
git format-patch --output-directory kde-qt-patches v4.6.1..origin/4.6.1-patched
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
|||||||
diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp
|
|
||||||
index 406e1f6..4691b17 100644
|
|
||||||
--- a/src/gui/itemviews/qtreeview.cpp
|
|
||||||
+++ b/src/gui/itemviews/qtreeview.cpp
|
|
||||||
@@ -3223,7 +3223,7 @@ int QTreeViewPrivate::itemHeight(int item) const
|
|
||||||
return defaultItemHeight;
|
|
||||||
if (viewItems.isEmpty())
|
|
||||||
return 0;
|
|
||||||
- const QModelIndex &index = viewItems.at(item).index;
|
|
||||||
+ QModelIndex index = viewItems.at(item).index;
|
|
||||||
int height = viewItems.at(item).height;
|
|
||||||
if (height <= 0 && index.isValid()) {
|
|
||||||
height = q_func()->indexRowSizeHint(index);
|
|
117
qt-everywhere-opensource-src-4.7.4-QTBUG-21754.patch
Normal file
117
qt-everywhere-opensource-src-4.7.4-QTBUG-21754.patch
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
diff -up qt-everywhere-opensource-src-4.7.4/src/gui/image/qnativeimage.cpp.QTBUG-21754 qt-everywhere-opensource-src-4.7.4/src/gui/image/qnativeimage.cpp
|
||||||
|
--- qt-everywhere-opensource-src-4.7.4/src/gui/image/qnativeimage.cpp.QTBUG-21754 2011-09-12 01:49:28.000000000 -0500
|
||||||
|
+++ qt-everywhere-opensource-src-4.7.4/src/gui/image/qnativeimage.cpp 2011-10-28 16:04:53.836638684 -0500
|
||||||
|
@@ -150,7 +150,12 @@ QImage::Format QNativeImage::systemForma
|
||||||
|
QNativeImage::QNativeImage(int width, int height, QImage::Format format,bool /* isTextBuffer */, QWidget *widget)
|
||||||
|
: xshmimg(0), xshmpm(0)
|
||||||
|
{
|
||||||
|
- if (!X11->use_mitshm) {
|
||||||
|
+ QX11Info info = widget->x11Info();
|
||||||
|
+
|
||||||
|
+ int dd = info.depth();
|
||||||
|
+ Visual *vis = (Visual*) info.visual();
|
||||||
|
+
|
||||||
|
+ if (!X11->use_mitshm || format != QImage::Format_RGB16 && X11->bppForDepth.value(dd) != 32) {
|
||||||
|
image = QImage(width, height, format);
|
||||||
|
// follow good coding practice and set xshminfo attributes, though values not used in this case
|
||||||
|
xshminfo.readOnly = true;
|
||||||
|
@@ -160,11 +165,6 @@ QNativeImage::QNativeImage(int width, in
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
- QX11Info info = widget->x11Info();
|
||||||
|
-
|
||||||
|
- int dd = info.depth();
|
||||||
|
- Visual *vis = (Visual*) info.visual();
|
||||||
|
-
|
||||||
|
xshmimg = XShmCreateImage(X11->display, vis, dd, ZPixmap, 0, &xshminfo, width, height);
|
||||||
|
if (!xshmimg) {
|
||||||
|
qWarning("QNativeImage: Unable to create shared XImage.");
|
||||||
|
diff -up qt-everywhere-opensource-src-4.7.4/src/gui/image/qpixmap_x11.cpp.QTBUG-21754 qt-everywhere-opensource-src-4.7.4/src/gui/image/qpixmap_x11.cpp
|
||||||
|
--- qt-everywhere-opensource-src-4.7.4/src/gui/image/qpixmap_x11.cpp.QTBUG-21754 2011-09-12 01:49:28.000000000 -0500
|
||||||
|
+++ qt-everywhere-opensource-src-4.7.4/src/gui/image/qpixmap_x11.cpp 2011-10-28 16:04:53.837638713 -0500
|
||||||
|
@@ -897,12 +897,20 @@ void QX11PixmapData::fromImage(const QIm
|
||||||
|
}
|
||||||
|
)
|
||||||
|
break;
|
||||||
|
- case BPP24_888: // 24 bit MSB
|
||||||
|
+ case BPP24_888:
|
||||||
|
CYCLE(
|
||||||
|
- for (int x=0; x<w; x++) {
|
||||||
|
- *dst++ = qRed (*p);
|
||||||
|
- *dst++ = qGreen(*p);
|
||||||
|
- *dst++ = qBlue (*p++);
|
||||||
|
+ if (QSysInfo::ByteOrder == QSysInfo::BigEndian) {
|
||||||
|
+ for (int x=0; x<w; x++) {
|
||||||
|
+ *dst++ = qRed (*p);
|
||||||
|
+ *dst++ = qGreen(*p);
|
||||||
|
+ *dst++ = qBlue (*p++);
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ for (int x=0; x<w; x++) {
|
||||||
|
+ *dst++ = qBlue (*p);
|
||||||
|
+ *dst++ = qGreen(*p);
|
||||||
|
+ *dst++ = qRed (*p++);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
)
|
||||||
|
break;
|
||||||
|
diff -up qt-everywhere-opensource-src-4.7.4/src/gui/kernel/qapplication_x11.cpp.QTBUG-21754 qt-everywhere-opensource-src-4.7.4/src/gui/kernel/qapplication_x11.cpp
|
||||||
|
--- qt-everywhere-opensource-src-4.7.4/src/gui/kernel/qapplication_x11.cpp.QTBUG-21754 2011-09-12 01:49:28.000000000 -0500
|
||||||
|
+++ qt-everywhere-opensource-src-4.7.4/src/gui/kernel/qapplication_x11.cpp 2011-10-28 16:04:53.838638742 -0500
|
||||||
|
@@ -1892,6 +1892,12 @@ void qt_init(QApplicationPrivate *priv,
|
||||||
|
X11->defaultScreen = DefaultScreen(X11->display);
|
||||||
|
X11->screenCount = ScreenCount(X11->display);
|
||||||
|
|
||||||
|
+ int formatCount = 0;
|
||||||
|
+ XPixmapFormatValues *values = XListPixmapFormats(X11->display, &formatCount);
|
||||||
|
+ for (int i = 0; i < formatCount; ++i)
|
||||||
|
+ X11->bppForDepth[values[i].depth] = values[i].bits_per_pixel;
|
||||||
|
+ XFree(values);
|
||||||
|
+
|
||||||
|
X11->screens = new QX11InfoData[X11->screenCount];
|
||||||
|
X11->argbVisuals = new Visual *[X11->screenCount];
|
||||||
|
X11->argbColormaps = new Colormap[X11->screenCount];
|
||||||
|
diff -up qt-everywhere-opensource-src-4.7.4/src/gui/kernel/qt_x11_p.h.QTBUG-21754 qt-everywhere-opensource-src-4.7.4/src/gui/kernel/qt_x11_p.h
|
||||||
|
--- qt-everywhere-opensource-src-4.7.4/src/gui/kernel/qt_x11_p.h.QTBUG-21754 2011-09-12 01:49:28.000000000 -0500
|
||||||
|
+++ qt-everywhere-opensource-src-4.7.4/src/gui/kernel/qt_x11_p.h 2011-10-28 16:04:53.839638771 -0500
|
||||||
|
@@ -54,6 +54,7 @@
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "QtGui/qwindowdefs.h"
|
||||||
|
+#include "QtCore/qhash.h"
|
||||||
|
#include "QtCore/qlist.h"
|
||||||
|
#include "QtCore/qvariant.h"
|
||||||
|
|
||||||
|
@@ -467,6 +468,7 @@ struct QX11Data
|
||||||
|
Colormap *argbColormaps;
|
||||||
|
int screenCount;
|
||||||
|
int defaultScreen;
|
||||||
|
+ QHash<int, int> bppForDepth;
|
||||||
|
|
||||||
|
Time time;
|
||||||
|
Time userTime;
|
||||||
|
diff -up qt-everywhere-opensource-src-4.7.4/src/gui/painting/qwindowsurface_raster.cpp.QTBUG-21754 qt-everywhere-opensource-src-4.7.4/src/gui/painting/qwindowsurface_raster.cpp
|
||||||
|
--- qt-everywhere-opensource-src-4.7.4/src/gui/painting/qwindowsurface_raster.cpp.QTBUG-21754 2011-09-12 01:49:28.000000000 -0500
|
||||||
|
+++ qt-everywhere-opensource-src-4.7.4/src/gui/painting/qwindowsurface_raster.cpp 2011-10-28 16:11:47.145681289 -0500
|
||||||
|
@@ -224,9 +224,10 @@ void QRasterWindowSurface::flush(QWidget
|
||||||
|
} else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
+ int depth = widget->x11Info().depth();
|
||||||
|
const QImage &src = d->image->image;
|
||||||
|
br = br.intersected(src.rect());
|
||||||
|
- if (src.format() != QImage::Format_RGB32 || widget->x11Info().depth() < 24) {
|
||||||
|
+ if (src.format() != QImage::Format_RGB32 || depth < 24 || X11->bppForDepth.value(depth) != 32) {
|
||||||
|
Q_ASSERT(src.depth() >= 16);
|
||||||
|
const QImage sub_src(src.scanLine(br.y()) + br.x() * (uint(src.depth()) / 8),
|
||||||
|
br.width(), br.height(), src.bytesPerLine(), src.format());
|
||||||
|
@@ -238,7 +239,7 @@ void QRasterWindowSurface::flush(QWidget
|
||||||
|
} else {
|
||||||
|
// qpaintengine_x11.cpp
|
||||||
|
extern void qt_x11_drawImage(const QRect &rect, const QPoint &pos, const QImage &image, Drawable hd, GC gc, Display *dpy, Visual *visual, int depth);
|
||||||
|
- qt_x11_drawImage(br, wbr.topLeft(), src, widget->handle(), d_ptr->gc, X11->display, (Visual *)widget->x11Info().visual(), widget->x11Info().depth());
|
||||||
|
+ qt_x11_drawImage(br, wbr.topLeft(), src, widget->handle(), d_ptr->gc, X11->display, (Visual *)widget->x11Info().visual(), depth);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
|||||||
|
diff -up qt-everywhere-opensource-src-4.7.4/src/declarative/qml/qml.pri.qml_no_strict_aliasing qt-everywhere-opensource-src-4.7.4/src/declarative/qml/qml.pri
|
||||||
|
--- qt-everywhere-opensource-src-4.7.4/src/declarative/qml/qml.pri.qml_no_strict_aliasing 2011-09-12 01:49:29.000000000 -0500
|
||||||
|
+++ qt-everywhere-opensource-src-4.7.4/src/declarative/qml/qml.pri 2011-11-03 13:04:50.377884962 -0500
|
||||||
|
@@ -1,3 +1,6 @@
|
||||||
|
+
|
||||||
|
+*-g++*: QMAKE_CXXFLAGS += -fno-strict-aliasing
|
||||||
|
+
|
||||||
|
INCLUDEPATH += $$PWD
|
||||||
|
SOURCES += \
|
||||||
|
$$PWD/qdeclarativeparser.cpp \
|
@ -0,0 +1,12 @@
|
|||||||
|
diff -up qt-everywhere-opensource-src-4.7.4/src/sql/drivers/tds/qsql_tds.pri.tds_no_strict_aliasing qt-everywhere-opensource-src-4.7.4/src/sql/drivers/tds/qsql_tds.pri
|
||||||
|
--- qt-everywhere-opensource-src-4.7.4/src/sql/drivers/tds/qsql_tds.pri.tds_no_strict_aliasing 2011-09-12 01:49:28.000000000 -0500
|
||||||
|
+++ qt-everywhere-opensource-src-4.7.4/src/sql/drivers/tds/qsql_tds.pri 2011-11-03 13:04:34.271086323 -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
|
11
qt-everywhere-opensource-src-4.8.0-QTBUG-14724.patch
Normal file
11
qt-everywhere-opensource-src-4.8.0-QTBUG-14724.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
diff -up qt-everywhere-opensource-src-4.8.0/src/gui/painting/qpdf.cpp.QTBUG-14724 qt-everywhere-opensource-src-4.8.0/src/gui/painting/qpdf.cpp
|
||||||
|
--- qt-everywhere-opensource-src-4.8.0/src/gui/painting/qpdf.cpp.QTBUG-14724 2011-10-03 22:44:31.000000000 -0500
|
||||||
|
+++ qt-everywhere-opensource-src-4.8.0/src/gui/painting/qpdf.cpp 2011-10-17 10:55:49.713265396 -0500
|
||||||
|
@@ -1686,6 +1686,7 @@ bool QPdfBaseEnginePrivate::openPrintDev
|
||||||
|
cupsTempFile = ret.second;
|
||||||
|
outDevice = new QFile();
|
||||||
|
static_cast<QFile *>(outDevice)->open(ret.first, QIODevice::WriteOnly);
|
||||||
|
+ fd = ret.first;
|
||||||
|
#endif
|
||||||
|
#ifndef QT_NO_LPR
|
||||||
|
} else {
|
163
qt.spec
163
qt.spec
@ -17,8 +17,8 @@
|
|||||||
Summary: Qt toolkit
|
Summary: Qt toolkit
|
||||||
Name: qt
|
Name: qt
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 4.7.3
|
Version: 4.7.4
|
||||||
Release: 3%{?dist}
|
Release: 7%{?dist}
|
||||||
|
|
||||||
# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
|
# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
|
||||||
License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT
|
License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT
|
||||||
@ -82,26 +82,33 @@ Patch60: qt-4.6.3-bn-rendering-bz562058.patch
|
|||||||
Patch61: qt-4.6.3-indic-rendering-bz631732.patch
|
Patch61: qt-4.6.3-indic-rendering-bz631732.patch
|
||||||
Patch62: qt-4.6.3-indic-rendering-bz636399.patch
|
Patch62: qt-4.6.3-indic-rendering-bz636399.patch
|
||||||
|
|
||||||
# fix 24bit color issue
|
|
||||||
Patch63: qt-everywhere-opensource-src-4.7.0-bpp24.patch
|
|
||||||
|
|
||||||
# Fails to create debug build of Qt projects on mingw (rhbz#653674)
|
# Fails to create debug build of Qt projects on mingw (rhbz#653674)
|
||||||
Patch64: qt-everywhere-opensource-src-4.7.1-QTBUG-14467.patch
|
Patch64: qt-everywhere-opensource-src-4.7.1-QTBUG-14467.patch
|
||||||
|
|
||||||
# fix QTreeView crash triggered by KPackageKit (patch by David Faure)
|
# Qt doesn't close orphaned file descriptors after printing (#746601, QTBUG-14724)
|
||||||
Patch65: qt-everywhere-opensource-src-4.7.1-qtreeview-kpackagekit-crash.patch
|
Patch70: qt-everywhere-opensource-src-4.8.0-QTBUG-14724.patch
|
||||||
|
|
||||||
|
# workaround aliasing issues in declarative/qml (#748936, QTBUG-19736)
|
||||||
|
Patch73: qt-everywhere-opensource-src-4.7.4-qml_no_strict_aliasing.patch
|
||||||
|
|
||||||
|
# workaround
|
||||||
|
# sql/drivers/tds/qsql_tds.cpp:341:49: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
|
||||||
|
Patch74: qt-everywhere-opensource-src-4.7.4-tds_no_strict_aliasing.patch
|
||||||
|
|
||||||
# upstream patches
|
# upstream patches
|
||||||
|
# Applications crash when using a visual with 24 bits per pixel
|
||||||
|
# https://bugreports.qt.nokia.com/browse/QTBUG-21754
|
||||||
|
Patch100: qt-everywhere-opensource-src-4.7.4-QTBUG-21754.patch
|
||||||
# adds debug support to webkit/JavaScriptCore
|
# adds debug support to webkit/JavaScriptCore
|
||||||
# UPSTREAM ME
|
# UPSTREAM ME
|
||||||
Patch105: qt-everywhere-opensource-src-4.7.1-webkit_debug_javascriptcore.patch
|
Patch105: qt-everywhere-opensource-src-4.7.1-webkit_debug_javascriptcore.patch
|
||||||
# Fix QNetworkConfigurationManager crash due to null private pointer. (QTBUG-17305, rhbz#682656)
|
# bz#705348, per-font autohint fontconfig directives globally disable the bytecode interpreter
|
||||||
Patch106: http://qt.gitorious.org/qt/qt/commit/4d3b9aa83cf7f6d9f9b88d9936e5980629daac2a.patch
|
Patch107: QTBUG-19947-fontconfig-2.patch
|
||||||
|
Patch108: QTBUG-16402-fix-ARM-Thumb2-build.patch
|
||||||
|
|
||||||
# kde-qt git patches
|
# kde-qt git patches
|
||||||
Patch202: 0002-This-patch-makes-override-redirect-windows-popup-men.patch
|
Patch202: 0002-This-patch-makes-override-redirect-windows-popup-men.patch
|
||||||
Patch205: 0005-When-tabs-are-inserted-or-removed-in-a-QTabBar.patch
|
Patch205: 0005-When-tabs-are-inserted-or-removed-in-a-QTabBar.patch
|
||||||
Patch212: 0012-Add-context-to-tr-calls-in-QShortcut.patch
|
|
||||||
|
|
||||||
# security patches
|
# security patches
|
||||||
Patch300: qt-everywhere-opensource-src-4.7.0-CVE-2010-1822-crash-svg-image.patch
|
Patch300: qt-everywhere-opensource-src-4.7.0-CVE-2010-1822-crash-svg-image.patch
|
||||||
@ -131,6 +138,7 @@ Source31: hi48-app-qt4-logo.png
|
|||||||
## optional plugin bits
|
## optional plugin bits
|
||||||
# set to -no-sql-<driver> to disable
|
# set to -no-sql-<driver> to disable
|
||||||
# set to -qt-sql-<driver> to enable *in* qt library
|
# set to -qt-sql-<driver> to enable *in* qt library
|
||||||
|
%define ibase -plugin-sql-ibase
|
||||||
%define mysql -plugin-sql-mysql
|
%define mysql -plugin-sql-mysql
|
||||||
%define odbc -plugin-sql-odbc
|
%define odbc -plugin-sql-odbc
|
||||||
%define psql -plugin-sql-psql
|
%define psql -plugin-sql-psql
|
||||||
@ -141,12 +149,6 @@ Source31: hi48-app-qt4-logo.png
|
|||||||
%define tds -plugin-sql-tds
|
%define tds -plugin-sql-tds
|
||||||
%define phonon -phonon
|
%define phonon -phonon
|
||||||
%define phonon_backend -phonon-backend
|
%define phonon_backend -phonon-backend
|
||||||
%if 0%{?rhel}
|
|
||||||
# if building with -phonon, define to internal version (ie, Obsolete external phonon)
|
|
||||||
%define phonon_internal 1
|
|
||||||
# if -phonon-backend, include in packaging (else it's omitted)
|
|
||||||
%define phonon_backend_packaged 1
|
|
||||||
%endif
|
|
||||||
%define phonon_version 4.3.80
|
%define phonon_version 4.3.80
|
||||||
%define phonon_version_major 4.3
|
%define phonon_version_major 4.3
|
||||||
%define phonon_release 1
|
%define phonon_release 1
|
||||||
@ -193,6 +195,7 @@ BuildRequires: libjpeg-devel
|
|||||||
BuildRequires: libmng-devel
|
BuildRequires: libmng-devel
|
||||||
BuildRequires: libpng-devel
|
BuildRequires: libpng-devel
|
||||||
BuildRequires: libtiff-devel
|
BuildRequires: libtiff-devel
|
||||||
|
BuildRequires: libXtst-devel
|
||||||
BuildRequires: NetworkManager-devel
|
BuildRequires: NetworkManager-devel
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
@ -206,6 +209,10 @@ BuildRequires: zlib-devel
|
|||||||
%define x_deps libICE-devel libSM-devel libXcursor-devel libXext-devel libXfixes-devel libXft-devel libXi-devel libXinerama-devel libXrandr-devel libXrender-devel libXt-devel libXv-devel libX11-devel xorg-x11-proto-devel libGL-devel libGLU-devel
|
%define x_deps libICE-devel libSM-devel libXcursor-devel libXext-devel libXfixes-devel libXft-devel libXi-devel libXinerama-devel libXrandr-devel libXrender-devel libXt-devel libXv-devel libX11-devel xorg-x11-proto-devel libGL-devel libGLU-devel
|
||||||
BuildRequires: %{x_deps}
|
BuildRequires: %{x_deps}
|
||||||
|
|
||||||
|
%if "%{?ibase}" != "-no-sql-ibase"
|
||||||
|
BuildRequires: firebird-devel
|
||||||
|
%endif
|
||||||
|
|
||||||
%if "%{?mysql}" != "-no-sql-mysql"
|
%if "%{?mysql}" != "-no-sql-mysql"
|
||||||
BuildRequires: mysql-devel >= 4.0
|
BuildRequires: mysql-devel >= 4.0
|
||||||
%endif
|
%endif
|
||||||
@ -365,6 +372,25 @@ Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
|||||||
%description examples
|
%description examples
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
|
%package qvfb
|
||||||
|
Summary: Virtual frame buffer for Qt for Embedded Linux
|
||||||
|
Group: Applications/Emulators
|
||||||
|
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
|
||||||
|
%description qvfb
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
|
||||||
|
%package ibase
|
||||||
|
Summary: IBase driver for Qt's SQL classes
|
||||||
|
Group: System Environment/Libraries
|
||||||
|
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
Provides: qt4-ibase = %{version}-%{release}
|
||||||
|
%{?_isa:Provides: qt4-ibase%{?_isa} = %{version}-%{release}}
|
||||||
|
|
||||||
|
%description ibase
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
|
||||||
%package mysql
|
%package mysql
|
||||||
Summary: MySQL driver for Qt's SQL classes
|
Summary: MySQL driver for Qt's SQL classes
|
||||||
@ -437,7 +463,8 @@ Group: System Environment/Libraries
|
|||||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Provides: qt4-webkit = %{version}-%{release}
|
Provides: qt4-webkit = %{version}-%{release}
|
||||||
Provides: qt4-webkit%{?_isa} = %{version}-%{release}
|
Provides: qt4-webkit%{?_isa} = %{version}-%{release}
|
||||||
#Provides: QtWebKit = 1.0.0-1
|
Provides: qtwebkit = 2.0-1
|
||||||
|
Provides: qtwebkit%{?_isa} = 2.0-1
|
||||||
Obsoletes: WebKit-qt < 1.0.0-1
|
Obsoletes: WebKit-qt < 1.0.0-1
|
||||||
Provides: WebKit-qt = 1.0.0-1
|
Provides: WebKit-qt = 1.0.0-1
|
||||||
%description webkit
|
%description webkit
|
||||||
@ -453,7 +480,8 @@ Requires: %{name}-webkit%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
|||||||
Requires: %{name}-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Provides: qt4-webkit-devel = %{version}-%{release}
|
Provides: qt4-webkit-devel = %{version}-%{release}
|
||||||
Provides: qt4-webkit-devel%{?_isa} = %{version}-%{release}
|
Provides: qt4-webkit-devel%{?_isa} = %{version}-%{release}
|
||||||
#Provides: QtWebKit-devel = 1.0.0-1
|
Provides: qtwebkit-devel = 2.0-1
|
||||||
|
Provides: qtwebkit-devel%{?_isa} = 2.0-1
|
||||||
Obsoletes: WebKit-qt < 1.0.0-1
|
Obsoletes: WebKit-qt < 1.0.0-1
|
||||||
Provides: WebKit-qt = 1.0.0-1
|
Provides: WebKit-qt = 1.0.0-1
|
||||||
%description webkit-devel
|
%description webkit-devel
|
||||||
@ -507,19 +535,23 @@ Qt libraries used for drawing widgets and OpenGL items.
|
|||||||
%patch60 -p1 -b .bn-rendering-bz562058
|
%patch60 -p1 -b .bn-rendering-bz562058
|
||||||
%patch61 -p1 -b .indic-rendering-bz631732
|
%patch61 -p1 -b .indic-rendering-bz631732
|
||||||
%patch62 -p1 -b .indic-rendering-bz636399
|
%patch62 -p1 -b .indic-rendering-bz636399
|
||||||
%patch63 -p1 -b .bpp24
|
|
||||||
%patch64 -p1 -b .QTBUG-14467
|
%patch64 -p1 -b .QTBUG-14467
|
||||||
%patch65 -p1 -b .qtreeview-kpackagekit-crash
|
%patch70 -p1 -b .QTBUG-14724
|
||||||
|
%patch73 -p1 -b .qml_no_strict_aliasing
|
||||||
|
%patch74 -p1 -b .tds_no_strict_aliasing
|
||||||
|
|
||||||
# upstream patches
|
## upstream patches
|
||||||
|
%patch100 -p1 -b .QTBUG-21754
|
||||||
%patch105 -p1 -b .webkit_debug_javascriptcore
|
%patch105 -p1 -b .webkit_debug_javascriptcore
|
||||||
%patch106 -p1 -b .QNetworkConfigurationManager-null-pointer
|
%patch107 -p1 -b .QTBUG-19947-fontconfig-2
|
||||||
|
# Merged in 4.8.
|
||||||
|
%patch108 -p1 -b .QTBUG-16402-fix-ARM-Thumb2-build
|
||||||
|
|
||||||
|
|
||||||
# kde-qt branch
|
# kde-qt branch
|
||||||
%if 0%{?kde_qt}
|
%if 0%{?kde_qt}
|
||||||
%patch202 -p1 -b .kde-qt-0002
|
%patch202 -p1 -b .kde-qt-0002
|
||||||
%patch205 -p1 -b .kde-qt-0005
|
%patch205 -p1 -b .kde-qt-0005
|
||||||
%patch212 -p1 -b .kde-qt-0012
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# security fixes
|
# security fixes
|
||||||
@ -554,10 +586,6 @@ sed -i \
|
|||||||
sed -e "s|^QMAKE_CFLAGS_RELEASE|#QMAKE_CFLAGS_RELEASE|g" \
|
sed -e "s|^QMAKE_CFLAGS_RELEASE|#QMAKE_CFLAGS_RELEASE|g" \
|
||||||
mkspecs/common/g++.conf > mkspecs/common/g++-multilib.conf
|
mkspecs/common/g++.conf > mkspecs/common/g++-multilib.conf
|
||||||
|
|
||||||
%if "%{_qt4_libdir}" == "%{_libdir}"
|
|
||||||
sed -i -e "s|^QMAKE_LIBDIR_QT.*=.*|QMAKE_LIBDIR_QT =|" mkspecs/common/linux.conf
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# undefine QMAKE_STRIP, so we get useful -debuginfo pkgs
|
# undefine QMAKE_STRIP, so we get useful -debuginfo pkgs
|
||||||
sed -i -e "s|^QMAKE_STRIP.*=.*|QMAKE_STRIP =|" mkspecs/common/linux.conf
|
sed -i -e "s|^QMAKE_STRIP.*=.*|QMAKE_STRIP =|" mkspecs/common/linux.conf
|
||||||
|
|
||||||
@ -578,6 +606,20 @@ done
|
|||||||
# add '-importdir %{_qt4_importdir}' when it works, right now fails with:
|
# add '-importdir %{_qt4_importdir}' when it works, right now fails with:
|
||||||
# %{_qt4_importdir} unknown argument
|
# %{_qt4_importdir} unknown argument
|
||||||
|
|
||||||
|
# This should go away if/when qt supports ARMv7
|
||||||
|
if [ -d src/corelib/arch/armv7/ -o -f src/corelib/arch/qatomic_armv7.h ]; then
|
||||||
|
echo "ERROR: This version of qt supports ARMv7. Please remove -arch armv6 override from spec file"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
%ifarch armv7hl armv7hnl
|
||||||
|
%define qt_arch -arch armv6
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Force explicit neon mode instead of auto detection
|
||||||
|
%ifarch armv7hl
|
||||||
|
%define qt_neon -no-neon
|
||||||
|
%endif
|
||||||
|
|
||||||
# build shared, threaded (default) libraries
|
# build shared, threaded (default) libraries
|
||||||
./configure -v \
|
./configure -v \
|
||||||
-confirm-license \
|
-confirm-license \
|
||||||
@ -605,6 +647,8 @@ done
|
|||||||
-no-rpath \
|
-no-rpath \
|
||||||
-reduce-relocations \
|
-reduce-relocations \
|
||||||
-no-separate-debug-info \
|
-no-separate-debug-info \
|
||||||
|
%{?qt_arch} \
|
||||||
|
%{?qt_neon} \
|
||||||
%{?phonon} %{!?phonon:-no-phonon} \
|
%{?phonon} %{!?phonon:-no-phonon} \
|
||||||
%{?phonon_backend} \
|
%{?phonon_backend} \
|
||||||
%{?no_pch} \
|
%{?no_pch} \
|
||||||
@ -629,6 +673,7 @@ done
|
|||||||
-xmlpatterns \
|
-xmlpatterns \
|
||||||
%{?dbus} %{!?dbus:-no-dbus} \
|
%{?dbus} %{!?dbus:-no-dbus} \
|
||||||
%{?webkit} %{!?webkit:-no-webkit } \
|
%{?webkit} %{!?webkit:-no-webkit } \
|
||||||
|
%{?ibase} \
|
||||||
%{?mysql} \
|
%{?mysql} \
|
||||||
%{?psql} \
|
%{?psql} \
|
||||||
%{?odbc} \
|
%{?odbc} \
|
||||||
@ -640,6 +685,9 @@ done
|
|||||||
|
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
|
# TODO: consider patching tools/tools.pro to enable building this by default
|
||||||
|
make %{?_smp_mflags} -C tools/qvfb
|
||||||
|
|
||||||
# recreate .qm files
|
# recreate .qm files
|
||||||
LD_LIBRARY_PATH=`pwd`/lib bin/lrelease translations/*.ts
|
LD_LIBRARY_PATH=`pwd`/lib bin/lrelease translations/*.ts
|
||||||
|
|
||||||
@ -649,6 +697,8 @@ rm -rf %{buildroot}
|
|||||||
|
|
||||||
make install INSTALL_ROOT=%{buildroot}
|
make install INSTALL_ROOT=%{buildroot}
|
||||||
|
|
||||||
|
make install INSTALL_ROOT=%{buildroot} -C tools/qvfb
|
||||||
|
|
||||||
%if 0%{?private}
|
%if 0%{?private}
|
||||||
# install private headers
|
# install private headers
|
||||||
# using rsync -R as easy way to preserve relative path names
|
# using rsync -R as easy way to preserve relative path names
|
||||||
@ -869,14 +919,12 @@ rm -fv %{buildroot}%{_qt4_plugindir}/designer/libqwebview.so
|
|||||||
rm -fv %{buildroot}%{_libdir}/pkgconfig/QtWebKit.pc
|
rm -fv %{buildroot}%{_libdir}/pkgconfig/QtWebKit.pc
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# remove qvfb translations, we don't ship qvfb
|
|
||||||
rm -fv %{buildroot}%{_qt4_translationdir}/qvfb_*.qm
|
|
||||||
|
|
||||||
%find_lang qt --with-qt --without-mo
|
%find_lang qt --with-qt --without-mo
|
||||||
|
|
||||||
%find_lang assistant --with-qt --without-mo
|
%find_lang assistant --with-qt --without-mo
|
||||||
%find_lang qt_help --with-qt --without-mo
|
%find_lang qt_help --with-qt --without-mo
|
||||||
%find_lang qtconfig --with-qt --without-mo
|
%find_lang qtconfig --with-qt --without-mo
|
||||||
|
%find_lang qvfb --with-qt --without-mo
|
||||||
cat assistant.lang qt_help.lang qtconfig.lang >qt-x11.lang
|
cat assistant.lang qt_help.lang qtconfig.lang >qt-x11.lang
|
||||||
|
|
||||||
%find_lang designer --with-qt --without-mo
|
%find_lang designer --with-qt --without-mo
|
||||||
@ -1155,6 +1203,17 @@ fi
|
|||||||
%{_qt4_examplesdir}/
|
%{_qt4_examplesdir}/
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%files qvfb -f qvfb.lang
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_bindir}/qvfb
|
||||||
|
%{_qt4_bindir}/qvfb
|
||||||
|
|
||||||
|
%if "%{?ibase}" == "-plugin-sql-ibase"
|
||||||
|
%files ibase
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_qt4_plugindir}/sqldrivers/libqsqlibase*
|
||||||
|
%endif
|
||||||
|
|
||||||
%if "%{?mysql}" == "-plugin-sql-mysql"
|
%if "%{?mysql}" == "-plugin-sql-mysql"
|
||||||
%files mysql
|
%files mysql
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
@ -1242,6 +1301,50 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Nov 16 2011 Rex Dieter <rdieter@fedoraproject.org> 1:4.7.4-7
|
||||||
|
- drop kde-qt 0012 patch, it's broken if not upstream (#704882)
|
||||||
|
|
||||||
|
* Thu Nov 03 2011 Rex Dieter <rdieter@fedoraproject.org> 1:4.7.4-6
|
||||||
|
- build declarative/qml with -fno-strict-aliasing (#748936, QTBUG-19736)
|
||||||
|
- build tds sql driver with -fno-strict-aliasing
|
||||||
|
|
||||||
|
* Fri Oct 28 2011 Rex Dieter <rdieter@fedoraproject.org> 1:4.7.4-5
|
||||||
|
- crash when using a visual with 24 bits per pixel (QTBUG-21754)
|
||||||
|
|
||||||
|
* Mon Oct 17 2011 Rex Dieter <rdieter@fedoraproject.org> 1:4.7.4-4
|
||||||
|
- Qt doesn't close orphaned file descriptors after printing (#746601, QTBUG-14724)
|
||||||
|
- -webkit: Provides: qtwebkit(-devel)
|
||||||
|
|
||||||
|
* Fri Sep 16 2011 Henrik Nordstrom <henrik@henriknordstrom.net> - 1:4.7.4-3
|
||||||
|
- Set proper architecture flags for armv7hl and admv7hnl (#744701)
|
||||||
|
- fix ARM Thumb2 build (QTBUG-16402)
|
||||||
|
|
||||||
|
* Fri Sep 16 2011 Lukas Tinkl <ltinkl@redhat.com> - 1:4.7.4-2
|
||||||
|
- respun upstream tarball to fix offline HTML docu
|
||||||
|
(https://bugreports.qt.nokia.com/browse/QTBUG-21454)
|
||||||
|
|
||||||
|
* Thu Sep 01 2011 Rex Dieter <rdieter@fedoraproject.org> 1:4.7.4-1
|
||||||
|
- 4.7.4
|
||||||
|
|
||||||
|
* Sat Aug 27 2011 Than Ngo <than@redhat.com> - 1:4.7.3-9
|
||||||
|
- drop unused rhel conditional
|
||||||
|
|
||||||
|
* Sat Jul 23 2011 Rex Dieter <rdieter@fedoraproject.org> 1:4.7.3-8
|
||||||
|
- fix QMAKE_LIBDIR_QT, for missing QT_SHARED define (#725183)
|
||||||
|
|
||||||
|
* Thu Jul 07 2011 Rex Dieter <rdieter@fedoraproject.org> 1:4.7.3-7
|
||||||
|
- Adding qt-sql-ibase driver for qt (#719002)
|
||||||
|
- qvfb subpackage (#718416)
|
||||||
|
|
||||||
|
* Mon Jun 20 2011 Rex Dieter <rdieter@fedoraproject.org> 1:4.7.3-6
|
||||||
|
- fontconfig patch respin (#705348, QTBUG-19947)
|
||||||
|
|
||||||
|
* Mon Jun 20 2011 Rex Dieter <rdieter@fedoraproject.org> 1:4.7.3-5
|
||||||
|
- updated fontconfig patch (#705348, QTBUG-19947)
|
||||||
|
|
||||||
|
* Tue Jun 07 2011 Than Ngo <than@redhat.com> - 1:4.7.3-4
|
||||||
|
- bz#705348, Lohit fonts accidentally disable the bytecode interpreter for Qt
|
||||||
|
|
||||||
* Thu May 19 2011 Rex Dieter <rdieter@fedoraproject.org> 1:4.7.3-3
|
* Thu May 19 2011 Rex Dieter <rdieter@fedoraproject.org> 1:4.7.3-3
|
||||||
- omit %%{_qt4_plugindir}/designer/libqwebview.so too
|
- omit %%{_qt4_plugindir}/designer/libqwebview.so too
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -7,4 +7,4 @@ d9f511e4b51983b4e10eb58b320416d5 hi128-app-qt4-logo.png
|
|||||||
12db12c009b722a6dc141f78feb7e330 hi32-phonon-gstreamer.png
|
12db12c009b722a6dc141f78feb7e330 hi32-phonon-gstreamer.png
|
||||||
86c34a1b81d44980b1381f94ed6b7a23 hi48-phonon-gstreamer.png
|
86c34a1b81d44980b1381f94ed6b7a23 hi48-phonon-gstreamer.png
|
||||||
153505c71ec021b0a3bd4b74f2492e93 hi64-phonon-gstreamer.png
|
153505c71ec021b0a3bd4b74f2492e93 hi64-phonon-gstreamer.png
|
||||||
49b96eefb1224cc529af6fe5608654fe qt-everywhere-opensource-src-4.7.3.tar.gz
|
9831cf1dfa8d0689a06c2c54c5c65aaf qt-everywhere-opensource-src-4.7.4.tar.gz
|
||||||
|
Loading…
Reference in New Issue
Block a user