| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The IA-64 architecture supports the actual memory ordering semantics
in many instructions, but not all. We actually implement the functions
for all operations, so we get the best possible output.
It does support proper load-acquire and store-release semantics, but
we don't need instructions for it: the ABI requires that a volatile
load be acquire and a volatile store be release.
The Intel and HP compiler codepaths are rewritten, but untested.
Change-Id: I7aa62a4ec65f63a97d1bbd8418bb2492c2be465f
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The LL/SC instructions are only present on MIPS II and up, so don't
pretend to support MIPS I. The previous implementation emitted the
instructions by telling the assembler to change instruction sets. Now,
the user must pass an -march= option to GCC telling it which
architecture or processor is being targetted.
On MIPS64, the 64-bit implementation allows supporting for long long
too.
Change-Id: I6dae6f8f61e563aba6a663227d91c5ddf554aa6a
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The implementation is divided in two files, as it used to be in the
previous implementation: one for ARMv5, one for ARMv6 and up.
For the ARMv5 implementation:
Drop the non-Linux EABI version of the atomics, as it's not
ABI-compatible with the ARMv6 and ARMv7 implementations. This
means this ARMv5 implementation only works on Linux. If other
systems implement kernel helpers like Linux, they can be added
too.
We use the __kernel_cmpxchg located at 0xffff0fc0 to implement the
operations, except for fetchAndStore, for which we use the SWP
instruction.
Also introduce the use of __kernel_dmb (at 0xffff0fa0) for the
memory barrier. Now this code is SMP-safe even when built with
ARMv5.
The kernel cmpxchg helper was introduced in Linux 2.6.12, whereas
the dmb helper was introduced in 2.6.15. That means 2.6.15 is the
minimum version now.
For ARMv6 and up:
Introduce byte, half-word and doubleword atomics that work on
ARMv6K and up.
For ARMv6 specifically, the memory barrier instruction (DMB) isn't
present, so we need to accomplish the same with the MCR
coprocessor instruction.
Change-Id: Ife7f9b920bcc7d1eef7611761f6c59ea940ec7df
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The input type needs to match the output type, otherwise we get this
error:
src/corelib/arch/qatomic_x86_64.h:288:25: error: unsupported inline asm:
input with type '<dependent type>' matching output with type 'T':
"0" (valueToAdd * QAtomicAdditiveType<T>::AddScale)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Change-Id: I26d4efdbcab089dea71ef08e3e65df5b7482865a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both implementations now are very similar to one another, to the point
we could share the code if we wanted to. They are based on assembly
code for the Relaxed functions only, as the i386 and x86-64
architectures only allow for full memory ordering or something that
closely resembles it (see 8.2 "Memory ordering" in the Intel 64 and
IA-32 Architectures Software Developer's Manual Volume 3A). We could
add "lfence/mfence/sfence" in future versions if we wanted to (SSE2+).
Change-Id: I76966d9f8694edfece2c5ebd3387348fac721447
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code is now much simpler and much more complete. Now the bootstrap
atomics (which aren't atomic at all) contain the full set of
operations.
The only integer supported is int, but all others would work too.
Change-Id: Id99f07818f9da059c4ff02520f9cbf2d1a71a514
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This flag has been deprecated since Qt 4.4, so remove it.
tst_QApplication had 2 nearly identical tests, one for testing the
QEventLoop::DeferredDeletion flag, and one to test sendPostedEvents()
with QEvent::DeferredDelete. The latter is the preferred way, so keep
that test, but remove the test for the obsoleted flag.
Change-Id: Icdb7483c32b3c920bda31d2bbb4f7414ece6d826
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
|
|
|
|
|
|
|
| |
The plan is to make it the default mkspec for Qt 5 on Mac OS X.
Change-Id: I49cf619a06fd7155dfbddc377558327b4be09cef
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When set in configure it would be written to .qmake.cache and would only
apply when building Qt. We then had an override (that was also out of
sync, version-wise) in the g++ mkspec, which would also apply to apps
building agains Qt. This override did howerver not apply when using
the Clang mkspec.
We now move setting macosx-version-min to the common macx mkspec, shared
by both g++ and Clang, which will apply both when building Qt and when
building something against Qt. The latter since an application built
against Qt will not deploy on versions of Mac OS earlier than 10.6
anyways, so we might as well always set the minimum-version.
The modifications to the mkspecs will result in macosx-version-min
being passed twice when compiling qmake, as configure writes its own
makefiles and the mkspec parsing in configure has a bug where it will
lazily evaluate qmake-variables instead of evaluating them inline. This
is not a problem, and can be fixed in a later patch if seen fit.
Change-Id: Ib29503ad00a9dc00e0a50b0dbd9459e89a20dfbd
Reviewed-by: Zeno Albisser <zeno.albisser@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-23686
Change-Id: I566f3b3491576325389862bac2ad7c8526dd930b
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
|
| |
Qt::WA_UnderMouse is not working at the moment, causing this test to
fail.
Task-number: QTBUG-23685
Change-Id: If167311b09ba8fc3d04d056590588b595825c443
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
| |
This test currently fails on Mac, mark it as insignificant.
Task-number: QTBUG-23681
Change-Id: I7355cda953966778d651fafaff837f1083eeb3f4
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
| |
This test currently hangs, preventing the autotest from finishing.
Task-number: QTBUG-23677
Change-Id: I3c5f56c10735d65fb35de4e22a1e2e6414532309
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
The shortcut0 test data fails, indicating that keyboard navigation via
shortcuts doesn't work on Mac OS X for the time being. Mark the failure
as expected.
Task-number: QTBUG-23684
Change-Id: I199222a87c09e6f491e5dcd21c9f65c28ecbb86d
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
| |
QStyleFactory cannot create the Mac style, so skip the test for now.
Task-number: QTBUG-23680
Change-Id: I2ae61aab152cd8a4e6a7270902df40dd3cc6df3b
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
| |
This tests has numerous failures on Mac OS X, ignore the test for now.
Task-number: QTBUG-23674
Change-Id: I29bcfd379a6a13f9859e96c5cc6dc7e932feaf4a
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-23678
Change-Id: I6ced2aa9392f2688ee982113addef7fffcf4b9f2
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
| |
Mark current failures as expected.
Task-number: QTBUG-23679
Change-Id: Ic574dbb0fea3a21ef9963ef16bdf85da4c809036
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Each QCocoaAccessibleElement needs to provide a
unique stable id through the -(NSUnterger)hash
method.
The previous approach of basing the hash on the parent
hash plus the child index is unpractical now that
childAt() can return distant descendants instead
of immediate children only. Use the QObject pointer,
which is set for all accessible interfaces today.
Change-Id: I5868e3a81c1b4da7233504f30003ab8060e9fa3f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is no guarantee the touches will be listed in the same order in
an update: the platform/generic plug-in, the drivers, etc. are all
free to shuffle the list of touch points in each report (even though
the order is fairly stable with most systems).
Therefore, to be safe, move and release events should be generated not
from the first point in the list but from the one with the matching
id.
Change-Id: I6615224cbf2cfdc440143eb3191482a23d85c6a4
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This seems to break a number of tests using the qmltest library.
Functionality will be restored in a future commit, once the breakage has been
identified.
This reverts commit fdedb49b76b8f9ad69611fbfea6b8371ae1ec3a1.
Task-number: QTBUG-23845
Change-Id: I0ca4dbd54132e4250702f06738edbad5e8fc4f36
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
have the same address
If a target object is destroyed QPropertyAnimationPrivate::targetValue
reflects this while QPropertyAnimationPrivate::target stays unchanged.
QPropertyAnimation::setTargetObject() checks if a new target matches
QPropertyAnimationPrivate::target - to bad if the former target has
been destroyed in the meanwhile but the new one has the same memory
address. targetValue is not updated in this case. It will still point
to null and QPropertyAnimation::targetObject() returns 0.
This is not just a theoretical problem - we stubled upon this in
Harmattan when suddenly animations complained that they are having no
target.
Change-Id: Ib4a9c234d04d6f8a3f7aed251d5e79471d95168a
Reviewed-by: Leonardo Sobral Cunha <leo.cunha@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qt will attempt to create a platform window with the above size and
DirectFB will fail to create the window. Make sure the width/height
is at least 1 before handing it to DirectFB.
According to Samuel it is legitimate to create a QPlatformWindow with
QSize(0, 0) and it is the job of the platform plugin to make it work.
Follow the approach of the XCB plugin and increase the size.
Change-Id: Ifc92780b46f1a73123945988d06bd21a3deb6bb0
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
|
| |
There is no need to use these, and we are trying to deprecate them.
Change-Id: I70e6f27aca322fe74c31d8ad8496f230cd29e503
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
open() to "|-" and "-|" are unsupported on Windows (see `perldoc
perlport'), so don't do that.
Let the tests write a 'config.log' file which contains the output
of the test commands.
Brings back the part fixing the pipe logic from commit
f865dc1ae44c88f6965acd09bafb01829c35447b which was reverted.
Change-Id: I5060a0885702d925001b98f2d4e84743d6ff226e
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
|
|
|
|
|
| |
Change-Id: Ibdf556428e4dbb9156c87504b923ec9600bcf871
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
|
|
|
|
|
|
|
|
| |
Remove QByteArray-construction and hash lookup in the event
handling; use an enumeration indexing an array instead.
Change-Id: I4d272b32a5ff71c8da58197cf3a0b38c1e61d489
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
|
|
|
|
|
| |
Change-Id: I6083ba122c33769cd4626f2c4a32959e535da8a4
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
|
|
|
|
|
|
|
|
| |
SidCleanup struct must not be in the INCLUDE_NAMESPACE.
Change-Id: Ic51f1734af583c0ba7f715f7b27f314211e698c5
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: hjk <qthjk@ovi.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit e08453f31ae2a195f86a763f0b1c5e617df0e1ce added a check which makes
sure qt prints an error message instead of segfaulting when it can't
connect to the X11 server.
However, libxcb will never return NULL from xcb_connect() and thus that
commit only works if XCB_USE_XLIB is defined and used.
Change-Id: I8cc1496494a94f07055a3ac5093ce362dd347c5b
Signed-off-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
| |
Change-Id: I29979c80e401f5d6c2c2b38c4e502340f2025a12
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
|
|
|
|
|
| |
Change-Id: I3fc538862c7334914ec9e4331ef2d3db5c699ea9
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The draganddrop examples all crashed here because they were using a
default-constructed QImage() (i.e. one without any content).
I guess this happens here because I don't have any mouse theme set.
To test, one could start a second X server, but without any WM or DE.
The "evil" QImage() came from QGuiApplicationPrivate::getPixmapCursor().
This function seems to just always "return QPixmap();".
This fix is correct because the only caller has another fallback if the
createNonStandardCursor()-fallback didn't work. This caller is
QXcbCursor::createFontCursor().
Change-Id: I7ec7fbcfdf0203e983149b5e73016cc7e85ecf40
Signed-off-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-23524
Change-Id: I6a80af450b599022e9242cccec945887b871f2b0
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
|
|
|
|
|
|
|
|
|
|
| |
No point in making this protected: it breaks existing code including
the unit tests, and the base class has this method as public.
Task-number: QTBUG-23524
Change-Id: I8fae019088fc368213ff7caa4b19fe7ab60488dd
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-23701
Change-Id: Iba5b926e57c1565856d17bbfbff4d1da75645ad4
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-23703
Change-Id: I981de80d6946d3637c493bede0adb1b90a539261
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
This test no longer fails:
XPASS : tst_QFiledialog::selectFiles() '!listView->selectionModel()-
Loc: [tst_qfiledialog.cpp(915)]
Change-Id: Ib790c0f81b3d383117cceceaacbf0c3d6a673404
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
| |
Allow new failures in this test to block CI.
Change-Id: I1c7e797740be2f77f82d00943f6f2018b686481f
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
|
| |
tst_QGraphicsWidget::updateFocusChainWhenChildDie() currently fails due
to what appears to be window activation.
Task-number: QTBUG-23699
Change-Id: I404f90d32dba64d558598d97cf805b6c025e6456
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't expect failure from these 2 tests anymore:
XPASS : tst_QGraphicsWidget::initStyleOption(all) COMPARE()
Loc: [tst_qgraphicswidget.cpp(1162)]
XPASS : tst_QGraphicsWidget::initialShow2() COMPARE()
Loc: [tst_qgraphicswidget.cpp(3196)]
Change-Id: Ibd1178f8cab480fa9fad9c829083a4862749c60b
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
| |
These tests now fail with XPASS on Mac OS X, so remove/skip the
QEXPECTED_FAIL(). Unfortunately we don't know which commit fixed this.
Change-Id: Id919a2c9d56fd7c4dee8ccb8aa3293efdce603b2
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-23700
Change-Id: Ic472cea966761afc1e6e17479588b8b53ec4786c
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
| |
tst_qwidget.cpp will not build/link without tst_qwidget_mac_helpers.mm,
so re-add it to the build as well.
Change-Id: I55130f62c215c4b82683d90456e31fdb09f833a8
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the assertation triggered was rather unhelpful:
QFATAL : tst_QHash::qhash_qt4() ASSERT: "d->dataCount <
d->parent->elementCount()" in file qtestdata.cpp, line 88"
We now try a bit harder to be user-friendly.
Change-Id: I2e3a5ae27914d44fc1dc89af2a084e3d798fe221
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
| |
Replace Nokia contact email address with Qt Project website.
Change-Id: Id689fdb78727abafba033bed7b0402e2cf27aba1
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|
|
|
|
|
|
| |
Replace Nokia contact email address with Qt Project website.
Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
This test sometimes gives different results on consecutive runs, and is
therefore insignificant for the purpose of regression detection.
Task-number: QTBUG-23837
Change-Id: I8747972c5cb7952089c54cbd22e1660db551e2f5
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
|
|
|
|
|
|
|
|
|
| |
Replace the QDom based code in qdbusxmlparser
with code using QXmlStreamReader.
Task-number: QTBUG-20856
Change-Id: I294e3ebd6faa813c20806be3ae225ac00befb622
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
| |
It has long since been obsolete in code and removed from the documentation, but
was never marked QT_DEPRECATED. Do so, and inline the implementation.
Change-Id: Ic7bfdaf76269b7f9addeba83e64bc9525c581dda
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
|