Commit Graph

7024 Commits

Author SHA1 Message Date
Debao Zhang
b3f9978a4d QArrayData: Suppress MSVC warnning.
Change-Id: I3b8090d9d3f1294d76ff1cc3503c73e90cd91b40
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2012-05-07 07:45:07 +02:00
Thiago Macieira
c48876ac93 Add some extra tests to tst_QString to ensure the encoding is correct
This also tests by consequence that the behaviour of QByteArrays
containing NULs is consistent. Right now, that means the QByteArray
processing stops at the NUL, which is the same behaviour as if a
pointer to the byte array's data were used. (it's what happens if
there's no QByteArray overload and the const char* one is called)

Change-Id: If56a822f95866e8cb5b153d07b48198bb83fb386
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-07 05:07:29 +02:00
Thiago Macieira
8ddd8c8ba9 Change QStringBuilder to use UTF-8 too
This commit completes the previous commit so that both QString and
QStringBuilder now operate on UTF-8 input.

A small fix was required in QStringBuilder: an if clause isn't enough
to separate the two append versions. Since there are no QString
functions that append to char*, if we're converting to a QByteArray,
we need to go through a QString first in a separate function.

Change-Id: Ic503340c5d0c32d420c90c91cc2e0fc1ae9230f3
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-07 05:07:16 +02:00
Thiago Macieira
592fe0a026 Change QString's default codec to be UTF-8
This is a crude change, not the most efficient way. I'll clean up and
make it prettier later on, when I've had the chance to optimise the
UTF-8 codec too.

Change-Id: I78e30e8d3bddf6ad0210c9c4cedb9a7ce63d1a7d
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-07 05:06:26 +02:00
Thiago Macieira
a637a5ae29 Change remaining uses of {to,from}Ascii to {to,from}Latin1 [QtDBus]
This operation should be a no-op anyway, since at this point in time,
the fromAscii and toAscii functions simply call their fromLatin1 and
toLatin1 counterparts.

Task-number: QTBUG-21872
Change-Id: I052a3412a568ad639f2bf169b4491b56dddff1c7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-07 05:05:30 +02:00
Thiago Macieira
f28ba2be97 Fix encoding mismatches in tst_QSqlQuery
The file has been UTF-8 encoded for years, which means that the line:
    QString longerBLOB( "abcdefghijklmnopqrstuvxyz¿äëïöü¡  " );

Loaded a mojibake into QString. Then, this data was stored as a blob
in the database by calling longerBLOB.toLatin1() (a QByteArray), and
reloaded for check using toString().

Once the QString default codec changes to UTF-8, the mojibake would
get fixed, and the test would fail. Make sure it doesn't happen.

Change-Id: If12d6124c973e4a1c1b7978d90fffb9aa5545c66
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-07 05:03:17 +02:00
Sean Harmer
d0e7014429 Query the screen physical size rather than assuming fixed dpi of 96
Change-Id: I405e8d1cfbf7f0607f8525f9c8c93053109478d9
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-07 02:18:56 +02:00
Richard Moore
e2a77de726 Various minor fixes for qdoc warnings.
Change-Id: I54c5ab6e1bfb1816bb510be9e2bfa1e3362faa36
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-05-06 20:42:00 +02:00
Richard Moore
eee3798f6f Fix more qdoc warnings in qtnetwork.
Change-Id: Ibfac6236e9f68b41e34e67ef03cfd590582439be
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-05-06 19:12:43 +02:00
Liang Qi
54d9fd61e1 Add default value for getters in QJsonValue
Done-with: Debao Zhang <dbzhang800@gmail.com>
Change-Id: I3ddd8dd89dc75d91ac9977bf9b6eb3174d7669e4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-06 15:32:45 +02:00
David Faure
d6bb52b196 Fix typos in bcd477e0bc
Change-Id: Ia1981c86f799a749aa8fab5cdd8f6563b2ebe77f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-05-06 11:32:46 +02:00
Casper van Donderen
3006625cfe QDoc: Examples: Move list of files/images to bottom of output.
Change-Id: Ie3b98489d80360bae21ee062bf6a11ea3ee74c4d
Reviewed-by: Richard J. Moore <rich@kde.org>
2012-05-05 22:06:51 +02:00
Thiago Macieira
d839564c94 Make sure we export the non-inline qMalloc & friends functions
If QtCore is built with Qt 5.0 API, the Q_CORE_EXPORT does not appear
anywhere and these functions wouldn't get exported, despite being
defined. So make sure that they get the Q_CORE_EXPORT attribute.

Change-Id: I0684ea1b9ad634c13dca12c97683032e44f6a290
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-05-05 22:02:22 +02:00
Stephen Kelly
32804a5b16 Publish the fact of whether Qt was built with hidden visibility.
Change-Id: Iaf1a6495ee96859af9c5c25a54ea1fc463910cd3
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-05-05 19:08:52 +02:00
Thiago Macieira
8f32994b50 Change remaining uses of {to,from}Ascii to {to,from}Latin1 [QtSql]
This operation should be a no-op anyway, since at this point in time,
the fromAscii and toAscii functions simply call their fromLatin1 and
toLatin1 counterparts.

Task-number: QTBUG-21872
Change-Id: Icb3ab0e1f4f3173563f3de36115b5457cf1ba856
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-05-05 16:56:23 +02:00
Lars Knoll
ec360d7ad9 Place the plugin metadata into special sections for Mac and Win
The plugin metadata is placed into a special section in the
object file on ELF systems to allow finding it fast. Place
the data into a special section on Mac and Windows as well,
even though we don't have Mach-O or COFF parsers available
yet.

This will allow us to add the Mach-O and COFF parsers as a pure
optimization later on.

Task-number: QTBUG-25054
Change-Id: I376d5443ede715aee2c68fb62d24afdbf66e5685
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-05 12:09:38 +02:00
Adrien Bustany
a7d1b6419d QNetworkProxyFactory: check all the proxy environment variables
QNetworkProxyFactory used to check only for the http_proxy environment
variable in systemProxyForQuery. This patch makes it look as well in
https_proxy, ftp_proxy and all_proxy. http_proxy is still used as a
fallback value.

Change-Id: I7934af70d191cd17dbce3b3789260ae1a8332986
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-05-05 03:51:03 +02:00
Shane Kearns
32adb82741 Enable specifying raw headers for the request
Use "--headers=file" where the file contains the raw headers to send.
This is useful for replaying requests from log files.

Change-Id: I3bbe582d96fc9797f692a0d5772e8164f8265ce0
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2012-05-05 03:50:41 +02:00
Shane Kearns
1aeaf0e708 Use reference count to close down idle network session
QNetworkAccessManager was using the AutoCloseConnection property
of QNetworkSession to close it when idle. However this property is
only implemented for polling engines and not event driven engines.

Instead, release the network session reference.
If another request comes in, it will be resurrected from the shared
session weak reference.
If not, then after 2 minutes when the connection caches are flushed
the ref count will reach zero and cause the QNetworkSession to be
destroyed (which closes it)

Task-number: QTBUG-15812
Change-Id: I2963bdf13fb02e3ac269489ea463669142f3c5f3
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2012-05-05 03:50:25 +02:00
Shane Kearns
cd7abae39f Document dependency of bearer management on network interface
Task-number: QTBUG-21243

Change-Id: I494b751589f2efcb5101c056ac24ef82df9aa746
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-05 03:50:11 +02:00
Shane Kearns
360c481840 Remove not present networks from QNetworkInterface::allInterfaces
Windows 7 accumulates networks over time with the status
"not present". This is so it can remember whether a given network
was a public, home or work network next time you use it.
By default, these networks are not returned when enumerating
network interfaces, but we specified a flag to request all networks.
These networks are generally not useful so use the default behaviour
of not reporting them.

Task-number: QTBUG-18824
Change-Id: I4edc4cea83a0e97a88ac649b7d8af95a8a600b89
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-05 03:49:58 +02:00
Donald Carr
bcc9c50b50 Introduce Arch Linux specific link line to pi mkspec
Change-Id: I77c99a2f5e25c28ad2d4a13e3b56d3603cd5bb64
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-05 00:52:14 +02:00
Martin Smith
62467e2dd8 qdoc: Fixed minor version number in DITA XML
The DITA XML didn't contain the correct
QML Module version mumber in the imports
statement.

Change-Id: I22b75facc1396c5adea88be49c86fff11f19f27b
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-05-04 17:57:46 +02:00
Friedemann Kleint
7be0e21543 Implement QWindow::resize(int, int) by calling to resize(QSize).
The old implementation called setGeometry() clearing the
positioning policy flag.

Change-Id: If8226f86481318e772fba37c2c195037c3d955b0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-04 17:57:46 +02:00
Jędrzej Nowacki
0e40289a7e Add missing include file.
qfile_p.h is depending on qfile.h

Change-Id: I8b021baaf517a0236a062ef031a33bd8e2915101
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-04 17:57:46 +02:00
Jędrzej Nowacki
a42d8bcce1 Reuse QArray initializer macro in QByteArray
Change-Id: Ieb12ee290846dce88f2ea9fbf943103899337e0f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-04 17:57:46 +02:00
Jędrzej Nowacki
dcdd837a56 Replace QByteArrayData class by typedef.
QByteArrayData was binary compatible with QArrayData, but we do not
need a separate class, QArrayData should be sufficient. Preferably we
would use QTypedArrayData<char> but it is not POD, therefore it can
not be initialized with {} syntax.

Change-Id: I1edd7b4f236b06d8f2dbfd8a37a3f5699b6a2c07
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-05-04 17:57:46 +02:00
Casper van Donderen
9a140d6521 QDoc: Generate unique ids for qmlMethods.
Also delete unused function.

Change-Id: I8c3590d17c823bc27dcb9d9e73b7b812e078d33b
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-05-04 17:57:46 +02:00
Jiang Jiang
295ec32a74 Avoid glyph rendering with FT when not needed
If we only need to access the font metrics (like in scenegraph) for
layout, we don't need to render glyphs with FreeType at all.

Increase cached linearAdvance to 22 bits so that no overflow will
happen: FreeType returns 16.16 fixed point linearHoriAdvance, but
QFixed is 26.6, we store

    glyph->linearAdvance = linearHoriAdvance >> 10

Apparently 'short' is not enough since it's only 16 bits.

Change-Id: Id14eafa19f01a687de11997526281f9e7e860482
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-05-04 15:35:30 +02:00
Lars Knoll
ac300a166f Load resources in in QTextDocument correctly
In Qt 4, we loaded resources through the QTextEdit or
QTextControl if they were the parent of the document.
Modularization for Qt 5 broke this, as we can't cast
the parent to a QTextEdit anymore.

The fix is to make the loadResource() methods in QTextControl
and QTextEdit invokable and discover and invoke them at
runtime on the parent object.

Task-number: QTBUG-25116
Change-Id: Iba04bc16849b0c5ddcd275f12d1a386a8fe591bf
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-04 15:31:02 +02:00
Thiago Macieira
e563ca1a75 Change remaining uses of {to,from}Ascii to {to,from}Latin1 [platformsupport]
This operation should be a no-op anyway, since at this point in time,
the fromAscii and toAscii functions simply call their fromLatin1 and
toLatin1 counterparts.

Task-number: QTBUG-21872
Change-Id: Ie1a4e5ceca21c31e7357f28b90abc9129b122104
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-04 15:27:59 +02:00
Jędrzej Nowacki
c68d8ca76c Add an assert simplifying debugging.
Statics should not be deleted, the assert shows a nicer debug
information then a segmentation fault.

Change-Id: I9eedbfa966d7865fd7bb1e130c79e40bae3526cb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-04 15:24:52 +02:00
Bjoern Breitmeyer
55024ee0f9 removed unneccessary wince ifdef
Change-Id: I4b057c0ae266baae3e8c3675656abb361bfcacf4
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-05-04 15:24:52 +02:00
Robin Burchell
55b5cb9caa Stub out QSharedMemory and QSystemSemaphore for Android.
Android does not support regular SysV shm, we'll need to write our own
implementations.

Change-Id: I2817f64b36512b965b012388a667d08935828c83
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-04 15:24:52 +02:00
Robin Burchell
a592f221c3 Guard some pthread API with the appropriate POSIX check, or Android.
Android does not support some parts of POSIX. It's also unfortunately not
POSIX-compliant, meaning we need to guard things like pthread_cancel.

Change-Id: I2979eb5579c822f4f5ba27bcc29e118b908e8bdc
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-05-04 15:24:52 +02:00
Friedemann Kleint
c4f4be9bd1 Windowmodality-test: Compile with Qt 4.8.
Make it possible to shadow-build using Qt 4.8  for comparison.

Change-Id: I1a18b7f1d03b11f0420aab14455e2c53d1afd6ba
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-05-04 15:24:52 +02:00
Robin Burchell
1cf82c4081 Properly guard rand_r use with _POSIX_THREAD_SAFE_FUNCTIONS for Android.
Android does not support this, or other thread-safe functions.

Change-Id: Id2a918f83e6138795196c45f89613c5b46911901
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-05-04 15:24:52 +02:00
Rafael Roquetto
ee69c935c0 Enable some SQLITE extensions by default
Enable SQLITE_ENABLE_FTS3 SQLITE_ENABLE_FTS3_PARENTHESIS SQLITE_ENABLE_RTREE
by default on all platforms. These options were previously enabled in Ubuntu,
Nokia N9 and in some mobile devices.

Change-Id: I5b3d2d9a683916216058ca94ec82957bd8cacdb0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
2012-05-04 15:24:52 +02:00
Robin Burchell
0688746154 Add Android to conditionals around langinfo.h usage.
Despite being mandated by POSIX, Android does not support this.

Change-Id: I3da42ff9b3336cb6657692a9eb70dd3118ac1756
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-04 15:24:52 +02:00
Konstantin Ritt
72c5ca98e5 stop ignoring unassigned codepoints
in Unicode 5.1, it was clarified that unassigned codepoints normally
should not be excluded from the process; moreover, unassigned codepoints
assumed to be starters in decomposition by default

Change-Id: Ic4a61ec3759ee62b6843c81045e1d611d0684ead
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-04 15:24:52 +02:00
Konstantin Ritt
46b78113b2 add support for non-BMP ligatures
> http://www.unicode.org/versions/Unicode5.2.0/
D. Character Additions:
There are three new characters in the newly-encoded Kaithi script that will
require changes in implementations which make hard-coded assumptions about
composition during normalization. Most new characters added to the standard
with decompositions cannot be generated by the operations toNFC() or toNFKC),
but these three can. Implementers should check their code carefully
to ensure that it handles these three characters correctly.
U+1109A KAITHI LETTER DDDHA
U+1109C KAITHI LETTER RHA
U+110AB KAITHI LETTER VA

UCD 6.1 adds two more of them:
U+1112E CHAKMA VOWEL SIGN O
U+1112F CHAKMA VOWEL SIGN AU

Change-Id: I781a26848078d8b83a182b0fd4e681be2a6d9a27
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-04 15:24:52 +02:00
Thiago Macieira
41b1fb918b Use QFile::{encode,decode}Name to deal with QT_PLUGIN_PATH
Since it deals with paths, let's use the proper path-handling
functions.

Change-Id: I896d2c472dfd675e9ff247657447178702f178be
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2012-05-04 15:24:52 +02:00
Thiago Macieira
26e47c0353 Slightly improve the query encode/decode test in QUrl
Show that nothing is changed either way, regardless of the encoding
flags used.

Change-Id: I31fba5f87eae777d4b708ab789b32169004bcbcc
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-04 15:24:52 +02:00
Thiago Macieira
4ececbba58 Allow the QPA plugin arguments to contain non-ASCII.
Who knows what we might need them for in the future?

Change-Id: Ic68e04aea6cb26afb0ed98684bbb37a62c111638
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2012-05-04 15:24:52 +02:00
Thiago Macieira
0ec1b9d162 Use QFile::encodeName to encode a file name on Unix
This usually matches QString::toLocal8Bit, not toAscii.

Change-Id: I7b1c3e500be8265de0710cf36ca407c8b3f31edd
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-05-04 15:24:52 +02:00
David Faure
7c717e56f5 Fix QUrl::toString(StripTrailingSlash) to not turn file:/// into file:
It should only strip one slash (as the name indicates), and not if the
path is just "/".

Change-Id: I133a81977241de77a49d1d1559143d30e0bd52f8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-04 13:03:35 +02:00
Laszlo Agocs
5190beae81 Add setCursor API to QWindow
Change-Id: Id430ea9c94475356c9367a135f678f5f9ef795fc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-04 13:02:00 +02:00
Olivier Goffart
5c2a055230 Fix compiler warning
qurlrecode.cpp:481:24: warning: ‘action’ may be used uninitialized in
this function [-Wmaybe-uninitialized]

Change-Id: I638b65218d1875667e2c60a5720ecda87202b82f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-04 12:55:39 +02:00
Lars Knoll
f7b1262c7f Always return uiLanguages in bcp47 format
The old code didn't convert the uilanguages
coming from the system locale to bcp47 format,
leading to QLocale().uiLanguages() and
QLocale("en_US").uiLanguages() returning
things in an inconsistent format. Now it always
returns bcp47 format (ie. Language and Country
separated by a hyphen).

Change-Id: I40d3442255e6e8daa4723f7b3fc13829c9764eb1
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
2012-05-04 12:52:30 +02:00
Miikka Heikkinen
500f4883b4 Remove insignification from tst_QOpenGL
This test is passing for Windows now in CI due to recent fixes, so
remove the insignification.

Change-Id: Ib74aea443c4a66c9bf743d88e15d9f27f9ac2fe4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-05-04 12:50:15 +02:00