| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Reviewed-by: Thiago Macieira
(cherry picked from commit b8089f0b7a0fef9318070aea9c8344bfe987bac9)
|
|
|
|
| |
Task-number: QT-3825
|
|
|
|
| |
Task-number: QT-3825
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
|
|
|
| |
QThreadStorage is not available when bootstrapping qmake, so fall back
to a simple static bool instead.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Reviewed-by: Prasanth Ullattil
|
|
|
|
|
|
| |
Re-add the stdlib.h include, since it brings in RAND_MAX
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An unintended side-effect of commit
90a082c9076f35dcca092ade019891e92692710e is that if qrand() is used
without being seeded first, then createUuid() would always generate the
same sequence. This quite likely to happen considering the Qt does not
actually seed the PRNG, but does use it in many places (we do not call
qsrand(), but we do often call qrand()).
Fix this by changing qrand() to calculate a seed, instead of defaulting to
1. This allows us to remove the qsrand() overload with no arguments, since
qrand() will now seed automatically unless manually seeded by the programmer.
Task-number: QTBUG-11213
Reviewed-by: thiago
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
|
|
| |
8601-2004 standard."
This reverts commit 752d46c90ee0fc5f06f01feedd8e0659178b15d4.
|
|
|
|
|
|
|
|
|
| |
8601-2004 standard.
Task-number: QTBUG-11623
Reviewed-by: Denis Dzyubenko
Reviewed-by: David Boddie
|
|
|
|
|
|
|
|
| |
parsing failed.
It's relevant with QTBUG-11623, but not a fix for it.
Reviewed-by: Aleksandar Sasha Babic
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 5f21450a61ba2459e6dc5b08b236b15a067bf81f.
It's the wrong fix for the problem. The socket operations in the
select thread are not supposed to be thread safe. It is thread safe
between the select thread and the caller thread, but not if there are
more than one caller thread. Ensuring complete thread safety would
probably require fixes in other areas as well.
The correct fix is for the client to ensure that calls to the socket
registering functions are either serialized or contained within one
thread.
Task: QT-3358
RevBy: Aleksandar Sasha Babic
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 3a9ca8ba50a63e564c15023f65cbac36d365d309.
It's the wrong fix for the problem. The socket operations in the
select thread are not supposed to be thread safe. It is thread safe
between the select thread and the caller thread, but not if there are
more than one caller thread. Ensuring complete thread safety would
probably require fixes in other areas as well.
The correct fix is for the client to ensure that calls to the socket
registering functions are either serialized or contained within one
thread.
Task: QT-3496
RevBy: Aleksandar Sasha Babic
|
|
|
|
|
|
|
|
| |
Fixing QT-3496. There was race condition for m_AOStatuses between
external and QSelectThread.
Task-number: QT-3496
Reviewed-by: TrustMe
|
|\
| |
| |
| |
| |
| |
| | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Bump version number after 4.6.3 release.
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Fix issues with thai line breaking
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Merge latest harfbuzz:
commit cce760d41f115fecd5b9b6b20b62883b10a9c204
Author: Lars Knoll <lars.knoll@nokia.com>
Date: Mon Jun 14 14:14:59 2010 +0200
Fixes for thai linebreaking
* Load libthai.so.0 since libthai.so is not there on all systems
* Remove dependency on codecs. Unicode->TIS620 is so simple we can
simply hardcode it in harbuzz-thai.c
* Speed up detection of word boundaries
* Falback when libthai is not found is now to not break instead of
breaking after every character (in line with recommendations from
unicode.org linebreaking algorithm)
Reviewed-by: Simon Hausmann
Adapt qharfbuzz.cpp to the changes in harfbuzz.
Reviewed-by: Simon Hausmann
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QTextBoundaryFinder was not consistent with ICU.
See also:
https://bugs.webkit.org/show_bug.cgi?id=31076
The previous definition of a line break was that the index
in the string after which the line break should occur.
Now it is the index of the boundary at which the break should
occur (hence one more).
Task-number: QT-3495
Reviewed-by: Simon Hausmann
Reviewed-by: Lars Knoll
|
|\
| |
| |
| |
| |
| |
| |
| | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
test QMultiMap::operator+= and QMultiHash::operator+=
QMultiMap/QMultiHash: must qualify identifier to find this declaration in dependent base class
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
dependent base class
This is required as some compiler such as clang or rvct
respect the standard more than gcc
Reviewed-by: thiago
Reviewed-by: hjk
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Handle exceptions notified by select before read/write.
|
| |/
| |
| |
| |
| | |
Task-number: MOBILITY-800
Reviewed-by: Aleksandar Sasha Babic
|
| |
| |
| |
| |
| |
| |
| |
| | |
We have support for ELangIndonesian, but we also need to support new
ELangIndonesian_Apac which has appeared in Symbian^3.
Task-number: QT-3369
Reviewed-by: trustme
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Last commits added Norwegian Nynorsk and Korean locales support, however the
array that contains the mapping between symbian locale constant and locale
string should be sorted to work.
Task-number: QT-3368
Task-number: QT-3370
Reviewed-by: trustme
|
|/
|
|
|
|
| |
Task-number: QT-3368
Task-number: QT-3370
Reviewed-by: Thiago Macieira
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a serious regression wherei, under certain conditions,
assignment would be treated as an append. This was due to poor tracking
of container invariants inside realloc.
From now on, after the allocation decision, s shall contain the number
of elements in the array to be kept. Deleting extra elements in the old
array needn't update this value. Instead, it needs to be updated once
and if new elements are created afterwards.
Auto-test greatly expanded to avoid future embarassments.
Task-number: QTBUG-10978
Reviewed-by: Olivier Goffart
Reviewed-by: Fabien Freling
Olivier reviewed the patch, Fabien the auto-test.
|
|
|
|
|
|
|
|
| |
- add alpha platform support based on JavaScriptCore from src/3rdparty/webkit copy.
- fix invalid type conversions on alpha architecture.
Merge-request: 640
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Symbian platform
New socket related requests are comming into QSelectThread by
interrupting the select call by writing to pipe.
One of the criteria is that m_mutex (from QSelectThread) could be
locked, meaninig that QSelectThread is in m_waitCond.wait() call.
However, the m_mutex can be locked by other contenders trying to
post new requests in burst. This would trigger writing to pipe in
false situations, making QSelectThread to hang in waitCond as
no wakeAll will come until some next request (in future) kicks in.
Task-number: QT-3358
Reviewed-by: Janne Anttila
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The window server bug with pointer cursors may not have been fixed, in
any case enabling pointer cursors on Symbian^3 requires WriteSystemData
capability which isn't available to all applications.
This change fixes the "qt_s60_setWindowGroupCursor - null handle"
warnings when using the touch screen.
Tested with QCursor manual test (tst_allcursors)
Reviewed-by: Sami Merila
|
|
|
|
|
|
|
| |
If the host contains invalid caracter, QUrl::isValid should return false
Task-number: QTBUG-10355
Reviewed-by: thiago
|
|
|
|
|
|
|
|
|
| |
This is not supposed to be allowed, but it work with other browsers
Rask-number: QTBUG-7434
Reviewed-by: Thiago
Reviewed-by: Markus Goetz
(cherry picked from commit a8065da96b96fcc4baeca7615c2a4195c05cbc03)
|
|
|
|
|
|
|
|
|
| |
Map Latin American Spanish to es_MX - Spanish in Mexica - the locale data for
those two locales are the same, so it should be more or less safe. The proper
solution is to add support for es-419_419 and es_419 locales to QLocale.
Task-number: QT-3312
Reviewed-by: trustme
|
|\
| |
| |
| |
| |
| |
| |
| | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
QUrl: fix parsing of IRIs with more than one IDN label
QUrl: update the whitelist of IDN domains
|
| |
| |
| |
| |
| | |
Task-number: QTBUG-10511
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
The list is taken from the Mozilla page.
|
| |
| |
| |
| |
| | |
Task-number: QT-3284
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the network connection teardown happens we get notification on
except FD. As advised from Open C team we will use setdefaultif(0)
to kill all existing sockets and restart default IAP.
Task-number: QT-3284
Reviewed-by: Janne Anttila
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change 02532ec80375c686503c4250c6ad6bb211515ec8 removed the early-exit
for 0 byte reads, causing us to hit code that assumed the buffer was
empty since nothing was read. It would thus read more into the end of
the buffer, causing the buffer to grow bigger than QIODEVICE_BUFFERSIZE.
Next, if the actual number of bytes we wanted to read was bigger than
the original buffer size we'd read the same data twice.
Reviewed-by: João Abecasis
Reviewed-by: Thiago Macieira
|
|/
|
|
|
| |
Task-number: QTBUG-10043
Reviewed-by: thartman
|
|\
| |
| |
| |
| |
| |
| |
| | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Fixed a leak in QTextDocument::print().
Ensured that WA_InputMethodEnabled was set before FocusInEvent was sent.
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Fixed a leak in QTextDocument::print().
Ensured that WA_InputMethodEnabled was set before FocusInEvent was sent.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also fixed a typo in the QScopedPointer docs.
Task-number: QTBUG-10301
Reviewed-by: Kim
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Symbian event dispatcher has a mechanism to slow down the Qt app
to prevent viewsrv crashes and keep the device responsive. This was
implemented using a thread priority drop. But that has some bad side
effects, such as app and system performance instability.
This new implementation of a slow down mechanism uses a separate low
priority thread to test when the system is getting too busy. Adaptive
millisecond waits are used to slow the app down just enough to let the
low prioirity thread to run.
In practice this avoids the performance instability of the previous
method, and results in much better system stability where the system
stays more responsive with fewer viewsrv panics when heavy Qt apps are
running.
The slow down code kicks in after 2 seconds of busy time. The delays
grow 1ms at a time to a maximum of 1/4 of average event run time.
This updated version of the fix used an RSemaphore rather than
RFastlock, which should not have been used for cross-thread signalling.
Task-number: QTBUG-9489
Reviewed-by: Shane Kearns
|
|/
|
|
|
|
|
| |
This reverts commit 99dbc23113eaf40f4e311eb0f21092e54676bd10.
This commit caused UI to freeze on gui applications on older
phones such as 5800XM and N95.
|