Commit Graph

12139 Commits

Author SHA1 Message Date
Sean Harmer
25c9005097 OpenGL: Refactor some defines and typedefs to a common location
These will be needed by the upcoming OpenGL enablers so move them
out of qopenglfunctions.h to somewhere that any opengl related file can
access them.

Change-Id: I0c788559397d446ec7210e2ad940da862179710d
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-21 20:39:23 +01:00
Richard Moe Gustavsen
22077e1609 QPA: Add interface for setting the application state explicitly
The motivation for this patch is twofold:

1: we need a way (for iOS/Android) to tell the current window to remove
focus from the focus object when the user hides the input panel.
Otherwise, if the focus object is e.g a line edit, the cursor will
continue to blink inside it, which is wrong. As it stands, telling
the active window to deactivate
(by calling QWindowSystemInterface::handleWindowActivated(0)), will cause
the whole application to deactivate if no windows are active, which
is not what we want.

2: Qt currently understands just two application states, Activated and
Deactivated. On mobile platforms we can have other states
as well, like "suspended" on iOS. So controlling the application
state should not depend on window activation, but instead be controlled
through a separate API by the platform plugin.

This patch will add the following function:
QWindowSystemInterface::handleApplicationStateChanged(Qt::ApplicationState newState)
that lets us control the application state from the plugin. This also
means that we factor out application state handling from window
activation, which also gives us a way to remove focus from a window while
keeping the application active.

To not break existing desktop platforms that relies on application
activation being tied to window activation, we need to make this API
opt-in by using a platform integration capability hint. This is not optimal, but
found necessary after investigating several other solutions.

Which states (other that active/inactive) it makes sense
to add to Qt::ApplicationState will be a topic for later patches.

Change-Id: Ic6fdd3b66867abb67da43eba04ec86f06d82ff94
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-21 14:55:10 +01:00
Olivier Goffart
03b2512598 Fix QMetaType of const references
This fixes QMetaType detection of const reference arguments in signals
while connecting using the new syntax and Qt::QueuedConnection

const references should have the same QMetaType as non references.
That means we need to remove the const reference while getting the
QMetaType.

Change-Id: I9b2688da7fb9ae985aec0d8fa62a1165357ffe71
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-02-21 14:54:00 +01:00
Giuseppe D'Angelo
8fd1330029 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-02-21 10:37:21 +01:00
Oliver Wolff
f9fc180d50 Check for network module when building according examples
Change-Id: Id17ba13988e37fa583948f4861b44bb1f05bf375
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-21 07:27:25 +01:00
Tor Arne Vestbø
f73ddd4dfb Reintroduce use of CTFontCopyDefaultCascadeListForLanguages on Mac OS
Now that we always build against an SDK, we can be sure that the
function declaration for CTFontCopyDefaultCascadeListForLanguages
is available in the CoreText CTFont.h header.

Change-Id: I304a701548833e5c7774b4fd2e72eb8c541dd103
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-02-21 00:20:09 +01:00
Ray Donnelly
4486e12033 Relax unix compile.test to check the expected file exists
When cross compiling between two systems that use different
program file formats (such as PECOFF vs ELF) -x cannot be
relied upon, so -f should be used instead.

Change-Id: I4c80646b2b1fbdd6072589d4d9e852adda83424a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-20 22:19:43 +01:00
Ray Donnelly
7d408c543f syncqt: Use /usr/bin/env perl not /usr/bin/perl
This is because on some systems, /usr/bin/perl is too old to
run syncqt. MSYS is one such system.

Change-Id: I3e1aa2db557cc3919618350775e7218ae05aa93f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-20 22:19:43 +01:00
Richard Moore
4030b6339c Allow QHostInfo::lookupHost() with no receiver to warm the DNS cache.
This change lets you call QHostInfo::lookupHost() with a null receiver
in order to warm up the DNS cache. This allows you to try to get the
DNS request in flight early.

Change-Id: Icfdd28146479aa534ae9ceb472f75e08aaa39cd2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-20 22:19:43 +01:00
J-P Nurmi
b92d951bb1 QGtk2XxxDialogHelper: cleanup unnecessary mutable keywords
Change-Id: Ic0b72661e561e20d50de7aca6d8a681975100b56
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-02-20 22:19:43 +01:00
Frederik Gladhorn
dcb710dd87 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	mkspecs/features/unix/separate_debug_info.prf
	src/gui/kernel/qwindow_p.h
	src/plugins/platforms/cocoa/qcocoacursor.mm
	tests/auto/tools/moc/tst_moc.cpp

Change-Id: Ieb57834c00f961a747ffe51e6eb9fc9612cebccf
2013-02-20 22:08:29 +01:00
Gabriel de Dietrich
26bc4ab22e Gtk Style: Workaround to get combo box item style from QtQuick Controls
Change-Id: I0f39269d08d58e0ee1f5b09b90e11ab1030a3932
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-02-20 19:32:24 +01:00
Pavel Mogylevskiy
eff6dbb306 Fix path separators in archives created by QZipWriter
It was not possible to extract data from the archive on OSX
which was created on Windows platform because of wrong
separators. Archive was created on Windows via QZipWriter and
opened on OSX with QZipReader. It consisted of a lots directories
and subdirectories with files. The solution is to use '/' separator
for internal representation.

Change-Id: Ic0837ca184bb6188129d53b587a5df2ec61e4e05
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-20 16:11:52 +01:00
jian liang
af27b37b08 Activate window before replay mouse press event
Activate the window of the widget under mouse pointer before replay mouse
press event.

Change-Id: I9e699374accf108aa49b2a3c73d5e76631100dfd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-20 16:09:59 +01:00
Oliver Wolff
a4c9ddb68f Check for printsupport module when building according example
Change-Id: Ie98418c0640e2fe7cb829988f9194cb620b71629
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-20 10:28:52 +01:00
Andy Shaw
e47c2744e6 Clean up the cached cursors inside the destructor of QCocoaCursor
Change-Id: I4e1222832efa29680b4e658a5c9109641599a2b9
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-20 08:38:39 +01:00
Andy Shaw
79498af6e4 Fix the default handling of cursor shape when there is no standard one
When the cursor specified is a bitmap one we cannot cache it based on
the shape as the pixmap set on the cursor may be different. Therefore
we should always create a new cursor in this instance.

Change-Id: I2c201590ff632490d76c1b423908ae32aa584eb6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-20 08:38:39 +01:00
Friedemann Kleint
4606ea5395 QProgressBar: Use localized numbers and percent sign.
Task-number: QTBUG-28751

Change-Id: I56aca3e0ee9c579297110c69d2d832c7a57f1ae7
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Karim Pinter <karim.pinter@digia.com>
2013-02-20 08:15:26 +01:00
Friedemann Kleint
dd30f3e65b Fix QDockWidget being unable to dock when initially floating.
When setFloating(true) is called before show, frame strut events
are not enabled for the native window (since there is none yet)
in QDockWidgetPrivate::setWindowState(). In that case, do
it in the show event handling.

Task-number: QTBUG-29012
Change-Id: I93b679f20200c149d608a1bcc65b4936a035c6a0
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-02-20 06:39:03 +01:00
Simeon Bird
8efad82d6c Fix QTBUG-18934 by checking return value of qt_safe_pipe
When QProcess->start() is called, Qt creates a pipe to the process to
get its exit value and output.
It does this with qt_create_pipe, which calls qt_safe_pipe.
qt_safe_pipe, on failure, returns 1. qt_create_pipe then
sets errno and returns void.
The calling function, QProcessPrivate::startProcess, does not check
errno, and thus continues to fork the process, assuming the pipe has been
created successfully.

The child process then has no way to pass its exit value to the calling
process, since the communication pipes it would normally use do not
exist, and thus when it exits it becomes a zombie.

As a bonus, if waitForFinished is called on a broken process, a crash
results because it is trying to wait on a pipe which does not exist.

The fix makes qt_create_pipe return an integer, and QProcess::startProcess
check the return value, set processError and not create the child
process.

Task-Number: QTBUG-18934
Change-Id: I2e1effdd0617be5b8c5492bcbcf5f2b1584b2241
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-20 02:47:32 +01:00
Laszlo Papp
2f5b4d47f6 Document the qintptr for public usage
The QAbstractSocket API has been already using this as a return type. Hence,
this has already been exposed to the public API users, anyhow.

http://qt-project.org/doc/qt-5.0/qtnetwork/qabstractsocket.html#socketDescriptor

A minor mistake has also been fixed in this commit at the quintptr section.

Change-Id: I8143b3050428548ff6baee2e3a0bce4058ea8701
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-20 01:30:29 +01:00
Tor Arne Vestbø
c3a5681225 Always build against an SDK on Mac OS
Building against the local /System can cause build issues when for example
the headers have not been updated to reflect the system version. The system
headers are updated as part of installing the command line tools from within
Xcode, not as part of the system update process, so we might think we are
on 10.8, but the system headers will not reflect that, and we get build
breaks. It's preferable to always build against an SDK, so that we have
a known state for the OS X libraries and headers.

We choose the latests SDK by default, as recommended by Apple.

Change-Id: I79028217ff3a9cbe45aa4cb05ed6dd90388dee50
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-20 00:46:50 +01:00
Tor Arne Vestbø
443380d97f Don't run qmake test that requires macx makespec on non Mac OS platforms
And update test to use the clang makespec now that it's the default.

Change-Id: Ifdd34c4220ad76f60b91fd6ef39d189f0f6525f9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-20 00:46:50 +01:00
Richard Moore
5ebc8d3663 Add an encrypted() signal to QNetworkAccessManager and QNetworkReply.
Add an encrypted signal to QNAM and QNetworkReply to allow applications
to perform additional checks on the certificate chain beyond those done
as part of the standard SSL validation. This allows things like
certificate change notification to be implemented for QNAM as they can
be for QSSLSocket currently.

Change-Id: I693e3e6fec8b7040379b7e7f1f819550e6b2617f
Reviewed-by: Peter Hartmann <phartmann@rim.com>
2013-02-19 21:37:32 +01:00
Richard Moore
7898080ca7 Add support for intermediate certificates to server sockets.
Add intermediate certificates to our server sockets, and to our client
certs.

Change-Id: Ib5aa575473f9e84f337bebe35099506dd7d7e2ba
Task-Number: QTBUG-19825
Task-Number: QTBUG-13281
Reviewed-by: Peter Hartmann <phartmann@rim.com>
2013-02-19 21:37:24 +01:00
Richard Moore
4a07519877 Store the local certificate in a QList.
Instead of storing a single QSslCertificate for a the local cert, store
a list of them. This will allow us to handle server sockets that use a
certificate that is not issued directly from the CA root in future.

Change-Id: I9a36b9a99daa9c0bdd17f61b4ce1a7da746f2e96
Reviewed-by: Peter Hartmann <phartmann@rim.com>
2013-02-19 21:37:14 +01:00
Andy Shaw
7203e88084 Don't enable HIDPI when rendering directly to PDF on Mac
When rendering to PDF using the PDF paint engine on Mac it would
consider it to be rendering as HIDPI when ScreenResolution was used.
This would mean nothing was being rendered at all in the PDF as a
result.

Task-number: QTBUG-28709
Change-Id: Ieb97ca9d0b47f6b96debbcf5e05e96c39292e412
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-19 21:25:16 +01:00
Gunnar Sletta
3f99983e76 Fix focus handling of native child widgets in xcb.
Change-Id: If4d596195624011142bff6853849a23064e478df
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
(cherry picked from commit fc663b5f9a)
2013-02-19 21:21:27 +01:00
Jan Arve Saether
18f9eb797b QStackedLayout: Fix crash when focus widget is destroyed in hide()
We also have to make sure that when moving back to a page
that has a focusWidget(), the focus should go to the focusWidget()

Task-number: QTBUG-18242

Change-Id: Ibfa7d6361c1a456480b2f1584a88ef4c4f405709
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-19 21:07:14 +01:00
Jan Arve Saether
64106705e7 Clean whitespace
Change-Id: Iec1950a0f4053cd71633162f0cb50efc9d4d493f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-19 21:06:53 +01:00
Tor Arne Vestbø
eb09f9b82c moc: Error out when detecting unterminated macro usage
Exhausting the symbol list while looking for the
final right parenthesis means it is missing.

Task-number: QTBUG-29308
Change-Id: Iccf5897b0f5eb719699fd12d6c8e4a16ff189d9b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-02-19 20:51:44 +01:00
Oliver Wolff
5dbd42a62e Check for network module when building according benchmarks
Change-Id: I5e4cb3ef6fdb5de772d13029c11170d0f0eb3ee5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-19 19:21:08 +01:00
Oliver Wolff
bf04283b4e Removed unneeded printsupport dependency from qpainter autotest
Change-Id: I906726a3d77572b9e054adbc68c4755dd663ad87
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-19 19:21:03 +01:00
Oliver Wolff
1a6bea1ceb Check for printsupport module when building according auto tests
Change-Id: I9bade7b31c75331190960cb14dee6840e3582c50
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-19 19:20:58 +01:00
Oliver Wolff
53dc49ffc8 Check for network module when building according auto tests
Change-Id: I68013bf8e07be8d202b3253f997d4f4db05335a4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-19 19:20:53 +01:00
Oliver Wolff
a19037cc9e Don't build the bearer plugin if network is not available
Change-Id: Ia706ac95570e903ae4fa0e47d2c850daf703bb04
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-19 19:20:47 +01:00
Sergio Martins
c02a2f8e76 QNX: Don't crash with 0 by 0 sized windows
In the rare event of an invalid sized window, the application crashes
because libscreen doesn't like creating empty buffers.

Not creating the buffers at all would also be a solution, if we didn't
have QPainter crashes due do null paint devices.

Change-Id: I561d0082576b6226dd52129f9640952ba46273c8
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-02-19 17:10:27 +01:00
Shawn Rutledge
39b1bd8f45 undef B0 to build on PPC (conflict with definition in termios.h)
This is the same fix that was already done in qprinter.h
/usr/include/bits/termios.h:122:#define B0 0000000  /* hang up */
so the compiler sees B0 as a numeric constant

Task-number: QTBUG-29704
Change-Id: I2df5e1783f3142558cbc1606e0c61fcf636f2de8
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-02-19 17:05:43 +01:00
Michael Brasser
a54b271c39 Fix EGL_BAD_MATCH when requesting a 16-bit surface with eglfs.
QEglFSWindow does not request highestPixelFormat, and can obtain a 16-bit
config when requested. QEGLPlatformContext does request highestPixelFormat,
and can obtain a 32-bit config when a 16-bit config is requested, leading
to this error.

Change-Id: I418c09a35ec19b2e9ca372b32599034e02384e44
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-19 15:10:44 +01:00
Jerome Pasion
5d6916b4c1 Doc: Removed reference to deprecated \badcode command.
-QDoc doesn't differentiate between \badcode and \code. They both
look the same in the output.

Change-Id: Ifabd51b7e433a1c30cf30c267d3ce63dded1bd43
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2013-02-19 11:55:51 +01:00
Peter Hartmann
165926c3ae SSL session sharing auto test: Retrieve smaller file for testing
The "mediumfile" is actually 9.6 MB large, and makes the test slow and
even fail on mobile platforms.

Change-Id: I694d9d38e4d09c8e90a03c1141320fe2a757fdd9
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-02-19 10:35:06 +01:00
J-P Nurmi
2dd8e7cf2e Introduce a native font dialog for GTK+ 2.x
Change-Id: Ia5660c3e2c8c122187427ccb490d46e52ee3ad21
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-02-19 10:35:06 +01:00
Erik Verbruggen
436c65ba21 Fix compilation with Clang on MacOS.
Apparently Clang does not like methods to be declared static inline,
and then have their definition somewhere else. Error messages:

../../../include/QtCore/../../src/corelib/tools/qpoint.h:156:37: error: conflicting types for 'dotProduct'
Q_DECL_CONSTEXPR inline int QPoint::dotProduct(const QPoint &p1, const QPoint &p2)
                                    ^
../../../include/QtCore/../../src/corelib/tools/qpoint.h:77:40: note: previous declaration is here
    Q_DECL_CONSTEXPR static inline int dotProduct(const QPoint &p1, const QPoint &p2);
                                       ^
../../../include/QtCore/../../src/corelib/tools/qpoint.h:338:40: error: conflicting types for 'dotProduct'
Q_DECL_CONSTEXPR inline qreal QPointF::dotProduct(const QPointF &p1, const QPointF &p2)
                                       ^
../../../include/QtCore/../../src/corelib/tools/qpoint.h:239:42: note: previous declaration is here
    Q_DECL_CONSTEXPR static inline qreal dotProduct(const QPointF &p1, const QPointF &p2);
                                         ^

Change-Id: I041b96d79506d2898daf40d70b37f02459de35bd
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-19 10:35:06 +01:00
Ray Donnelly
1a0924dfc0 Unify win32-g++ and Unix qmake Makefiles.
Replace the old sed / template @FOO@ method with echo.
Enable MSYS bash to build qmake.exe
Use qmake/Makefile.unix for all win32-g++ builds.

Change-Id: I6e27d69b28d27131838bbbb3a4ee5a08b470f31b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-19 10:35:06 +01:00
Pasi Petäjäjärvi
5ec342fefd Fix QFileInfo autotest for VxWorks.
No users/groups/symlinks on VxWorks.

Change-Id: I524a568202db2478b070b16a63ae425224c3aaa0
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-19 10:35:06 +01:00
Pasi Petäjäjärvi
7e8cc3b3ba Fix QFile autotest for VxWorks
No users/file permissions. Open function in VxWorks DKM
requires always three parameters.

Change-Id: I93fb075d82aa57e210e224bfe4ede40def82c275
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-19 10:35:06 +01:00
Pasi Petäjäjärvi
10d077fa19 Fix QSettings autotest for VxWorks
No users/groups on VxWorks.

Change-Id: I88912c93fa59dc7c00bdbb973fc34ecd631b3316
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-19 10:35:06 +01:00
Kevin Ottens
fc6b214363 Let QPlatformTheme decide which engine QIcon::fromTheme uses
By default we still use QIconLoaderEngine but now platform theme plugins
have the opportunity to override that. It is in particular planned to be
used in a WIP platform theme plugin for KDE sessions.

Change-Id: I07a82dc91daea44709b3a790f3f6e2a7a090d108
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-02-19 10:35:06 +01:00
Morten Johan Sørvig
73d32873cf Cocoa: Add QMdiSubWindow size grip back.
Change all Q_WS_MAC -> Q_OS_MAC in qmdisubwindow.cpp

Remove QEXPECT_FAIL from tst_qmdisubwindow.cpp.

Task-number: QTBUG-29434, QTBUG-25297
Change-Id: I299b87ab994e2d5ba93d5bbae48de0df1ac1c9d6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-19 08:53:55 +01:00
Samuel Rødal
388f4f16b0 Mention offscreen platform plugin in QTestLib documentation.
Change-Id: Icb82e0b4dedbe4978230cd3271f335ec07da60e4
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-02-19 08:11:08 +01:00