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>
Avoid QHash randomization so that the order of the XML attributes is stable
This was causing intermittent failures.
Change-Id: I4cc0dba4b0c2ec36601f3b06fb17ff80005cc9fb
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
(cherry picked from commit aa434bc908)
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>
These OpenGL examples require a Desktop OpenGL and will
not build with OpenGL ES 2.0. This means those examples
do not build on Windows with the default configuration
using ANGLE.
ANGLE is wrapping OpenGL ES 2.0 to DirectX and does not support
the full Desktop OpenGL feature set.
Since this is confusing for Windows users that do not know about ANGLE
this patch adds an explicit error message describing the solution.
(configuring Qt with -opengl desktop)
Task-number: QTBUG-28590
Change-Id: I782e6830b9e282ddcc8a2ee0a47faf3579d36aab
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from commit 63693430c7)
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>
Avoid failures caused by minimum window widths on Windows Areo/8.
Task-number: QTBUG-28611
Change-Id: I9affcce84ab804a45fa1a12fb93ad0136e6ae877
Reviewed-by: Oliver Wolff <oliver.wolff@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>
More QVERIFY()s were added in the meanwhile to the test function,
so we can drop this one.
Change-Id: If6f137f45ba606b61d6a7004556a667ed316b61f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
QGraphicsItem::setActive() is by design not guarded against calls that
do not change the current activation state of the item (e.g., calling
setActive(true) on an active item or calling setActive(false) on an
inactive item). This is to ensure that it's possible to set explicit
activation state on items, either before they are added to a scene, or
while the scene itself is inactive.
Before this fix, calling setActive(false) on a panel item that is not
currently active would by accident clear activation from any other
panel that might have focus. After this fix, activation is only cleared
if the item setActive() was called on itself is the active panel, or
is the panel that will regain activation once the scene is reactivated.
Task-number: QTBUG-28544
Change-Id: Ic4752f1e4400f9a0660bc968834747610212bb52
Reviewed-by: Bjørn Erik Nilsen <post@bjoernen.com>
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
This signal is emitted by QGraphicsScene whenever focus changes in the
scene (i.e., when an item gains or loses input focus, or when focus
passes from one item to another). You can connect to this signal if you
need to keep track of when other items gain input focus. It is
particularily useful for implementing virtual keyboards, input methods,
and cursor items.
Task-number: QTBUG-10570
Change-Id: I9cbbd9a2d15d6f568e1597c2c33ec049eb70f793
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Linguist examples are now in qttools.
Change-Id: I8abfff50d81cda143a080711bf9583e7be777009
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
(cherry picked from commit d64c4662f0)
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Remove docs and images for Multiple Inheritance and Text Finder
examples that were moved to qttools/uitools.
Change-Id: I29e8f76b2512e329c354a6d3676c9b2e09e35726
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
(cherry picked from commit a0a4c06736)
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
move QT+=widgets (and printsupport) statements before the install
statements, and de-duplicate some cases.
also move some TARGET assignments to a more conventional place.
Change-Id: I6140d8611680f66c24490e5894e4eb90cae95635
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.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>
These OpenGL examples require a Desktop OpenGL and will
not build with OpenGL ES 2.0. This means those examples
do not build on Windows with the default configuration
using ANGLE.
ANGLE is wrapping OpenGL ES 2.0 to DirectX and does not support
the full Desktop OpenGL feature set.
Since this is confusing for Windows users that do not know about ANGLE
this patch adds an explicit error message describing the solution.
(configuring Qt with -opengl desktop)
Task-number: QTBUG-28590
Change-Id: I782e6830b9e282ddcc8a2ee0a47faf3579d36aab
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@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>
When building Qt static, plugins get module .pri file, but those files
do not get installed in Windows. This is because both .pri generation
and install target statements are scoped with !build_pass, which means
Makefile.Debug and Makefile.Release do not get install_pritarget
target.
Fixed by doing only the .pri generation in !build_pass scope.
Task-number: QTBUG-28606
Change-Id: If3f49b578af1d9171a8bce67793ecb3f902a6da8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
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>
This changes behavior, but I would argue it's a good change. If you
create a panel and activate it (e.g., by simply showing it or reparenting
it onto an already-visible item), you expect the panel to gain focus /
which is sort of the whole point of activating it. Prior to this change,
you had to have explicitly called setFocus() on one of the panel's
children, which would give that item subfocus, for that item to auto-
gain focus when the panel was activated. This change makes it more
automatic. If the panel itself or any of the widgets in its focus chain
can gain focus, they will gain focus when the panel is activated.
So the new logic is - if the panel already has a focus item, so if
someone explicitly set subfocus on an item before the panel is shown,
that item gets focus. Otherwise, if the panel itself can gain focus
(e.g., someone makes a line edit / text edit panel), it gains focus
when activated. Otherwise, we search the focus chain until we find
the first item that can gain focus. This last case is the file dialog
case, where the dialog itself can't gain focus but typically the
first item in the focus chain is the primary focus widget, such as
the search field or the directory list view.
The change also fixes this for the first Tab. If you clear focus on
a panel, the user expects to be able to press Tab to regain focus.
Prior to this change that didn't happen. Now, the panel or the first
in the focus chain that can get focus gets focus on first tab.
Task-number: QTBUG-28194
Change-Id: Id7ec1741d0d5eb4ea845469909c8d684e14017f1
Reviewed-by: Jan Arve Sæther <jan-arve.saether@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>