The QWindowSystemInterface mouse functions now have keyboard
modifiers parameter, make use of them.
Task-number: QTBUG-21743
Change-Id: I65ba1095825b81d575d314c1de2a45cef28e697a
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
The QtWidgets module doesn't contain any code that needs these custom
compilers (that code has been move to QtGui).
Change-Id: I655e478908bfa0b646e68210f6215d9ffbb1f81e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
When normalizing timevals, we need to bound the tv_usec member to
0-999999 inclusive, otherwise select() may return EINVAL.
When rounding timevals to the nearest millisecond in the UNIX event
dispatcher, pass the timeval through normalizeTimeval() when returning.
As discovered on Mac OS X with tst_QFutureWatcher, starting a 10 second
timer would end up calling select() with timeval = { 9l, 1000000 },
resulting in numerous "select: Invalid argument" warnings being printed
to the console.
Change-Id: Ic539e935bf847e0d4c22a73ad203e3a7a81d0690
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Assigning an int variable to itself is unnecessary and pointless, remove
them.
styles/qplastiquestyle.cpp:932:23: warning: explicitly assigning a
variable of type 'int' to itself [-Wself-assign]
width = width;
~~~~~ ^ ~~~~~
styles/qplastiquestyle.cpp:939:23: warning: explicitly assigning a
variable of type 'int' to itself [-Wself-assign]
width = width;
~~~~~ ^ ~~~~~
Change-Id: I0118874028bf43992bcce07f87b46b48868436cc
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
The 'worker' function argument shadows the class member of the same
name, and 'worker = worker;' assigns the function argument to itself,
not to the member as intended.
examples/tutorials/threads/movedobject/thread.cpp:69: warning:
explicitly assigning a variable of type 'QObject *' to itself [-Wself-
worker = worker;
~~~~~~ ^ ~~~~~~
Change-Id: If4adf486a86a4ba4e7f7040a7771a70b7dd9aa86
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Was marked internal earlier because of missing implementation. That
should be now in place.
Change-Id: I9005da4455299386556e567847474c8d8b6fd5ea
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Note that the uiloader test has been moved
from qtbase to qttools (see QTBUG-19453).
Change-Id: I326fa0da435701eeaad7026160e3203a27cb3666
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
The qtipc autotest needs to live in qtscript due to dependencies
to that module. This commit is the first of two steps to move qtipc.
The second step is a commit in qtscript that adds qtipc there
(with a proper reference to the first commit, i.e. this one).
Change-Id: I233ee459be76fd1938868c05232ce732cfc913a8
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
To increase the effective test coverage, this patch
re-enables the tst_qopengl test case as such, and
instead disables only the test functions that are currently
failing in CI.
Task-number: QTBUG-22453
Change-Id: Ifa9ccab81efb1577767465c150fc64a9d9e3f8e0
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
QMetaType::isRegistered and QMetaType::typeName are quite expensive.
To compare two custom objects we need to have their type name (for
dereferenced comparison). If the name exist we know for sure that the
type is registered and we do not have to call QMetaType::isRegistered
anymore.
Change-Id: Iba631e012504c8633868a902880fa30d38afb917
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
That was strange that QPolygon was know to QMetaType class but QPolygonF
not.
Change-Id: I67bb99644b8b1d0fe1aec730619d8048cb78219b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Each QVariant instance has internal storage which may be
used for well-know basic types. This patch changes the
behavior by delegating type dependent operation to QMetaType
class which knows more types than QVariant itself.
The patch significantly reduce amount of code in QVariant
implementation.
There are few side effects of this patch:
- better performance:
* for Core types when using Gui (QGuiVariant is able to
construct Core types)
* for small custom types (QVariant::Private::Data is used for all
types that has size small enough)
- comparing two QVariants can give different result for small custom
types (binary comparison instead of pointer comparison)
Change-Id: Ic17fa500d6a882110bfba896fd456c8e6c7a63a9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Currently one of the most common coding pattern, when working with
QMetaType types, is to switch over all types ids to convert a given
type id to a real c++ type. The pattern is not perfect, because of:
- code duplication - to convert type id to a real type a user has to
write own switch case
- maintenance - adding new type to QMetaType::Types doesn't propagate
to other parts of code.
Proposed type switcher can solve the issue by switching type id and
delegating found c++ type.
The class is created for internal use only and was created to simplify
common problems in QtDeclarative, QtScript and QVariant.
Change-Id: I0567ef908024b3b05ee18126f98a73a74748fbd2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
From time to time it is necessary to know from which module a type comes
from. This information couldn't be part of QTypeInfo as id doesn't work
for forward declared types.
QTypeModuleInfo should stay for Qt internal usage only.
Change-Id: Ia53747c88293fc0cdaffef919b94c653412779d3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
QMetaType::Type enum is the main source of type ids. Currently
there are many tasks that can be replaced by a smart macro that
can iterate over all types. The patch introduces series of FOR_EACH_
macros that may be used for code generation.
As the first step the macro was used for Q_DECLARE_BUILTIN_METATYPE
to make sure that no type was forgotten.
Second step was to use created macros in autotest to improve tests
coverage.
Change-Id: I34e9ad7bacf02b44b028bc1aad20b1241aacebd3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Many enumerator values were not handled in msbuild_objectmodel.cpp. For
each unhandled value, add a case statement that simply breaks.
Change-Id: I018fc5e641200568c88ccc6acb3f5b6ee6b3fd6f
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
QTRY_COMPARE is now part of qtestlib, so there's no need for copies of
it.
Change-Id: Ied4e7d3b30c1cf16ddcbf8655e4d976e74c2bd8a
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Currently, qInstallMsgHandler() does not return the
handle to the default message handler. This patch defines
a default message handler. This is returned by
qInstallMsgHandler() when called for the first time. A call
to qInstallMsgHandler(0) will restore the default message
handler as was the case previously.
Change-Id: I42f06654d45fb0e633f3c6d912fc8f05c23249aa
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Two problems:
- The signal cacheCredidentials was not connected in the synchronous
case while it must be connected. (Regression when the threaded http
was merged)
- We cannot cache the credidentials when we proceed the url because
at that point, we do not know the realm (this basically reverts
9bc5a32b875b812c3a706034c8c27614f86bd138)
Task-number: QTBUG-18411
Change-Id: I8ea11fa23db4314c3f17ed06d2d7f9ee934ccdba
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Since platform font database will be populated in QFontDatabase::load,
no need to do it here in QFont::initialize.
The change was in cd781b732e but lost
in previous merge.
Change-Id: Iaa56fea5765d94e4f7b58409654bc218808086cd
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
... as did browser vendors.
Tested manually with affected CA certificates.
Reviewed-by: Richard J. Moore <rich@kde.org>
(cherry picked from commit e1d6df4e5931ee49b4b68dd5a33146f5639268b7)
Change-Id: I5bf6c147abf6d2de0f313d65faa2d9a1e9684cea
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Apply the same solution to QFileInfo (no public detach(), but a
non-inline d_func instead).
Change-Id: I31c4c759f44a0649b97f7884b078b174c9c00f22
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The initial change to eliminate v8.pro was
incomplete - see 803b7d651c.
Change-Id: Ia2c996d247f8b19380363f3e0409d38d3b839fdb
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
This change moves utf8/ into corelib, thus
allowing corelib.pro to be deleted.
Change-Id: Ib1b4e0930ac0e116d9bbc242a6dfb63ae5785d19
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Commit 0fd8514a57 ensured that
the showAsTool test function is now properly QSKIP'ed for
platforms where it is always known to fail.
This change re-enables the test case as a whole so that
the passing test function may actually catch real Qt bugs again
(without being ignored by CI).
Task-number: QTBUG-22453
Change-Id: Icfe56558f8c0f4b50dbbc21d9748df6d81fea4fe
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
QWS is not supported for Qt 5, so the QWS tests are deleted.
Change-Id: I08837fbd879915bbca9f821fad3551450eb3a1c6
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
The previous fix a05270f435 is not correct,
QPainterPathPrivate(other) should be QPainterPathPrivate(), as there
is only a default ctor for QPainterPathPrivate and ref is initialized there,
use copy ctor just copies the ref value which makes all detach() calls broken.
Add an unit test for this as well.
Change-Id: I658f0a977664d5ec523af3f8a48c1a866eda6ab0
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Move subpixelPositionForX from QTextureGlyphCache to QFontEngine,
since some font engines like QFontEngineFT may need a custom
implementation or tweak it a little bit.
In QRasterPaintEngine::drawCachedGlyphs, do not add aliasedCoodinate
to x offset as that will break subpixel positioning.
Change-Id: Idbcec617509459b80965220ceb07b17737649bbf
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
The method was missing from QVariant perspective (QVariant::isNull
supposed to call isNull not isEmpty).
Change-Id: Ic1ac9f662e275ac73908809f2c4ac59679b40b00
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
Re-add base class initialization accidentally removed by
e277575987.
Fix warning: 'base class 'class QPainterPathPrivate' should be
explicitly initialized in the copy constructor.
Change-Id: Ie94fa82eeeb3a8ddc69aef447f73ce36da616916
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
The minimum compile version is 0x050000 now, it cannot be less. Remove
checks for 0x040200 in the widget code, which provided compatibility in
the 4.x series for binaries compiled with 4.0 and 4.1.
Change-Id: Ia01da90de26dca6aeeb79d29c754cbeeecf809af
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
The qobjectperformance test is a kind
of performance test that asserts that the
time it takes to emit a signal to a certain
number of receivers does not exceed a certain
time.
other/ currently seems to be a sensible place for
such a test. Alternatively, it could have been put
next to corelib/kernel/qobject/.
Change-Id: I5c9461b62984f5806d1f6940123d30ef9f9f5a37
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
v8 may be specified directly as a subdirectory in
tests/auto/auto.pro instead of indirecly referring to v8.pro.
Change-Id: I95d8c788fa67958372795519036cd8aec835b324
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Categorize dialogs using a toolbox and add an
options groupbox for dialogs that have options flags.
Besides example usage, this allows people implementing
platform native dialogs to play around with the options.
Change-Id: Icc0fd00382332b11783271ef15a0583c18758784
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>