Don't call window->handle() inside the backingstore ctor, because
we might still have the window ctor in the call stack
( ex: a QWindow sub-class that creates a backingstore inside it's
ctor).
Crash can be reproduced by running examples/gui/analogclock.
Change-Id: I4622ceaeb05696c5ae0181a528f58e5d102dcb22
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
With trailing spaces in some cases, we would not get the
"no justification at end of paragraph" special case, and continue
in the code, getting the unexpected case where line_length becomes
< 0 which would lead to memory corruption because we were writing
outside our buffers. I added an assert to catch this type of bug
earlier, and I added the trailing spaces to the test for the end
of the paragraph.
The test case added is one example which would crash.
Task-number: QTBUG-27354
Change-Id: Id720a6fa55dbc709ce04dd5321e55687bf960d75
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
As they are built-in, they are effectively registered at compile-time
already.
Change-Id: I7ae6ba16088eab5d19213fa7b07c2a7760988a86
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Omit its value in the documentation.
Change-Id: I474faefde23b0e2e0a77a9e6391fd556a6523128
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
The CompareEdges functor class is never used anywhere. Clang saw it
through to the static function that never got used:
qtriangulator.cpp:227:12: error: unused function 'comparePoints'
[-Werror,-Wunused-function]
static int comparePoints(const QPodPoint &u, const QPodPoint &v)
^
Change-Id: I67d821e454daf82bd8107bf20f787aff9496e878
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
qxcbnativeinterface.cpp:246:8: error: unused parameter 'context' [-Werror=unused-parameter]
qxcbcursor.cpp:550:85: error: 'root' may be used uninitialized in this function [-Werror=maybe-uninitialized]
Change-Id: I5fa4e717c86d0e8198e501e6c799e0ceb9264708
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
trolltech.com seems to be shut down already
Change-Id: Ic90ce01aeb51b6f154b9bbf4762c365a398c9e3d
Reviewed-by: Simo Fält <simo.falt@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Otherwise it is possible to assert if
qRegisterMetaType<QList<QSslError> >("QList<QSslError>")
is called in a TU which does not include the Q_DECLARE_METATYPE
invocation.
Change-Id: Ice1ffbb0f8d0a745d2bffc8b4e13ca31621e8ca4
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
This patch allows single selection to be cleared with the normal
control modifier. This affects e.g QTreeView and QListView.
Task-number: QTBUG-8836
Change-Id: I7fd50b987acc3552b36657409568192763257536
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
There is no reason those function shouldn't be static. This produces
no change in code, except that the functions may be better optimised.
Change-Id: Ia60b81d4e29a36190a453e8c7c8102c8f547e1a9
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
...if writing system is already known to be supported
Change-Id: Id7ea11e92507a283b2fba2ad944dd0a9772e484d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
qeglfshooks.h:77:21: error: 'hooks' defined but not used [-Werror=unused-variable]
Defining a static variable in a header file is a terrible idea. But if
I remove it, other code breaks and I don't have the time to fix them
all.
Change-Id: I4f94cbc7f0790df91853662749701e8fb11c2347
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Task-number: QTBUG-28875
Change-Id: If72ce0669de8f344603d2da53eeb5644bd5c4f82
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Profiling shows that the cost of QAcccessible::
queryAccessibleInterface is dominated by plugin loading.
(json parsing etc.)
Cache QAccessiblePlugin per class. Also cache the fact
that no plugin is found for a certain class. This speeds
up the average queryAccessibleInterface call by a factor
of 10X
Change-Id: Iab6d052dec499a2203d1dcc4672a8a543b279239
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
For qwineventnotifier.h, just wrap the code around #ifdef Q_OS_WIN. This
has the added benefit of fixing the current qt_no_master_include problem
(that is, even if you #include <QtCore> on Windows, you wouldn't get
it).
For qtypetraits.h, it requires qglobal.h first.
Change-Id: If1ba09a0a29de429a5b87e9878c8ac6a62a443c4
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
kernel/qwidgetsfunctions_wince.h:61:34: error: no newline at end of file [-Werror,-Wnewline-eof]
Change-Id: Icbc35227946652db53fc8454d1d42043aa7c15b9
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Going through QLocale and QString is not really needed.
This also makes the result of the conversion of negative numbers
in bases other than 10 independent of the architecture and
implements the documented behavior of treating them as
unsigned types.
Change-Id: Ibc231dc5241deb5cbadd9796484a8b5f79c29410
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Clang reports:
graphicsview/qgraphicsitem.cpp:1779:13: error: function '_q_qgraphicsItemSetFlag' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration]
static void _q_qgraphicsItemSetFlag(QGraphicsItem *item, QGraphicsItem::GraphicsItemFlag flag,
^
According to the public Git history, in Qt 4.5.1 this function was
already unused. The only reason it wasn't caught so far is that it is
recursive: it calls itself. So it is used... by itself.
Change-Id: I6fc6b33cb314b845525dc9315d0ad742e113d5cd
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
qsql_psql.cpp:774:12: error: enumeration value 'CancelQuery' not handled in switch [-Werror=switch]
qsql_mysql.cpp:1163:12: error: enumeration value 'CancelQuery' not handled in switch [-Werror=switch]
qsql_sqlite.cpp:527:12: error: enumeration value 'CancelQuery' not handled in switch [-Werror=switch]
qsql_odbc.cpp:88:97: error: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Werror=format]
qsql_odbc.cpp:706:76: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
Change-Id: I79965283057e92a44a0c8375530cfb30107c891c
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
It's deprecated and it's not available on iOS anyway. The recommended
way of getting the number of processors online is via sysctl or
sysconf (both of which are just slightly below).
qthread_unix.cpp:397:13: error: 'MPProcessorsScheduled' is deprecated: first deprecated in Mac OS X 10.7 [-Werror,-Wdeprecated-declarations]
Change-Id: I4bf60985fbde155b78b840f3de3ff0a142b78b19
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
qbenchmarkvalgrind.cpp:229:5: error: variable '_qzz_res' set but not used [-Werror=unused-but-set-variable]
Change-Id: I3c5896659105650d6d824b10ff3beffbdf494e24
Reviewed-by: Jason McDonald <macadder1@gmail.com>
The Linux futex implementation had a Q_ASSERT for positive values, but
the documentation says that negative values should be interpreted as
infinite (equal to lock()).
Test that too.
Change-Id: I2f96a502d672732781e88e49797756ca9a809121
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
qtconcurrentfunctionwrappers.h:277:22: error: 'QStringList' was not declared in this scope
Change-Id: I54c48386d90146c872679672a1d8cc3675d49c39
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Requires C++11 rvalue references and variadic templates so we can
implement perfect forwarding.
Change-Id: I62e47d1ffd0c61e8386f9f246aa79031b7430b46
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
QUrl::fromUserInput("http://") was invalid, which doesn't make sense
since QUrl("http://") is valid. Same for "smb:" which is actually
even more a valid URL from a user's point of view.
Change-Id: I371ac393d61b49499edf5adbbc2a90b426fe9e5d
Reviewed-by: Marco Martin <mart@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Some things needed to be corrected for testing with PSQL, this was
checked against the the PostgreSQL documentation to confirm that the
exepected behaviour is correct.
Change-Id: I45a6b343e9eb920fcae2a62910ecc956abcac0f0
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
GCC was complaining:
qevdevtouch.cpp:475:13: error: 'maxId' may be used uninitialized in this function [-Werror=maybe-uninitialized]
Which got me scratching my head: maxId was unconditionally initialised. How
could GCC be complaining about it being uninitialised? Well, turns out that
bestId could be uninitialised and the code does:
if (bestId > maxId)
maxId = bestId;
Of course, if bestId was uninitialised, the warning should have been in the
"if" line first.
Change-Id: I5e174ab2957d76ad040c14fa6ef8535129b6dce3
Reviewed-by: Laszlo Agocs <lagocs83@gmail.com>
The code was copied from the main parser there, so remove the
duplication.
Change-Id: I85748f6f76b3097ff22958d9de67cfa27061a72b
Reviewed-by: David Faure (KDE) <faure@kde.org>
These cases weren't handled before.
The validateComponent function is copied from QUrlPrivate::parse, with
the added modification that it now needs to check the gen-delims for
the userinfo.
Change-Id: I055167b977199fa86b56a3a7259a7445585129c6
Reviewed-by: David Faure (KDE) <faure@kde.org>