Commit Graph

13259 Commits

Author SHA1 Message Date
Frederik Gladhorn
08585f02dc Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-04-26 09:45:55 +02:00
David Faure
55145c5267 Improve desktop environment detection.
UNKNOWN now means generic unix theme, rather than Gtk: there
are other KDE/Qt-based desktops, and there's also the case of
no desktop at all (e.g. bare Xvfb, as used by automated builds).

To make this correct for GTK-based desktops, this commits improves
the detection of the current desktop environment.

Change-Id: Ib696624de39d5024527880df7adc26c65b838d15
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-04-24 19:45:26 +02:00
hluk
9e035d9de2 Use Qt::Key_unknown for unknown keys instead of -1 with xcb
Task-number: QTBUG-3515
Change-Id: I9875437744455a2cce2da075c1fa6e2a91f55b63
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-04-24 17:15:49 +02:00
Stephen Kelly
106dc410e9 Use variadic templates to mark function pointers as non-QObjects.
Change-Id: I4d4e7a0498ff8f5b834dae4008d1311838180036
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-04-24 14:19:26 +02:00
Konstantin Ritt
affdd9d00c Improvements for DirectWrite font engine
- don't check if m_directWriteFontFace is not null, it MUST be initialized
  just in the constructor;
- fix support for surrogate pairs in stringToCMap();
- reorder some affected code for better readability.

Change-Id: Ibdcf7b50f06910e95cefe074f33932b8fbcdcfe1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-04-24 14:12:41 +02:00
Morten Johan Sørvig
3f58fc00c9 Guard usage of m_cocoaPlatformWindow.
m_cocoaPlatformWindow is cleared when Qt is "done"
with the QNSWindow or QNSPanel to prevent messages
from Cocoa calling into possibly stale pointers.

Change-Id: Id42b794fedbd3e597a0c4b50584cca976ba74c0f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-04-23 07:45:03 +02:00
Kevin Ottens
aa5f70c00a Make sure QIconLoader is always initialized
It is necessary to properly initialize the icon loader in all case.
Otherwise some calls might give wrong results if a platform theme plugin
is involved.
For instance, we might miss the actual theme name reported by the
platform theme, eg it's what happen with QStyle::standardPixmap if no
one created a QIcon before its first call.

Also clean up the accesses to the global static and have only
QIconLoader::instance() use it. All other call go through the static
method. This way only instance() needs to call ensureInitialized(),
definitely safer and looks cleaner to me.

Change-Id: Id3ea6816edd5a65586004f69464960abc3602cf8
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-04-22 20:19:28 +02:00
Christoph Schleifenbaum
ae0fd6884d QAbstractScrollArea - add SizeAdjustPolicy and viewportSizeHint
This patch adds SizeAdjustPolicy to QAbstractScrollArea.
If it is set to AdjustToContents it will make use of the new
protected viewportSizeHint() (BC since it was reserved in Qt5).
This function returns a suggested size based on contents.

Change-Id: I5d8aa517e88b8b21c5712e62b4d574c3aad99d3b
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-22 17:56:55 +02:00
Frederik Gladhorn
4c231d5df3 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I059725e3b7d7ffd5a16a0931e6c17200917172b5
2013-04-22 16:35:43 +02:00
Peter Hartmann
7df16fb4cc SSL namespace: Add enum to disable SSL session sharing
There is already an enum to disable SSL session tickets, which has been
used to disable session sharing for now. However, SSL session sharing
is not the same as SSL session tickets: Session sharing is built into
the SSL protocol, while session tickets is a TLS extension (RFC 5077).

Change-Id: If76b99c94b346cfb00e47366e66098f6334fd9bc
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-04-22 10:58:14 +02:00
Andy Shaw
d672ef0768 Convert the CGImage into a QPixmap after reading from clipboard
Now that the relevant function is available we can do the conversion
inside QMacPasteboardMimeTiff when obtaining an image from the clipboard

Change-Id: Ie41b0fffedf4dd3f8ef49431482bd075a69722b1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-04-22 08:57:48 +02:00
Andy Shaw
f78842abe4 Ensure the QLineEdit::returnPressed() signal is still emitted
The signal needs to be emitted directly as the event is not passed to
the QLineEdit if the QSpinBox gets the Key_Return. Since this signal
may be relied upon then we ensure it is emitted directly.

Change-Id: I17cdec62c9f995bacfd7d3cc66d6324f26c84c67
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-21 02:01:29 +02:00
Thiago Macieira
51ee309a79 Mark that GCC 4.8.1 has support for C++11 member reference qualifiers
This also marks it feature-complete for C++11 (at least, language
features). See http://gcc.gnu.org/gcc-4.8/cxx0x_status.html and
http://gcc.gnu.org/projects/cxx0x.html.

Support for the C++11 features in the Standard Library is still
incomplete, but we don't try to detect those features anyway (see
http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2011).

Change-Id: I55702ef48f757b536ebbf17e921442ff5bfc29f8
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-04-20 18:36:47 +02:00
Andrew Knight
a27877c8e9 Handle more drive fix situations in syncqt
Normalize paths that begin with <drive_letter>:/ as well.

Task-number: QTBUG-30638
Change-Id: Icdc7ee9782a358771d06ae2500d32e59e6bbe866
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-20 11:35:10 +02:00
Eskil Abrahamsen Blomfeldt
1b289379dc Don't bootstrap QT_EVAL code
For most bootstrapped tools, the QT_EVAL code will not
have any effect, because most of the tools don't instantiate
a QCoreApplication. However, qdoc is bootstrapped for cross
compilation, and will instantiate QCoreApplication which
calls the QT_EVAL code. Since the QT_EVAL code requires QObject,
and QObject requires moc, it does not make sense to compile the
eval code into the bootstrap library. Instead, we simply disable
it to make sure the build succeeds.

Change-Id: I472803572b070df041014d337c23d3f3dc0749e4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-20 01:35:33 +02:00
Mark Brand
0631caf555 update bundled sqlite to 3.7.16.2
Change-Id: Iae9b3012e93af3399e482e32e4bc201213567496
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-04-19 20:10:46 +02:00
Friedemann Kleint
155ff13bb6 Implement QApplication::beep().
Invoke slot "beep" on QPlatformNativeInterface. Implement for
Windows and X11.

Task-number: QTBUG-30416

Change-Id: I2be651165b899e5147818a012001d354827bb090
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-04-19 20:10:46 +02:00
Friedemann Kleint
da01deb0ac Implement alertion state for windows.
Add QWindow::alert() and QPlatformWindow::setAlertState().
Add logic to clear alertion state when the window becomes
active. The platform plugins then only need to implement a setter
and a cheap getter and need not handle activation.

Prototypically implement X11 and Windows.

Task-number: QTBUG-30416
Change-Id: Ia70c4722d812462a21f4034b7d52735c9f2bc49c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-04-19 20:10:46 +02:00
Gabriel de Dietrich
926086b9e3 Cocoa: Disable QTBUG-30266 hack in full screen
That would set the full screen window in a weird state, where is was
full screen (but unable to exit that mode) and showing the title bar
at the same time.

Change-Id: I3ac913876f3b326504dd5af18c34181d002509d0
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-04-19 20:10:46 +02:00
Oswald Buddenhagen
561e39a845 purge obsolete files
the warnings should have been acted upon before 5.0.

Change-Id: I20a4673d7ec80e0252aa39289c6718fe80799de7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-04-19 20:10:46 +02:00
Oswald Buddenhagen
ecb2c0c24c fix processing order for qmake -r
the plugandpaint example statically links to one of the plugins, so
there is a build-time dependency.

Change-Id: I9c77b5641028e6b958ceeea56c606bda59f396b4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-04-19 20:10:46 +02:00
Oswald Buddenhagen
ed2068063a don't install the project file twice
somehow this was missed when the source installs were automated.

Change-Id: Ic842fd9ac221cb3748b5a6369eacf8a55f8d8d4d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-04-19 20:10:46 +02:00
Oswald Buddenhagen
52cad781d3 restore compat with older perl versions
the // operator is a tad too new.

Task-number: QTBUG-30637
Change-Id: I3672d41a4a17937ffea251f0937b09045d6c386d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-04-19 20:10:46 +02:00
Frederik Gladhorn
0d57da067b Let platform plugin decide if accessibility is active
Change-Id: I881a8ff3fedf3db73ee37046a4363c70960a92a6
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-04-19 17:52:45 +02:00
Nico Vertriest
c2059ac80d Doc: added details for QRegisterStaticFunction(plugin)
Added reference to macro Q_IMPORT_PLUGIN()

Task-number: QTBUG-30548

Change-Id: Ibc20ad52cd57d497f5a7fb5c4dd4a4c778e4a660
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-04-19 17:24:30 +02:00
Jonathan Liu
ca0e350183 QMessageBox/Win: Include detailed text using Ctrl+C to copy
Task-number: QTBUG-21150
Change-Id: I14c214e9f96892f0da4369e7253e363b7313c252
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-19 12:03:36 +02:00
Richard Moe Gustavsen
526eaeea09 qprocessordetection: add armv7s
Xcode builds projects for armv7s if a compatible device is set as
target device. If trying to include <QtCore/QtCore> into such
projects, the build fails complaining about "the usage of sizeof missing
QMutexData definition in qgenericatomic.h"

The reason is that qprocessdetection.h fails to pick up that we're
building for ARM, and includes qatomic_gcc.h instead of qatomic_armv7.h.
So we need to check for __ARM_ARCH_7S__ as well. In addition,
iPhoneOS6.1.sdk/usr/include/arm/arch.h will define _ARM_ARCH_7 if
any of the more specic ARM defines are defined, so I add this check
as well to more easy support new version of ARM7.

Change-Id: Ic51a4d7ac99f7f6ba1065f870b3ef82d1250b56c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-04-19 12:03:36 +02:00
Stephen Kelly
a680fe609f Add the GL headers to cmake variables.
If building angle ourselves, that's just the basic Qt include dir,
and if using an external gl, look for it in the places specified
in the mkspec.

As the qopengl.h header includes the gl header, this is a 'public
include dependency' of QtGui, so it is added to the relevant
variable and the INTERFACE_INCLUDE_DIRECTORIES of Qt5::Gui.

Change-Id: I8c2c1782e0a2600032771175444b087da28433fc
Reviewed-by: Volker Krause <volker.krause@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-19 12:03:36 +02:00
Stephen Kelly
5aa349628e Handle usr-move without forcing absolute paths
In qtbase commit 7ac58d1ff0 (Make cmake
packages installed to /usr non-relocatable., 2013-02-11), we made
cmake config files non-relocatable if they were installed to
the /usr prefix. That was assumed to mean that this was a distro
or platform package, and was a workaround for the usr-move problem
on Fedora and ArchLinux.

However, cmake bug http://public.kitware.com/Bug/view.php?id=14041
showed that forcing absolute paths in this situation is not desirable
in cross compiling scenarios. CMake commit 6c613b433c45efb0bb013a6bd668cbb8ac740259
(Handle usr-move without forcing absolute paths (#14041), 2013-04-03)
addressed the problem in CMake, and this commit is an equivalent.

Change-Id: I065a6230bc618aa980fae6ca511ae10df4cd62c2
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-19 12:03:36 +02:00
Richard Moe Gustavsen
5ea3845bd0 iOS: use an explicit pointer to qiosViewController
As it stood, we always relied on the root view controller
being a QIOSViewController if isQtApplication() returned
true. For mixed application, this might not always be true
as native code can choose to replace the root view controller
at times, or even rip it out, and place it as a child of
another (e.g UISplitViewController).
This change will give an extra protection against that.

Change-Id: I0cb85796a8b82f9037c32f9e85e04e1dc7aad8e2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-04-19 12:03:36 +02:00
Topi Reinio
963b8dabef Doc: Fix \group and \ingroup usage for a number of examples
A number for groups, including 'all-examples' was defined multiple
times by some examples. This change fixes the incorrect
definitions.

Change-Id: I2fb5da11e8762698942a076e0f0576033ce3cabc
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-04-19 12:03:36 +02:00
Tasuku Suzuki
02713994bf Make qtbase compile with QT_NO_DRAGANDDROP
Change-Id: Id1a74c6b22b388d20103b4e73f83c8345ec70ba6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2013-04-19 09:57:09 +02:00
Mitch Curtis
f3612f39ff Make password mask characters themeable.
Task-number: QTBUG-29871

Change-Id: I3cf739a321d7917f8f8431992e29bba0871b1934
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-04-19 09:57:09 +02:00
Topi Reinio
8597458ceb qdoc: Include words from the module name as tags in example manifest
This change adds words from the module name (QHP 'project' name defined
in .qdocconf files) as tags for the module's examples. This makes
searching for examples easier in Qt Creator: For example, typing
'multimedia' will list all examples in Qt Multimedia and Qt Multimedia
Widgets modules.

Other minor changes:
    - Exclude 'qt' as a tag (not needed)
    - Exclude one-character strings as tags

Task-number: QTBUG-28720
Change-Id: I53751b7a87ff39ee7b648f865c9090c52444de76
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-04-19 09:57:09 +02:00
Richard Moe Gustavsen
e9b2d029f9 iOS: QIOSBackingStore: enable FBO depth and stencil buffer
Unless we enable those buffers for the FBO that backs the
backingstore, setting a clip region on an associated QPainter
will not work.

One apparent bug from this was the menubar. Without this patch
it appeared to never be drawn. The reason was that we ended up
drawing the menubar background over the whole menubar instead
of inside the clip region.

Change-Id: I25660cec6ce9e43fe4cd693127dca6afeb8dcf65
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-04-19 09:57:09 +02:00
Thiago Macieira
96134c6f58 Make sure to also check for null CFPropertyLists.
In 1b08e0307d, I removed the null check
by accident. It's possible for the Darwin API to return a null
property list.

Task-number: QTBUG-30760
Change-Id: Iaf0125767fe4b47c19810b70483a5219e94e4305
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-04-19 07:53:21 +02:00
Kai Koehne
e34dccc9e5 Allow using Ctrl+C to copy selected text from DetailedText in QMessageBox
Task-number: QTBUG-21895

Change-Id: Ib28f064295493595263945bc72907bf95d2cb909
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-04-19 02:30:52 +02:00
Morten Johan Sørvig
6e73061c58 Actually set devicePixelRatio on copy.
Followup to 7b9d4531 - the second part refactors
to call setDevicePixelRatio but the call itself
was left out.

Change-Id: I3e36452603fe1d7d53fa1a74d87169efea1c2e78
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-04-19 00:11:37 +02:00
Morten Johan Sørvig
c5a3cfa488 Compile with Clang.
This bug surfaced after we switched Mac over to use
clang's libstdc++, which has __builtin_popcount but
does not mark it as constexpr.

Change-Id: I4260af48b00c6db3322e52fb113075d305b1e1ec
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-04-18 22:27:04 +02:00
Peter Hartmann
835e720c7e SSL internals: fix memory corruption using QSslConfigurationPrivate
We are passing a QSslConfigurationPrivate that is allocated on the stack
(in QSslSocketBackendPrivate::initSslContext()) to
QSslConfiguration::QSslConfiguration(QSslConfigurationPrivate *dd).
When the SSL context is destroyed, this object is not there any more.
So now we create a deep copy of the configuration like we do in
QSslSocket::sslConfiguration().

Task-number: QTBUG-30648
Change-Id: Iaefaa9c00fd6bfb707eba5ac59e9508bf951f8a5
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-04-18 22:02:18 +02:00
Friedemann Kleint
b3bed2c8de Fix format for alpha drawing.
Task-number: QTBUG-28531

Change-Id: Ie97953950cad26776724848adc5751c861903cf7
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-04-18 22:02:18 +02:00
Friedemann Kleint
b982679940 Mac: Fix warnings about non-existing native Windows on startup.
Shown for example by Qt Designer.

Change-Id: Ia866a93a781a027aa3703f44314954888d75d436
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-04-18 22:02:18 +02:00
Tor Arne Vestbø
8e27fcb3fe Harden check for SDK platform name on Mac OS
We now use an absolute path, to prevent picking up the wrong plutil binary.
In addition we pipe the possible stderr output of plutil and xpath to the
null device, so that the final QMAKE_MAC_PLATFORM_NAME will be empty in
case of any errors, and caught by the isEmpty() check below.

Change-Id: I8ad24bf63162a76410c2ae223dd2fc48e7886bbf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-18 22:02:18 +02:00
Morten Johan Sørvig
b9450734c9 Compile with changes to the accessibility API.
Change-Id: I72e7636a02ad2fba984f4a96cbb33d441a7f8be7
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-04-18 19:56:40 +02:00
Morten Johan Sørvig
a7fd8696dd Hide "invalid" accessibility interfaces.
Those with a null object pointer and those with a
null rect.

Change-Id: I40e0c435ee768fc8c58098fec131eb65e89d76f2
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-04-18 19:55:35 +02:00
Sérgio Martins
cbde509965 Fix memory leak.
Change-Id: I7d308a869fdc729bd46ace336b71c7e30556d65d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-04-18 19:54:16 +02:00
Stephen Kelly
67bd27fee2 List the Qt5::WinMain Release configuration before the Debug one.
Apply the logic from commit d7ae34fdfd
(List the Release library before the Debug library in cmake files.,
2013-02-21) to the Qt5::WinMain library too.

Task-number: QTBUG-29186

Change-Id: Ie465fef1cc0fc842d86c5bc69ab84ec65ec652d9
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-04-18 16:53:46 +02:00
Morten Johan Sørvig
8ddcc18ac1 Remove nativeResourceForWindow warning.
The warning is useful for pointing out the the return
value will be null. However, code that correctly
checks the return value (such as qt_macWindowIsTextured),
still causes the warning to be printed.

Change-Id: I3828992b3d5e7b08451cf0e051b937fa9d9536d3
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-04-18 15:33:38 +02:00
Gabriel de Dietrich
b381581579 Mac: Fix various memory leaks
Change-Id: Id554be11ffcf9a506c217b0dc5b96cb37c4dd57c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-04-18 15:31:29 +02:00
Gabriel de Dietrich
2bd846f8da Cocoa Menu: Remove unnecessary retain, release/retain in the right order
Also, make sure platform menu item is deleted on ActionRemoved event.

Change-Id: Ic07a81cb77833bdffd1464abf1c81ebdee4d16e9
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-04-18 15:31:18 +02:00