Commit Graph

79 Commits

Author SHA1 Message Date
Shane Kearns
7ee981a834 Fix crash when QSocketNotifier used with an invalid descriptor
select code for open C file/socket descriptors was crashing in FD_SET
if a QSocketNotifier was created with an invalid descriptor.

Added two autotests to QSocketNotifier, one to check notifiers with
bogus socket descriptors don't crash, the other to check that notifiers
with posix socket descriptors do work. (symbian socket engine doesn't
use them so they are not implicitly tested)

Reviewed-by: mread
Task-Number: QTBUG-18138
(cherry picked from commit 8a9a6afcf02f089f932bc81431ab46a60af32134)
2011-05-11 16:37:58 +02:00
Shane Kearns
605102d5c6 Fix some warnings in symbian network tests
Ignore warning when the test intentionally sets an invalid socket descriptor.
Make sure to set content type on all http post tests in tst_qnetworkreply.
Run test with enough capabilities to avoid platsec errors when accessing
certificate store.

Reviewed-By: Markus Goetz
(cherry picked from commit 9632fdefa9012ca11cd1345d66bafd6f417de88e)
2011-05-11 16:37:16 +02:00
Qt Continuous Integration System
1a1af689fc Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Fix tst_QVariant::invalidColor
  Move QTextCursor::MoveStyle to Qt namespace
  Add some QRawFont related low level functions to avoid extra copying
2011-05-11 23:47:33 +10:00
Jiang Jiang
a1d91af499 Fix tst_QVariant::invalidColor
Since a423ff5474b89028eeca95b254f5184311c8223b, the warning message is
no longer produced.

Reviewed-by: Samuel Rødal
(cherry picked from commit 8a5e82732be3aac37d14ef85c6974add46c6b65f)
2011-05-11 15:28:19 +02:00
Jiang Jiang
16628b76c0 Move QTextCursor::MoveStyle to Qt namespace
We cannot use QTextCursor::MoveStyle enums in QTextLine because
QTextCursor is not a QObject, while referring to that enum in
Q_PROPERTY requires it to be. That's why we need to move the
enums in Qt namespace.

Reviewed-by: David Boddie
(cherry picked from commit 5eba82b752e85a5d6cb3a893214ed2646d75f362)
2011-05-11 15:28:09 +02:00
Qt Continuous Integration System
8cd8e5e4cb Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-earth-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-earth-staging:
  tests: fixed or disabled qtbase tests with circular dependencies
2011-05-11 21:47:11 +10:00
Rohan McGovern
698b3da842 tests: fixed or disabled qtbase tests with circular dependencies
tst_lancelot did QT+=svg, but didn't actually use QtSvg.

qlocalsocket/lackey uses QtScript, which is not available when compiling
qtbase.

Change-Id: Ic3cc5a6f74a58ee8f2fdc48b9c852d9551b85f68
2011-05-11 13:34:00 +02:00
Rohan McGovern
fda40e37df tests: fix private header inclusion in qtbase autotests
Any test which needs private headers from some Qt module must do:

  QT += modulename-private

Reviewed-by: Jason McDonald
Change-Id: I6924a577a960e4990f4379b02bca4822d8248fb4
2011-05-11 17:04:19 +10:00
Rohan McGovern
838cf9abd9 tests: disable tests in qtbase which depend on qtsvg
Reviewed-by: Jason McDonald
Change-Id: I2416d34b5c262e20ee18f7121e8745327d5614f8
2011-05-11 17:04:16 +10:00
Rohan McGovern
0012bd57a9 tests: make tst_qrawfont compile for QGlyphs -> QGlyphRun API change
Broken by 051ef6f294

Reviewed-by: Jason McDonald
Change-Id: Ia8589aba1bfb71d000d8fad455d90e704ba28972
2011-05-11 11:52:09 +10:00
Rohan McGovern
ed8c43b5ee tests: mark some tests as using private API
These autotests are all using private symbols, available only when Qt is
configured with -developer-build.  So, gracefully disable them when
the private symbols are not available.

Reviewed-by: Jason McDonald
Change-Id: Iafd1c7af486feeee810110bc021e75984827f78a
2011-05-11 11:51:46 +10:00
Alexander Potashev
342d2a253c Allow different text for undo actions and items in QUndoView
Now the texts used for undo actions and for items in QUndoView can
be set separately. This introduces an extended format of text that
can be passed to QUndoCommand::setText or QUndoCommand constructor.

The action text can now contain two strings separated by a "\n". The
first string (that goes before "\n") is then returned by
QUndoCommand::text() and used as name of item in QUndoView.
The second string (that goes after "\n") is returned by
QUndoCommand::actionText() and used when the text properties of the
undo and redo actions are updated.

If the text passed to QUndoCommand does not contain "\n", everything
works as before, and both QUndoCommand::text() and
QUndoCommand::actionText() return the same string.

Even though action text in English usually does not need different forms
for undo actions and QUndoView item, translators can employ this new
command text format, for example to adjust the grammatical case used in
command text to match the context of "Undo %1"/"Redo %1".

Merge-request: 2610
Reviewed-by: ossi
(cherry picked from commit 9b784789c75d59b27530bbf1d12676cc44f64f46)
2011-05-10 12:54:56 +02:00
Alexander Potashev
ec4d346f95 Allow using not only prefixes for undo command text
Functions QUndo{Group,Stack}::create{Undo,Redo}Action() now use action
text templates "Undo %1" and "Redo %1" if no custom prefix was provided.

This makes more flexible translations possible. The surrounding text
(like "Undo" and "Redo") can now be suffixed to the command name as
German and Korean languages require ("%1 rueckgaengig machen" for German).

Also, now the default action text (when no command can be undone) can be
translated differently from the prefix. For example, it can be
translated as "Undo action", not just "Undo".

When a non-empty prefix is passed to QUndo*****::create****Action(),
those functions work as before, and the features described above become
unavailable.

Task-number: QTBUG-14442
Merge-request: 1212
Reviewed-by: ossi
(cherry picked from commit 213c25ad24e4f3b0a44f82f23d34746cd294f8d6)
2011-05-10 12:54:56 +02:00
Robin Burchell
0bb70c3164 Ensure that QDateTimeEdit::calendarWidget() will always return a valid widget.
This case may be triggered in the (admittedly slightly abnormal) case where a
user wishes to embed the calendar widget in a layout or, for whatever reason, do
something else that will change its ownership.

We work around this by detecting when it is deleted and recreating the widget.

This will also have a positive side effect if setCalendarWidget() is called with
a widget which is then subsequently deleted, returning the default widget
instead of a pointer to (now deleted) memory.

Reviewed-by: Denis Dzyubenko

Merge-request: 2568
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
(cherry picked from commit 124ec3200f8453142717fcfe7a4aa0a55164aaa6)
2011-05-10 12:54:56 +02:00
aavit
5a7409a423 Make autotest more resilient against network timeout
(cherry picked from commit 50be38737507f5c23b4d050e635a200024164a13)
2011-05-10 12:54:55 +02:00
Olivier Goffart
3a0f5d04fc Fix the tst_QPluginLoader::loadCorruptElf on 64 bit
The error message do not match

Reviewed-by: Arvid Ephraim Picciani
(cherry picked from commit 383f57dd2669b71fd14cf9b6b56213423a3d2d01)
2011-05-10 12:54:54 +02:00
Oswald Buddenhagen
4212ee7ec7 make QProcessEnvironment on Windows preserve variable name case
while windows itself does not care which case the variable names are in,
they may be passed to unix tools which *do* care.

note that this uses true case folding for string comparisons while
windows uses uppercasing. this means that "ess" and "eß" will be
considered the same by us, while not by windows. this is not expected to
have real-world impact, particularly because non-ascii variable names
are not used much.

Task-number: QTCREATORBUG-3110
Reviewed-by: thiago
Reviewed-by: dt
(cherry picked from commit f3db5603871928ebed43a085a496397e65952b39)
2011-05-10 12:54:52 +02:00
Frederik Gladhorn
45baf4ed0b Fix warning (unused variable) in QAccessibility test.
Reviewed-by: Morten Sorvig
(cherry picked from commit c3ebd1d38826739cb989e65770d2a22b9a39dcc4)
2011-05-10 12:54:50 +02:00
Jens Georg
0683ff9f74 Add test for ISODate change in QDateTime::toString
Merge-request: 1149
Reviewed-by: Zeno Albisser <zeno.albisser@nokia.com>
(cherry picked from commit d9e0c2ea4d64b8fdfb31b28e71373735be38101b)
2011-05-10 12:54:50 +02:00
Frederik Gladhorn
8691b6ea51 Skip child count test on Intel compiler.
For some reason this test is sometimes giving false results
with intel compilers.
The child count is most likely style dependent.
For now ignore it in the test.

Reviewed-by: Thierry
(cherry picked from commit 0ddecd383c91afb18ce2776eed5608bb1a0c2129)
2011-05-10 12:54:50 +02:00
Gabriel de Dietrich
a759518a98 Removing the "resetInternalData" slot in QAbstractProxyModel
This reverts commits 0916a68056154ecb60e4ea2c79726ab2e49b1532 and
6f1384fcbeea993d5be47590c696de60215b7608.

This effectively reverts most of MR 694.

Reviewed-by: Olivier
(cherry picked from commit 06e104b9c305d3db0dd1848e6e633ee3888fd1de)
2011-05-10 12:54:49 +02:00
Laszlo Agocs
c9cf5b45e3 Added autotest for threaded text rendering.
Task-number: QTBUG-18516
Reviewed-by: TRUSTME
(cherry picked from commit 903d4dc2196df2775255c24c707bfeb571992bb7)
2011-05-10 12:54:49 +02:00
mae
4d38a48a70 Fix insert and scroll to bottom case
When using QtextCursor::insert() with a large text followed by setting
the vertical scrollbar to its maximum value (scroll to bottom),
QPlainTextEdit would not behave properly if a document size
change was triggered by the insertion due to line wrapping.

This was visible in Qt Creator.

Auto test included.

Reviewed-by: con
(cherry picked from commit 5d144faf3c524ab557b88f69c4b755e20237e846)
2011-05-10 12:54:49 +02:00
Gabriel de Dietrich
560114a415 Fix tst_QTableWidget::task219380_removeLastRow
Again, dure to the fix to QTBUG-18551.

Reviewed-by: Olivier
(cherry picked from commit 1e4d824462b44315944a27ec328f7e400a67c96c)
2011-05-10 12:54:49 +02:00
Samuel Rødal
6c42aa3b0f Skip linearGradientSymmetry test on QWS.
QWS defines GRADIENT_STOPTABLE_SIZE to be 256, which is not enough
resolution for this test to pass.

Reviewed-by: Eskil Abrahamsen Blomfeldt
(cherry picked from commit 0201d5f5a8c95bd4f6b94726ed0db2b83cd3efc7)
2011-05-10 12:54:48 +02:00
Samuel Rødal
d00555862c Made linearGradientSymmetry test pass on qreal=float platforms.
We need to loosen the requirements a bit when qreal is float... Just
skip the two failing test cases for now.

Reviewed-by: Eskil Abrahamsen Blomfeldt
(cherry picked from commit 3c659eb590aecbcdb40cb498901e757e780fa892)
2011-05-10 12:54:48 +02:00
Samuel Rødal
e05443367f Improved gradient table generation performance for two-stop gradients.
Two stops is a fairly common case so we gain quite a bit by special
casing it. Improves performance by 10 % in parcycle benchmark, and
by 90 % in a synthetic benchmark.

Reviewed-by: Andreas Kling
(cherry picked from commit 5b74a70ac630073582be56f8a0539624a1080185)
2011-05-10 12:54:45 +02:00
Pierre Rossi
4a2f95a307 Fix autotest breakage in QTableWidget
Reviewed-by: gabi
(cherry picked from commit 76a2a3278107d2713e6d999cf82db4e134c3d034)
2011-05-10 12:54:44 +02:00
Jonathan Liu
55bfa460d2 QFileSystemModel: Handle QDir::NoDot and QDir::NoDotDot for setFilter
Add support for QDir::NoDot and QDir::NoDotDot for setFilter in
QFileSystemModel.

Task-number: QTBUG-14760
Reviewed-by: Frederik
(cherry picked from commit b60d82fd56897b1a1d3cc730172f71c27a497ede)
2011-05-10 12:54:44 +02:00
Frederik Gladhorn
6d401a9eb0 Remove Qt3ism: setToggleButton - setCheckable
Reviewed-by: Jan-Arve
(cherry picked from commit d8941c0c0e3e3019a2048ae470e4e46111a2cfcf)
2011-05-10 12:54:44 +02:00
Frederik Gladhorn
4195f07881 Fix autotest.
I changed a string by accident.
(cherry picked from commit 77cbbe9e47c62047ff88973d8158c42dc30fbd00)
2011-05-10 12:54:43 +02:00
Frederik Gladhorn
0fbeed69a4 Make navigation in TabWidgets consistent.
navigate would not return the right index in the parent if the current
widget was not the visible one.

Reviewed-by: Jan-Arve
(cherry picked from commit fdeeaa9d61efea9cca783a1d4098ae505df24390)
2011-05-10 12:54:43 +02:00
Frederik Gladhorn
d27fb341ec Fix text for checkable buttons, unit tests.
Return Check/Uncheck for checkable buttons.
Partially revive the buttons unit test.

Reviewed-by: Jan-Arve
(cherry picked from commit 6040eeebfb1ab3be3906295c373033cd5b5d9dc3)
2011-05-10 12:54:43 +02:00
Frederik Gladhorn
a5e191de57 Window and Application fixes for accessibility.
Return app name instead of window title for root accessibility object.
Return Window as accessible type for the main window.

Reviewed-by: Jan-Arve
(cherry picked from commit 9a5b0d7a579572cd7e7faf869ab1a6684800f592)
2011-05-10 12:54:43 +02:00
Frederik Gladhorn
8f5b2faaac Call QAccessible::updateAccessibility when changing accessible name.
Reviewed-by: Jan-Arve
(cherry picked from commit e783275cfb71e7325472b3aea54e109a7a854bf7)
2011-05-10 12:54:43 +02:00
Frederik Gladhorn
74060f05d1 Unit test for characterRect in Accessible TextInterface.
(cherry picked from commit 8888cef411ce1d1fc898970429e951f9ef623b0e)
2011-05-10 12:54:43 +02:00
Stephen Kelly
3880eee2d0 Use the virtual API to clear a selection.
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
Merge-request: 980
(cherry picked from commit e3cd651d92a9e550fe52360d1be6ae41d0f2ab85)
2011-05-10 12:54:43 +02:00
Qt Continuous Integration System
fde6021547 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Rename QGlyphs -> QGlyphRun
2011-05-10 20:26:33 +10:00
Eskil Abrahamsen Blomfeldt
051ef6f294 Rename QGlyphs -> QGlyphRun
API clean-up for QGlyphRun:
1. QGlyphs -> QGlyphRun
2. QGlyphRun's font()/setFont() -> rawFont()/setRawFont()
3. QPainter::drawGlyphs() -> drawGlyphRun()
4. QTextLayout and QTextFragment's glyphs() -> glyphRuns()

Reviewed-by: Jiang Jiang
(cherry picked from commit 84ef364302728b68d2d29ea9c4ccbec32c7bb115)
2011-05-10 12:20:13 +02:00
Qt Continuous Integration System
c5d63be839 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-earth-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-earth-staging:
  Respect capacity in QVector::append().
2011-05-10 20:07:16 +10:00
Qt Continuous Integration System
41e14a4175 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Add internal documentation for QUnifiedToolbarSurface.
  Fix the autotest condition.
  Change the repaint() call to an update().
  Fix the update() autotest for raster.
  Change the repaint() to an update().
  Set the default graphics system to raster.
  Revert "Switch the default graphics system to raster on Mac."
  Fix an race condition in the auto test.
  Fix an race condition in the auto test.
  Fix a race condition when the main window is being destructed.
  Switch the default graphics system to raster on Mac.
2011-05-10 19:50:02 +10:00
Fabien Freling
4367928b5e Fix the autotest condition.
The previous preprocessor directive was aimed to
exclude Mac OS X.
With the raster engine, the behavior is unified
and we don't need to have a separate path for
Mac OS X/Cocoa.
The new condition excludes only Mac OS X with a
graphics system other than raster or Carbon.

Reviewed-by: Jiang Jiang
(cherry picked from commit 2c6af885d959f90b801c74dc5d389a720dc9fd1d)
2011-05-10 11:45:42 +02:00
Fabien Freling
1dab1ce6af Fix the update() autotest for raster.
With the CoreGraphics engine, we expect the test
to fail with update(), but with the raster
engine the behavior is the same across platforms.
Hence we don't need a special case for Mac OS X
with the raster engine.

Reviewed-by: Samuel Rødal
(cherry picked from commit 75d2387fbf005b022437855ab6433790372639f8)
2011-05-10 11:45:30 +02:00
Fabien Freling
5edb03f855 Fix an race condition in the auto test.
Deleting the page in the wizard without removing it
first leads to a crash when the wizard tries to
access a deleted page.

Reviewed-by: Samuel Rødal
(cherry picked from commit 4024a08239c3e69bb2e0ca045ccbdf3fc900f675)
2011-05-10 11:44:54 +02:00
Fabien Freling
e37d9e9691 Fix an race condition in the auto test.
Deleting the page in the wizard without removing it
first leads to a crash when the wizard tries to
access a deleted page.

Reviewed-by: jasplin
(cherry picked from commit 3bff1637cd49617d334c1be63c20e008fac93be1)
2011-05-10 11:44:54 +02:00
Liang Qi
44b7877c87 Respect capacity in QVector::append().
Fix a bug in QVector::append(), it should use the capacity for new size,
when it is implicit shared and capacity is bigger than the new size.

Autotest included.

Task-number: QTBUG-11763
Reviewed-by: joao
Reviewed-by: Olivier Goffart
2011-05-10 11:38:53 +02:00
Qt Continuous Integration System
e8aceff195 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-earth-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-earth-staging:
  Skip test on MacOS due to problems with corewlan plugin
  Fix QNetworkConfigurationManager usage outside main thread first
  Update QTBUG-17223 for Qt 4.8
  fix tst_qnetworkreply::httpProxyCommands autotest
  Send User-Agent from the network request in http proxy CONNECT command
  Add autotests for configuration dependent network proxies
  Fix QNetworkReplyImpl error handling
  Enable per network configuration proxy settings in QNetworkAccessManager
  Allow a network configuration to be included in a proxy query
  Fix error handling in write for socks socket engine
2011-05-09 21:54:18 +10:00
Shane Kearns
9398867209 Skip test on MacOS due to problems with corewlan plugin
Reviewed-by: Cristiano di Flora
2011-05-09 13:50:09 +02:00
Shane Kearns
a590e77fd8 Fix QNetworkConfigurationManager usage outside main thread first
QNetworkConfigurationManager creates the engines loaded from plugins
as objects in the main thread.
If a QNetworkConfigurationManager instance is created in a worker thread
without any instance previously existing in the main thread, then it
is uninitialised until the main thread has run.
This causes allConfigurations() to return an empty list if called
immediately after instantiation, for example.

This fix initialises the plugins using blocking queued connections,
which causes the worker thread to block until the initialisation function
has been called in the context of the main thread.
Deadlock is possible if the main thread is for some reason waiting on the
worker thread, but it will not deadlock on QNetworkConfigurationManager's
mutex.
If this is a problem for an application, it should use
QNetworkConfigurationManager from the main thread first to preload the
plugins.

Task-number: QTBUG-18795
Task-number: QTBUG-18799
Reviewed-by: Cristiano Di Flora
2011-05-09 13:50:02 +02:00
Shane Kearns
9c1293283e fix tst_qnetworkreply::httpProxyCommands autotest
Due to architecture changes in Qt 4.8, clearing the proxy before the
request is complete causes the http connection to not use any proxy.
The issue is that the proxy isn't resolved until after the bearer has
been started (which is correct in the general case, as system proxy
is unknown until that time).

Also increased the test's timeout from 1 second to 15, as starting a
bearer can be slow.

Reviewed-by: Markus Goetz
2011-05-09 13:16:24 +02:00