Commit Graph

385 Commits

Author SHA1 Message Date
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
7dd503c62f Update QTBUG-17223 for Qt 4.8
In Qt 4.7, http network requests are assigned to http connection
channels before connecting the channel.
In Qt 4.8, channels are connected "blind" as this gives a performance
improvement in certain circumstances.

On the assumption that User-Agent should be the same for all the
requests being sent to the server in a given burst, we use the first
queued request to set the user agent for a http proxy.

Task-number: QTBUG-17223
Reviewed-by: Markus Goetz
Reviewed-by: Martin Petersson
2011-05-09 13:16:41 +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
Shane Kearns
e01faeb5c7 Send User-Agent from the network request in http proxy CONNECT command
Some proxies can discriminate based on the User-Agent when sent a
CONNECT command for establishing a HTTPS connection.
With this change, if the User-Agent header is set in the QNetworkRequest
then it will be passed to the http socket engine for use in the connect
command sent to the proxy.
As before, "Mozilla/5.0" will be used by default when no user agent
has been set.

Task-number: QTBUG-17223
Reviewed-by: Markus Goetz
2011-05-09 13:16:13 +02:00
Shane Kearns
724671feca Add autotests for configuration dependent network proxies
1. test that systemProxyForQuery returns something for all configs
2. test that QNetworkAccessManager uses the settings for the
   configuration it was started with.

Task-number: QTBUG-18618
Reviewed-by: Peter Hartmann
2011-05-09 13:15:47 +02:00
Shane Kearns
a342ba933a Fix QNetworkReplyImpl error handling
The backend was never started when compiled without bearer management,
now it is.
Now emits the error signal in case of startup errors which would leave
the state machine hanging. Previously it just printed a warning.

Reviewed-by: Peter Hartmann
2011-05-09 13:15:23 +02:00
Shane Kearns
1ad3814a56 Enable per network configuration proxy settings in QNetworkAccessManager
Delayed the resolving of the proxy until the backend is being started.
This is because the proxy settings are not known until after
QNetworkAccessManager has brought the network online using
QNetworkSession.
On Nokia's symbian3 phones, the default network configuration is a
service network containing a list of access points in priority order.
For a typical user, this will include one or more WLAN networks and a
cellular network - each of which can have different proxy settings.

Task-number: QTBUG-18618
Reviewed-by: Peter Hartmann
2011-05-09 13:14:46 +02:00
Shane Kearns
f0f55cd59f Allow a network configuration to be included in a proxy query
When Qt is compiled with bearer management support, the network
configuration can be included as a parameter in QNetworkProxyQuery.

This allows QNetworkProxyFactory::systemProxyForQuery to get the right
proxy setting for a specific network. For example a mobile phone could
have network configurations for home WLAN, work WLAN and 3G data
access points, each with different proxy configurations.

Task-number: QTBUG-18618
Reviewed-by: Peter Hartmann
2011-05-09 13:14:37 +02:00
Shane Kearns
279883fdf1 Fix error handling in write for socks socket engine
When socks socket engine calls the write function of the native socket
engine, it now propagates errors to the abstract socket.

Task-number: QTBUG-18713
Reviewed-by: Markus Goetz
2011-05-09 13:14:10 +02:00
Qt Continuous Integration System
38644abb0d Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Added Wayland selection support.
2011-05-09 19:17:15 +10:00
Laszlo Agocs
4973c2669a Added Wayland selection support. 2011-05-09 11:11:14 +02:00
Qt Continuous Integration System
3d8f39857f 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 qglobal.h exports for QtLocation & QtSensors
2011-05-09 15:43:57 +10:00
Alex
82444f5dff Add qglobal.h exports for QtLocation & QtSensors
Plus the QtLocation configure options

Reviewed-By: Lincoln Ramsay <lincoln.ramsay@nokia.com>
2011-05-09 15:34:25 +10:00
Qt Continuous Integration System
cf1440a6e3 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Install private headers into the correct location
2011-05-08 13:17:33 +10:00
Marius Storm-Olsen
ab53743198 Install private headers into the correct location
The privates need to be under <MODULE NAME>/ since we use
    #include <ModuleName/private/header_p.h>
in many places
2011-05-07 22:10:54 -05:00
Qt Continuous Integration System
e219892b9d 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 Makefile subtargets
2011-05-07 13:27:01 +10:00
Marius Storm-Olsen
9fe4482de1 Fix Makefile subtargets
Commit c04b7a55d1 broke subtargets
so every rule would just make 'first' (implicitly)
2011-05-07 03:19:51 +00:00
Qt Continuous Integration System
de47cd9b66 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 QRawFont::setPixelSize() on Mac
2011-05-07 00:05:46 +10:00
Eskil Abrahamsen Blomfeldt
4135b6b323 Fix QRawFont::setPixelSize() on Mac
When refactoring the setPixelSize() code of QRawFont, it was broken
on Mac. To avoid making the same mistake again, I've added a simple
autotest to check that the pixel size is actually set.

Reviewed-by: Jiang Jiang
(cherry picked from commit 821b8b540af491ce60d35bd84d3c91399ecc0d16)
2011-05-06 16:00:15 +02:00
Qt Continuous Integration System
629428a3c2 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  qmake vc(x)proj generator: support x64 Qt builds
  qmake: remove dead code from VcxprojGenerator
2011-05-06 19:53:21 +10:00
Joerg Bornemann
61e6639c82 qmake vc(x)proj generator: support x64 Qt builds
Task-number: QTBUG-17911
Reviewed-by: ossi
2011-05-06 11:50:15 +02:00
Joerg Bornemann
c6fc5395ad qmake: remove dead code from VcxprojGenerator
Reviewed-by: ossi
2011-05-06 11:50:03 +02:00
Qt Continuous Integration System
f15c1fff3f 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 QPainter::drawGlyphs() with non-affine transformation
2011-05-06 19:00:01 +10:00
Eskil Abrahamsen Blomfeldt
80a230e221 Fix QPainter::drawGlyphs() with non-affine transformation
When the matrix has an non-affine transformation, the text will have to
be rendered using the default path-renderer. This means going through
the drawTextItem() path (since drawStaticText() has no support for those
transformations) and it also means not pre-transforming the coordinates,
since the default implementation of drawTextItem() supports
transformations.

Task-number: QTBUG-18214
Reviewed-by: Jiang Jiang
(cherry picked from commit 55446d104db77fc7994ab12352b1c08bb7b63346)
2011-05-06 10:44:49 +02:00
Qt Continuous Integration System
33558a886d 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: (26 commits)
  QSslConfiguration documentation fix
  HTTP auto tests: do not load resources from cache that must be revalidtd
  HTTP cache backend: do not load resources that must be revalidated
  HTTP reply: do not load resources from cache that must be revalidated
  QNetworkCookie: allow spaces in unquoted values
  QNAM HTTP: Removes some comments
  QNAM HTTP: More comments
  QNAM HTTP: Implement abort() and close()
  QNAM HTTP: Comments
  QNAM: Function re-ordering
  Revert "HTTP caching internals: fix logic for PreferNetwork and PreferCache"
  HTTP caching documentation: add some comments
  Revert "HTTP caching internals: fix logic for PreferNetwork and PreferCache"
  QNAM: Fix initialization order warnings
  QNAM: TODO comments for Qt 5
  QNAM HTTP: Fix upload progress signal
  HTTP caching internals: fix logic for PreferNetwork and PreferCache
  HTTP Network Reply Impl: return earlier when resource loaded from cache
  HTTP Reply implementation: make cache validation method return bool
  cache: rename validateCache() to loadFromCacheIfAllowed()
  ...
2011-05-06 18:41:31 +10:00
Qt Continuous Integration System
cede1c9626 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  QtUiTools: Remove Q3Support.
2011-05-06 17:55:35 +10:00
Olivier Goffart
3a76f74e88 Merge remote-tracking branch 'mainline/master' into earth 2011-05-06 09:54:24 +02:00
Qt Continuous Integration System
7a22950819 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  uic: Remove Q3Support.
2011-05-06 17:35:50 +10:00
Friedemann Kleint
69c4b97be2 QtUiTools: Remove Q3Support.
Remove special handling of Q3ButtonGroup in form builder.
2011-05-06 09:33:45 +02:00
Friedemann Kleint
ec88a76127 uic: Remove Q3Support.
Remove code and tests.
2011-05-06 09:32:09 +02:00
Qt Continuous Integration System
bedc018370 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Dont do doneCurrent in swapBuffers
2011-05-06 04:21:17 +10:00
Jørgen Lind
1edc451057 Dont do doneCurrent in swapBuffers 2011-05-05 18:11:57 +02:00
Qt Continuous Integration System
8663200eb0 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Changelog: Qt Designer 4.8
2011-05-06 00:27:25 +10:00
Friedemann Kleint
0df9ee335c Changelog: Qt Designer 4.8
(cherry picked from commit 3a10cfc583f30be4dd98e1fcc3463c3d8bc14f31)
2011-05-05 16:17:50 +02:00
Qt Continuous Integration System
bf19972116 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  compile openvg with private headers
2011-05-06 00:09:02 +10:00
Marius Storm-Olsen
022a528dfd compile openvg with private headers 2011-05-05 08:58:59 -05:00
Taito Silvola
c3ad797d8a QSslConfiguration documentation fix
setPeerVerifyMode() and peerVerifyMode() comments fix

Merge-request: 1220
Reviewed-by: Peter Hartmann
2011-05-05 14:16:30 +02:00
Qt Continuous Integration System
c8cd071d40 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Remove misspelled comment in tst_qtextdocument.cpp
2011-05-05 22:02:54 +10:00
Qt Continuous Integration System
948d5f22c3 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Only enable design metrics for scalable fonts
  Add a way to retrieve CTFontRef from QFont
2011-05-05 21:42:44 +10:00
Jiang Jiang
1daf67042d Only enable design metrics for scalable fonts
Bitmap fonts don't have linear advance at all.

Reviewed-by: Eskil
(cherry picked from commit 111accbf9aaf95b052448ecb70937c61e9b59d66)
2011-05-05 13:39:11 +02:00
Jiang Jiang
05a1416be8 Add a way to retrieve CTFontRef from QFont
Since macFontID restricts to quint32, we have to return that in
QFont::handle.

Task-number: QTBUG-17890
Reviewed-by: Eskil
(cherry picked from commit c8f299b7e675c839b16d750cd2633a57cdd0526f)
2011-05-05 13:39:05 +02:00
Eskil Abrahamsen Blomfeldt
45b80f054f Remove misspelled comment in tst_qtextdocument.cpp
The comment was copy-pasted, spelling error and all, from the example
in the bug report, and really doesn't make any sense at all in this
context.

Reviewed-by: TrustMe
(cherry picked from commit 7ac511d8d906575dff1a02361e31251b244d3b3a)
2011-05-05 13:38:13 +02:00
Qt Continuous Integration System
fad9bc1506 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging: (46 commits)
  Add Q_UNIMPLEMENTED() macro
  Fix build error on Mac
  Build fix
  BC cleanup in uitools.
  Fix framework absolute path issue
  Remove QFontEngineFT::loadGlyphMetrics
  Add required font metrics functions to QRawFont
  Include pixel size of font in exported HTML from QTextDocument
  Make it possible for animation driver to specify the advance time delta
  Compile on Windows
  Remove warnings
  Fix Wayland plugin so it works with the wayland bind api
  wayland: Track wayland changes
  Support GL ES 2 with uikit.
  Lighthouse: Fix virtual desktopwidget
  Support gamma correction of text on GL
  Added .tag file with Git revision.
  new configure.exe binary
  qmake nmake generator: pass MAKEFLAGS to sub-make calls
  Move private headers into versioned subdirectory
  ...
2011-05-05 10:34:08 +10:00
Kent Hansen
1a2345ec19 Add Q_UNIMPLEMENTED() macro
(cherry picked from commit adce00979c30cc22d26ba43c15e0c7a3733b57ab)
2011-05-04 18:15:53 +02:00
Prasanth Ullattil
af026f6fa4 Fix build error on Mac
To use the private headers, the .pro file should contain
QT += <module>-private

Reviewed-by: Olivier Goffart
2011-05-04 18:04:40 +02:00
Paul Olav Tvete
3611f82975 Build fix 2011-05-04 16:55:48 +02:00
Friedemann Kleint
10a0cc3da2 BC cleanup in uitools.
Remove virtual functions obsoleted by new resource handling
in Qt Designer 4.4. Remove static hash of private objects
for formbuilder.
Requires fd61c9b24d27452df3eb478a81d7e7725fe6f5b4 in qttools.

Rubber-stamped-by: axis
2011-05-04 16:23:51 +02:00
Jiang Jiang
89cf89c51d Fix framework absolute path issue
module.prf incorrectly overwrites INSTALLS which results the absolute
soname not prepended.

Reviewed-by: Marius Storm-Olsen
2011-05-04 15:55:51 +02:00
Peter Hartmann
a4e3b2bd5e HTTP auto tests: do not load resources from cache that must be revalidtd
The header field "Cache-Control: must-revalidate" is a strict
requirement for loading the resource from the server, and not reading it
from the cache without revalidating first. With this patch, PreferCache
will load such from the network instead of loading them from the cache,
and AlwaysCache will throw a ContentNotFound error.

Reviewed-by: Markus Goetz
Task-number: QTBUG-18983
2011-05-04 14:35:21 +02:00
Peter Hartmann
33ce5392e8 HTTP cache backend: do not load resources that must be revalidated
The header field "Cache-Control: must-revalidate" is a strict
requirement for loading the resource from the server, and not reading it
from the cache without revalidating first. With this patch, PreferCache
will load such from the network instead of loading them from the cache,
and AlwaysCache will throw a ContentNotFound error.

Reviewed-by: Markus Goetz
Task-number: QTBUG-18983
2011-05-04 14:35:09 +02:00