qt:qtbase.git
4 years agoFix quadratic behavior in QMetaObjectBuilder when writing string table
Simon Hausmann [Thu, 5 Dec 2013 15:59:27 +0000 (16:59 +0100)]
Fix quadratic behavior in QMetaObjectBuilder when writing string table

QHash::key() is O(n) and we're calling it n times. That can make repeated
calls to the meta object builder very slow, as for example QQmlPropertyMap
when inserting properties repeatedly.

Fortunately this is easy to fix, as the value in the hash map is also the
index, so we can simply iterate over the hash once. With the exception of
the class name, which we have to treat specially to ensure that it is always
the first entry in the string table.

Task-number: QTBUG-32720
Change-Id: Ic954c45c454107feee83216131f601cc69d4c63b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
4 years agoWindows: Don't cover the taskbar when maximizing frameless windows
Sérgio Martins [Thu, 5 Dec 2013 14:48:10 +0000 (14:48 +0000)]
Windows: Don't cover the taskbar when maximizing frameless windows

Brings Windows QPA on par with other platforms.

[ChangeLog][Windows] Don't cover the taskbar when maximizing
frameless windows.

Task-number: QTBUG-8361
Change-Id: Iba35132f697cb7379650a4c883b616c5c2023d4c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
4 years agoCorrect compiler warnings for sign conversion
Kurt Pattyn [Sun, 24 Nov 2013 13:00:19 +0000 (14:00 +0100)]
Correct compiler warnings for sign conversion

qstrlen() returns a uint. When assigned to an int, the compiler warns
about sign conversions. Because these calls are used within templates,
the code appears in user generated code, and hence the warnings cannot
be suppressed by the -isystem directive. Using the -Werror flag, makes
the user code fail.

[ChangeLog][QtCore] Fixed sign conversion warnings in code using QMetaTypeId.

Change-Id: Ib7603679d6526467f8cbb9d7bcf5f56c6af47ceb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
4 years agoQCommandLineParser: pluck some low-hanging fruit re: exception safety
Marc Mutz [Sat, 5 Oct 2013 01:20:56 +0000 (03:20 +0200)]
QCommandLineParser: pluck some low-hanging fruit re: exception safety

Make
  QCommandLineParser::add{Help,Version}Option()
  QCommandLineOption::setDefaultValue()
  QCommandLineOptionPrivate::setNames()
have transaction semantics: either they succeed, or they change nothing.
It's trivial to provide this guarantee, so do it.

Add a test for the surprising property that setDefaultValue("") resets
defaultValues() to an empty QStringList instead of one that contains
the empty string.

Change-Id: I61623019de3c7d2e52c24f42cc2e23ec5fddc4da
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
4 years agoQTimeZone: Fix isValidId()
John Layt [Fri, 22 Nov 2013 14:03:14 +0000 (15:03 +0100)]
QTimeZone: Fix isValidId()

Fix isValidId() which was failing valid IDs because it was splitting
name parts by \ instead of /.  it was also rejecting offset from UTC
formats names.  Add unit tests.

Task-number: QTBUG-35025
Change-Id: I4d23d2e54f4a9fac9afcc4eff0a02d6f4af21385
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
4 years agoQSpinBox: allow positive values to be entered with the '+' prefix.
Mitch Curtis [Mon, 2 Dec 2013 12:08:37 +0000 (13:08 +0100)]
QSpinBox: allow positive values to be entered with the '+' prefix.

The code was there to do it, but it was using minimumValue instead of
maximumValue to test if the '+' should be allowed.

Task-number: QTBUG-20691

[ChangeLog][QtWidgets][QSpinBox] Entering positive values with the '+'
prefix is now allowed.

Change-Id: Iff62d073e350dc9a33b7e06e4b492048c74437c4
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
4 years agoFix bad CSS color: O (the letter) is not a valid hex digit
Thiago Macieira [Wed, 4 Dec 2013 20:38:37 +0000 (12:38 -0800)]
Fix bad CSS color: O (the letter) is not a valid hex digit

Found by: Tomaz Canabrava <tcanabrava@kde.org>
Change-Id: Ia1b5b00819cf4b145d1384aacbd54ed9a23aa6a3
Reviewed-by: Dirk Hohndel
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
4 years agoReplace the qCpuHasFeature function with a macro
Thiago Macieira [Thu, 5 Dec 2013 01:14:07 +0000 (17:14 -0800)]
Replace the qCpuHasFeature function with a macro

We want to make sure that there's a constant propagation from the static
variable that is filled in with the current code-generation options.
With most compilers in debug mode, we'd carry dead code. With MSVC, even
inlining is really bad even in release mode, and it doesn't perform
constant propagation even with __forceinline.

Change-Id: I7a95ff6622b864771243990bb5e205b2df0c33fc
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
4 years agoMerge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging...
Frederik Gladhorn [Thu, 5 Dec 2013 18:53:16 +0000 (19:53 +0100)]
Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable

4 years agoMerge remote-tracking branch 'origin/release' into stable
Frederik Gladhorn [Thu, 5 Dec 2013 16:42:33 +0000 (17:42 +0100)]
Merge remote-tracking branch 'origin/release' into stable

Conflicts:
configure
mkspecs/macx-ios-clang/features/default_post.prf
tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp

Change-Id: Iaba97eed2272bccf54289640b8197d40e22f7bf5

4 years agoProtect implementation of QNativeGestureEvent against QT_NO_GESTURES
Andy Shaw [Wed, 4 Dec 2013 19:53:30 +0000 (20:53 +0100)]
Protect implementation of QNativeGestureEvent against QT_NO_GESTURES

The definition and usage of QNativeGestureEvent had already been
protected against QT_NO_GESTURES but the implementation had been missed
out before.

Change-Id: Ie039e08257ad5eb7705342e4248b904f6ceca8df
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
4 years agoQTextEngine: fix layouting of inline objects in right-aligned tabs.
David Faure [Mon, 18 Nov 2013 17:52:26 +0000 (18:52 +0100)]
QTextEngine: fix layouting of inline objects in right-aligned tabs.

(same thing for center- and delimiter-aligned tabs)

The width of the inline object wasn't taken into account, the code in
QTextEngine::calculateTabWidth only looked at glyph widths.

Change-Id: I303a6561c67870ff2094a685698e642fc1b53b12
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
4 years agoFix radial gradient shader compilation for OpenGL ES 2.0.
Carsten Munk [Wed, 4 Dec 2013 14:43:15 +0000 (08:43 -0600)]
Fix radial gradient shader compilation for OpenGL ES 2.0.

Change highp to mediump. This qualifier is ignored on desktop, and
mediump should be sufficient elsewhere.

Task-number: QTBUG-35353
Change-Id: I79f0ed88717d45dada5dcb781e75b10e72db4bd0
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
4 years agoDoc: Moved Books SQL Example documentation
Nico Vertriest [Wed, 4 Dec 2013 12:49:00 +0000 (13:49 +0100)]
Doc: Moved Books SQL Example documentation

Moved qdoc and image file to correct qdoc folder.
Added brief and ingroup statements to books.qdoc.

Task-number: QTBUG-34749

Change-Id: I5806ffd6f116cccf10238e3e1a9fc627ad0e93a9
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
4 years agoDoc: Fixed broken link to General Qt Requirements
Nico Vertriest [Fri, 29 Nov 2013 11:32:58 +0000 (12:32 +0100)]
Doc: Fixed broken link to General Qt Requirements

Link fixed for OpenSSL

Task-number: QTBUG-34749
Change-Id: Ic72858c730400124fb3f09d887c827d93500338f
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
4 years agoFix compilation for embedded Android
aavit [Mon, 11 Nov 2013 10:04:16 +0000 (11:04 +0100)]
Fix compilation for embedded Android

Change-Id: If42fd83a68543d59b5a3a6b89e2c402aa452b251
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
4 years agoiOS: Explicitly use libstdc++ when C++11 support is not enabled
Tor Arne Vestbø [Wed, 4 Dec 2013 13:21:27 +0000 (14:21 +0100)]
iOS: Explicitly use libstdc++ when C++11 support is not enabled

Otherwise Xcode might choose to use libc++, eg when the deployment target
is iOS7, and this doesn't work when Qt itself was built using libstdc++.

Change-Id: I0b0f36666ed318be9aae87ebaeb0d344109566ac
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
4 years agoqtbase: Fix build error on 64bit BigEndian platforms
Vicente Olivert Riera [Mon, 2 Dec 2013 13:59:34 +0000 (13:59 +0000)]
qtbase: Fix build error on 64bit BigEndian platforms

The functions fromBytesToWord() and fromWordToBytes() are called when
building on 64bit BigEndian platforms. It fails because those
functions are disabled on the source code. Enabling those functions for
64bit BigEndian platforms fixes the problem.

Task-number: QTBUG-35228

Change-Id: I5ccacd4fb5051df05f67c8da879b3a9e49953861
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
4 years agoPrevent recursive resize events in QAbstractScrollArea
Tor Arne Vestbø [Wed, 4 Dec 2013 15:38:01 +0000 (16:38 +0100)]
Prevent recursive resize events in QAbstractScrollArea

During show() of a QAbstractScrollArea we might get resize events, which
results in laying out the children of the scroll area. One of these
children are the scrollbars, and raising them to the top means creating
them, which in turn means creating all parents, including the abstract
scroll area itself. Creating the abstract scroll area means creating
a platform window, which might send synchronous resize events as a
result of creating the window, and we end up recursing.

Change-Id: I1a2813f03091d6c42e51834315835551cb2fd621
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
4 years agoFixed a bug where toolbars sometimes could not be docked.
Jan Arve Saether [Thu, 5 Dec 2013 09:25:23 +0000 (10:25 +0100)]
Fixed a bug where toolbars sometimes could not be docked.

Task-number: QTBUG-33839

Change-Id: I542fb894c31ce38509a70a71bd0ea1bc84bb2a03
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
4 years agoiOS: Apply default geometry to platform window if not set on QWindow
Tor Arne Vestbø [Wed, 4 Dec 2013 15:35:28 +0000 (16:35 +0100)]
iOS: Apply default geometry to platform window if not set on QWindow

If a platform window is created from a QWindow without setting a valid
size or position on the QWindow, the platform window is expected to
apply sane defaults. We use the baseclass initialGeometry() function
for this, similar to other platform plugins.

The default geometry unless otherwise set and/or calculated based on
size hints is that of the screen's available geometry.

An improvement to this is to detect whenever we apply the screen
geometry, and also apply the appropriate window state, but that
needs more testing.

Change-Id: I02b12064ce6d55c04fe0cc2cd1d2816ca1113f40
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
4 years agoiOS: Don't claim that windows with zero width and/or height are exposed
Tor Arne Vestbø [Wed, 4 Dec 2013 15:32:47 +0000 (16:32 +0100)]
iOS: Don't claim that windows with zero width and/or height are exposed

When sending expose events to Qt, Qt will ask us if we're exposed,
and we need to tell it that we're not, so that clients will not try
to makeCurrent on a CA layer that has a zero width and/or height.

Note that this only works because we flush expose events.

Change-Id: Idfbe03a2f35681084061376a3c650a8da027fda4
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
4 years agoClear QCocoaGLContext's m_currentWindow when window is hidden.
Gunnar Sletta [Wed, 4 Dec 2013 11:03:33 +0000 (12:03 +0100)]
Clear QCocoaGLContext's m_currentWindow when window is hidden.

Task-number: QTBUG-35363
Change-Id: I1b3d883ed10200af8a2d4188fb1725b36eb78022
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
4 years agoDoc: Add QJsonObject::const_iterator() to correct group
Topi Reinio [Wed, 27 Nov 2013 11:07:57 +0000 (12:07 +0100)]
Doc: Add QJsonObject::const_iterator() to correct group

Make QJsonObject::const_iterator() part of the same doc
group as the non-const variant. Also add a \since
command with the correct value.

Task-number: QTBUG-33052
Change-Id: I97fa2cc44dae93decf2b99a1384e37579b7dac46
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
4 years agoAndroid: use binary name when using loadClass.
BogDan Vatra [Tue, 3 Dec 2013 13:02:24 +0000 (15:02 +0200)]
Android: use binary name when using loadClass.

QtAndroid::findClass uses loadClass methods to find Qt's java classes.
The documentation says that we should use a binary name.

Change-Id: I2146789235435b7052827cde58b7719b7d62dc1d
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
4 years agoAnnounce the deprecation of platforms still using qoldbasicatomic.h
Thiago Macieira [Tue, 3 Dec 2013 01:58:25 +0000 (17:58 -0800)]
Announce the deprecation of platforms still using qoldbasicatomic.h

Change-Id: I480e182c2923754142bc54ff44f798b13bbe71e4
Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
4 years agoenable path replacement in installed prl files on all platforms
Oswald Buddenhagen [Mon, 25 Nov 2013 16:52:37 +0000 (17:52 +0100)]
enable path replacement in installed prl files on all platforms

Task-number: QTBUG-33794
Change-Id: Id0d38715673b8a1c0c034e9c15783eb255c4315b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
4 years agoproperly replace windows paths in installed meta files
Oswald Buddenhagen [Wed, 20 Nov 2013 14:14:52 +0000 (15:14 +0100)]
properly replace windows paths in installed meta files

it's bogus in the first place that the meta files contain windows paths,
but straightening that out is a prohibitive effort. so instead generate
additional s/// commands which take care of these paths.

fwiw, the generated s///i command is a gnu extension. but as we are
doing this on windows only where we are using our built-in sed command
anyway, this should be fine.

Task-number: QTBUG-33794
Change-Id: I46fcc598db12816ee56b5371ab184f6277eb3a22
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
4 years agosupport s///i option in built-in sed
Oswald Buddenhagen [Wed, 20 Nov 2013 13:12:15 +0000 (14:12 +0100)]
support s///i option in built-in sed

Change-Id: I7521699a9b833c8b1d640a843b82f213952bba5a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
4 years agodon't install modules-inst dir
Oswald Buddenhagen [Tue, 26 Nov 2013 16:02:59 +0000 (17:02 +0100)]
don't install modules-inst dir

for in-source builds, we end up attempting to install the modules-inst
dir in case we re-run qmake after some modules have been built.

Change-Id: I50d4d394bfd6f48b9a5f5faa584919710a03dea9
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
4 years agoDocument that disconnectNotify may be called with a mutex locked
Olivier Goffart [Thu, 21 Nov 2013 09:08:45 +0000 (10:08 +0100)]
Document that disconnectNotify may be called with a mutex locked

And that connectNotify and disconnectNotify might be called from
another thread

Task-number: QTBUG-34829

Change-Id: Id118b97b92e9aa085a1d4368282294f90cfb1706
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
4 years agoQComboBox: Don't do anything if wheel event delta is zero
Gabriel de Dietrich [Tue, 26 Nov 2013 18:42:50 +0000 (19:42 +0100)]
QComboBox: Don't do anything if wheel event delta is zero

This is a consequence of us wanting to show the OS X transient scrollbars
as soon as the user touches the trackpad with two fingers.

Task-number: QTBUG-35120
Change-Id: Icf63b0ec8c32ac66108822804bb06a0762547ef1
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
4 years agoQStyle: Fix painting of pixmaps with non-integer devicePixelRatio
Eike Ziller [Wed, 27 Nov 2013 16:22:56 +0000 (17:22 +0100)]
QStyle: Fix painting of pixmaps with non-integer devicePixelRatio

For example QIcon can return pixmaps with non-integer devicePixelRatio,
if there is no pixmap that exactly matches the requested size.

Task-number: QTBUG-35125
Change-Id: I76bfa2766979a454c24b1abcf9e18930f5671c1e
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
4 years agoAndroid: Fix crash caused by QJNIs classLoader code.
Christian Strømme [Mon, 2 Dec 2013 13:56:50 +0000 (14:56 +0100)]
Android: Fix crash caused by QJNIs classLoader code.

In some cases the classLoader is not able to resolve fully-qualified
names that contains forward slashes. Unlike FindClass() which expects
the fully-qualified name to contain slashes, the classLoader expects
the binary name, i.e., with '.' as separator.

This caused a crash in QtMultimedia when accessing a nested class.

Task-number: QTBUG-35298
Change-Id: I77728352fbab930ae1914bc1cb2189e458e179e2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
4 years agoiOS: move infoPlistValue to qiosglobal
Richard Moe Gustavsen [Tue, 26 Nov 2013 09:38:21 +0000 (10:38 +0100)]
iOS: move infoPlistValue to qiosglobal

Change-Id: If237f08683290105413dc47923e23a496765bb22
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
4 years agoiOS: don't show statusbar if hidden from Info.plist
Richard Moe Gustavsen [Tue, 26 Nov 2013 10:13:56 +0000 (11:13 +0100)]
iOS: don't show statusbar if hidden from Info.plist

Currently there is no way to always hide the statusbar
on iOS other than showing a window in fullscreen. This
patch will check if the statusbar is (initially) hidden
from the Info.plist, and respect that in the application.

SubAttack is an example of an app that (because
of styling issues with MainWindow margins) manually
sets the geometry larger than fullsreen, and calls
showNormal(). In that case we still want the statusbar to be
hidden.

Change-Id: Ia365d14971978360d0b39621ff0f8f82f74b57e2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
4 years agoiOS: Handle statusbar changes to child windows
Tor Arne Vestbø [Thu, 28 Nov 2013 12:09:44 +0000 (13:09 +0100)]
iOS: Handle statusbar changes to child windows

Going through the platform window failed when the parent wasn't created
yet. We can still get the window state of an yet-to-be-created top level
window.

Change-Id: Iaa61ddc50df037ac0bd2fd0884884c2bfce1dd9a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
4 years agoDoc: Adjust description of the qreal typedef
hjk [Thu, 28 Nov 2013 15:08:53 +0000 (16:08 +0100)]
Doc: Adjust description of the qreal typedef

Change-Id: I038df8034ee00868eeee18b1ed09f7a70e3dd77a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
4 years agoRevert "Cocoa (OpenGL): If no view is attached, makeCurrent() should return false"
Morten Johan Sørvig [Thu, 28 Nov 2013 22:47:29 +0000 (23:47 +0100)]
Revert "Cocoa (OpenGL): If no view is attached, makeCurrent() should return false"

This reverts commit 2eb1e28a90eaf82f4405dc65584021f16415014b,
which makes several of the OpenGL examples crash on startup.
(textures, hellogl_es2)

Change-Id: Id47d2df6f57b2396c333e478b3c062f4cb4becb5
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
4 years agoiOS: fix assert when using QOffscreenSurface
Richard Moe Gustavsen [Wed, 4 Dec 2013 12:24:21 +0000 (13:24 +0100)]
iOS: fix assert when using QOffscreenSurface

Qt defaults to creating a QWindow as offscreen surface
if QPlatformIntegration::createPlatformOffscreenSurface
returns 0. Using an offscreen surface is often done
in a background thread, which is problematic, since then
a QIOSWindow will also be created in a background thread.
According to Apple docs, working with a UIView from other
threads than the main thread should not be done. In our
case, we instead hit an assert in QApplication that
checks for the same.

As a quick fix for Qt 5.2, we remove the offending call that
causes the assert, since we anyway will call the same function
lazily when becoming first responder.

Task-number: QTBUG-35378

Change-Id: Id35462f99783a9748c688b163f6497de9bfff73e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
4 years agoiOS: Disable drag and drop completely instead of enabling simple d'n'd
Tor Arne Vestbø [Tue, 3 Dec 2013 14:37:49 +0000 (15:37 +0100)]
iOS: Disable drag and drop completely instead of enabling simple d'n'd

The drag and drop event filters do not play nicely with touch events
or virtual keyboards.

Task-number: QTBUG-35348
Change-Id: Id4d079ae72882f48750d394f13e10700d60e4532
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
4 years agoImprove expose event handling.
Morten Johan Sørvig [Mon, 25 Nov 2013 08:03:42 +0000 (09:03 +0100)]
Improve expose event handling.

Prevent the cocoa platform plugin from sending expose
events for windows that are off-screen or has invalid
geometry.

Differentiate between initial exposes and geometry
update exposes, in order that e.g. geometry updates
that happen before setVisible() don't trigger expose
events. After the initial expose geometry updates
to and from invalid geometry will trigger obscure
and expose events.

Task-number: QTBUG-35143
Task-number: QTBUG-35091
Change-Id: Ibbff20c69974f098ea7635e9ca38620597840a05
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
4 years agoMake layoutDirection pass with new expose behavior
Morten Johan Sørvig [Mon, 2 Dec 2013 22:18:00 +0000 (23:18 +0100)]
Make layoutDirection pass with new expose behavior

A QMenu with no actions gets a size of (0, 0) on OS X.
With the new stricter expose event behavior this
is considered invalid geometry and the platform plugin
won't send an expose event, causing the qWaitForWindowExposed
test to fail.

Add a menu entry since the layoutDirection test is
not really interested in testing the special case of
empty menus.

Change-Id: I5221dc3f0472ac13edf821df08bacc3a4eb5cd9d
Reviewed-by: Simo Fält <simo.falt@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
4 years agoDoc: Corrected link to Graphicsview Examples
Nico Vertriest [Fri, 29 Nov 2013 12:36:38 +0000 (13:36 +0100)]
Doc: Corrected link to Graphicsview Examples

Task-number: QTBUG-34749
Change-Id: I66251e4b40e2930b08ed4bd932aef60aae7ebaa4
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
4 years agoQBBSystemLocale: Do not set fixed buffer size when reading pps objects
El Mehdi Fekari [Mon, 18 Nov 2013 17:23:26 +0000 (18:23 +0100)]
QBBSystemLocale: Do not set fixed buffer size when reading pps objects

Set dynamically the buffer size when reading pps objects since a pps file
size is not always fix.

Change-Id: I48f80389161bfbce3342e53ceec0b13bb7df0e4c
Reviewed-by: Tony Van Eerd <tvaneerd@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
4 years agoMinimal plugin: Use a dummy font database for command line tools.
Friedemann Kleint [Fri, 29 Nov 2013 11:06:45 +0000 (12:06 +0100)]
Minimal plugin: Use a dummy font database for command line tools.

Suppress warnings like:
QFontDatabase: Cannot find font directory '...' - is Qt installed correctly?
occurring for example when using qmlplugindump.

Add option flags (similar to Windows plugin) to the integration
class to be used for QT_DEBUG_BACKINGSTORE and other functionality.

Add a dummy font database with empty populate() function to be
used unless the debug flag for the backing store is used.

Task-number: QTBUG-33674
Task-number: QTCREATORBUG-10685
Change-Id: I7eaff3025de12e6b0471a3430f986b0cd810e22c
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
4 years agoReport hardware acceleration in default manifest
Eskil Abrahamsen Blomfeldt [Wed, 4 Dec 2013 08:45:01 +0000 (09:45 +0100)]
Report hardware acceleration in default manifest

Qt applications require the "hardwareAccelerated" flag set on
some devices or Android versions. The symptoms that this was missing
was problems when handling orientation changes. When the target
SDK version is >= 14, it is true by default, but for lower versions
it is not. There is no reason to set this to false for a Qt
application, since we don't use any of the unsupported 2D drawing
operations in the documentation, so lets just set it to true for
all applications.

Task-number: QTBUG-35293
Change-Id: Ie131a52a2a3fc5a520d0c5dd5d64f79269e9b6b5
Reviewed-by: BogDan Vatra <bogdan@kde.org>
4 years agoadded buildsystem/qmake changelog
Oswald Buddenhagen [Mon, 2 Dec 2013 21:22:54 +0000 (22:22 +0100)]
added buildsystem/qmake changelog

Change-Id: Ic1549b97fd4f71ac41f66432d40ff12bfa9d6897
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
4 years agoiOS: fix crash when focusWindow changes while keyboard is open
Richard Moe Gustavsen [Mon, 2 Dec 2013 21:32:13 +0000 (22:32 +0100)]
iOS: fix crash when focusWindow changes while keyboard is open

It turns out we cannot rely on QGuiApplication::focusWindow() to
be non-zero at all times (e.g when pop-ups are closing etc).
So instead use m_focusView.qwindow which points to a
valid QWindow. This window is the same as QGuiApplication::focusWindow
most of the time, except when a focus window closes.
For those cases we get a new call to scrollRootView immediately
after with m_focusView updated to reflect the new focusWindow.

Task-number: QTBUG-35339

Change-Id: Icb3a8d3140af1f1904495a9289c8c26ab79e70f6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
4 years agoiOS: fix crash when application quits
Richard Moe Gustavsen [Tue, 3 Dec 2013 12:55:20 +0000 (13:55 +0100)]
iOS: fix crash when application quits

An application will sometimes crash if the keyboard
is told to hide while the application is about to
quit. This patch will ensure that we set m_qioswindow
(and [UIView qwindow]) to 0 when the window is destroyed.
We also check this pointer before telling QUIView to
resign first responder when closing the keyboard. The
latter will fix the crash.

Task-number: QTBUG-35356

Change-Id: I934088beb7e877c5b33d96225cb215a8ffd4dbb2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
4 years agoqdoc: Fix output filenames for QML basic type documentation
Topi Reinio [Tue, 3 Dec 2013 13:42:40 +0000 (14:42 +0100)]
qdoc: Fix output filenames for QML basic type documentation

qdoc intends to prepend all html files related to QML with
a 'qml-' prefix. This doesn't work for basic QML types, as
those nodes do not have valid qml module name information.

This change fixes the issue by removing the requirement
for a qml module name, thereby always using the qml
prefix for a qml (basic) type.

Task-number: QTBUG-35229
Change-Id: If61572b2dc8a39be08140c37aa59646b88e99b29
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
4 years agoFix style animations to stop when the animation target is hidden
J-P Nurmi [Mon, 2 Dec 2013 21:23:11 +0000 (22:23 +0100)]
Fix style animations to stop when the animation target is hidden

QStyleAnimation automatically stopped for hidden QWidgets, but didn't
know anything about QQuickItems and kept animating regardless of their
visibility. This change ensures that style animations stop as soon as
the animation target no longer accepts the animation update eg. it has
become hidden or the window was minimized.

Task-number: QTBUG-35319
Change-Id: Ie48191fd918c626c0d9afe2e7d2390c495efb071
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
4 years agoRepack structs with more than one padding hole
Thiago Macieira [Mon, 30 Sep 2013 01:07:23 +0000 (18:07 -0700)]
Repack structs with more than one padding hole

Sizes gained (measured on 64-bit systems)
BezierEase: shrunk 8 bytes
QRegExpCharClass: shrunk 8 bytes
QRegularExpressionPrivate: shrunk 8 bytes
QTimeLinePrivate: shrunk 8 bytes
QUtcTimeZonePrivate: shrunk 8 bytes
QTextStreamPrivate: shrunk 8 bytes
QDirPrivate: shrunk 8 bytes
QFileDevicePrivate: shrunk 8 bytes

Not done:
QRegExpEngine: 18 bytes in 6 holes (you deserve high memory usage if
you're still using QRegExp)
QTextBoundaryFinder: 8 bytes in 2 holes (public class)
QIODevicePrivate: 6 bytes in 2 holes, but there's no gain in packing
QProcessPrivate: too complex and my copy is modified
QThreadData: awaiting change from Marc

Change-Id: I2a388b5ce17dec0dafcef18ed2e80d0379aa7d1e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
4 years agoxcb qpa: initialize EGL for non-XLib builds
Andrew Knight [Mon, 2 Dec 2013 09:15:31 +0000 (11:15 +0200)]
xcb qpa: initialize EGL for non-XLib builds

Move the EGL initialization code outside of the XLib ifdefs, so it
can be enabled for non-XLib builds as well

Change-Id: Ie025551e4e99bb0b365f025356bd9725f4283b82
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
4 years agoconfigure: Properly report xcb-xlib configuration
Andrew Knight [Thu, 28 Nov 2013 13:38:08 +0000 (15:38 +0200)]
configure: Properly report xcb-xlib configuration

d34cae51 introduced a new configuration parameter, xcb-xlib, but did not
remember to set the internal variable after the config test was run,
resulting in a potentially incorrect reporting of the option.

Change-Id: I979589d9aad2eb5e0fac069dfcd5b329a51ae059
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
4 years agoEffects also need to markDirtyOnScreen for native widgets
Gunnar Sletta [Tue, 3 Dec 2013 12:00:47 +0000 (13:00 +0100)]
Effects also need to markDirtyOnScreen for native widgets

Task-number: QTBUG-33244
Change-Id: I95427b1fd6edaafe99738acfec28f6fd37b70cde
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
4 years agoqdoc: Replaced hard-coded href with computed href
Martin Smith [Mon, 2 Dec 2013 09:46:21 +0000 (10:46 +0100)]
qdoc: Replaced hard-coded href with computed href

For enum types that have QFlags versions, qdoc was
outputting the documentation with a hard-coded link
to qflags.html, which only workjed in the single
directory mode. When qdoc outputs modular documentation,
the href for the link should be "../qtcore/qflags.html" .
Now qdoc computes this href correctly before it writes
the docs. The href is no longer hard-coded.

Task-number: QTBUG-35209
Change-Id: Ibdf5b11dbd063726eb77048de78f8874c65752ca
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
4 years agoiOS: fix application hangs when opening keyboard
Richard Moe Gustavsen [Mon, 2 Dec 2013 21:34:26 +0000 (22:34 +0100)]
iOS: fix application hangs when opening keyboard

QIOSInputContext controls QUIViews first responder status
based on whether or not the keyboard should be open.
But since QGuiApplication updates focusObject before
focusWindow (when e.g a popup closes), we sometimes ended up
activating the old window upon a call to becomeFirstResponder.
This in turn led the application to hang because of
recursive dependencies in qioscontext when the focus window
changed.

So the solution for now is to avoid activating the window
when the view becomes first responder. This should be
fine since we now activate the window from
QIOSWindow::requestActivateWindow (ref: 6272a816d1)

Task-number: QTBUG-35340
Change-Id: I3068c14fec18d84d4b0b348a043c4c054e366c75
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
4 years agoQtConcurrent: Workaround GCC bug 58800 in median calculation
Nikolai Kosjar [Fri, 29 Nov 2013 13:06:50 +0000 (14:06 +0100)]
QtConcurrent: Workaround GCC bug 58800 in median calculation

1) Revert 880b614 for libstdc++ <= 4.7.3 || (4.8.0 >= ... <= 4.8.2)
2) Fix off-by-one error in reverted code for Median::_bufferSize <= 2.

Task-number: QTBUG-35058
Change-Id: I9d226c2806c1cf06c3d5b9c9f371262d2d69bf2b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
4 years agoStabilize tst_QGraphicsItem
Marc Mutz [Fri, 29 Nov 2013 09:06:20 +0000 (10:06 +0100)]
Stabilize tst_QGraphicsItem

The cursor() test was missing a QTest::moveMouse() before sending of the
mouse event (as all the following subtests do). When run on a desktop with
the panel on the left side of the screen, the mouse pointer would land over
the left item instead of in between them, as assumed by the subtest, and
the following QCOMPARE failed.

Change-Id: Ib74fdf0cfbfbc8ecb79a906610a2da5cb50c89d0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
4 years agoiOS: Use DWARF instead of DWARF with dSYM for debug builds
Tor Arne Vestbø [Mon, 2 Dec 2013 11:44:14 +0000 (12:44 +0100)]
iOS: Use DWARF instead of DWARF with dSYM for debug builds

Generating the dSYM file takes a long time due to our relatively large
static libraries, and is not really useful for a debug build where you
are likely to have the object files and Qt libraries available on your
host system for debugging anyways.

Change-Id: Ie7549975f271de8c56ca04bd28b29e6ed65f16cb
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
4 years agoRevert "configure: Abort if Xlib isn't present when building for XCB."
Oswald Buddenhagen [Wed, 13 Nov 2013 18:14:45 +0000 (19:14 +0100)]
Revert "configure: Abort if Xlib isn't present when building for XCB."

the change is wrong for multiple reasons:
- it is possible to build qt (the offscreen plugin) with xlib but
  without xcb, which was impossible after the change
- the check was built in a way that if xcb is auto-detected but xlib is
  missing, configure would abort (instead of disabling xcb), which is
  unreasonable (cf. linked task)
- it should be possible to build the xcb plugin without xlib - it's
  testing for xcb-xlib and should have the correct #ifdefs. if these are
  broken, they should be fixed. if this is unrealistic, the build system
  should be adjusted to this fact ... differently.

This reverts commit 683451e7c74d23abb0268a187d28cf7dc7afd032.

Task-number: QTBUG-34382
Change-Id: I1c5811e2fb1f09b084b6aeb7350e5f376e1b9b82
Reviewed-by: Nicolás Alvarez <nicolas.alvarez@gmail.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
4 years agoUse Q_QDOC for Qt namespace declaration in Qt Gui
Topi Reinio [Fri, 29 Nov 2013 14:51:12 +0000 (15:51 +0100)]
Use Q_QDOC for Qt namespace declaration in Qt Gui

This is a workaround for letting qdoc to successfully
generate documentation for the Qt namespace. qdoc
doesn't properly handle multiple declarations for the
same namespace spread across multiple modules.

Task-number: QTBUG-35230
Change-Id: I449b17e1171d1a4481b9cf07cd48c803feed5be9
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
4 years agoStabilize tst_QColumnView::dynamicModelChanges().
Friedemann Kleint [Tue, 3 Dec 2013 08:01:50 +0000 (09:01 +0100)]
Stabilize tst_QColumnView::dynamicModelChanges().

Use QTest::qWaitForWindowExposed() and QTRY_COMPARE() instead of
hardcoded timeout.

Task-number: QTBUG-35308
Change-Id: I27eee9932dd3b6087db4ad13b1a4fb184a487f57
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
4 years agoCocoa: Mouse enter events on window activation.
Christoph Schleifenbaum [Mon, 25 Nov 2013 18:45:06 +0000 (19:45 +0100)]
Cocoa: Mouse enter events on window activation.

This patch tells the window system that it should create a mouse enter
event if a window was activated when the mouse was inside. This wasn't
working and was a regression.

Task-number: QTBUG-35109

[ChangeLog][Cocoa] Fix enterEvent not being called on activate.

Change-Id: I4e4662b4a4c58dafa8d0a2c09458ab88f678d243
Reviewed-by: Liang Qi <liang.qi@digia.com>
4 years agoAdd PBXCopyFilesBuildPhases to main target, not preprocessing step
Tor Arne Vestbø [Tue, 26 Nov 2013 13:48:02 +0000 (14:48 +0100)]
Add PBXCopyFilesBuildPhases to main target, not preprocessing step

Otherwise the 'Wrapper' destination of the PBXCopyFilesBuildPhase
will be empty, and the files end up outside of the application
bundle.

Task-number: QTBUG-34457

Change-Id: I799db28185a6c5d3d940602914fd8ba14c538bf2
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
4 years agoDefault to 5.2 source repository for Qt 5.2.x
BogDan Vatra [Mon, 2 Dec 2013 14:48:18 +0000 (16:48 +0200)]
Default to 5.2 source repository for Qt 5.2.x

We can't use latest anymore because the qreal change
is not back compatible and all the apps that used latest
will stop to run when Ministro will upgrade the libs.

Change-Id: I5286e72eccf86b4dead773a637aa28e29d120605
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
4 years agoUse case insensitive comparison when checking platform plugin keys.
Friedemann Kleint [Fri, 29 Nov 2013 11:35:52 +0000 (12:35 +0100)]
Use case insensitive comparison when checking platform plugin keys.

Change-Id: Iff44698dcc941ca244b476f0e6c6a993f2ad75f3
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
4 years agoDoc: invalid reference to Qt for Linux/X11
Nico Vertriest [Thu, 28 Nov 2013 13:04:14 +0000 (14:04 +0100)]
Doc: invalid reference to Qt for Linux/X11

Task-number: QTBUG-34749

Change-Id: I8274e41bc4c29650b22bb6ca5da264687aa70e4a
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
4 years agoDoc: fixed invalid reference
Nico Vertriest [Thu, 28 Nov 2013 13:03:01 +0000 (14:03 +0100)]
Doc: fixed invalid reference

Link to "Getting started with qmake" was invalid

Task-number: QTBUG-34749

Change-Id: I782dc99f5182f2fe7661377eb82f35ebb50a46cf
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
4 years agoavoid vcX0.pdb files for qmake
Oswald Buddenhagen [Thu, 21 Nov 2013 13:33:01 +0000 (14:33 +0100)]
avoid vcX0.pdb files for qmake

let the compiler use qmake.pdb, as the linker will.

Change-Id: Ifafdfeff5a7d0ea91d796f76fbdc018c87cf8b78
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
4 years agodon't install qt dlls into lib/ any more
Oswald Buddenhagen [Wed, 27 Nov 2013 16:58:02 +0000 (17:58 +0100)]
don't install qt dlls into lib/ any more

bin/ is entirely sufficient.

Change-Id: Id587e0e97b46aa977dae59baaea02ecc6e64a67a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
4 years agomake compiler use the project's pdb file
Oswald Buddenhagen [Mon, 18 Nov 2013 20:39:43 +0000 (21:39 +0100)]
make compiler use the project's pdb file

this avoids the nasty and conflicting vcXX0.pdb files in the build dirs.
VS will already do that.

Change-Id: I7bddaecf3f478edc78cd6654b5a1038db4fe04ff
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
4 years agocomplete implementation of force_debug_info
Oswald Buddenhagen [Mon, 18 Nov 2013 20:39:08 +0000 (21:39 +0100)]
complete implementation of force_debug_info

that means further detaching the generation and installation of debug
info from the thing calling itself A Debug Build.

Task-number: QTBUG-32412
Change-Id: I4d79d1ae4806c8e4a2d6a7ccd030fb88385dd7d4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
4 years agodisable incremental linking for release_with_debug_info builds
Oswald Buddenhagen [Mon, 18 Nov 2013 20:46:20 +0000 (21:46 +0100)]
disable incremental linking for release_with_debug_info builds

it's very unlikely that these artifacts will need rebuilding during a
debugging session (these pdbs are meant to support crash dump analysis).

Change-Id: Ia8138f9298355b402d8dd3f042f85b669693de64
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
4 years agoinstall pdb files also for executables
Oswald Buddenhagen [Mon, 18 Nov 2013 19:44:54 +0000 (20:44 +0100)]
install pdb files also for executables

the restriction to dlls is entirely unjustified.

Change-Id: Ia518dd16189572dea9e8f4280c88801b1393694e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
4 years agomake CONFIG+=no_dll affect pdb files as well
Oswald Buddenhagen [Mon, 18 Nov 2013 19:39:33 +0000 (20:39 +0100)]
make CONFIG+=no_dll affect pdb files as well

this option suppresses the installation of target (leaving only
dlltarget). however, it still installed target's pdb file.

Change-Id: Ia686a647c101ca66e74944d23171e120fc74515a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
4 years agoRespect the custom paper size settings on Mac
Andy Shaw [Sun, 1 Dec 2013 23:26:17 +0000 (00:26 +0100)]
Respect the custom paper size settings on Mac

When the user added a custom paper size then it would be silently
ignored when printing on Mac. This now ensures that it is respected when
appropriate.

[ChangeLog][Platform Specific Changes][OS X][QtPrintSupport] Respect
the custom paper size settings when printing.

Task-number: QTBUG-34700
Change-Id: I08afe24e0e67a50e9301abf4642c6f65bb0df1fe
Reviewed-by: John Layt <jlayt@kde.org>
4 years agoClear isOpenError flag on successful open call
Tobias Koenig [Mon, 2 Dec 2013 12:29:10 +0000 (13:29 +0100)]
Clear isOpenError flag on successful open call

Clear the isOpenError flag in IBase driver if the QIBaseDriver::open()
call was successful, otherwise a previous, unsuccessful open() call would
block any further QSqlQuery::exec() calls on this database connection.

Task-number: QTBUG-13435
Change-Id: Idc64e28cd63805a13f208702ec87dc1bf6b98798
[ChangeLog][QtSql][QIBASE] Fixed the internal state of IBase driver after a failed open call
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
4 years agoSupport custom port number in IBASE SQL driver
Tobias Koenig [Sat, 30 Nov 2013 19:22:28 +0000 (20:22 +0100)]
Support custom port number in IBASE SQL driver

Let the IBASE SQL driver use the custom port number
that is set via QSqlDatabase::setPort().

Task-number: QTBUG-33345
Change-Id: Ib55b32c8a318d82038d66e8645b416e36dad3edf
[ChangeLog][QtSql][QIBASE] Support custom port number
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
4 years agoFix compilation of OCI driver
Tobias Koenig [Sat, 30 Nov 2013 17:08:35 +0000 (18:08 +0100)]
Fix compilation of OCI driver

Add missing feature enum in switch statement to
avoid warning that would lead to compilation error
when compiled with -Wall.

Task-number: QTBUG-34794
Change-Id: Ia2f70f27ecbb7a7dfc9d36d261103ff49b6c5e4b
[ChangeLog][QtSql][QOCI] Fix compilation
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
4 years agoFix evaluation of SQLite driver options
Tobias Koenig [Sat, 30 Nov 2013 13:40:11 +0000 (14:40 +0100)]
Fix evaluation of SQLite driver options

Ensure that the options, which are passed to the SQLite driver, are
evaluated in the correct order and do not overwrite each other.
According to http://www.sqlite.org/c3ref/open.html the
SQLITE_OPEN_READONLY and (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) are
mutual exclusive, but SQLITE_OPEN_URI can be combined with both of them.

Task-number: QTBUG-35186
[ChangeLog][QtSql][QSQLITE] Fixed evaluation of driver options
Change-Id: I8e74fe1ce43b9118b15f7b13fc71670bdcd73f68
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
4 years agoDetect posix_fallocate at configure time
Fatih Aşıcı [Mon, 11 Nov 2013 15:04:46 +0000 (17:04 +0200)]
Detect posix_fallocate at configure time

Testing feature macros is not enough for uclibc. Fixes build of the built-in
sqlite3 with uclibc <= 0.9.33.2. Later versions will have posix_fallocate().

Change-Id: I918a52777ac63624635802221effc6b86fa2269c
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
4 years agoBlackBerry: properly clean up QFileDialog files
Rafael Roquetto [Thu, 28 Nov 2013 19:18:37 +0000 (17:18 -0200)]
BlackBerry: properly clean up QFileDialog files

Task-number: QTBUG-34983

Change-Id: I1af5c6a9c43eba77394b11d31d1d223af8bc221f
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
4 years agoBlackBerry: remove unused variable
Rafael Roquetto [Thu, 28 Nov 2013 13:52:51 +0000 (11:52 -0200)]
BlackBerry: remove unused variable

m_result is not used by qqnxfiledialoghelper_bb10.cpp, only by its playbook
counterpart.

Change-Id: I4fae924283560703393c5313527c5c9c2005d35b
Reviewed-by: Tobias Koenig <tobias.koenig.qnx@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
4 years agoBlackBerry: Fix QFileDialog show()/hide()
Rafael Roquetto [Thu, 28 Nov 2013 13:51:18 +0000 (11:51 -0200)]
BlackBerry: Fix QFileDialog show()/hide()

QFileDialog::show() no longer worked after the dialog had already been shown
and hidden before.

Task-number: QTBUG-34983
Change-Id: I7300374b74805308e0966db7b3545e5fd8470465
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
4 years agoqdbusxml2cpp: Use the mtime on the input XML to avoid needless source changes.
Robin Burchell [Thu, 28 Nov 2013 10:37:11 +0000 (11:37 +0100)]
qdbusxml2cpp: Use the mtime on the input XML to avoid needless source changes.

These can cause rebuilds unnecessarily when repeatedly running qdbusxml2cpp.

Change-Id: I902954d4bed6fe68802183e51d82700fe30af437
Reviewed-by: Mathias Hasselmann <mathias.hasselmann@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
4 years agoQPrinter - Simplify setting manual properties
John Layt [Mon, 25 Nov 2013 16:18:48 +0000 (17:18 +0100)]
QPrinter - Simplify setting manual properties

Change from a list to a set and define a utility method to both set the
property and store that we have set it.

Change-Id: I0cf13f1b0e90942424744316d0d3f699b9ead144
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
4 years agoQPrinter - Fix OutputFormat when no printers
John Layt [Sat, 23 Nov 2013 18:52:34 +0000 (19:52 +0100)]
QPrinter - Fix OutputFormat when no printers

Currently the QPrinter constructor, setOutputFormat() and
setPrinterName() make bad assumptions about the availability of printers
when configuring NativeFormat which can lead to inconsistent print
engine set-ups leading to crashes in the print dialog, especially on
Windows where a valid DEVMODE is needed.

This change cleans up the init and methods to ensure NativeFormat can
only ever be set if we have both a valid plugin and a valid printer,
if not the PdfFormat is used.  One side-effect of this is that it is
now impossible to set an invalid printer name via QPrinter (but still
able to be done via QPrintEngine if really needed).  Also if no
default printer is set then use the first available one.

This also fixes a bug where setting a new printer name on Windows
reset all the saved settings.

[ChangeLog][Important Behavior Changes] QPrinter no longer allows you
to set an invalid printer name.

Task-number: QTBUG-34345
Task-number: QTBUG-26008
Task-number: QTBUG-26430
Change-Id: I19737e4209d8c8df5817ea83246b3dd0c483ee85
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
4 years agoMerge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging...
Lars Knoll [Fri, 29 Nov 2013 14:09:56 +0000 (15:09 +0100)]
Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable

4 years agoMerge remote-tracking branch 'origin/release' into stable
Simon Hausmann [Fri, 29 Nov 2013 10:37:30 +0000 (11:37 +0100)]
Merge remote-tracking branch 'origin/release' into stable

Change-Id: I2e2bf789b0fe8442ed623bc0c8aef591235cdabe

4 years agoMake OpenGL examples work on retina displays.
Morten Johan Sørvig [Thu, 28 Nov 2013 22:45:36 +0000 (23:45 +0100)]
Make OpenGL examples work on retina displays.

glViewport expects device pixels, but the various
geometry accessors returns values in device-independent
pixels.

Change-Id: I8004692de82251e4f1f25bf8f2698895f222ede3
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
4 years agoDocs: add important QWheelEvent::phase() related notes
J-P Nurmi [Wed, 27 Nov 2013 12:24:59 +0000 (13:24 +0100)]
Docs: add important QWheelEvent::phase() related notes

Change-Id: I4901b96b44b7c1179e678689af5962cb4570d50d
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
4 years agoDoc: corrected invalid ref. to output iterators
Nico Vertriest [Wed, 27 Nov 2013 13:47:26 +0000 (14:47 +0100)]
Doc: corrected invalid ref. to output iterators

Task-number: QTBUG-34749
Change-Id: I7abd504b6081e84a8e67c7957e13d402999e9d38
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
4 years agoAdd a few notes to changes-5.2.0
Eskil Abrahamsen Blomfeldt [Wed, 27 Nov 2013 08:12:08 +0000 (09:12 +0100)]
Add a few notes to changes-5.2.0

Mostly changes for Android. One change in Qt Gui.

Change-Id: Ifce627b6688702b3a3ae1634bd344eb8331f6caf
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
4 years agoiOS: Provide default launch image for 4-inch devices
Tor Arne Vestbø [Tue, 26 Nov 2013 12:40:21 +0000 (13:40 +0100)]
iOS: Provide default launch image for 4-inch devices

Otherwise the application will not scale to the full resolution of
the device. We copy the image into the Xcode project, since it's
internal to our build system and not meant as a template to be
edited by the user.

For 5.3 we need to provide a proper qmake/qbs mechanism to handle
launch images.

Task-number: QTBUG-31431
Change-Id: Ied0b2843a78c5ea865750e0404418ced7ad27082
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
4 years agoiOS: Update screen properties when we trigger statusbar changes on iOS7
Tor Arne Vestbø [Wed, 27 Nov 2013 17:20:10 +0000 (18:20 +0100)]
iOS: Update screen properties when we trigger statusbar changes on iOS7

Ideally we'd have a callback from iOS when this happens, so we can also
react to changes done outside of Qt, but willChangeStatusBarFrame and
friends do not seem to give us what we want.

Change-Id: I686ce7950395a83c4257372363c773a95c3935ed
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
4 years agoiOS: Forward [UIApplicationDelegate handleOpenURL:] to QDesktopServices
Tor Arne Vestbø [Thu, 28 Nov 2013 14:33:06 +0000 (15:33 +0100)]
iOS: Forward [UIApplicationDelegate handleOpenURL:] to QDesktopServices

The user may use QDesktopServices::setUrlHandler() in combination with
the appropriate Info.plist keys (CFBundleURLTypes, CFBundleURLSchemes)
to react to URL requests from other applications.

This is among other things useful for handling OAuth authentication from
applications such as Dropbox. See:

  https://www.dropbox.com/developers/core/start/ios

We protect against recursive URL opening, but an application may still
redirect a request to open a URL by opening another URL, eg a website.

Task-number: QTBUG-35201
Change-Id: I9f1d246206c5594b1b65bb11fa98c6bcdefc443e
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
4 years agoUpdate ChangeLog for 5.2.0 [QtWidgets II]
Marc Mutz [Tue, 26 Nov 2013 11:27:45 +0000 (12:27 +0100)]
Update ChangeLog for 5.2.0 [QtWidgets II]

Second batch of changes.

Change-Id: I5b3add1df19bcad195f8b9286337de9fe926337c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
4 years agoFix invalid memory read when shutting down QML applications
Simon Hausmann [Thu, 28 Nov 2013 10:00:15 +0000 (11:00 +0100)]
Fix invalid memory read when shutting down QML applications

As the last line in the QObject destructor, we call setParentHelper(0) to
remove ourselves from the parent. In the process of that we also initiate the
QML parentChanged callback. The first thing that parentChanged callback used to
do (but now does it too late, after 26350b5ceafa0ade1328037f6234a7d288eb8f48 in
qtdeclarative) is to check if the object was deleted and then return. We could
re-introduce the check there, but I think it's cleaner to not bother calling
the callback on a dead object in the first place.

Change-Id: Ia4d43b65a9b3744a451b4c312a2d6f9c0e3b67dc
Reviewed-by: Lars Knoll <lars.knoll@digia.com>