summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Optimize QMutexPoolOlivier Goffart2011-03-312-13/+19
| | | | | | | Make the get() function inline and simplify the hash computation Reviewed-by: brad
* Fix declarative after the last changes to the QObject internalsOlivier Goffart2011-03-313-6/+6
|
* moc: be able to compile if there are private classesOlivier Goffart2011-03-314-10/+41
| | | | | Reviewed-by: brad Reviewed-by: thiago
* Speedup activation of signalsOlivier Goffart2011-03-3110-135/+221
| | | | | | | | | | | | | | | | | | | | | | | | | The virtual QObject::qt_metacall will recurse to the whole object hierarchy to find from which class a function should be called. But it is possible to know, at connection time, from which exact QMetaObject a function belongs, and the relative offset into it. So we make the slot calls from the qt_static_metacall function. So activation of signals is faster. - We must not call a slot from a class that has been destroyed. To avoid this, there is a check on the methodOffset. If it is smaller, that means we might be called (indirectly) from the destructor. We fallback to the virtual call to qt_metacall that does the right thing. - The signature of the static method is void (*) (QObject*,MetaCall,int,void**) It returns void, so the compiler is allowed to do tail recusive optimization. Having the QObject* as first parameter make it ready on the stack for the call to the member function. - The new static method has to be a member function in order to be able to access the private slots. Reviewed-by: brad
* Improve slightly the performence of activateOlivier Goffart2011-03-311-12/+12
| | | | | | | Avoid the overhead of QObjectConnectionListVector::at(), when we know anyway which list to take. Reviewed-by: brad
* Add a test in QObject.Olivier Goffart2011-03-311-1/+30
| | | | Testing that slot from destroyed class are not called
* Optimize QMetaObject::activate (remove call to QThreadData::current)Olivier Goffart2011-03-315-4/+9
| | | | | | | QThreadData::current is too slow, it needs to access the TLS The currentThreadId is much faster. Reviewed-by: Brad
* Remove NOPODINITIALIZATIONminiak2011-03-311-11/+0
| | | | | Merge-request: 1011 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Replace CL_MIN/CL_MAX by qMin/qMaxminiak2011-03-311-23/+20
| | | | | Merge-request: 1011 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Remove ANSI function definitionsminiak2011-03-311-4/+0
| | | | | Merge-request: 1011 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Fix window pixmap initialization strategyJacopo De Simoi2011-03-311-3/+9
| | | | | | | | | | If a compositing manager is active, setting the window pixmap background to None for ARGB windows makes little sense. In this case the background should be transparent Merge-request: 1135 Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* Track compositingManagerRunning changesJacopo De Simoi2011-03-311-0/+9
| | | | | | | | | | | | | | | | Use XFixes extension to track changes to the compositing manager in such a way that QX11Info::isCompositingManagerRunning() returns a valid result even if compositing has changed after the creation of the QApplication Many thanks to Fredrikh Hoglund for suggesting the correct approach Task-number: QTBUG-6044 Merge-request: 1133 Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* QSslSocket: fix setReadBufferSizeMartin Petersson2011-03-312-14/+2
| | | | | | | This fix the qnetworkreply::ioPostToHttpsUploadProgress() auto test. Before the readbuffer where always limited to 1k for ssl sockets. Reviewed-by: Markus Goetz
* Merge remote branch 'origin/master' into 4.8-earthDenis Dzyubenko2011-03-3132-301/+510
|\
| * Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-03-2913-59/+144
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Unix configure: Add support for --sysroot Add a 'capabilities' flag to the marshaller and demarshaller Add a set of connection capabilities to QDBusConnection Move the main D-Bus session and system connections to the main thread Add a way to obtain the DBusConnection* pointer from a QDBusConnection Make the QIconvCodec on Unix not enforce the Latin1 codec.
| | * Unix configure: Add support for --sysrootThiago Macieira2011-03-292-2/+27
| | | | | | | | | | | | Reviewed-By: axis
| | * Add a 'capabilities' flag to the marshaller and demarshallerThiago Macieira2011-03-297-34/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The marshaller and demarshaller need to know the features negotiated with the peer so as to determine what's permitted. This is especially important to the marshaller: the libdbus-1 API may "throw a fit" if we try to pass a type that isn't allowed or the server may disconnect us. The use of the capabilities in the demarshaller are for symmetry and for us to toggle the feature in unit tests. Task-number: QTBUG-17478
| | * Add a set of connection capabilities to QDBusConnectionThiago Macieira2011-03-294-2/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The capabilities are negotiated with the D-Bus peer or bus at connection time and may include extra features not available when D-Bus 1.0 was released. Currently (as of D-Bus 1.4), the only additional feature is Unix file descriptor passing. Proposed features are "maybe types" and single-precision floating point. They may be added to D-Bus 1.6. Task-number: QTBUG-17478
| | * Move the main D-Bus session and system connections to the main threadThiago Macieira2011-03-291-1/+11
| | | | | | | | | | | | | | | | | | Some applications experience weird behaviour that sometimes it works and sometimes it doesn't, due to D-Bus being first used in a thread. So instead do everything in the main thread for the two main connections.
| | * Add a way to obtain the DBusConnection* pointer from a QDBusConnectionThiago Macieira2011-03-292-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is internal API and the behaviour may change without notice. In the future, I could use a different implementation without libdbus-1, so this pointer may be something different. The use of DBusConnection is also entirely implementation-defined, so keeping this connection around is entirely unsupported. You have been warned.
| | * Make the QIconvCodec on Unix not enforce the Latin1 codec.Thiago Macieira2011-03-291-20/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Originally, the QIconvCodec created and disposed of the iconv_t structure at every turn. In Qt 4.5, we started saving it for later in a thread-local storage. We had to introduce a fix to make sure that we didn't create the iconv_t structure before the setlocale(LC_ALL, "") call was made, though: otherwise, we'd keep forever an iconv_t that pointed to the wrong encoding. So now simply restore the Qt 4.4 behaviour: create and dispose of the iconv_t structure if we're called before the QCoreApplication constructor is run or after the static destructors are run. Note: this means QIconvCodec will probably default to US-ASCII when run before QCoreApplication, not Latin 1. Non-ASCII characters (anything with the high bit set) will fail to convert. Task-number: QTBUG-15229? Reviewed-by: Denis Dzyubenko
| * | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging into ↵Qt Continuous Integration System2011-03-2819-242/+366
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging: Fix crash and infinite recursion caused by previous commits Fix remaining regressions in QWS Take Xft.hintstyle by default to match the behavior of GTK+ Fixed remaining issues in subpixel positioning with FreeType Fix QTransform debug output qFloor the decoration line width before painting Let QTextLine decide its own x position in QPainter Avoid repeatedly trying to load unloadable plugins, causing slowness Reset GL glyph cache when texture limit is reached unlockFace was put in the wrong place in previous patch Implement subpixel positioning with FreeType
| | * \ Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qt-fire-teamQt Continuous Integration System2011-03-2819-242/+366
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'master' of git://scm.dev.nokia.troll.no/qt/qt-fire-team: Fix crash and infinite recursion caused by previous commits Fix remaining regressions in QWS Take Xft.hintstyle by default to match the behavior of GTK+ Fixed remaining issues in subpixel positioning with FreeType Fix QTransform debug output qFloor the decoration line width before painting Let QTextLine decide its own x position in QPainter Avoid repeatedly trying to load unloadable plugins, causing slowness Reset GL glyph cache when texture limit is reached unlockFace was put in the wrong place in previous patch Implement subpixel positioning with FreeType
| | | * | Fix crash and infinite recursion caused by previous commitsJiang Jiang2011-03-282-2/+3
| | | | | | | | | | | | | | | | | | | | Reviewed-by: TrustMe
| | | * | Fix remaining regressions in QWSJiang Jiang2011-03-253-2/+7
| | | | | | | | | | | | | | | | | | | | Reviewed-by: TrustMe
| | | * | Take Xft.hintstyle by default to match the behavior of GTK+Jiang Jiang2011-03-252-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Qt apps running in GNOME, we use the GTK+ settings by default (instead of fontconfig settings). Task-number: QTBUG-13800 Reviewed-by: Samuel
| | | * | Fixed remaining issues in subpixel positioning with FreeTypeJiang Jiang2011-03-246-142/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Merge QStaticText and QGlyphs drawing code of raster engine into glyph drawing code for normal QTextItem, it simplify the caching system (we don't use QImageTextureGlyphCache for raster anymore, just glyph set cache in FreeType engine is enough), and fix some regressions in QStaticText and QGlyphs drawing. 2. Fix subpixel positioning support for OpenGL texture glyph cache. Including a transform handling regression introduced by the initial patch. 3. Disable subpixel positioning for bitmap fonts (mono format). After this change, we only have two code paths for glyph rendering with FreeType: raster will always use the simple code path (with QFontEngine_FT cache) while GL will always use QTextureGlyphCache. Reviewed-by: Eskil
| | | * | Fix QTransform debug outputJiang Jiang2011-03-241-0/+3
| | | | | | | | | | | | | | | | | | | | Reviewed-by: Eskil
| | | * | qFloor the decoration line width before paintingJiang Jiang2011-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's a special case when enabling design (fractional) metrics, we need to floor it to keep consistency with integer metrics. Reviewed-by: Eskil
| | | * | Let QTextLine decide its own x position in QPainterJiang Jiang2011-03-241-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So that it can take trailing space width into account when doing right aligned text drawing. Task-number: QTBUG-18303 Reviewed-by: Eskil
| | | * | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-fire-teamaavit2011-03-2313-105/+209
| | | |\ \
| | | | * | Reset GL glyph cache when texture limit is reachedEskil Abrahamsen Blomfeldt2011-03-236-2/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a port of 72f161739b270b01807f97cd853030440f0fd430 which was reverted in integration to master, since it was incompatible with the refactored glyph cache. When the GL glyph cache reached its texture limit, we have to reset it and start over. Added a new cleanup() function in QGLContextGroupResourceBase which deletes the resource for a given context and removes itself from that context group. Task-number: QTBUG-13784 Reviewed-by: Samuel
| | | | * | unlockFace was put in the wrong place in previous patchJiang Jiang2011-03-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Should only unlock once after the loop. Reviewed-by: TrustMe
| | | | * | Implement subpixel positioning with FreeTypeJiang Jiang2011-03-228-105/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QFontEngineFT are used in raster/OpenGL paint engine and QGLWidget, also in Symbian, etc. We want to make sure it works well in raster and QGLWidget first. Regardless subpixel antialiasing (LCD filtering) is enabled or not (though it does look better when subpixel antialiasing is on). We also need to support transformations. The tricky part here is that, under X11, we have a different code path for QFontEngineFT and other font engines in raster engine, which uses QFontEngineFT's own glyph cache system. While in other platforms (Windows and Mac) and QGLWidget, we will use the generic QTextureGlyphCache. The generic QTextureGlyphCache already has support for subpixel positions, this solution is ported to QFontEngineFT for its QGlyphSet: the key for QGlyphSet hash table has been extended from glyph_t to <glyph_t, QFixed subPixelPosition> pair. The real work to enable subpixel positioning with FreeType is in fact really simple, we just set the horizontal translation to the subpixel position * 64 (FreeType uses a coordinate system of 1/64 of a pixel resolution internally) immediately before loading the glyph. A slight tweek to bitmap width is applied when we are getting the bitmap ourselves instead of using FT_Render_Glyph to accommodate the subpixel translation, which will only be used in non-LCD filtering cases (grayscale antialiasing). From what we have observed, FreeType can generate different bitmaps for at least 12 different subpixel positions (each with a slight difference). To limit the memory consumption, we restrict the number of subpixel positions to be 4 (hardcoded), which should be good enough for most low resolution displays. Subpixel positioning (and fractional glyph advances) will only be enabled when the hintingPreference for the font being used is PreferNoHinting or PreferVerticalHinting. We will use fontconfig hintstyle setting by default when no hintingPreference is set for the font. Task-number: QTBUG-12279 Reviewed-by: Eskil
| | | * | | Avoid repeatedly trying to load unloadable plugins, causing slownessaavit2011-03-231-2/+7
| | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In certain uncommon situations, where different Qt versions are used on the same system, the plugin caching optimization may identify a dll as a valid plugin, even though it will later fail to load. This fix will avoid that Qt repeatdly tries to reopen such dlls, something which caused a significant performance hit in these cases. E.g. where Qt would unsuccessfully try to load a number of KDE image format plugins for every image loading operation. Task-number: QTBUG-10066 Reviewed-by: thiago Reviewed-by: janarve
* | | | | Improved documentation for new QTranslator::load() overloadDenis Dzyubenko2011-03-291-8/+9
| | | | | | | | | | | | | | | | | | | | Reviewed-by: trustme
* | | | | Changed the #ifdef block in QLocale to check for Q_OS_WIN instead of WS.Denis Dzyubenko2011-03-291-1/+1
| | | | | | | | | | | | | | | | | | | | Reviewed-by: Jeremy Katz
* | | | | Fixed checking for default arguments in QLocale::toCurrencyString()Denis Dzyubenko2011-03-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should check whether we got the default argument or the empty string that was provided by the user as toCurrencyString(123, QString("")) Reviewed-by: Zeno Albisser
* | | | | Use region name as a locale name on Mac.Denis Dzyubenko2011-03-291-31/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the behavior as before we were returning the name that we read from System Preferences -> Language which represents the language for UI translation. Now that we have QLocale::uiLanguages() we don't need a hack that returned UI language as a locale name. This essentially reverts adb6eea3a135707a220c0b1c1cf8266321af9309. Reviewed-by: con
* | | | | Updated CLDR data for QLocale.Denis Dzyubenko2011-03-291-370/+561
| | | | | | | | | | | | | | | | | | | | Reviewed-by: trustme
* | | | | Added native language and country names (endonyms) to QLocale.Denis Dzyubenko2011-03-2911-5/+275
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-17092 Reviewed-by: Zeno Albisser Reviewed-by: Liang Qi
* | | | | Fix errors when compiling Qt with STLportCédric OCHS2011-03-282-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-18374 Reviewed-by: Olivier Goffart Merge-request: 1157
* | | | | QSslConfiguration: do not lazily construct the d-pointerPeter Hartmann2011-03-287-26/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...the private class is cheap anyway; and lazy construction lead to problems like setting an empty default configuration would crash etc. Reviewed-by: Markus Goetz Task-number: QTBUG-17550
* | | | | This test fails in Europe/London timezone due to this check, since in winter ↵Darryl L. Miles2011-03-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt::LocalTime==Qt::UTC. Merge-request: 1159 Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* | | | | Merge remote branch 'origin/master' into 4.8-earthDenis Dzyubenko2011-03-28203-1613/+78842
|\ \ \ \ \ | |/ / / /
| * | | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-tools-staging into ↵Qt Continuous Integration System2011-03-283-52/+54
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-tools-staging: Designer: Fix tab order in action editor dialog. Make QtUiTools use the lib-infix passed to configure.
| | * | | | Designer: Fix tab order in action editor dialog.Friedemann Kleint2011-03-281-48/+48
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-18400
| | * | | | Make QtUiTools use the lib-infix passed to configure.Friedemann Kleint2011-03-252-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch contributed by OpenEmbedded project. Reviewed-by: hjk Task-number: QTBUG-7169
| * | | | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-03-283-2/+120
| |\ \ \ \ \ | | | |_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1: tst_qlocale: improve failure message in tst_QLocale::macDefaultLocale Add a once-over unrolled fromLatin1 conversion (32 characters) Add 16-byte loads of the Neon fromLatin1 functions Fix warning about unused parameter
| | * | | | tst_qlocale: improve failure message in tst_QLocale::macDefaultLocaleRohan McGovern2011-03-281-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use QVERIFY2 to output more details about this failure. Reviewed-by: Toby Tomkins