summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Compile fix WinCEJan-Arve Sæther2010-09-032-5/+14
| | | | Task-number: QT-3825
* Ensure that we load system libraries from the correct location.Jan-Arve Sæther2010-09-0326-99/+275
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was a security hole that has been there for a while, but the public awareness have recently rised so the threat is more imminent now. The solution is to fix all places where we dynamically load system libraries. More specifically, we now load all system libraries with an absolute path that points to a library in the system directory (usually c:\windows\system32). We therefore introduce a small class named QSystemLibrary that only loads libraries located in the system path. This shares some of the API with QLibrary (in order to make the patch as small as possible). We don't fix QLibrary due to risk of regressions. In addition, applications can fix the code that calls QLibrary themselves. The problem does not apply to Windows CE, since the search order is documented as not searching in the current directory. However, it touches some CE-specific code - therefore QSystemLibrary is sometimes used on WinCE (however, it will just do a normal LoadLibrary() since its safe anyway). This change does not affect the testability plugin (it is not clearly documented where that plugin is located, and the plugin should never be used in production code anyway) Loading OpenSSL libraries The ssl libraries are handled specially, and searched in this order (we cannot expect them to always be in the system folder): 1. Application path 2. System libraries path 3. Trying all paths inside the PATH environment variable Task-number: QT-3825 Reviewed-by: Thiago Macieira Reviewed-by: Peter Hartmann
* Fix QtScript Date <--> QDateTime (local time) conversionKent Hansen2010-08-311-7/+4
| | | | | | | | | | | | | This has already been fixed in 4.7 (QTBUG-9770), but the change is too big to backport. The general idea is the same: Only operate on UTC dates internally (since that's how JS dates are stored), and let QDateTime take care of converting from/to local dates as necessary. The fix itself shouldn't be merged to 4.7, but the autotests should. Task-number: QTBUG-9770 Reviewed-by: Jedrzej Nowacki
* Fix Qt applications freezing until mouse/keyboard events occur.Bradley T. Hughes2010-08-301-4/+9
| | | | | | | | | | | | While the qt_GetMessageHook() is executing, GetQueueStatus() reports that there are timer messages in the queue, but these are never actually seen by the hook. Calling PeekMessage() will never return these messages (which is what we really want to know), so don't use GetQueueStatus() with QS_TIMER. Task-number: QTBUG-12721 Reviewed-by: denis Reviewed-by: joao
* Recognize GL_ARB_shader_objects as indicating shadersRhys Weatherley2010-08-271-0/+2
| | | | | | | | | Fixes a regression introduced by bf5c25c4. Some OpenGL implementations don't have the GL_ARB_fragment_shader extension listed even though they do support shaders. Task-number: QTBUG-13179 Reviewed-by: Sarah Smith
* WGL_COLOR_BITS_ARB should not take the alpha bits into account.Trond Kjernåsen2010-08-251-1/+1
| | | | | | | | The WGL_COLOR_BITS_ARB attribute is only supposed to specify the number of color bits in each buffer, *excluding* the alpha bits. Task-number: QTBUG-13141 Reviewed-by: Samuel
* Fix the broken unicode detection of ODBC driver.Charles Yin2010-08-241-1/+1
| | | | | | | the unicode flag is entirely overrided by mistake. Task-number:QTBUG-13109 Reviewed-by:Michael Goddard
* Fix OpenGLVersionFlags on OpenGL 4.0 systemsRhys Weatherley2010-08-161-2/+10
| | | | | | | | | | | | If the OpenGL version was 4.0 or higher, the flags for 1.1, 1.5, 2.0, and so on were not being set. This lead to the flags indicating that older OpenGL versions were not supported when they clearly were. Back port parts of 28659c21d12a267b10e5b441bf4c776e04d69bdc from Qt 4.7 to fix this in Qt 4.6. Task-number: QTBUG-12554 Reviewed-by: Sarah Smith
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.6Rhys Weatherley2010-08-132-1/+5
|\
| * QNAM HTTP: Fix crash related to aborted uploadsMarkus Goetz2010-08-122-1/+5
| | | | | | | | Task-number: QTBUG-12285
* | Don't define highp/mediump/lowp if desktop GL has themRhys Weatherley2010-08-133-3/+13
|/ | | | | | | | | | OpenGL 4.0 systems now have compatibility with ES2, including support for the precision qualifiers. If the GL_ARB_ES2_compatibility extension is present, then we don't define highp/mediump/lowp to the empty string. Task-number: QTBUG-12862 Reviewed-by: Sarah Smith
* QAudioOutput(ALSA); Fix check for available devices.Justin McPherson2010-08-121-14/+17
| | | | | | | ALSA can return a list of one empty item when no devices are available. Task-number: QTBUG-12690 Reviewed-by: Andrew den Exter
* QSslSocket: fix security vulnerability with wildcard IP addressesPeter Hartmann2010-08-101-0/+5
| | | | | | | | | This fixes Westpoint Security issue with Advisory ID#: wp-10-0001. Before, we would allow wildcards in IP addresses like *.2.3.4 ; now, IP addresses must match excatly. Patch-by: Richard J. Moore <rich@kde.org> Task-number: QT-3704
* fix build for -no-qt3supportPeter Hartmann2010-08-101-2/+2
| | | | | QString::lower() is QT3_SUPPORT, the correct method is QString::toLower().
* Fix handling of SSL certificates with wildcard domain namesRichard J. Moore2010-08-102-4/+39
| | | | | | Merge-request: 731 Task-number: QTBUG-4455 Reviewed-by: Peter Hartmann
* Doc: typo fixed in qlibraryinfo.cppJoerg Bornemann2010-08-091-1/+1
| | | | Reviewed-by: TrustMe
* Fixes for combining multiple Qt::ImhXXXOnly with S60 FEPShane Kearns2010-08-061-22/+30
| | | | | | | | | | | | | | | | | | When one restriction is a superset of another (e.g. ImhDigitsOnly | ImhDialableCharactersOnly), the less restrictive one is used When two restrictions are incompatible (e.g. ImhDialableCharactersOnly | ImhFormattedNumbersOnly), fall back to allowing all symbols Note for some combinations additional characters not in the union can be entered, this is a limitation of the API to AVKON FEP. Before this change, some characters in the union could not be entered at all, which is worse. Tested on I8510 (3.2), 5800XM (5.0), N8(symbian^3) Task Number: QTBUG-12726 Reviewed-by: Alessandro Portale
* fix compile errorShane Kearns2010-08-061-1/+1
| | | | | Task-number: QT-3681 Reviewed-by: Trust Me
* Make input methods work correctly with Symbian^3 FEP in numeric modeShane Kearns2010-08-061-6/+13
| | | | | | | | | | | | | Enable alphanumeric modes to use EAknEditorFlagUseSCTNumericCharmap flag so that all symbols are shown when you press the * key when the FEP is in portrait mode (traditional 4x3 mobile phone keypad emulation) Enable text input mode as well as numeric input mode for ImhFormattedNumbersOnly or ImhDialableCharactersOnly, as the '*' key on the virtual keypad does not work to launch the symbols menu otherwise. Task-number: QT-3681 Reviewed-by: Jason Barron
* Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ↵Simon Hausmann2010-08-055-3/+47
| | | | | | | | | | | | | | | | | | | | | | | ( bbff6182e525fcf58dbc7426a1fbbf8f31588214 ) Changes in WebKit/qt since the last update: ++ b/WebKit/qt/ChangeLog 2010-08-05 David Leong <david.leong@nokia.com> Reviewed by Simon Hausmann. [Qt] Input mode states are not reset after entering a password field https://bugs.webkit.org/show_bug.cgi?id=43530 Input mode hints are not reset if clicking on password <input> elements then clicking on <textarea> elements * WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::setInputMethodState): * tests/qwebview/resources/input_types.html: * tests/qwebview/tst_qwebview.cpp: (tst_QWebView::focusInputTypes):
* Improving text coordinate rounding in the OpenVG paint engineAlessandro Portale2010-08-041-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Commit b0bbabe728fedb8531fc2837403856bd5ed44e1b fixed text blurriness in the OpenVG paint engine by forcing the coordinates of the text items to integer coordinates (for unrotated, unscaled text). That was not yet enough. In addition to the coordinates, also the d->pathTransform in QVGPaintEngine can have a non-integer translation. This patch makes sure that the text item coordinate combined with the translation result in final integer coordinates. Since it is not possible to set an absolute translation of a QTransform (only relative is possible), first dx() is added to p.x(), then after rounding, it is again substracted. Sam for y, but with opposite prefix, since the y-axis in Qt and in transformation matrices are in opposite directions. The ceil stunt (which I cerated by trial and error) was replaced by floor(x + aliasedCoordinateDelta), which *exactly* what other paint engines do. Task-number: QTBUG-12330 Reviewed-by: Jason Barron
* Add QDir::homePath() for the log file in QTestFileLogger in testlib on ↵Liang Qi2010-08-031-3/+13
| | | | | | | Symbian, both hardware and emulator. Task-number: QTBUG-12622 Reviewed-by: Shane Kearns
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-08-0312-20/+123
|\ | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fixed build break on Symbian versions earlier than S^3 Enabled tst_mediaobject::testPlayFromResource on Symbian Added support to Phonon MMF backend for playback of Qt resource files Updated tst_mediaobject resource playback test cases Added support to Phonon MMF backend for playback of Qt resource files
| * Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-08-0312-20/+123
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fixed build break on Symbian versions earlier than S^3 Enabled tst_mediaobject::testPlayFromResource on Symbian Added support to Phonon MMF backend for playback of Qt resource files Updated tst_mediaobject resource playback test cases Added support to Phonon MMF backend for playback of Qt resource files
| | * Fixed build break on Symbian versions earlier than S^3Gareth Stockwell2010-08-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following overload was added in S^3: TInt RApaLsSession::RecognizeData(const TDesC8& aBuffer, TDataRecognitionResult& aDataType) const In order to allow the backend to compile against earlier versions of the platform, this patch calls the RecognizeData overload which taking the same arguments as above, plus a filename (for which KNullDesC is passed). Task-number: QTBUG-6562 Reviewed-by: trustme
| | * Added support to Phonon MMF backend for playback of Qt resource filesGareth Stockwell2010-08-023-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The backend accesses the resource file path via MediaSource::url(). A small patch to Phonon was required to enable this, because by default, Phonon passes a QIODevice, rather than the resource file path, to the backend. The backend uses this path to create a QResource object, through which the memory buffer into which the resource file has been read can be accessed. This buffer is wrapped in a Symbian 8-bit descriptor and passed to the OpenDesL() function of the appropriate MMF client utility API. Playback only works for certain file formats, as the Symbian MIME type recognizer does not always work. For example, playback of an audio WAV resource file works, while playback of an MP3 resource file does not. Task-number: QTBUG-6562 Reviewed-by: Justin McPherson
| | * Added support to Phonon MMF backend for playback of Qt resource filesGareth Stockwell2010-08-0212-20/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The backend accesses the resource file path via MediaSource::url(). A small patch to Phonon was required to enable this, because by default, Phonon passes a QIODevice, rather than the resource file path, to the backend. The backend uses this path to create a QResource object, through which the memory buffer into which the resource file has been read can be accessed. This buffer is wrapped in a Symbian 8-bit descriptor and passed to the OpenDesL() function of the appropriate MMF client utility API. Task-number: QTBUG-6562
* | | Don't resolve GLSL extensions if no shadersRhys Weatherley2010-08-031-0/+4
|/ / | | | | | | | | | | | | | | | | | | | | If the GL server is 1.x, but the client is 2.x, then the qt_resolve_glsl_extensions() function was returning true because the functions existed client-side, when it should have returned false because the functionality didn't exist server-side. Task-number: QTBUG-12478 Reviewed-by: Sarah Smith
* | setUniformValue(QSize) was setting (w,w) not (w,h)Rhys Weatherley2010-08-031-1/+1
|/ | | | | Task-number: QTBUG-12591 Reviewed-by: Daniel Pope
* Fix proxy widgets with the OpenVG paint engine.Jason Barron2010-07-301-3/+13
| | | | | | | | | | | | | | | | | | Proxy widgets use the shared painter functionality and this implies that the paint engine's begin function does not get called for each new widget that gets painted. This causes a problem because the system clip gets modified by QPainter, but the paint engine does not realize that this happened and fails to use the new clip. The result is that you can end up painting outside the intended clip area. The fix is to reimplement the virtual systemStateChanged() function in QVGPaintEnginePrivate and make it call updateScissor() to re-evaluate the clipping flags and update the current clip accordingly. A similar fix was done to the OpenGL paint engine way back in 307c2954. Task-number: QTBUG-12486 Reviewed-by: Rhys Weatherley
* Ensure that window rectangle is updated when CBA visibility changesGareth Stockwell2010-07-283-21/+33
| | | | | | | | | | | | | | | | | | | | | | In S60, there are two pieces of screen furniture, changes in whose visibility or size can affect the size of the Qt application window. These are the status pane, at the top of the screen, and the CBA at the bottom. QSymbianControl listens for changes in status pane visibility and size by implementing MEikStatusPaneObserver. Notifications received via this interface trigger a call to QSymbianControl::handleClientAreaChange() which resizes the control. There is no corresponding interface through which to receive notifications of changes in CBA visibility. This patch introduces a utility function for setting the visibility of both the status pane and CBA, which ensures that the control's rectangle is updated when either one changes. Task-number: QTBUG-5320 Reviewed-by: Jason Barron
* Clear Qt::WA_OutsideWSRange when making window fullscreenGareth Stockwell2010-07-281-0/+2
| | | | | Task-number: QTBUG-10269 Reviewed-by: Jason Barron
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-07-284-20/+47
|\ | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( d521d7d81e8f0297c94be9ebd8af67ee130d0edb )
| * Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-07-274-20/+47
| |\ | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( d521d7d81e8f0297c94be9ebd8af67ee130d0edb )
| | * Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ↵Simon Hausmann2010-07-274-20/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ( d521d7d81e8f0297c94be9ebd8af67ee130d0edb ) Changes in WebKit/qt since the last update: ++ b/WebKit/qt/ChangeLog 2010-07-27 Simon Hausmann <simon.hausmann@nokia.com> Reviewed by Tor Arne Vestbø. [Qt] Incorrect input method hints https://bugs.webkit.org/show_bug.cgi?id=43037 Properly set or reset all input method hints when activating input fields. * WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::setInputMethodState): * tests/qwebview/tst_qwebview.cpp: (tst_QWebView::focusInputTypes): Extended unit test to verify that we reset hints.
* | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-07-271-1/+6
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fix crash when all the items in a QListView are hidden
| * | Fix crash when all the items in a QListView are hiddenGabriel de Dietrich2010-07-271-1/+6
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling QIconModeViewBase::initDynamicLayout() on the second and successive segments would return QPoint(-1,-1), resulting in a totally empty area rectangle for all the items while in QIconModeViewBase::doDynamicLayout(). This rectangle is used to initialize the BSP tree, and produces an arithmetic exception when empty. Furthermore, a rendering bug was also apparent when displaying the first item of a segment while the last item of the previous segment was hidden. Auto-tests included. Reviewed-by: Olivier Task-number: QTBUG-12308
* | Workaround for QTBUG-8013: Do not return an ascent of 0Alessandro Portale2010-07-271-1/+4
|/ | | | | | | | | | | | | | | Symbian's CFont::FontMaxAscent() returns in some cases an incorrect value of 0. That usually happens (for some font sizes) if a stroke based font is the main system font. We were able to reproduce it on some S60 3.2 devices with a chinese language pack installed. This patch will test if CFont::FontMaxAscent() returns 0. And if so, it alculates an ascent taht makes more sense. Task-number: QTBUG-8013 Reviewed-by: Liang Qi
* Ensure backing store is deleted before top-level windowGareth Stockwell2010-07-261-0/+4
| | | | | | | | | | | If this is not done, later deletion of the backing store may cause a crash. If the backing store is an EGL surface, its destruction includes a call to eglDestroySurface(), which triggers an exception if the window handle passed as a parameter is no longer valid. Task-number: QTBUG-10643 Task-number: QTBUG-11376 Reviewed-by: Jason Barron
* Fixed QVideoSurfaceFormat::isValid()Dmytro Poplavskiy2010-07-221-1/+1
| | | | | | | Trivial fix, valid formats have pixel format != Invalid, not ==. Task-number: QTBUG-12337 Reviewed-by: Andrew den Exter
* Revert "Add the chart utility from qtestlib-tools."Rohan McGovern2010-07-201-29/+1
| | | | | | | | This reverts commit 453abe70fec02456aba2219025f5202060eaece1. Task-number: QT-3583 Reviewed-by: Jason McDonald
* Avoid a crash in the OpenVG paint engine when clipping to an empty pathJason Barron2010-07-151-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | The convertToPainterPath() function assumes that the QVectorPath contains at least one path element when creating the QPainterPath. This is not necessarily the case here though because if QVG_SCISSOR_CLIP is defined and setClipPath() is called with an empty QPainterPath, this is then converted to an empty QVectorPath in QPaintEngineEx::clip() which then calls QVGPaintEngine::clip(). This function then goes on to convert the QVectorPath back into a QPainterPath using the aforementioned function which crashes when attempting to access the first element of the path. In case you are wondering why this seemingly redundant conversion happens at all, it happens because when QVG_SCISSOR_CLIP is defined, we attempt to convert the path to a series of rects for scissor clipping and this conversion function operates on QPainterPath instead of QVectorPath which is what this clip() function was designed to deal with. The fix is to skip over the path conversion for empty paths and go directly to an empty QRegion. Reviewed-by: Alessandro Portale
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-07-134-2/+27
|\ | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( 038b62085831eef4dee423361c65ecd55b7b9b1d )
| * Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ↵Simon Hausmann2010-07-134-2/+27
| | | | | | | | | | | | | | | | ( 038b62085831eef4dee423361c65ecd55b7b9b1d ) Changes in WebKit/qt since the last update: * backport: https://bugs.webkit.org/show_bug.cgi?id=30978 -- [Qt] ASSERT failure while running DRT
* | Fix last character being overwritten in password fieldShane Kearns2010-07-131-0/+4
|/ | | | | | | | | | The temporary cursor position was not being updated after committing the input (changing the cleartext into a *), as a result of which, the next keypress was mistaken for a multitap input which should replace the last character. Task-number: QTBUG-11673 Reviewed-by: axis
* QSslSocket: Improve error handlingPeter Hartmann2010-07-131-1/+13
| | | | | Reviewed-by: Markus Goetz Task-number: QT-3567
* Compile when bootstrapping qmakeBradley T. Hughes2010-07-131-4/+12
| | | | | | | QThreadStorage is not available when bootstrapping qmake, so fall back to a simple static bool instead. Reviewed-by: TrustMe
* Fix regression in tst_qrand::testqrand()Bradley T. Hughes2010-07-132-8/+15
| | | | | | | | | | | | | | | | | qrand() has seeded with a default value of 1 for quite a long time, and is checked by the test mentioned above. The previous commit to change the default seed value must be reverted to keep compatibility. Change qrand() and qsrand() back to the way they were in 4.5. This fixes the qrand() regression. Change QUuid::createUuid() to seed exactly once per thread, which is a change from 4.5, where QUuid would see only once per application. This solves the original bug, QTBUG-3543, where multiple threads would generate the same UUID sequences. This also fixes the regression reported in QTBUG-11213, where seeding did not happen in certain cases. Reviewed-by: Prasanth Ullattil
* Fix a crash when recursing into QSharedPointer from QSharedPointer::clear()Thiago Macieira2010-07-091-14/+17
| | | | | | | | | | | | | We used to delete the tracked object before the new tracking was properly set up in QSharedPointer. That means if the tracked object's destructor or deletion function recursed into the QSharedPointer, it would find itself in an inconsistent state. So instead finish the setup and only then call out to user code. That ensures the internal state is always valid. Task-number: QTBUG-11730 Reviewed-by: ossi
* Fix a couple of memory leaks due to not releasing CFTypes on MacAndy Shaw2010-07-091-2/+2
| | | | Reviewed-by: Prasanth Ullattil