Commit Graph

5806 Commits

Author SHA1 Message Date
Konstantin Ritt
3ddd768504 QChar: optimize some methods a bit for general case
by reordering and regrouping conditions so that they lead to result earlier
in most-common usecases (l.letters, spaces and puncts, u.letters, other);
there are no title cased letters in range [0..127] -> use this in isTitleCase();
test for 0xa0 (nbsp) early in isSpace() as it is quite common in HTML, etc.;
add early test to isNumber().

Change-Id: Ib415f34cb1212d9ccf8753de2d1beaece1aa2243
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-11 15:57:32 +02:00
Shane Kearns
7386ab17df Use windows API to update missing CA roots
Windows ships with a minimal set of CA roots.
When using windows API to verify a certificate, it will fetch the
root certificate from windows update (assuming it is part of the
Microsoft trust program).

As we are using openssl, this does not happen transparently.

If SSL errors occur which indicate a broken chain then attempt
to fix it using the windows API before emitting sslErrors.

If the system CA certs are not in use (a CA bundle has been set
on the socket or as the global configuration), then this is skipped.
This is so an application can continue to use its own cert bundle
rather than trusting the system certs.

Key usage is specified, so that windows will return not trusted
status if the root is not suitable for SSL (server auth or
client auth OID).

Testability:
 - to test, must delete the CA cert(s) from the "third party
   root certification authorities" section of the cert store
   using mmc.exe.
 - If the workaround of installing the windows XP cert bundle was
   performed, then you also need to delete certs from the "trusted
   root certification authorities" section.
   This is dangerous, be careful not to delete the required
   certificates which are documented on MS website
 - Naturally, modifying these areas of the cert store requires
   elevated privilege.

Task-number: QTBUG-24827
Change-Id: I5cfe71c8a10595731f6bbbbabaaefa3313496654
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-11 15:49:02 +02:00
Qt4iOS
62cda62c0c Modified project files to be iOS compatible.
Removed some MacOS source code files from iOS build. Use unix standard
paths for now (iOS-specific implementation will come later).

Change-Id: I8b2731b431b3a379a1ec4ec07d227e886209e3e9
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-04-11 15:42:14 +02:00
Hannu Lyytinen
89f6997e80 Add support for QPlatformNativeInterface.
Initial bits to enable figuring out the EGL display and context.

Change-Id: I4b578e356dceb40b4456f0590d32c8df1f51fa53
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
2012-04-11 12:42:37 +02:00
Hannu Lyytinen
0cd818aa7a Use correct framebuffer object.
KMS plugin deals with FBO IDs not equal to zero (the default FBO),
so return the correct ID.

Change-Id: I904fc0b8d732f856b4526bd7f73cc48c358c8441
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
2012-04-11 12:41:20 +02:00
Hannu Lyytinen
38da61fdc0 Release the EGL context after initialization.
Threaded applications like qmlscene could not bind the EGL context if
the context is already bound in the other thread.

Change-Id: Ia75ef9e76ebff48aa2c9b348101ab2f388e18c5e
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
2012-04-11 12:41:10 +02:00
Hannu Lyytinen
c343f710f4 Use the new plugin system in the KMS plugin.
Sync up the KMS QPA plugin with the plugin system changes.

Change-Id: Ifaa8be6f11aeb93acc63643c62ca15db4e9bc38f
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
2012-04-11 12:40:56 +02:00
Jason Barron
9cdfeb2b84 Change default value of QMAKE_LIBS_OPENGL_ES1 to libGLESv1_CM
The naming convention for these libraries says that libGLES_CM is to be
used when EGL is included while libGLESv1_CM should be used when EGL is
not included. Since we have a seperate variable for libEGL, it
makes sense to have this variable represent the non-EGL version of the
library.

Change-Id: I9147c116da7be4a296a0ebeac39762b46725f10e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-11 12:37:34 +02:00
Jason McDonald
3f9a7f9557 Remove Qt5 to-do comment in qtexthtmlparser.cpp.
The comment relates to a change that is neither source- nor
binary-incompatible, so the change can be done in any minor release.

Task-number: QTBUG-25117
Change-Id: Ifba3ef53241f9bf2504c573066e4cfa5fbfe679e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-04-11 12:35:23 +02:00
Girish Ramakrishnan
e60ca0de60 eglfs: rework hooks design
There are two problems with the current design:
1. if (hooks) hooks->foo() doesn't work in debug mode when no platform hook
   is defined. The problem doesn't arise in release mode because the compiler
   optimizes away the if (hooks) into a no-op since hooks is NULL when no
   platform hook is defined.
2. Adding a new hook requires changing every platform's hook implementation.

New approach:
1. Define QEglFSHooks as a class with virtual functions. A stub file provides
   the default implementation.
2. Platform hooks derive from above class and reimplement whatever is needed.

The filenames and variables have been changed to be more in line with the
Qt style.

Change-Id: I2eaaa5ad7c8b48a06361c4747d4f210c428c983f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-11 09:24:58 +02:00
Donald Carr
42f3bf772b Extend eglhooks to include hasCapability
Add BufferQueueingOpenGL to Raspberry PI's numerous capabilities

Change-Id: I1197c28a0c82df3ae2f6d5360791010e17373555
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-11 09:22:23 +02:00
Christoph Schleifenbaum
127c431e25 Add Mac OS X backend for QDesktopServices.
Change-Id: Ie48844ed93385c8aef9ae0765b7a3d26583ed642
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-04-11 01:42:12 +02:00
Thorbjørn Lund Martsum
e8b098b636 QHeaderView - remove some (nearly) unused span functions
This removes a couple of functions. Two of them are unused and the
last one has its (now) very simple implementation inlined in the
only caller. The last function was called something with spans and
we would like to get away from using the word 'span' since we no
longer uses spans.

Change-Id: Icef95166289d52bd958400cba70daceb6fa75913
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-11 01:42:12 +02:00
Thorbjørn Lund Martsum
699f2424eb QHeaderView - rename many spans classes and variables
In (SHA) b800d8b94a the span model
was replaced with a plain section model. The code however still has
variables and classes called someting with spans which would be
confusing for possible new readers of the code.

This patch cleans up most of it. It only renames classes,functions
and variables (and not any semantics or the public API).

Change-Id: I6ceb068c7317223f0d8e37f8032197f518d0174c
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-11 01:42:12 +02:00
Denis Dzyubenko
8692326629 Fixed syncqt to ignore all lines that define Qt namespace
That includes non-standard macroses for QtAddOns, e.g. for QtJsonDb addon the
macro looks like QT_BEGIN_NAMESPACE_JSONDB - by default syncqt doesn't
recognize the macro and concantenates it with the next line in the header file,
which breaks forward include generation if that next line is the class
definition.

Change-Id: Ia269f8a091113e4951d6a2615ef392b21bd5e3a3
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-04-11 01:42:12 +02:00
Aron Rosenberg
90520cd834 Automatically query for Mac Proxy Server credentials
Add support for automatically searching the Mac System Preferences
for proxy server username/password. If a user has put credentials
in the SystemPreferences->Network->Interface->Proxies area, we
will now look in the KeyChain for those files. This will
automatically pop up a Permissions dialog from the OS if valid
credentials were found which match the server we are trying to
access.

Task-Number: QTBUG-22033

Change-Id: Ic7952afab4d16a65a87bb2f97a928c1c91167fe7
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-11 01:42:12 +02:00
Aron Rosenberg
c524bbbb8a Add Proxy Auto Config support (PAC) on Mac
Adds support for fetching and parsing Proxy Auto Config files if one
is specified in the Mac System Preferences

Task-Number: QTBUG-2069
Task-Number: QTIFW-28
Change-Id: I91feb999222187e7467f2c41383904cf0cff8633
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-11 01:42:12 +02:00
Eskil Abrahamsen Blomfeldt
97f9c6f8cd Minor clean up in QTextOption API
Source compatible, but binary incompatible, change to QTextOption
API to make it consistent with Qt's coding style.

Change-Id: I368f13925339fa41025a570f684f4b944844a022
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-04-11 01:42:12 +02:00
José Millán Soto
784076fccb Made qt_accStripAmp handle "&&"
Changed qt_accStripAmp implementation to handle texts which contains
pairs of ampersands representing a single ampersand.

In order to do that, a new static function called qt_accAmpIndex was
created.
This function is based on the code of qt_accHotKey, which was changed
to use qt_accAmpIndex.

Change-Id: Idcc5d07581d7fb3251c30399b189740ca8071104
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
(cherry picked from commit f864f8f79b88bbc3cc9007d2a92b08ca4b5cb871)
2012-04-11 01:42:12 +02:00
Konstantin Ritt
50fefebc84 replace hardcoded values with a surrogate handling methods
Change-Id: Iba079953c46a29404232d2dacbe0c90170097d51
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-11 01:42:12 +02:00
Konstantin Ritt
3b778df102 minor improvement for NormalizationCorrections
let's don't hardcode the latests affected version value and simply use
the one parsed from NormalizationCorrections.txt

Change-Id: I37021e8238d77deada4c5ba7a2d160c87186b9dd
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-11 01:42:12 +02:00
Konstantin Ritt
8e74b5cfe4 fix digitValue() returned 0 instead of -1 for invalid ucs4 characters
Task-number: QTBUG-20318

Change-Id: I96c4c2b042bad478b7c704669e7ea0d574d3b22f
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-11 01:42:12 +02:00
Yuchen Deng
d7851bbc58 Add imports directory to ignore list
Change-Id: Iac2ae46ff606e6c71628ca480ac1b5fe82d9bf4e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-11 01:42:12 +02:00
Samuli Piippo
bf3c3862b4 Fix crash with evaluation license
With QWS, an infinite loop is formed at application startup
when commercial evaluation license is used and QT_EVAL is defined.

Change-Id: If9712428932b51f5c8eee9ef2d0d444da06a25d9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-11 01:42:12 +02:00
Samuel Rødal
592bb3ca5e Removed Qt 5 todo comments from qgl.h / qgl_p.h.
No point in changing QGLContext API when QOpenGLContext is meant to
obsolete it.

Task-number: QTBUG-25074
Change-Id: Ie21692c8c402ed9cd6af56bef0175c4e46c3d8a9
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-10 22:48:00 +02:00
Samuel Rødal
89387415b1 Removed Qt5 todo comment in qpaintengineex_p.h
This won't get done for Qt 5, and QtOpenGL still implements this API.

Task-number: QTBUG-25069
Change-Id: Ia8437d2a4a5a0e750afdf67764c53d75ee8065f6
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-10 22:47:51 +02:00
Jason McDonald
880cbf6027 Bump some Qt 5 to-do's to Qt 6.
Source-incompatible changes are no longer desirable for Qt 5, so these
items must wait until at least Qt 6.

Task-number: QTBUG-23524
Change-Id: I0b9ae5f6f3a792e0169a4b0d3aefbdcb744acd2f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-10 22:47:37 +02:00
Jan-Arve Saether
766498083a Add missing virtual destructor.
Change-Id: I94ac82ad4771b2b4c36ac24cc412fa43a0d77afb
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-04-10 19:52:57 +02:00
Mark Brand
d1502057d8 fix mingw detection
Change-Id: I7eb78ebd79bfc1be36cc43a1f41f4e574b063aed
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-10 19:52:50 +02:00
Girish Ramakrishnan
d60d98450a Save configuration feedback into config.summary
Scrolling the configure output to locate the build configuration
is painful. So save it in config.summary.

Change-Id: I40a2f7628e9a2b91a8ea44619dd49c00d5a61561
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-10 19:11:24 +02:00
Konstantin Ritt
933a1d2274 remove CODEC_FOR_C_STRINGS leftovers
Change-Id: Iaafb945882e3f6ad6d39f7eefb62b83ff50a9ba8
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-04-10 15:03:16 +02:00
Olivier Goffart
2dca19b44e Document QEvent::ThreadChange
That event is mentioned in the documentation of QObject::moveToThread,
but not in the documentation of QEvent::Type

Task-number: QTBUG-16787

Change-Id: Iab769307d3de54881a82e59bed63b3831a3ffb29
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
2012-04-10 15:03:16 +02:00
Jason McDonald
a869234593 Remove Qt5 to-do comments in qtextformat.cpp.
These won't be done for Qt 5.0 and to-do tasks really belong in a
bug-tracker not in the code.

Task-number: QTBUG-25072
Change-Id: Ife4ff148167e0f0c66a58233548f4011b0b10784
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-04-10 15:03:16 +02:00
Miikka Heikkinen
ef4783d297 Make it possible to enable non-scalable font scaling
Windows native font engine supports scaling of non-scalalble fonts, so
make it possible to do so.
Added two functions to QPlatformFontDatabase: fontsAlwaysScalable() and
standardSizes(), and made fontsAlwaysScalable() to return true for
Windows native font database.

Windows Freetype font engine doesn't seem to support scaling of
non-scalable fonts, so didn't enable it in there.

Added implementation of standardSizes() for Mac OS.

Task-number: QTBUG-24970
Change-Id: I41c9356ede8a37b7c61db94340dbeb5b629f34b9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-04-10 12:49:34 +02:00
Pierre Rossi
a159ca80d7 Don't hardcode the default families in qfont_qpa.cpp
Since different platforms come with different fonts, we should
probably leave it up to the platform to decide which family to use.

Change-Id: I18bb81c0ce87cc7e9ac7f3abaeae1b41c0ce8410
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-04-10 12:49:34 +02:00
Andrew den Exter
5a02c2115c Fix crash with invalid pre-edit position.
Ensure the script item position is within the bounds of the text block
when adjusted to compensate for pre-edit text.

Change-Id: I2c745bf08afc0d9bc3aba27c24c2a123af017dc6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-04-10 10:38:10 +02:00
Girish Ramakrishnan
efdadbb3d6 Remove unused signal QWindow::backBufferReady
backBufferReady is not used anywhere

Change-Id: Ic5c8f6a89e031b3bd757b03f60737d55be969ee5
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-10 10:38:10 +02:00
Rafael Roquetto
00f3299e8b Blackberry OS implementation of QStandardPaths
Change-Id: I31427b896ca691de7071da17af4863d16348df7b
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-04-10 10:38:10 +02:00
Andy Nichols
2756101d0e Fixed build issue when using GLEW with MSVC
MSVC does not support the #warning precompiler command and
is considered an error when used. This change checks for
GCC before issuing the warning.

Change-Id: Iee1e27841fe77b0289e88b7b4ccaa176ab56a39d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-10 10:38:10 +02:00
Girish Ramakrishnan
673ce6c84e eglfs: Implement xlib based hook for testing
Add a hook implementation for X11 using xlib. This is primarily for testing.
xcb is not used since the x11/egl-mesa integration appears to be done through
xlib.

Currently, there is no input mechanism. The size can be adjusted using
EGLFS_X11_SIZE environment variable.

Change-Id: Ifcfbfd958d9d110d94e22f04dfad1f6c29818103
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-10 10:38:10 +02:00
Donald Carr
2ee8b98cae Remove QWS era pvr headers
The QWS powervr plugin ceased to exist with the move to QPA; these headers
are therefore entirely redundant

Change-Id: I28c7baae15df5bb9d7ea3763e3a018e9e1ae1fc6
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-10 10:38:10 +02:00
Girish Ramakrishnan
c75ef6e223 Fix header inclusion guards
The inclusion guards refer to the old graphics system code

Change-Id: Ifa72e3030c83797e471735a9a696bf12c0f75b08
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-04-10 08:26:10 +02:00
Girish Ramakrishnan
300ce31d70 Fix constness of QPlatformCursorImage::hostpot()
QPlatformCursorImage::hotspot() should be const.

Change-Id: I2b517098e75b013947386a5a620a15dc48e76cec
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-04-10 08:25:51 +02:00
Marc Mutz
39b4578156 QTypeInfo: document Q_PRIMITIVE_TYPE existing practice
Despite the documentation requiring Q_PRIMITIVE_TYPEs to
be PODs, existing practice in Qt (QFixed, QFlags, QUuid)
is to allow constructors on primitive types as long as
every bit pattern represents a valid object (ie. memory
doesn't have to be initialised to hold an object of the
type) and memcpy() can be used to create an independent
copy of the object (memcpy()ing QString, e.g., while
creating two valid objects, doesn't create independent
copies).

Change-Id: Ia85d48b89f6cc84e69ea76719eab9a858d247ad6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2012-04-09 12:54:49 +02:00
Sean Harmer
1c20c3f294 Moving stack-smashing protection to the Blackberry mkspecs
It transpires that QNX 6.5.0 does not yet have libc support for the
gcc stack smashing protection.

Change-Id: Ic635662b6aa3ce2fad5f69e236386ae9ace420db
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-06 00:02:45 +02:00
Debao Zhang
bdfff4d825 Fix compilation with MinGW-W64.
These types and values and been defined propsys.h from MinGW-W64
Version2 on.

Change-Id: If74b7cf07a0fce414009c86519494a782508d8fe
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-05 20:45:02 +02:00
Friedemann Kleint
fddbe8beec Windows: Send empty region in expose event from setVisible(false).
Fixing a crash in tst_qwidget.cpp, trying to redraw on destroying
the platform window.

Change-Id: I6b6e9a063a1c72dff8110c379f8392605aadbdd6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-05 17:48:15 +02:00
Joerg Bornemann
0174c966f7 qmake vcxproj generator: properly escape XML attributes
Task-number: QTBUG-24954

Change-Id: I21299440ba3f268c2fa1e14d37003cdc3e6a35ad
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-05 17:48:15 +02:00
Shane Kearns
e5337ad1b1 Find libssl on linux using paths of loaded libraries
The installed path of libssl may include an element describing the
architecture, e.g. x86_64-linux-gnu or i386-linux-gnu.
In most cases, the libraries already loaded (static dependencies of
Qt, such as libc) will include the path where libssl is installed.

Use dl_iterate_phdr to find the paths. This is a linux specific
function, but it does provide "/lib/<arch>" and "/usr/lib/<arch>"
at the point ssl symbols are being resolved when running the
qsslsocket autotest (which has less dependencies than a typical
Qt app).

Task-number: QTBUG-24694
Change-Id: I9af8081f41bb85c2fcff450a2acda5672a7f7518
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
2012-04-05 15:37:53 +02:00
Friedemann Kleint
76ae64abb5 Windows: Use native font engine by default.
Turn around the meaning of the command line parameter.
The FreeType engine can now be activated by passing freetype.

Change-Id: I9da6cd4a127603f9cfb91f0ce8450088c0883faa
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-05 12:46:31 +02:00