Both qdoc and Q_QDOC are used in source code, which looks not good.
Change-Id: I4f3a71670278b0758d92bfa5db086a07e1b1acfd
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
qApp->topLevelAt() returns the QShapedPixmapWindow that the DnD
operation created, but what we want is the QWidgetWindow.
QWidgetWindow has the code to handle QDragMove events.
In Qt4, QShapedPixmapWidget had a parent, so was never returned
by qApp->topLevelWidgets().
In Qt5 we must filter it out. Bug is visible in the QNX plugin,
which is the only user of QSimpleDrag.
Change-Id: I920da86f3a1a92ce8e087f5948292fa4c68d4d81
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
A regression caused by 79a389 - it should only draw a styled frame for
text input widgets.
Task-number: QTBUG-28876
Change-Id: I5cda920b7db55f35e0ab6cee460c0e27951d29b9
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
The operator<= and operator>= overloads for QPoint are used only with
Q_ASSERT. Clang was correct that they are not used.
Even though they are inline, Clang reports the functions as unused
because they were inside an anonymous namespace. So take the off the
namespace. They are correct for external use, should they be exported
by accident (which they aren't now).
painting/qpathsimplifier.cpp:76:13: error: unused function 'operator<='
[-Werror,-Wunused-function]
inline bool operator <= (const QPoint &a, const QPoint &b)
Change-Id: I67415621e777fd0d59cbdede26c34d8bb13f7346
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
std::forward and std::move are not yet supported by the NDK.
Change-Id: I1df1b5e88717c0d27a280862b98eb68262927f2b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This is a refactoring leftover from commit
bb86e77cc437b92d49692bb7026c57626d77079f in qt/qt.git.
Change-Id: I04993faca44ad0ffca2ae163049770c29d232a47
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Denis Dzyubenko <denis@ddenis.info>
If the dynamic_cast failed in QSharedPointer::dynamicCast or
qSharedPointerDynamicCast, we should avoid creating the QSharedPointer
that shares the weak and strong reference counts. In Qt 5, this does
not imply a leak since the original pointer is stored internally for
deletion. In Qt 4 it implies a leak under certain circumstances, which
this change fixes.
Task-number: QTBUG-28924
Change-Id: Id2de140de4cf676461e14b201ad250c53666b79d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Those certificates have erroneously set the CA attribute to true,
meaning everybody in possesion of their keys can issue certificates on
their own.
Task-number: QTBUG-28937
Change-Id: Iff351e590ad3e6ab802e6fa1d65a9a9a9f7683de
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
This had the unfortunate side-effect that focus was reported to change
(but it didn't) just because the qtabbar was shown.
Found by clicking the different categories on the left-hand side of the
options dialog in Qt Creator.
So, what happened was that clicking "Text Editor" would move the
accessibility focus (that the AT client saw) to the "Font & Colors" tab)
Change-Id: I19a508f6a32a77696079d24c3c6408cb6c3d9fd5
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
We should only emit these when the corresponding property value changes.
Since these are changed asynchronously in the case of a platform window,
we should not emit them in the setter, as they are already properly
emitted in QGuiApplicationPrivate::processGeometryChangeEvent().
Change-Id: I5ac00601ddb4e7a8ff02376e5f5135d427913119
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Previous commit b2363a935c fixed keyboardModifiers() after QPA event
processing, but broke QTestLib, which expects spontaneous input events
sent to qApp->notify() to update keyboardModifiers() and mouseButtons().
The commit also did not fix mouseButtons() after QPA event processing,
and missed keyboardModifiers() after QPA Tablet event processing.
This commit fixes all these shortcommings in b2363a935c.
Includes test case by David Faure <faure@kde.org>
Task-Number: QTBUG-26887
Change-Id: I8518b06c4ce86ea7b35120e3353a45ea2a81d356
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
While the Cocoa documentation says we should not cache [NSScreen screens],
it seems that we should not cache its referenced objects either. This
caused a crash in desktop components when using Dial because, given
the way it is being rendered, we need to know the screen pixel ratio.
Task-number: QTCOMPONENTS-1279
Change-Id: If5c3c6f14d04925215b9dca011143a2056a68846
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
The UpdateLayeredWindowIndirect function is only available on Windows
Vista and later. If UpdateLayeredWindowIndirect is not available
(e.g. on Windows XP), use UpdateLayeredWindow instead.
Change-Id: I8af23c051560f7e54eda390dae7553543c00a94b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
This reverts commit b7f63c6bf7.
It made compilation fail in qstylehelper_p.h if QT_NO_ACCESSIBILITY
was defined - which it is by default on linux without dbus.
Change-Id: I313f5138460d28c44dad128d175df0e53a99287d
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
In the event dispatcher the timer list has to be reevaluated after
each call to filterEvent, because timers could be started in event
filters.
Change-Id: I1a275845fb74c63441f2301555f3459f8295af27
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Task-number: QTBUG-28769
Change-Id: I3f83b6011acf43e5136a762d0f8841b3a910cecb
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
It's currently not obvious that two digit years will always be in the
20th century (1900's).
Task-number: QTBUG-28797
Change-Id: I7dee9a46e0cb803a8f097debc5443d1789c2f16c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
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>
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>
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>
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>
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>
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>
this is much more elegant than the so far propagated !isEmpty(QT.foo.name).
also replace feature-specific tests (no-gui and no-widgets) and the
obsolete contains(QT_CONFIG, foo) syntax.
Change-Id: Ia4b3c8febcabf9eeca67b1f9173a523820b1038b
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
gcc is apparently tolerant against this abuse. icc is not.
Task-number: QTBUG-28775
Change-Id: I872d32177562f076ca8aecd263bc4bb3c7e8edc0
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Especially so that subclasses remember to emit reset.
Change-Id: Iadcae3fc5fe72584465d4134f385ed0a1d77bfcd
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
QDoc supports \relates in the context of a function that
relates to an existing class or a namespace, but not in the context
of a class. We can use \sa to list the related classes or namespaces
for a class instead.
This change ensures that QDoc generates documentation for QMessageLogger
and QMessageLogContext classes.
Task-number: QTBUG-28468
Change-Id: I2242ab730fe5e3acf54b6fa65774e751d2daa7a4
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Explicitly delete animations, and remove the check for stopped state
as that is already done by QAbstractAnimation::stop() and we want to
delete the animation regardless of the current state.
Task-number: QTBUG-28506
Change-Id: I3e34316e5077a8627ff5e6d3babd1873bbbaa774
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
The MinGW-w64 32-bit .def files shouldn't be used with MinGW-w64 64-bit.
Rename .def files from <library>_mingw.def to <library>_mingw32.def and
only use them if QT_ARCH is i386.
Change-Id: I5dc2a87f7d2ed59bf954faf2983d0787ed9e00e9
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Patrick von Reth <vonreth@kde.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Generalize the check for gui by checking for needs_qpa_plugin
CONFIG value instead, which gui adds to MODULE_CONFIG.
Task-number: QTBUG-28215
Change-Id: I5834a3f81e5c3868ee1a3fa405ebc6410db1f900
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
When only PG_VERSION was available for getting the client driver version
for PostgreSQL it meant that it would not detect the client version and
subsequently would not set the connection up correctly as a result.
This fixes the blob test already in tst_qsqlquery.
Change-Id: Ie2176a43b6be9c0e835498fca5aea129f0cc8fc6
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
The location of the mkspecs directory comes from the archdatadir, which
distros will all set.
Change-Id: I20dbdce76db13dbd37eec065009e215f98985907
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
If the pixmap passed in is null then we should not try to create a
NSImage for it, so we just return 0 instead.
Change-Id: Idae7ba304c97878e0aa8ae1eead5f4bb644a73de
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Terms fixing. Changes apply to Qt5 as well as Qt4.
Change-Id: Ibb31ab0d68c62f3feb63722dd967932c2543fa37
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This should also remain working for previous connman
Change-Id: I5f0a1947f11948b202391ba0c256067faa01ce6d
Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
It needs the QTest namespace and QTest::qWait to be declared.
Change-Id: I1c72a13231603a61221cf1b7ad9234aa4cba6d60
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
qatomic.h includes qbasicatomic.h, so break the cyclic inclusion
problem.
Change-Id: If72bacbcfa36993336786f31e8980fbd43df8bdc
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Some implementations seem to not have the gtk_adjustment_configure
function implemented so we check for this so that there is no problem
when it tries to use it.
Task-number: QTBUG-23569
QTBUG-25760
Change-Id: I777ce09268f86907f3da3cede408c9a41be566cf
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Karim Pinter <karim.pinter@digia.com>
MinGW-w64 32-bit requires the functions exported in the .def file
to be decorated.
Change-Id: I174a92829706a9fb6b0007b2c057300bd69e6d9e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The updates for focus/selection in QTreeView
were still adding +1 as it was required in Qt 4.
Task-number: QTBUG-28174
Change-Id: Ib9fea7e20d431a0ef0db18494e7bdda06a0646b0
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
The long int type is incorrect for Windows 64-bit as LLP64 is used
there.
Change-Id: If4ccf49d6bb0cd7ba4ff2997cebfdbe5e7e9711c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
On X11, the X resource system can override the physical DPI of
the screen for resolving font sizes etc. Correctly load the
setting and adjust the logicalDpi() accordingly.
Change-Id: Id60d03d1d214fb99e9de17a65976abd170bb7cca
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Especially with the newer QML accessibility we
can end up with events for objects that cannot
instantiate a QAccessibleInterface.
Let's not crash in that case.
Change-Id: Ie5d38315f32d30540eb4adcb74a7b3bfa667f03f
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Symbols in dlldata.c conflict with symbols defined in ActiveQt
when linking Windows platform plugin statically into same binary.
Fixed by not building dlldata.c when building static library.
Task-number: QTBUG-28645
Change-Id: Ibc5928124ad6e1fde2a1fa761ada4f345eb65a20
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
qtypeinfo.h is included by qglobal.h, so it needs to include that before
the #ifdef. Otherwise, we get a circular dependency problem with
qflags.h:
./QtCore/../../src/corelib/global/qflags.h:60:27: error: "Q_PRIMITIVE_TYPE" has not been declared
Also, take the opportunity to fix the other headers that are included
from qglobal.h to avoid similar problems in the future.
Change-Id: I99a56f42775c24bdcc796995b06509c1ca0cb849
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
(cherry picked from commit 797f3c0a01)
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
When the print panel was closed then it would clean up the printinfo
and if it was requested for the same QPrinter then it would not be
recreated in time. Therefore we check if it is initalized and if not
we re-initalize it.
Task-number: QTBUG-28657
Change-Id: I7dc9011b80e03cfa3eae8fee2fcf6cc8021a8566
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
(cherry picked from commit dde9569d38)
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
- The qdoc pages were related to qtcore and they were
referring to snippets inside the qtcore module boundary.
- Fixed the exampledirs for QtCore to include the examples
that are referred by the \snippet instances in the
moved qdoc pages work.
Change-Id: Ibb6dbb131920ea8692a203f6145863e5012e4602
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
(cherry picked from commit 69e6029411)
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
qtypeinfo.h is included by qglobal.h, so it needs to include that before
the #ifdef. Otherwise, we get a circular dependency problem with
qflags.h:
./QtCore/../../src/corelib/global/qflags.h:60:27: error: "Q_PRIMITIVE_TYPE" has not been declared
Also, take the opportunity to fix the other headers that are included
from qglobal.h to avoid similar problems in the future.
Change-Id: I99a56f42775c24bdcc796995b06509c1ca0cb849
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
The keyboard mode is shared between applications.
You can reproduce this bug by clicking on a spin box,
it will open a number only keyboard, then close the application
and run an application that shows a text edit: a number only
keyboard will appear.
PPS keyboard already does this.
Change-Id: Ia22e96ce13ad0cec1fd3b43fcdf4d03abfc25134
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
When the print panel was closed then it would clean up the printinfo
and if it was requested for the same QPrinter then it would not be
recreated in time. Therefore we check if it is initalized and if not
we re-initalize it.
Task-number: QTBUG-28657
Change-Id: I7dc9011b80e03cfa3eae8fee2fcf6cc8021a8566
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
When disconnect()ing through a QMetaObject::Connection, if the
QObjectPrivate::Connection contains a slot object, deref it, so
that it will be destroyed before the next run of cleanConnectionList.
Previously, a copy of the functor passed to connect() was kept until
QObjectPrivate::cleanConnectionLists was called (by adding a new signal,
or the sender was destroyed), even after a successful call to
disconnect(). That is, we were keeping that copy allocated without
any good reason.
Change-Id: Ie6074ea797df1611cb995dec07c5b5a742360833
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
The QObjectPrivate::Connection refcount was not decreased
when disconnect()ing, therefore it was kept alive by the
owning QMetaObject::Connection object.
This removes a leak in case the QMetaObject::Connection
survives the sender object, after a successful disconnect().
Change-Id: Ie2ea59b269a0e589ae23c1457df7533be77c0797
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
qt is already added by spec_pre.prf, warn_on and depend_includepath by
default_pre.prf.
Change-Id: Ic00e0ba496d698ed9659c476f2ca99fc0f86a093
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
It appears this method has been copied from ActiveQt. When building
Qt statically, linking Windows platform plugin into any application
that also uses ActiveQt will cause error about duplicate symbol.
Renamed QVariantToVARIANT to QVariant2VARIANT to avoid conflicts.
Renaming is done here rather than ActiveQt, as that symbol is in
exported header in ActiveQt.
Task-number: QTBUG-28645
Change-Id: Id0d7fc51d4455b463515e7c6178798ad61217c35
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Makes tst_qgraphicsitem::tst_focusProxyDeletion not crash.
valgrind reported the error when running tst_qgraphicsitem. The crash
was very real; when deleting an item that has another item as a focus
proxy, the proxy still had a reference to the deleted item's focusProxy
pointer. I'm not a huge fan of whitebox testing but thought this crash
justifies a modification of the test to make it fail, instead of just
passing silently with a warning only given by valgrind and friends.
FTR the reason the test doesn't crash hard is that the memory is freed
but not reused within the scope of the test. So the access to the
pointer d_ptr->focusProxy succeeds, it just accesses memory that might
as well have been reclaimed. But this is quite undefined...
Task-number: QTBUG-28321
Change-Id: I2624631f5e5c2a8aa8bd4efe1fc128eba6c61f56
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Building ANGLE with MinGW results in too many symbols being exported in
the DLLs. Always use DEF_FILE on Windows to limit the symbols exported
and eliminate symbol conflicts when libEGL/libGLESv2 is linked by other
libraries that include their own version of ANGLE (e.g. QtWebKit).
Change-Id: I7bb1f90d9996eabf30095323e9399efa1c23e3a1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Check if the accessibility element is valid before
calling childAt.
Change-Id: Id63c11f18b262c3c3a839db8ee2d11c0d7adc822
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
This makes it possible to use accessibility with
QQuickWindow.
Change-Id: I5fccd5f25021c4953b03e146705f48a198dbaaa7
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Modified AtSpiAdaptor::notify to handle enabling and disabling widgets.
Change-Id: I9a23f74d891aaf123d7fc094bdf63e384e1d65fe
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Adding a new private method to simplify notifying that the state has
changed as it is something that is frequently done in AtSpiAdaptor::notify
Change-Id: Idf21715b5d20212adb301ae9bca05f1edfc19946
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
For moc, rcc and uic, then it's friendly for tools like ccache.
ccache is using md5 to check file modification, but the different
timestamp info will cause different md5 for same meaningful
contents, it will disabled ccache.
Updated the autotest for uic and rcc.
Task-number: QTBUG-26589
Change-Id: I9f1dcf6cd826ad9603af6e183757bcd748c32bd1
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
The first branch is required to MSVC. The bitfield isn't large enough to
represent all possible enum values of Virtualness for MSVC.
In addition, using bitfield is a premature optimisation in this case.
So remove them.
Change-Id: I4c5f85271d2bca1411426e6a321a795a7e783aff
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
On Mac it was not starting the dialog with the specified directory when
one was present. If a filename was given as well then it would start up
fine.
Task-number: QTBUG-28161
Change-Id: I7cce0d065dd57e6433ce62380d4263d6e20b6e7c
Reviewed-by: Liang Qi <liang.qi@digia.com>
The enum was already deprecated but the documentation still listed it
so now it is correctly obsoleted.
Change-Id: I9d64fe58a5e70de7161928da2d09b4532d450274
Reviewed-by: Liang Qi <liang.qi@digia.com>
We need to do bounds comparison on the actual offset we're going to use
with _mm_load_si128 to read 16 bytes from memory (even though we won't
use the trailing bytes in the end).
Task-number: QTBUG-28324
Change-Id: Id0d6094da796ca67338d8ad225fa6b2f309bbe6e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
This only effects compilation with DEBUG_QSHORTCUTMAP.
Change-Id: I184e644f2165049336cee8a6ac63a3301cf4c849
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
- The qdoc pages were related to qtcore and they were
referring to snippets inside the qtcore module boundary.
- Fixed the exampledirs for QtCore to include the examples
that are referred by the \snippet instances in the
moved qdoc pages work.
Change-Id: Ibb6dbb131920ea8692a203f6145863e5012e4602
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Delete the interface if it's not returned.
Change-Id: Ia1e1f94d14584ab3af1b89a0baac5d343ffdd1f4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Autorelease ("delete later") the created attribute
name array.
Change-Id: I2d7af9eb1fd899f04c8acb90204600a2dd43fa20
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Fix off-by-one error. QAccessibleInterface::child()
is 0-based, start the iteration at childCount() - 1.
Change-Id: I0c841b692adab0aae4e8ac44c7d308cd7a176ac8
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
The function is massively ineffective on deep hierarchies
and not strictly needed. (It's supposed to filter out
"Ignored" children - VoiceOver will do that anyway based
on accessibilityIsIgnored())
Change-Id: I9a74b5f5e9b7880e0d46d5330f7192472eac7a36
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Corrected in qkeysequence.cpp
Link from external-sites not working
So, entered hardcoded url.
Task-number: QTBUG-27512
Change-Id: I5b8d25d2b1f4f4fb0d57d2306de7f1b7c3dc40e3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Font styleName support was disconnected since Qt switched to QPA
fontdatabase. Now add the code from Qt 4.8 back to enable this in
QPA.
Change-Id: Iab2cbfd5468f87542183348c2123ca4b2c270692
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
(cherry picked from commit fa7661d8b2)
Use localized family name and style name when selecting font with
non-English locale
Task-number: QTBUG-27415
Change-Id: Ie81507ed011fc096e0f5edad146e97c392e86494
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
(cherry picked from commit 3c09f6bc9a)
Due to preparation for GTK3 support, QGtkStyle::drawXxx() no longer
creates a local instance of QGtkPainter upon every call, but
QGtkStylePrivate::gtkPainter() will (in the future) dynamically choose
between QGtk[2|3]Painter. The same painter instance is now re-used
between the calls, but wasn't properly reseted between.
Task-number: QTBUG-28557
Change-Id: I29be318dbb54d97ed23dfb88d406a3a833db4369
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
(cherry picked from commit 0b0b74a563)
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Font styleName support was disconnected since Qt switched to QPA
fontdatabase. Now add the code from Qt 4.8 back to enable this in
QPA.
Change-Id: Iab2cbfd5468f87542183348c2123ca4b2c270692
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Use localized family name and style name when selecting font with
non-English locale
Task-number: QTBUG-27415
Change-Id: Ie81507ed011fc096e0f5edad146e97c392e86494
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
QGLTextureCache::remove(qint64 key) locks the QGLContextGroupList mutex
before removing a texture. Removing the texture might cause the
QGLShareContextScope construct to be invoked, which calls
QGLContext::currentContext(), which will wrap a current QOpenGLContext
in a newly created QGLContext. That also triggers the creation of a
QGLContextGroup object, which will register itself with the
QGLContextGroupList, an operation that again will lock the
QGLContextGroupList mutex. To prevent this from deadlocking we make the
mutex recursive. The whole QGLShareContextScope approach is really
broken and should be replaced, but for now it's what we have in QtOpenGL
(QtGui has the replacement QOpenGLSharedResource).
Change-Id: Id1ff69035af3f31b690892c03f74748d052a278b
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
The QX11Info class needs this.
This required adding the missing nativeResourceFunctionForScreen
in QPlatformNativeInterface.
Change-Id: I2c6e91c7f122f3ecdf769a177deafd2aa3896e2f
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Alberto Mardegan <mardy@users.sourceforge.net>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
This increases consistency a lot: all windows and dialogs from a Qt
application will show the app display name in the caption, on Windows and X11.
This helps identifying which app a dialog belongs to, which is especially
useful when the dialog is very generic and shows up unexpectedly.
For compatibility reasons, the app name is added to the caption only
if setApplicationDisplayName() was called -- or if the caption would be
completely empty. The standard Qt4 case (setWindowTitle + no display name)
is unchanged.
Change-Id: Ib284c62c1f4c0bc923e5bc2d10247d95e9aa76c1
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
translateMouseButtons() was only able to correctly handle the left,
right, and mid mouse buttons. Thus, if any buttons outside of those were
pressed, the motion notify event would basically unset the mouse button
mask, leading to a release event being sent instead. Later on, when the
actual release event arrives, that button gets xor'ed into the empty
button mask generating another press, and later another motion event
will generate a release. In the end that means two press-release
sequences are sent for any extra mouse buttons.
Instead of getting the mask of the buttons currently being pressed from
the event, we need to keep track of the mask ourselves.
Task-number: QTBUG-28561
Change-Id: Iaa67e784a13d792deef8fc29dbd5456a5471a861
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Rick Stockton <rickstockton@reno-computerhelp.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
We also need to detach() the taken value in case the compaction triggers and
modifies the underlaying data.
Change-Id: Idcdeba4236b8e208d107d41be2decbdfc5721300
Reviewed-by: Bjørn Erik Nilsen <post@bjoernen.com>
Reviewed-by: Denis Dzyubenko <denis@ddenis.info>