It's perfectly valid to have a path of /c:/a.txt on Unix, so don't
strip the leading slash unless we're on Windows.
Task-number: QTBUG-20322
Change-Id: I721bd0a65b41048bc735d4eaa0d536174164fe64
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Since this test began to run again on Mac, it has been passing
consistently.
Task-number: QTBUG-22748
Change-Id: Ia81cf60b11d45fb331b5eca5d13df00556c18e07
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Some declarative tests (e.g. 24319) need more fine-grained control
over processing the simulated touch events.
Change-Id: Ib163cfd29254016ea16e8d739ad97369b6ccdc90
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Declarative used to have some issues when the MouseArea event handlers
spinned the event loop: subsequent mouse events were all lost. Let's
add an autotest also for QGuiApplication to make sure the same problem
won't occur there.
Change-Id: If5c3b4f58dad609efb302d2ca932493680ffdf13
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
It's not enough to check for UNIX because Qt may have been configured
without dbus, or we could be running on APPLE (on which DBus is not
commonly installed).
Change-Id: Ic57200dad42c0c12b292d1066f799c827294fe9a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Add qSetMessagePattern() to configure the default
message pattern. This one can still be overwritten by setting the
QT_MESSAGE_PATTERN environment variable.
Without this method, there's actually no way to change the
default output programatically. Since QT_MESSAGE_PATTERN is
evaluated when the first message arrives, setting it via e.g. qputenv
might have no effect/be too late.
Change-Id: I115e0c30606f128fdbf5c169a951ffa2a6a48517
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Looks like I failed to update this earlier, when the behaviour changed.
Change-Id: Ic020c2a14d4e9153f2bc9d22d943a3a380c0851c
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
QRegExp matching methods modify the object, which we don't want to. In
particular, when we receive a QRegExp from the user or we store in a
context that might require thread-safety, make sure we make a copy
before using it.
QRegularExpression has no such shortcoming.
Task-number: QTBUG-25064
Change-Id: I7c5f5ebf4521c32337c9ea9aeeef50e1e8690bf8
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
This allows the compiler to produce better / smaller code due to not
being required to deal with two pointers possibly aliasing each
other. This also enables vectorisation where otherwise the compiler
wouldn't be able to do.
Change-Id: Ie7db3a54a1ba22f87ac5283d5c43905707957549
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
These functions are too critical to be called. They should always be
inlined.
Change-Id: I698dc6d83e02c323759c6d066f17993340bd53a5
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
In Qt4 QLocalePrivate is a struct returned by a d() method. This will be
unsuitable for the planned change to use ICU and may cause BIC issues.
This change makes QLocalePrivate a class and creates a new struct
QLocaleData to hold the data index. Further clean-ups are possible
but are left for later.
Change-Id: Ie316a07790f74674a3b520b735dff72695cc4060
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
We do not need operate on raw QByteArrayData, QByteArray gives us
better, stable API, without any performance penalty.
Change-Id: Idf47af2333c3694e81dcd31cd07d1a4720046df7
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Switch on most of the tests (all but the bearer tests), marking the two
known failures as insignificant tests.
Change-Id: I17f228a938de1a23eddf897f494bfa4e54338dae
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
While linux returns the local address of dual mode sockets as "::"
i.e. the IPv6 address, OSX returns "::FFFF:0.0.0.0" i.e. the IPv4 address.
In the unix socket engine, treat both of these as candidates for
being a dual mode socket. This should hopefully cover other unixes
which we haven't tested.
Task-Number: QTBUG-25445
Change-Id: If1251018d54da98618223ba538c00ba54ac4cb4e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
1. Body elements to include type, property, method, signal, enum info, so:
qmlDetail to
- qmlTypeDetail
- qmlPropertyDetail
- qmlEnumerationDetail
- qmlMethodDetail
- qmlSignalDetail
2. Same thing for a section that contains elements specialized for QML, so
qmlDef to
- qmlTypeDef
- qmlPropertyDef
- qmlEnumerationDef
- qmlMethodDef
- qmlSignalDef
Rationale for both items above is that otherwise the body and section
content models would have to be exactly the same for a type, property,
method, etc.
3. For the import statement use:
<qmlImportModule>
<apiItemName>QtGraphicalEffects</apiItemName>
<apiData>1.0</apiData>
</qmlImportModule>
So we have an element indicating that this is for the import
statement, not an outputclass. And no need to specialize the elements
inside it as we know from the ancestor (qmlImportModule) what they're
for.
<qmlImportModule> to be specialized from apiDef.
4. The 'description' section name doesn't need to be specialized further from the API ref. DTDs so
<qmlDesc> should be <apiDesc>
The content model for the 'description' section would be similar to that of a normal DITA section, specialized into apiDesc in the API ref. DTDs, so we don't need to rename it for QML.
5. We need a separate element for the since information.
<qmlSince>
<apiItemName>QtGraphicalEffects</apiItemName>
<apiData>1.0</apiData>
</qmlSince>
6. Public identifier should be like this for a type:
-//NOKIA//DTD DITA QML Type//EN
Not like this:
-//NOKIA//DTD DITA QML API Type Reference v0.1.0//EN
Change-Id: Ie9047965bf32a2e3e9339eb743f2019cb38c88e4
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
This test had two stable failures, caused by including code not meant
for Windows.
Task-number: QTBUG-25298
Change-Id: I43d9d62ecf5a3c6eec240fafbc43a625c00f45fa
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
This test has only stable failures. Mark those failures with
QEXPECT_FAIL and re-enable the test.
Task-number: QTBUG-25296
Change-Id: I5615700ec8119a827c30e43ae651a684e78170fe
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
The timeout given in milliseconds should be converted to a timespec
struct.
To separate the seconds and nanoseconds the milliseconds are first
multiplied to represent the whole value in an int64 variable.
The calculation is done on integers, so we get an overflow if the
milliseconds are bigger then 2148.
If we cast the given value to an int64 we can avoid this problem.
Fix the used cast.
Task-number: QTBUG-24795
Change-Id: I864ae227cf7dda16a6f30aa4db74acc49e20f6eb
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
The previous solution didn't work on systems where the libraries
aren't in the same location.
Now we search for both libcrypto and libssl and load them if their
versions match, even if they are in different directories.
Task-number: QTBUG-25398
Change-Id: I37164638890586947d07670d8a59fc53a84f9c42
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Let Qt::FramelessWindowHint take precedence over
Qt::WindowTitleHint (which enforces WS_CAPTION and thus
WS_DLGFRAME).
Change-Id: I2c0248d8a3ee3ed0f04b926acdef3cbeb98ca571
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
- Specify main.cpp with full path to avoid obscure link
errors (grabbing main.cpp from windowflags)
- Set proper flags on the test window.
Change-Id: I9bbaf9cb5c7e210f53a51b58bd48a827d6104fe2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
This test only has stable failures. Mark those with QEXPECT_FAIL and
re-enable the test.
Task-number: QTBUG-23674
Change-Id: I0e6cfe4f1992410bbc27b266f7bdafa14451aff7
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
The test has one stable failure. Mark it with QEXPECT_FAIL and
re-enable the test.
Task-number: QTBUG-23681
Change-Id: Iade17cbbd1570863bb628572d8da52ec9c0f62ba
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
This test function recently became unstable in parallel with the change
to re-enable the test. Skip the unstable function until it can be
fixed.
Change-Id: I0fb962aa3294a0c9b799acee52ab1fb1cd1c6924
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
This doesn't seem to be documented -- or if it was, the documentation
has been changed.
Task-number: QTBUG-23269
Change-Id: Ie7aa51aeb251bfaa3d0018fbac4adc9517c97fa0
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Up until now, the macros would return an internal type that contained
the pointer to the data. This breaks code that tried to use the macros
with operators, like QStringBuilder but also when writing:
QStringList() << QStringLiteral("a") << QStringLiteral("b");
This change seems to work fine now and I can also verify that this
works:
const auto str = QStringLiteral("Hello");
Even though it creates a QString, which is non-POD and non-constexpr.
Change-Id: Iaf82af9bea4245513a1128ea54f9d2d3d785fb09
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
qdoc now <apiName/>, when there is no name.
Change-Id: I0aa85eef633776f691c9e2238514194cf89b8a8f
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
qdoc now generates DITA XML from QML docs according
to the QML specialization.
Change-Id: I51d93c2ab3b1deefab9bbedcd2e752f49648809f
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
This test has only stable failures on Mac. Mark those failures with
QEXPECT_FAIL and re-enable the test.
Task-number: QTBUG-25298
Change-Id: I1c768226dfeb9307386e8853091baa68936bed29
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
The SIGNAL/SLOT/METHOD(x) macros prepend a character between
'0' and '2' inclusive, and not '0' and '3'.
Change-Id: Ibdbf442422925a43f956b2ba70f1f9c6a2812305
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The workaround should no longer be necessary.
It causes compile errors for MinGW since the command lines
are too long.
This reverts commit 6225e3ba01.
Change-Id: I0288f4621f072b91dc94f25092ef124fa4c1b09e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
QRegExp matching methods modify the object, which we don't want to. In
particular, when we receive a QRegExp from the user or we store in a
context that might require thread-safety, make sure we make a copy
before using it.
QRegularExpression has no such shortcoming.
Task-number: QTBUG-25064
Change-Id: I6b2d2530238a7e04b44859664a2962f2f466ee30
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
This will allow me to use them in qcompilerdetection.h.
Also, leave them defined.
Change-Id: I73cb39e3cfcc2463d1d47a856e4a64354ebe743c
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Previously the method attempted to reset only as a last resort.
Now reset() is deprecated and resetting must happen between emitting
modelAboutToBeReset() and modelReset(). Since this suffices in all
cases to notify views that they must reinterrogate the model, it is no
longer necessary to signal explicitly row removals and insertions
within the scope of the reset.
Additionally, fetchMore() is now called within the scope of the reset
so insert signals do not have to be emitted here either.
This improved handling of resetting in QSqlQueryModel also allows the
cache in QSqlTableModel to be cleared directly at select().
This change may actually allow views to operate more efficiently since
they no longer have to react to separate row removal and insert
signals. Views can avoid pointless deallocation and reallocation
by considering row count only after the reset is finished. The cost is
that the columns and horizontal headers must be considered in the view
at each setQuery() call. In any case, it is not clear that trying to
be smart about this in the model justifies additional complexity.
Tests had to be adjusted where they expected explicit row removal
and insert signals.
Change-Id: I4f7eac1419824361d7d9bdcc6a87092b33e80d7a
Task-Id: QTBUG-25419
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
Change-Id: I776a3eb0d7ada4399b8c191bbfa1e3ed9236b20e
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
This will allow the CI system to run the tests. The tests are only
run if cmake is found.
Change-Id: Ie73a56114c151871160bafcbf0b90b2d54620855
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>