| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
File descriptors have always been removed from bps before adding them,
which lead to an annoying warning.
"QEventDispatcherUNIX::registerSocketNotifier()" needs to be called
after "ioEvents()" to prevent this.
Back-port of qtbase/e9c51a1fdc9092e5589fd6f823ad0e704e293c88
Task-number: QTBUG-34536
Change-Id: I767a15cb2883bc820da5c858613ffb26abc002e4
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Petr Nejedlý <pnejedly@blackberry.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently applicationName returns an empty value unless the user
explicitly sets it. Qt 5 is smarter and get the name either based on the
application arguments or a platform specific way (e.g. OS X using the
menu bar name) if the user didn't set it.
Based on f04b46f34e9446417cd5681f511332344679ef30
and 696060134d10d44175970ffd38618544ecdd9387
Change-Id: Ifc17cf4a74fed8cfabb46b3540dfbd64a5452640
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In QEventDispatcherBlackberry::select(), if an event handler called
through filterEvent() starts a nested event loop by creating a new
QEventLoop, we will recursively enter the select() method again.
However, each time bps_get_event() is called, it destroys the last
event it handed out before returning the next event. We don't want it
to destroy the event that triggered the nested event loop, since there
may still be more handlers that need to get that event, once the
nested event loop is done and control returns to the outer event loop.
So we move an event to a holding channel, which takes ownership of the
event. Putting the event on our own channel allows us to manage when
it is destroyed, keeping it alive until we know we are done with it.
Each recursive call of this function needs to have it's own holding
channel, since a channel is a queue, not a stack.
However, a recursive call into the select() method happens very rarely
compared to the many times this method is called. We don't want to
create a holding channel for each time this method is called, only
when it is called recursively. Thus we have the instance variable
d->holding_channel to use in the common case. We keep track of
recursive calls with d->loop_level. If we are in a recursive call,
then we create a new holding channel for this run.
Backport from qtbase/5cc76dae7e985a7a39d839524dc8ad6475e597f3
Change-Id: Ib3584676d2db5a9a3754a1535d5fb6c9e14f5dbc
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
* Update timeFormat for Portuguese/Brazil locale.
* Update abbreviated day names for Greek locale.
Note: Those locales are already fixed in the recent CLDR v23.1
data used in Qt 5.2.
Change-Id: I351e3a9ae65dcff4ab6b4787242141c3c9d86e24
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mac uses the CLDR format codes which need to be translated into their
Qt equivalent. The existing code mistranslates the year code, is
outdated for a number of new codes introduced in recent versions of
CLDR, and by default accepted any codes it didn't recognize.
This change updates support to the latest version of CLDR, fixes the
treatment of years, and defaults to ignoring any new format codes
added in the future.
Back-ported from qtbase/77dc33dcdbe0eec8ddc9059c4e0ff9dde264c5fa
Task-number: QTBUG-25057
Change-Id: Ide040eca467cfada46fb0e2010db179a76b3096a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
|
|
|
|
|
|
|
|
| |
Change-Id: I04012218c34f7a95a87fcf2dc7fc095f0e743e67
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
(cherry picked from qtbase/dff6d73d6c37c40790d90bfdf3cb2f6e75c5bfa4)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changed the sigchld-Handler such that the SA_SIGINFO flag is handeled
correctly. Furthermore the signal mask is preserved such that the original
signal handler is not interrupted when not allowed.
Backport of the patch that was added to qtbase (Qt5) in
97279d05822a70da1fb3dab083d823a5f5a008fe
also contains the fix from
f83fa3c95e9ac6badc393c198c8bc08bc45bea96
.
Task-number: QTBUG-32979
Change-Id: Iec7663e7289ea5d95155f52cf8788ebf646cfabd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note that there are also some missing interpolators for char, short,
long long etc, but those are most likely less common than unsigned int.
Task-number: QTBUG-33268
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
(cherry picked from qtbase/09da1f7d1f04f51eca4dc11add2854355fad6cd4)
Change-Id: Ieae8c5f66dab0f997522ea7e7990485ecde33e27
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qWarning is forward declared as returning QDebug when QT_NO_DEBUG_STREAM
is not defined. This conflicts with the declaration of qWarning
returning QNoDebug when QT_NO_WARNING_OUTPUT is defined.
Avoid forward declaration of qWarning when QT_NO_WARNING_OUTPUT is not
defined to fix compilation.
This does not apply to Qt 5.
Task-number: QTBUG-33301
Change-Id: Ia4750cd63ac404700aedc36f07e5516d4163e9d2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
The negative range test is no longer needed in QByteArray's autotest.
Task-number: QTBUG-33038
Change-Id: I4d77e78e485b3b64a31dffd99b9fe2c14420d0a2
(partial cherry picked from qtbase commit fb8be9905d5f3216edc3fbb72b8ce1c380737eac)
(partial cherry picked from qtbase commit 0ed3cf2a1c487387bbc958317c791c9c53cf5a16)
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Invoking waitForStarted() on a QProcess before or after an unsuccessful
call to start() (e.g., with an empty command), would execute FD_SET with
an invalid file descriptor and cause the process to abort.
The bug can be reliably reproduced on OSX.
(cherry-picked from qtbase commit c8d9b17367cfdcb034d11f8a168ca4ae3993e7c3)
Task-number: QTBUG-32958
Change-Id: Id25b7781168489281645e21571361ca1a71d43e3
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
|
|
|
|
|
|
|
| |
(Qt 4 equivalent of qtbase/bd97768ae54d643270e824f74d152892dbea1b9f)
Change-Id: I7ecebd2e185d61a0baeb5b47b802c2f760edeff3
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mask out QS_TOUCH, QS_POINTER when running a VS2012-compiled binary
on pre-Windows 8 systems.
Task-number: QTBUG-32257
Task-number: QTBUG-28513
Task-number: QTBUG-29097
Task-number: QTBUG-29435
Task-number: QTBUG-18852
Change-Id: I33ce3a659a234cb04d3b5ae9d668d193d681be7f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/54f1d7e2e48b896755aa930ee7e4ecacf51bf977)
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit aea654b84713b8085ee0a291e3325b1ca53080aa.
Follow-up commit will fix the issue.
Task-number: QTBUG-18852
Task-number: QTBUG-27266
Change-Id: Iadbae6b94de6e47e0b9bf428f57b63ffa286e382
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
implicit sharing together with 'mutable' is a time bomb.
we need to protect the nameMap, because concurrent "reads" may try to
insert into the hash, which would go boom.
we need to protect the key/value of Hash objects, because while the
refcounting is atomic, the d pointer assignments are not, which would
also go boom.
we can simply use a QMutex to protect the whole environment, because it
is very cheap in the uncontended case.
Task-number: QTBUG-30779
Change-Id: Iaad5720041ca06691d75eb9c6c0e1c120d4a7b46
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
(cherry picked from qtbase/85e61297f7b02297641826332dbdbc845a88c34b)
|
|
|
|
|
|
| |
Change-Id: I9d0a3cb08de5e91807da7f0358c83b6693ebd1ea
Reviewed-by: hjk <hjk121@nokiamail.com>
(cherry picked from qtbase/da55d48ad731ee2499467b3e93e11eb3b53df89d)
|
|
|
|
|
|
|
|
|
| |
No other platform has such a warning and it really is not important.
Change-Id: I70185dff6b0fad11c7a767f787679dc53d04ecc7
(backported from qtbase/cd17b500a85b34c16ff8f4212cf2ff35715040ba)
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As usual, MSVC does things differently and its ciso646 header does
unexpected things, like #define'ing xor and causing all sorts of breakages.
Include <new> instead: it should be as inocuous as ciso646 should have been.
No backport because Qt5 does not have QT_NO_STL.
Task-number: QTBUG-32773
Change-Id: I01a48ec2c726367e9498aeec4efb42f49d68bbe4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
| |
CFPropertyListRef is a typedef for void*, which is why this code was
compiling OK prior to this change.
Change-Id: I67f2affeeb97459f85eedc8becb5d963557d34c3
(cherry-picked from qtbase commit fb25d6c7f6690402060027422343957c7d8ee718)
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In 1b08e0307dfebe561fbb0819a2d6b53edd8e8e93, I removed the null check
by accident. It's possible for the Darwin API to return a null
property list.
Task-number: QTBUG-30760
Change-Id: Iaf0125767fe4b47c19810b70483a5219e94e4305
(cherry-picked from qtbase commit 96134c6f585963c9d449db17589f21e67519a2a8)
Reviewed-by: Denis Dzyubenko <denis@ddenis.info>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
We might need more robust code in the future. But at least for this case
it looks like a CFStringRef is also a possibility.
Task-number: QTBUG-29776
Change-Id: Iaf50835122fcbb7e6e9c7fbf65e31e6143b2bc54
(cherry-picked from qtbase commit 1b08e0307dfebe561fbb0819a2d6b53edd8e8e93)
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
| |
See http://www.oracle.com/technetwork/systems/cccompare-137792.html
Task-number: QTBUG-18879
Change-Id: Icb08771527a718c1ce4f0919116c3834cf979be4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add necessary support code to recognize m68k as an architecture;
use GCC builtin atomics like avr32 does. Copy avr32 header, since
it was hinted that including it from m68k was not liked.
This is not needed in Qt5 because it’s said to automatically use
the GCC atomic builtins.
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=660963
Task-number: QTBUG-28237
Change-Id: I6c51405c47549c904899a6971b6cd34b8239c642
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Do not trigger a self-assign warning when running into code containing
a Q_OBJECT macro. Currently this happens a lot e.g. when using clang
to build code using Qt.
Change-Id: I68995624b18406f337318599e463f36f87486e66
(cherry-picked from qtbase commit 1416f4c595d6078c08f93483695e0b64c7fbb2a7)
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We prefer to use the monotonic clock because it's never affected by time
jumps (such as the user changing the date, or the system adjusting for
any other reasons, including automatic leap seconds). But if a system
doesn't have a monotonic clock, we simply accept the regular, real time
clock and hope it doesn't jump.
This is better than the current code that never restarts a call. The
side-effect is that a 30-second select may become a 3630-second select
if someone sets the clock back one hour.
Task-number: QTBUG-22301
Change-Id: Ia5a3bb453cd475f45b03637e2549165589fd2524
(cherry-picked from qtbase commit c64d602df3712c0d147b7b689d29f79c700e63bc)
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't assume `from` is 0 and the string always starts with a starter code point.
This has been fixed for 5.0 as part of Unicode Data & Algorithms update
(qtbase:46b78113b22428e6f8540193fcf0e00591dbd724).
Task-number: QTBUG-30931
Change-Id: I2030aaf831ebe619b980e55e98d5f5a366dbe3ed
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
| |
Change-Id: I91189c8c33591ef866a4478c113f93162afede95
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
All mac related qfilesystemengine operations are done in
qfilesystemengine_unix.
Purging it like commit bd7ca33889139782f3f0063f93ca9c1f39501a17 in
qtbase
Change-Id: I16ba494b699d731c3cd688cbd34b81cc67851b47
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This is needed, because bps_get_event can also invoke callbacks.
Deferred deletions in such a callback are not executed for instance,
because the loop level might already be at its minimum.
Backported from qtbase: f62c92b
Change-Id: I83d72d773d53b7b84ec590180f6b1131a57e0f46
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
|
|
|
|
|
|
|
|
|
| |
Edge case: a > that should have been >=. Without it, we never ran the
rest of the IDN nameprepping.
(cherry-picked from qtbase commit 4d93393a6de2d6631979df2bc6d12aa43781dc6f)
Change-Id: I2276d660de3a70d0c561bb18816820d9a0f47e77
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
|
|
|
|
|
|
| |
(cherry-picked from qtbase commit 53388cd8e0451ea375ed250b59f9e89319fb3e1c)
Change-Id: Icac4e81fff6f7f7fa4f46ec2a08105f8d3d2b403
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RFC 3454 says about prohibited characters (section 2, "Preparation
Overview"):
3) Prohibit -- Check for any characters that are not allowed in the
output. If any are found, return an error. This is described in
section 5.
In other words, we mustn't simply strip the output of prohibited
characters. We must generate an error if they are present. We do that by
clearing the data.
We already had tests for prohibited output, but they were
indistinguishable from being stripped. So instead add some extra
characters so that we can tell whether the label was cleared.
(cherry-picked from qtbase commit 736a052d93d9c75e51e8f3da733bc8e4a50c39ce)
Change-Id: I2d95217c27be5e2d54deed0036cb009e3b7f4886
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When uc > 0xffff (non-BMP character) and l == 1 (replacement is in the
BMP), we must use QString::replace so the correct number of characters
is replaced.
There's one case testing this in tst_qurl, but it is being
obscured by another bug (false positive).
(cherry-picked from qtbase commit 86312275197c3fde948035a59c0358162701f9f2)
Change-Id: I32388dd5bef32d4d6804aeeec4904bd5f563e9b9
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the case folding operation results in either expansion or reduction
of the string, we need to adapt. Reduction happens most often when a
non-BMP character is case-folded to a character in the BMP (example:
mathematical signs at U+1D400-1D7FF). Expansion happens in the rare
case of symbols containing words, like U+2121 ℡ (this is part of the
unit test), and one common case: the German sharp S (ß) is expanded to
"ss".
(cherry-picked from qtbase commit 2ccf4c32cc593f568581dd237e1e27d39fd965a2)
Change-Id: I1bdbdc908b958a89bf30e4bb648d65dfdd9097f8
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
|
|
|
|
|
|
|
|
|
| |
The time format should depend on the device settings (24 hour format)
cherry picked from qtbase/686c94c892006a3e72291ca8971aabf18ea1ec85
Change-Id: I6226486ee1feedc27fab49802a0043619e83659c
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-15379
Change-Id: I113692983a8c16c56f0f684146d0d32e25d4869d
(cherry-picked from qtbase/c1e24f883824ad894aa121568e4fde8553028d95)
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We destroy the thread data for the main thread when the QCoreApplication
is destructed, and then delete the pthread key for the thread data in
the global static destructor function 'destroy_current_thread_data_key'.
The user may have its own Q_DESTRUCTOR_FUNCTION though, which may or may
not run after we've destroyed the key. If it runs after we've destroyed
the key, we'll end up trying to re-create the tread-data, as expected,
but set_thread_data() will fail to persist it, as pthread_setspecific
is called with an invalid key. The result is an infinite recursion:
...
6 in QThreadData::current () at qthread_unix.cpp:216
7 in QObject::QObject (this=0x48e1b30, dd=@0x48e1b40, parent=0x0) at qobject.cpp:703
8 in QThread::QThread (this=0x48e1b30, dd=@0x48e1b40, parent=0x0) at qthread.cpp:396
9 in QAdoptedThread::QAdoptedThread (this=0x48e1b30, data=0x48e1af0) at qthread.cpp:120
10 in QAdoptedThread::QAdoptedThread (this=0x48e1b30, data=0x48e1af0) at qthread.cpp:130
11 in QThreadData::current () at qthread_unix.cpp:219
12 in QObject::QObject (this=0x48e1a20, dd=@0x48e1a30, parent=0x0) at qobject.cpp:703
...
To solve this, we reset current_thread_data_once when destroying the key,
so that subsequent calls to pthread_once to potentially create the key
will call create_current_thread_data_key once more. This means we'll leak
the key for this particular use-case, since we don't end up calling
pthread_key_delete a second time, but this leak is small and happens
typically only for a short duration during application shutdown.
Cherry-picked from qtbase/46667d604fb2ae11a87c0c075a3d2468d02f7bdb.
Change-Id: Iffc372ca530a486cd3efc2237ab02468bdcb5c81
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-30134
Restore the lines in qcoreapplication.cpp removed by commit
950b35cf97ad398f97883efd2a18ee97994a8a9c to ensure QThreadData and
QAdoptedThread object of main thread is destroyed at application exit.
We don't set QCoreApplicationPriavte::theMainThread to 0 as before since
it will be set to zero in QThreadData::~QThreadData()
Cherry-picked from qtbase/7dc622290bb8e81af634034f443e25be0d6d48a3.
Change-Id: I6bc62235d0aff7818ca9a9cad45625b2777afc55
Reviewed-by: jian liang <jianliang79@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids crashes accessing deleted memory when creating a QObject
after the last QObject had been deleted, like a qDebug() in global
destructors.
==41000== Invalid read of size 4
==41000== at 0x5F01ED5: bool QBasicAtomicOps<4>::ref<int>(int&) (qatomic_x86.h:208)
==41000== by 0x5F01309: QBasicAtomicInteger<int>::ref() (qbasicatomic.h:147)
==41000== by 0x5F24051: QThreadData::ref() (qthread.cpp:100)
==41000== by 0x614A984: QObject::QObject(QObject*) (qobject.cpp:681)
==41000== Address 0x6ee73f0 is 0 bytes inside a block of size 152 free'd
==41000== at 0x4A0736C: operator delete(void*) (vg_replace_malloc.c:480)
==41000== by 0x5F240BF: QThreadData::deref() (qthread.cpp:109)
==41000== by 0x6113F6B: QCoreApplicationData::~QCoreApplicationData() (qcoreapplication.cpp:268)
The comment right above the change in qthread.cpp looks eerily similar
to the problem I'm trying to fix. However, the actual change that
introduced the change is not in the Qt public history, so we can't
know for sure what the problem was then.
Cherry-picked from qtbase/950b35cf97ad398f97883efd2a18ee97994a8a9c.
Change-Id: Ic4072c15529e2ae94ea36fbd0340cf5ee61413d2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Precision timers can cause the event loop to lock up
when running MSVC2012 code on pre-Windows 8.
Task-number: QTBUG-27266
Change-Id: Idd73731e82843d0d140859bab825bc1a54eccf1a
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
(cherry picked from qtbase/aa1b4c0943187d82e0c313b93559e99226a9c75a)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At the moment if d->m_data == systemData() it calls
systemLocale()->query but forgets about the standalone part
so you get the wrong data
This patch introduces the new enums so that backends can implement
properly the standaloneMonthName feature properly. At the moment the Windows
and Mac ones still return the monthName, the Unix and Blackberry ones return
the data we store in months_data.
cherry picked from qtbase/b1de018e9a1efcd0f9e298ae4c865197feb47895
Change-Id: I1054420dc696ed2be0d52bdc6567ebaf202faf12
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added an upper bound check for socket notifier file descriptors. Too
high FDs have been a real source of failure.
Added compiler hints to allow error-free code path run faster (errors
are highly unlikely) and adjusted warning messages (some were misleading
and too long).
Backported from qtbase: ebd5de1
Change-Id: Ib982f853ee803447bdcaf22aed310697a36b4ccf
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is somewhat of a follow-up to 5210d47aa66214e3cb16f394d0510a91f770c1b1.
libc++ declares the STL types in an inline namespace within the "std" one if
clang is used.
If one includes a header such as <iterator> before a Qt one and builds with
QT_NO_STL, the following ends up happening:
// <iterator>
namespace std {
inline namespace __1 {
struct random_access_iterator ... ;
}
}
// qiterator.h
#ifdef QT_NO_STL
namespace std {
struct random_access_iterator;
}
#endif
qiterator.h's declaration shadows the original one, and the compiler
complains random_access_iterator lacks an actual declaration.
Solve this by checking for libc++ and forward-declaring the iterator types
we need within the same inline namespace.
Not backported from qtbase because QT_NO_STL does not exist in Qt 5.
Change-Id: I6742d540f6538a30aa060a4447c288cfb9cd781d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Include mm3dnow.h the way we already include the (S)SSE{3,4} and AVX
instruction headers: by checking that the compiler is set to support those
instructions besides verifying that QT_HAVE_3DNOW evalues to true (which
only means the compiler supported them when the build was being configured).
This has not caused a problem in most cases so far because GCC protects its
mm3dnow.h header with an #ifdef __3dNOW__ (contrary to what it does on, say,
pmmintrin.h). clang's mm3dnow.h, on the other hand, does not have that check
and can fail if -march is set to, for example, i386 or i486.
Not backported from qt5 because qtbase because qsimd_p.h does not include
the 3DNow! headers after commit a1b30b49ef09bef2e97b9a0622bf7ad622678fee.
Change-Id: I15ab5e936c71c55f89c3f25777ab27fbd262e9cd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
These containers don't make sense and will just result in no action
being taken (all items added will simply be discarded), but it
shouldn't crash due to a division by zero.
Task-number: QTBUG-27339
Change-Id: Ib9acf5c0a9a826e6853e7beaf5e56511fde98dc6
(cherry-picked from qt5 commit 320c4e31e124f99601399d00935362b587c77510)
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
|
|
|
|
|
|
|
|
|
|
|
| |
Generate worse code.
This is similar to Qt5 commits 46bfd84fdc24fa3e3e721a5dda6cfbebe75be073
and c69106d1bf66d64e046c4f639542457151187dfc.
Task-number: QTBUG-25336
Change-Id: Idd61c23d2b528db9d8c7895df008b9c1b0e2a2a4
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
| |
French_Morocco locale was introduced in CLDRv22.1 and already exists in Qt5
Change-Id: I4f0452f421cf074eb2c4fae22351d430d5f02e42
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
... because e.g. QHttpMultiPartIODevice does not implement seek at all
(QTBUG-30295), which would make resetting such a device fail.
(cherry picked from commit 804a067846cd90e3ca31f985d539c8d75d654d82)
Change-Id: I8ba1ef76cc6e7f5ebf0b39c9a75e3aea26980b82
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
|
|
|
|
|
|
|
|
|
|
| |
postEvent() accesses it with the postEventList mutex locked, but
processEvent() was checking it without any mutex locked.
Change-Id: I31bbb50f7a1c337067b8e3de16ee7cd11400b517
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from qtbase/bf3a5ccef13d568662f027be62280aba1f73bada)
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This decouples it from qAbs which is declared as a constexpr under
certain compilation flags and enables for qtbase to be compiled with
GCC 4.8
Change-Id: I78e02256ffc8b460ca74ae5241e77dfac4e09ba9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry-picked from qtbase commit d9ff510f02bba63dabe7a081a68296056a89ae4c)
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|