Commit Graph

3986 Commits

Author SHA1 Message Date
Thiago Macieira
68ff352906 Use the short time format of the current locale on Windows
Windows 7 and later have LOCALE_SSHORTTIME, which is what we need.

Task-number: QTBUG-33718
Change-Id: I4c3f113d17102a37fb752de56f06b312f27c7887
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-12-16 22:26:37 +01:00
Frederik Gladhorn
f28ef6a308 Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-12-16 15:35:30 +01:00
Israel Lins Albuquerque
5193c14536 fix parsing of bound SQL statements for PostgreSQL
PostgreSQL allows bound variables inside square braces.

Task-number: QTBUG-34541

Change-Id: I4f069b3f1078d4cdf172fbac9e0d7d23d20d167a
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-12-16 15:35:30 +01:00
Frederik Gladhorn
63611cff87 Merge remote-tracking branch 'origin/release' into stable
Change-Id: I0cd3b1b33e6d9bec729d941b06aeeb3d21851820
2013-12-12 18:01:28 +01:00
ABBAPOH
4d8a12904a Check if device is opened before trying to create image handler.
Change-Id: I60f1f6890fdd73e489da4aab9928370163f55f58
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: aavit <eirik.aavitsland@digia.com>
2013-12-12 12:02:29 +01:00
Marc Mutz
7fef5fe293 Stabilize tst_qabstractitemview
Attempt to fix

 FAIL! : tst_QAbstractItemView::task200665_itemEntered() Compared values are not the same
    Actual (spy.count()): 0
    Expected (1) : 1
    Loc: [tst_qabstractitemview.cpp(1292)]

which might have been introduced by removing the absolute qWait(200) in favor
of qWaitForWindowExposed() in afe8e368, so trying to compensate with a
QTRY_COMPARE.

Change-Id: Id437acd810b54e005daaf66ffffd4dd586075ab6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-12-11 09:55:39 +01:00
Joerg Bornemann
7009843ae3 QProcess/Win: allow child processes to change modes of the stdin pipe
To be able to call SetNamedPipeHandleState on stdin in a child
process, we must create a read-end pipe handle with the
FILE_WRITE_ATTRIBUTES flag set.
This can't be done with CreateNamedPipe but only with CreateFile.
Therefore we're creating the handles for the child process always
with CreateFile now. Besides, it's conceptually cleaner to have the
server handle of the named pipe in the calling process.

[ChangeLog][QtCore][Windows] Fix regression from Qt4 in QProcess.
It wasn't possible anymore to alter pipe modes of stdin in child
processes.

Task-number: QTBUG-35357

Change-Id: I85f09753d0c924bdc8a6cef1ea5dbe6b2299c604
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-12-10 18:36:25 +01:00
Peter Hartmann
aa3eaf9d2e QUdpSocket auto test: disable Socks5 over UDP for new test server
... because they fail on the new test server. This commit can be
reverted once the Socks5 socket engine is fixed.

Task-number: QTBUG-35490
Change-Id: I85635d4b44d26168d40a56b7a121693297564f0f
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-12-10 15:14:22 +01:00
Peter Hartmann
7eecbb0718 SSL: blacklist ANSSI intermediate certificate
... because it was used to operate a man-in-the-middle proxy.

Task-number: QTBUG-35474
Change-Id: Ic7f19708b278b866e4f06533cbd84e0ff43357e9
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-12-10 15:14:22 +01:00
Joerg Bornemann
29b0a565e9 fix Windows CE comments
Change-Id: Ib42c456c236f59727dddd6a111dfe0946fff1aef
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-12-09 11:57:53 +01:00
Simon Hausmann
105d10dea9 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>
2013-12-06 18:18:44 +01:00
Sérgio Martins
0c936ca83c 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>
2013-12-06 13:52:34 +01:00
Friedemann Kleint
7cfe7c1982 Windows command line parsing: Do escape backslash.
This will break network paths passed as command line arguments.

Introduced by 4ff6951550 .

Task-number: QTBUG-35432
Task-number: QTBUG-30628

Change-Id: Ice9ce15275ef69e9e9e82daf5a303e7c56294368
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-12-06 11:32:10 +01:00
Marc Mutz
03affacaa3 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>
2013-12-06 08:44:31 +01:00
John Layt
689152e7c1 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>
2013-12-06 01:36:09 +01:00
Mitch Curtis
b9c8073230 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>
2013-12-05 23:57:53 +01:00
Frederik Gladhorn
af47adede0 Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-12-05 19:53:16 +01:00
Frederik Gladhorn
733ace5a7a 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
2013-12-05 17:42:33 +01:00
David Faure
d270bd8673 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>
2013-12-05 16:40:06 +01:00
Morten Johan Sørvig
1983bc9c37 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>
2013-12-04 14:48:12 +01:00
Nikolai Kosjar
9302169bd5 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>
2013-12-03 11:45:18 +01:00
Marc Mutz
c70750f536 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>
2013-12-03 11:42:13 +01:00
Friedemann Kleint
d1f9f2125e 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>
2013-12-03 11:40:57 +01:00
John Layt
e8a45152b5 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>
2013-11-29 15:59:00 +01:00
Simon Hausmann
8e04691543 Merge remote-tracking branch 'origin/release' into stable
Change-Id: I2e2bf789b0fe8442ed623bc0c8aef591235cdabe
2013-11-29 11:38:28 +01:00
Simon Hausmann
7c029e83a3 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>
2013-11-29 09:54:47 +01:00
Konstantin Ritt
ad684ff2a7 Add QSystemSemaphore::release() auto-tests
Change-Id: I4c48f9ad8c60307e4b922d6a6b82e03e455f14d9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-11-28 20:33:56 +01:00
Konstantin Ritt
ed9e954f4b QSystemSemaphore: Clear error after successful operation
Change-Id: I5c1021b2329439e3aefaa1c0d9c0b8a298d285de
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-28 16:54:22 +01:00
Kurt Pattyn
76580659e6 tests: fix tst_QSettings on Mac
* Add a check for the case sensitivity of the file system, so that
unit tests can determine whether names of preference files with
different case should generate an error or not.
* Add check for OS X native file format in rainersSyncBugOnMac().

Task-number: QTBUG-32655
Done-with: Liang Qi <liang.qi@digia.com>
Change-Id: I76821653dd4ebc00e20abdbb5b79c1a80290dece
Reviewed-by: Liang Qi <liang.qi@digia.com>
2013-11-27 22:40:14 +01:00
Andrew Knight
1c2be58fec Fix test compilation on WinRT
Tweak a handful of tests which didn't compile on this platform.

Change-Id: I208d9eb289dfb226746c6d0163c3ea752485033b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-11-26 20:29:09 +01:00
John Layt
db4afbef7d QPrinterInfo - Fix isNull() by fixing constructors
The QPrinterInfo copy and QPrinter constructors and the assignment
operator were not taking the shared_null into account, and so any use
of them resulted in a new null QPrinterInfo different to shared_null,
which lead to isNull() always returning true in anything other than
the simplest use case. While fixing this also make the shared_null a
Q_GLOBAL_STATIC.

Task-number: QTBUG-21087

Change-Id: I0beb24088208e9ed58d21ca26b0c8d00b02e5b8f
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-26 18:45:10 +01:00
Frederik Gladhorn
3061dc4abd Merge remote-tracking branch 'origin/release' into stable
Change-Id: I83ff8f4d7dffd7385013a1bd8a1732a89ee20d56
2013-11-26 10:51:34 +01:00
Olivier Goffart
f805020410 Fix a race that occurred as we unlock the mutex to destroy the functor in ~QObject
When we unlock the mutex, we need to take in account that the Connection
pointed by 'node' may be destroyed in another thread while it is unlocked
Doing  'node->prev = &node'  will make sure that 'node' is actually
updated when it is destroyed.

Setting isSlotObject under the mutex is safer and ensure that no other
thread will attempt to deref the object.

The regression was introduced in 5885b8f775

tst_qobjectrace was updated to catch races arising when we are
connecting with function pointers.

Change-Id: Ia0d11ae8df563dad97eb86993a786b579b28cd03
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-26 08:24:25 +01:00
Frederik Gladhorn
225526410b Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-11-22 16:47:35 +01:00
Friedemann Kleint
219455951b Center/position windows in tst_qmenu.
Avoid menus showing up at 0,0 which is a taskbar area when running
Unity.

Task-number: QTBUG-33972
Change-Id: I156eec78248cec1708adf6bcf2e9ddcc98b7d8c4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-11-21 21:06:53 +01:00
Tor Arne Vestbø
773610cc45 Revert "Ensure Qt::WA_Mapped is set in case of obscured native windows."
Qt::WA_Mapped maps (sic) to windowHandle()->isExposed(), and we set/update
it in QWidgetWindow::handleExposeEvent(). Setting it directly in show_sys
shortcuts QPA and assumes showing a window is synchronous on all platforms,
resulting in trying to flush the widget backingstore when the window was
not exposed yet (due to discardSyncRequest starting to return false).

This reverts commit 829b1d13b2.

Change-Id: I0bd700d4939bc69ba184d8586435b68ec3dd72fb
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-21 16:28:36 +01:00
Shawn Rutledge
b4bb709733 Remove QMacStyle titlebar height + 4 adjustment and consequences
This was a tweak to fix a bug in 2005 which has probably outlived its
usefulness, plus an accumulation of workarounds on top.  (started as
48b5266e8ff9b472a16290dd923fe24dd0b6989b in the historical repo)

Task-number: QTBUG-34760
Change-Id: I2c01269e43636385ee5c89305c6b90f4a7f2c537
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-11-21 11:22:38 +01:00
John Layt
6ad97bfa73 QTimeZone - Fix dateForLocalTime() to check validity of next transition
The private method dateForLocalTime() was not checking that transitions
were valid, resulting in infinite looping when a time zone didn't have
any future transitions.

Change-Id: I0e5d07063861778dd86056a80c36fdd9f9d36133
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-21 09:25:23 +01:00
John Layt
8e6258f059 QTimeZone - Fix TZ file abbreviations
Fix parsing of TZ file abbreviations, to correctly return cases where
POSIX rule doesn't have separate DST rules, and where abbreviation
is a sub-string of another abbreviation, otherwise any toString() call
will crash.

Add test to exercise all available time zones, especially useful for TZ
file to confirm all file format variations dealt with.  Fix parsing of
Version 3 of TZ file, and ICU display name, to allow all files generated
from release 2013f to pass, otherwise isValid() call will crash.

Task-number: QTBUG-34061
Change-Id: Ie0b6abc218adff1c8967eb33fdb0762041d2305f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-21 09:25:23 +01:00
John Layt
6bf759b310 QTimeZone - Change Olsen ID to IANA ID
The name Olson was misspelled as Olsen in the public api of QTimeZone
which is needed to be fixed before first public release in 5.2 would
freeze the api and prevent it being fixed.  It has been decided that
renaming as IANA ID would be more future-proof.

Fixes to the private code will be done separately to keep this patch
against release branch to the minimum required.

Task-number: QTBUG-34735
Change-Id: I8ee90644862c907f6d1937b8536f0c02583ae736
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-21 09:25:23 +01:00
Marc Mutz
885bd1d0e5 tst_QFileSystemModel: don't expect ~/Documents to exist
For me, this test failed because I don't have a Documents folder in my
home directory, even though that's what's returned from QStandardPaths
as the first DocumentsLocation.

Fix by falling back on the home directory if documentPaths.front()
does not exist.

Change-Id: I483f62f3b4b43d055c74774a7058a4aa420849b1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-11-21 07:45:38 +01:00
Friedemann Kleint
054dfae39d Stabilize tst_QGraphicsWidget::updateFocusChainWhenChildDie().
Position windows, use QTRY_VERIFY.

Change-Id: I185bcd91bcdffbc0460a4d24f685d3dde84338a7
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-11-20 18:19:01 +01:00
Friedemann Kleint
0787550f63 Stabilize tst_QGraphicsView::hoverLeave().
Position windows, use QTRY_VERIFY.

Change-Id: I0fab91c65b30e7028343c7e9b19a1b232fe72ebf
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-11-20 18:18:55 +01:00
Friedemann Kleint
097be87a64 Stabilize tst_QGraphicsScene::isActive().
Position windows, use QTRY_VERIFY.

Change-Id: I84349dd696a633840973e9db0c538830aaa96948
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-11-20 18:18:48 +01:00
Frederik Gladhorn
ff4ad44b69 Merge remote-tracking branch 'origin/release' into stable
Conflicts:
	configure

Change-Id: I0d31f23483ea67c4cac5af16014366e1ba5ac093
2013-11-20 17:16:59 +01:00
Gunnar Sletta
54b8c27e03 Fix crash when windowcontainer is used in a dockwidget
The dockwidget's toplevel window would be a parent of the container's
window when floating. When plugged back into the mainwindow the
dockwidget's window is destroyed and the container's window along
with it. Added a function toplevelAboutToBeDestroyed to unparent
the containers window before this happens so parentWasChanged will
work correctly.

Change-Id: I06679cfb3a8fa3834c0db0be5973c012b8277275
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2013-11-20 14:10:37 +01:00
Tor Arne Vestbø
49a3fe0cf8 tst_QWindow: Use showNormal() to prevent maximize/fullscreen interference
We don't want platform behavior for whether or not maximized/fullscreen
windows can be resized to affect the test for resize event propagation.

Change-Id: I8c118733ca5d2553aacf24d0b8debeb1a4e27103
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-20 14:10:18 +01:00
Frederik Gladhorn
c83c08d84f Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-11-20 12:18:23 +01:00
Friedemann Kleint
829b1d13b2 Ensure Qt::WA_Mapped is set in case of obscured native windows.
Task-number: QTBUG-33520
Change-Id: I51f9b4634be29fd32f4ad9cc8b5d3e10b19ea2f5
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-20 09:39:56 +01:00
David Faure
e1c0a1b56c QProgressDialog: add unittest for the auto-show feature
Change-Id: I244d0b740467a09e8833f4debb95b19e45df371f
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2013-11-20 09:03:09 +01:00