Commit Graph

26168 Commits

Author SHA1 Message Date
Joerg Bornemann
1949f24faf Fix wrapper batch file names for flex/bison in ANGLE build
The wrapper batch files were called wrapper.bat for both, flex and
bison. Resolve this conflict by providing proper tool names.

Change-Id: I7987f94976abc29302c9f6a696faa5c7d1fb030d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-01-08 18:51:21 +00:00
Oswald Buddenhagen
e707d02cc8 un-nest enabling .la creation from enabling .pc creation (again)
now that we don't create .pc files for private modules any more, the
conditionals cannot be nested.

amends 6c5d227da, partially reverting aa20e7f9d.

Task-number: QTBUG-49763
Change-Id: I2578c83e0c767b6533abdb26bf4e8bcc8c416ef1
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-01-08 18:51:17 +00:00
Oswald Buddenhagen
2fe363514c don't build with explicitlib on unix
judging by the history, this was only ever a workaround for poor rpath
handling. we're supposed to be over that.

Change-Id: I85601493a05a76ead999e707a2d2e9a430610981
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-01-08 18:51:13 +00:00
Oswald Buddenhagen
5783a915c4 don't rely on transitive dependencies
Change-Id: Ide872b452e02ebefb3eeb51464c8d59e8bf58bc4
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-01-08 18:51:02 +00:00
Laszlo Agocs
9d0181f0f7 windows: bump OpenGL blacklist version
Change-Id: If27c36de850b55907143e2b8a412fa8ac458fe97
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-01-08 13:35:31 +00:00
Oswald Buddenhagen
889fcfbf2b fix quoting in makeabs()
'local' is treated as a command, so its arguments need to be quoted,
unlike in a real variable assignment.

amends 4b557751e.

Change-Id: I5a4c929e52e2344a6129c8e9dd4c0c80cd408ff0
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-01-08 12:40:14 +00:00
Thiago Macieira
bc108d7c7e Work around GCC 6 warning about offset outside bounds of string
This is a false positive because the only offset that can be outside the
bounds was the last one (-1), which could not be reached in this line
because of the qBound on the line before limiting the maximum value.

The -1 wasn't generated by the Perl script embedded in the file anyway.

qdbuserror.cpp:142:64: error: offset outside bounds of constant string [-Werror]

Change-Id: I24a735698d3c4a719fc9ffff1425f8aad5e5978e
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2016-01-08 11:36:13 +00:00
Oswald Buddenhagen
09c9286300 fix doc builds in paths with spaces
Change-Id: Ie76411e3a4a8df69ff9b12a18480d1a987fac639
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2016-01-08 09:36:30 +00:00
Oswald Buddenhagen
d3518b7525 Revert "use bindir instead of libdir when launching tools on windows"
proper prefix builds don't have the redundant .dlls in bin (the copy
step is simply omitted), so this is broken. the change would have to be
done atomically with making DLLDESTDIR sane.

This reverts commit 9b2e98245a.

Task-number: QTBUG-50065
Change-Id: I9ce0a2d1147a1a2d4bd2f22e619d5c737864a637
Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com>
Reviewed-by: Tim Blechmann <tim@klingt.org>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-01-08 09:36:25 +00:00
Oswald Buddenhagen
c0efee2f26 add always_prepend mode to qtAddToolEnv()
this is just an optimization/clarification: variables which are known to
be never empty (like PATH) can be extended with less convoluted code.

Change-Id: Ib365bbec8301673ed1c874979b4de19bc983dab1
Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-01-08 09:36:20 +00:00
Oswald Buddenhagen
282f15feaa rewrite qtAddToolEnv()
the primary purpose is making env var prepend mode work for unset
variables on windows. this is achieved by using a conditional and delayed
variable expansion. however, the latter is disabled by default and can
be locally enabled only in batch files. therefore, write wrapper scripts
and substitute them for the actual commands. we do this also on unix,
both for consistency and simply because the commands look much less
confusing.

this change is slightly backwards-incompatible, as invoking
qtAddToolEnv() multiple times on the same command will now make a total
mess. also, invoking it on a command that contains 'make' macro
expansions isn't a good idea, so testcase.prf needed an adjustment. the
function is an undocumented internal, so Nobody Should Care (TM).

this also reverts 80ebedecf9, as it's obsolete now.

Change-Id: I8394b77868b495abcf27b688996ca74c40b80994
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-01-08 09:36:13 +00:00
Simon Hausmann
c7797184f0 Prospective fix for running cmake tests with -no-widgets
Don't try to run test_interface when Qt is configured without QtWidgets.

Change-Id: If6c376c250215c1d639b06881d16c0141091f288
Reviewed-by: Stephen Kelly <ske@ableton.com>
2016-01-07 19:29:36 +00:00
Stephen Kelly
5001f6ceba Fix mac build with -no-widgets
Unused parameters are errors.

Change-Id: I79782a8094491a953d6e838e6b8c5b9d6327f30a
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-01-07 15:34:52 +00:00
Laszlo Agocs
6f69a313bd Fix offset and size for native child rtt widgets
Render-to-texture widgets that are native children may have a non-zero
offset telling the position within the top-level widget. The size is
usually different (smaller) than the tlw's size as well.

An unfortunate optimization attempt led to ignoring the size for native
children with offset (0, 0). This resulted in interesting rendering
artifacts whenever such widgets were placed in the top-left corner of
the toplevel. This is now corrected.

Task-number: QTBUG-48130
Change-Id: If449610c3f3333cb73ae149efaefd7ef42953951
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
2016-01-07 15:17:00 +00:00
Shawn Rutledge
b2203b2490 doc: correct documentation of QT_AUTO_SCREEN_SCALE_FACTOR env var
Change-Id: I4fa57279b23911893a615fe8a3ce9854d0fec971
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
2016-01-07 15:07:57 +00:00
Marc Mutz
c38b14e251 Fix UB in tst_QSharedPointer::basics()
Binding a reference to the nullptr is undefined
behavior.

Just skip that particular test when 'ptr' is null.

Found by UBSan:
  tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp:258:32: runtime error: reference binding to null pointer of type 'struct Data'

Change-Id: I125588b9d269a6f76716d660d03142f409513885
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-07 13:00:40 +00:00
Marc Mutz
9c7be0a7ec Fix UB in tst_QDialog::showExtension()
Don't cast a QDialog to a subclass it is not.

Fix by creating it as the required subclass in the
first place.

Found by UBSan:
  tests/auto/widgets/dialogs/qdialog/tst_qdialog.cpp:203:20: runtime error: downcast of address 0x2b5f5000ad40 which does not point to an object of type 'DummyDialog'
  tests/auto/widgets/dialogs/qdialog/tst_qdialog.cpp:203:46: runtime error: member call on address 0x2b5f5000ad40 which does not point to an object of type 'DummyDialog'

Change-Id: I63ae7e782bda6a78d11af5c2bc2f7d88aacd0ac0
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-07 13:00:32 +00:00
Marc Mutz
f5291bf8b4 Fix UB in tst_QObject::noDeclarativeParentChangedOnDestruction()
If QObjectPrivate::declarativeData is set, it is
in various places in Qt expected to point to a
QAbstractDeclarativeDataImpl, from which ownedByQml1
is unconditionally read.

In noDeclarativeParentChangedOnDestruction(), the
declarativeData pointer is, however, set to a local
QAbstractDeclarativeData instance, which, being an
empty class, has size 1 and alignment 1.

Depending on the compiler's idea of bit field order,
this code either read uninitialized data from the
dummy object, or else some random stack memory outside
any (valid) object.

What caught UBSan's attention, though, was the
difference in alignment between the two classes:

  src/corelib/kernel/qobject.cpp:917:9: runtime error: member access within misaligned address 0x7fffc9cf706f for type 'struct QAbstractDeclarativeDataImpl', which requires 4 byte alignment

Fix by providing a properly initialized object of the
correct type.

Change-Id: Iae83a949ee5a7bc98df13e35ea614c063085fa13
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-01-07 13:00:28 +00:00
Błażej Szczygieł
7409e3a42b QtGui: Don't set screen to a child window when processing screen events
Setting a screen to a child window causes a warning message. This patch
prevents the debug message by catching incorrect behavior made by QPA
earlier.

Change-Id: Idf3ac02290a18afc134f19c2b91348dc009ca4ca
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-01-07 11:02:35 +00:00
Błażej Szczygieł
7e28079484 QtGui: Fix obtaining the top level window at a point
Find the top level window on the primary virtual desktop first to avoid
obtaining a window which doesn't belong to the primary virtual desktop
when screen geometry is similar.

Change-Id: I78fdfa0b5146d0ba9b912338adeb612c102c4ac3
Reviewed-by: Adam Majer <adamm@zombino.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-01-07 11:02:28 +00:00
Volker Krause
eb0b03c579 QPair<QRunnable*, int> is too large for QList to be efficient-ish.
Qt3D is making heavy use of this, causing the QList node allocations
to be among the top 10 per frame allocation sources. Switching to
QVector fixes that.

Change-Id: I3b4df329710f82bf8d6797ea1f0c79b288a08063
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-01-07 07:59:37 +00:00
Ralf Habacker
d3fe4f066f dbus: Print out 'serial' and 'serial reply to' with DBusMessage operator<<.
The reply serial is displayed for method call returns and errors,
while the serial is displayed for all message types.

To see a message serial it is required to dump messages after
sending, not before.

Task-number: QTBUG-44490
Change-Id: I859f50d739ed059d5b2dfe1a2efdf04b906891a7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-07 07:43:16 +00:00
Ralf Habacker
618e2cc081 dbus: Add method serial() and replySerial() to class DBusMessage.
This patch includes setup of class member 'msg' in
QDBusMessagePrivate::toDBusMessage() to be able to get the
serial after message sending.

Testcases for comparing the 'reply serial to' with the 'serial'
are included.

Task-number: QTBUG-44490
Change-Id: Iae7c48f5b0c70a6c5ae500904072b38b46dfd876
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-07 07:42:35 +00:00
YAMAMOTO Atsushi
c09412fcea Windows: Fix QWindowsInputContext for Japanese IME.
Change the QWindowsInputContext::composition if it is called
with lParam has flags GCS_RESULTSTR and GCS_DELTASTART,
it doesn't call endContextComposition.

Task-number: QTBUG-49955
Change-Id: I49de3f239bf8a77414e433b255db08f227141158
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Takumi ASAKI <takumi.asaki@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
(cherry picked from qtbase/786984e7e47a63094ad64ec86a4892cc5c0ad6d4)
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-01-07 07:21:21 +00:00
Marc Mutz
bccbb70de5 Fix UB in tst_QMetaType
Don't pass around meta-type IDs in QMetaType::Type
variables. It leads to reading values from an enum
variable that are invalid.

Fix by passing the IDs around as int.

Found by UBSan:
  tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp:408:5: runtime error: load of value 4028, which is not a valid value for type 'Type'

Change-Id: Idd106ee3d7960fe3d8fefc0fc5830fc22d38a513
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-06 22:07:09 +00:00
BogDan Vatra
e9eb32f332 Android: Activate Qt::Popup windows
On Android, back button will send a CloseEvent to the focused window.
This change will activate (focus) the Popup windows when they'll become
visible.

Task-number: QTBUG-46419
Change-Id: I6787435b24502bbf9a78662a0c6fd159d4ee2e8d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2016-01-06 18:17:04 +00:00
Marc Mutz
033205bb59 Fix UB in tst_QIODevice::getSetCheck()
The reinterpret cast from a QTcpSocket → QAbstractSocket → QIODevice
to MyIODevice → QIODevice was undefined.

Fix by simply instantiating a MyIODevice, which must then inherit
from QTcpSocket, of course.

Instead of fixing the class name in the overridden setOpenMode()
method, simply make the base class' implementation public with
a using declaration.

Found by UBSan:
  qtbase/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp:84:22: runtime error: member call on address 0x7ffcca2d23f0 which does not point to an object of type 'MyIODevice'
  0x7ffcca2d23f0: note: object is of type 'QTcpSocket'

Change-Id: I939b3548949b9b5765df4a6cc81875e169fd69dd
Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-06 17:25:05 +00:00
Błażej Szczygieł
b50f0244c8 QDesktopWidget::screenNumber(QPoint): fix handling of virtual desktops
On X11, QXcbVirtualDesktop represents an X11 screen while QScreen
represents an X11 output.  In the case that there are multiple screens
(possibly with multiple outputs), calculate the screen number correctly:
Find the screen index on the primary virtual desktop first to avoid
obtaining a screen index which doesn't belong to the primary virtual
desktop when screen geometry is similar.

Change-Id: I4cbb29b7aa7cd2125759ffbbbe3db4e934feaeae
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-01-06 16:02:20 +00:00
Błażej Szczygieł
1606a0e508 QDesktopWidget::screenNumber(QWidget*): check virtual sibling screens
Find the root widget only when more than one virtual desktop exists
and find the screen index using virtual siblings from this root
widget.

Use intersecting rects instead of middle point to obtain the screen.
This can help to get the screen index when the middle point is outside
the screen geometry, but part of the window is still on the screen.

If the widget is completely outside the screen geometry, -1 is
returned.

This commit amends: a6b2a4642f

Change-Id: I80247fc1956a82c487ee6f728d1576bf48b28748
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-01-06 16:02:13 +00:00
Błażej Szczygieł
f3114120f2 QtGui: Don't set a screen to a child window
This is a partial revert of eaa3a9d010

Task-number: QTBUG-50081
Change-Id: Ic3dc4daa90d7a968a4ebf45d3029c99a12985686
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-01-06 15:58:36 +00:00
Marc Mutz
4f48c3a309 Add missing qxml_p.h to src/xml/sax/sax.pri
Change-Id: I32acaebd53d8bee23f509ed404e360c1004f4a58
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-01-06 13:55:49 +00:00
Marc Mutz
14a5a175ae QFontDialog: optimize allocation of QFontDialogOptions
Use QSharedPointer::create(), to fuse control block and
payload into a single memory allocation.

Change-Id: I8d87c73566c3be960e957ec0b5419a77da2fc8c9
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-06 13:54:59 +00:00
Marc Mutz
caee8f6107 Unbreak ubsan developer-build
GCC 5.3's undefined-behavior sanitizer checks that the
declared type of the object is a base class of the
dynamic type of the object on each access to a member
of a class type.

It therefore requires the typeinfo for these types,
which for polymorphic types is emitted in the TU where
the vtable is emitted, too.

QFileDialogPrivate is a polymorphic non-exported class,
so this failed at link-time. Ditto for the other cases.

Fix by autotest-exporting the classs.

Also, where applicable, de-inline the dtors, so the
vtable (and typeinfo) are pinned to one TU, and the
ctor, just because it's the correct thing to do.

Change-Id: I2b7dba776282a2809c80eb2bc36440d7d698f926
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-06 13:54:45 +00:00
Oliver Wolff
6060ffff88 Fixed recently added "excess colon in front of brace" qmake warning
Change-Id: I3a650bb4e27cad00f639e6445c36fa8b69edb5b9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-01-06 13:47:40 +00:00
Joerg Bornemann
6e823d2832 WinCE: Remove QIncrementalSleepTimer from QProcess::waitForFinished
Remove a superfluous loop and thus the usage of QIncrementalSleepTimer
from QProcess::waitForFinished. We just wait for the process handle.
There's no need for a loop that checks multiple wait conditions.
This enables us to remove QWindowsPipeWriter from the Windows CE port in
a subsequent commit.

Change-Id: If6a82405227cf145263dba3726bae959e6871d0e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-01-06 13:07:50 +00:00
Marc Mutz
50ab7c16d4 QString: prevent resize() from shedding capacity
...even if reserve() hasn't been called before.

[ChangeLog][QtCore][QString] resize() will no longer shrink the
capacity. That means resize(0) now reliably preserves capacity().

Change-Id: If499a20990bbf3a20553da14e50a42918d310c9f
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-06 13:07:31 +00:00
Harald Meyer
81ee6e763e Fixed crash on iOS devices due to unsupported selector.
Added check for traiCollection selector.

Task-number: QTBUG-50159
Change-Id: Ie3efafe9e22e59aef862a681ad733f2bb0a5ba49
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2016-01-06 13:06:16 +00:00
Friedemann Kleint
a62132b22c Diaglib: Output more information about QWindow.
Output surface class/type, screen name and scaling factors.

Task-number: QTBUG-50206
Change-Id: I88d3494962b29985cd9e492c1761361b73e0172e
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2016-01-06 13:04:59 +00:00
Edward Welbourne
4f7a72c1ef Remove doc for non-existent QTest::qCompare() variant.
There's no variant with bool first argument.

Change-Id: Ib18b50ed6271d21253d075dc72b6e2b8744cf131
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
2016-01-06 10:03:49 +00:00
Friedemann Kleint
e8747d9e9f Windows/DirectWrite: Dynamically load GetUserDefaultLocaleName().
The function is not available on Windows XP.

Task-number: QTBUG-50188
Change-Id: I4ded1a4eb37af84979c3ce1a9af0d95da60b56ac
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2016-01-06 10:00:57 +00:00
Volker Krause
b1dcdc4064 Avoid unnecessary detaching of the pending deletions list.
This code seems to be hit three times per frame in a hybrid QQ2/Qt3D app,
quickly generating thousands of allocations here via the detach in begin().

Heaptrack confirms they are all gone now.

Change-Id: I7d09f3f5c2b24a2590b701216715055751306e82
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-01-06 09:43:19 +00:00
Timur Pocheptsov
daeed4631a Blacklist failing tst_QFile tests (OS X)
openStandardStreamsFileDescriptors and openStandardStreamsBufferedStreams
fail on OS X: lseek somehow works on sequential streams (standard streams)
but QFile has pos() == 0 (since it's sequential).

Change-Id: I6a6161c012a91de189f59c533880fb8fe7a66d37
Task-number: QTBUG-49841
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@theqtcompany.com>
2016-01-06 09:38:55 +00:00
Edward Welbourne
e5724533e4 Remove declaration of method nowhere defined
Change-Id: Ia95aac626803a85fea0bc0bc99972eb34215d351
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-01-06 09:10:38 +00:00
Takumi ASAKI
83dedc5b74 Fix potential crash in FreeType font database for WinCE
Change-Id: Iea922c2561d59a67cc26c300325a3f198baaafa7
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2016-01-06 01:14:57 +00:00
Błażej Szczygieł
0b3da1907d xcb: fix drag and drop when window is hidden
This patch fixes drag and drop operation on XCB platform when window
will be hidden. The window can be hidden during dnd operation by
switching virtual desktops or by minimizing all windows (show desktop)
using key shortcut.

The ShapedPixmapWindow must grab mouse before dnd operation if mouse is
not grabbed by other window (like in Qt4).

Task-number: QTBUG-46243
Change-Id: I807bc842719a2d0ea0f4dcb733c06c1fd08813e1
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-01-05 21:12:34 +00:00
Dmitry Shachnev
7e876bfcf7 qt_functions.prf: Add missing $$eval
Change-Id: I3d60617bdc887447f433c47ac6af3c1e13756c28
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-01-05 19:09:12 +00:00
Shawn Rutledge
2d8b0d1cd5 xcb: don't select XInput events on the root window
If we select XInput events, then when the mouse is clicked, there will
not be a fallback to a core pointer event. But a typical Qt application
doesn't own the root window.  If the window manager (such as OpenBox,
Awesome or fvwm) relies on receiving core pointer click events, e.g.
to show a desktop menu, then each time a device is hotplugged while a
Qt application is running, we would select XI2 events and thereby
prevent the window manager from receiving them.

QDesktopWidget's native window is added to m_mapper, even when
it isn't mapped.  Then after hotplugging there's a hierarchy event,
and that calls xi2Select for every window in m_mapper.  The assumption
with this patch is that the root window does need to be in m_mapper
in case the QDesktopWidget is shown (that was done already in Qt 5.1: 
fca94fa5ed), but xi2Select must avoid 
selecting XI2 events on it to fix this bug.

Task-number: QTBUG-49952
Change-Id: I5c160e879d93fadfce14120ef2e89a4f71d4f599
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
2016-01-05 17:10:43 +00:00
Orgad Shaneh
bddccfb839 Do not use gold linker on Windows
Gold only supports ELF binaries, not Windows PE.

Change-Id: I72b0f944566bbc8713c71b5cd01f217ab55c8103
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-01-05 17:07:54 +00:00
Joerg Bornemann
6d6707c8c3 Fix access after delete in GTK2 dialog helpers
Each QGtk2*DialogHelper class owns a QGtk2Dialog. It is possible that
QGtk2Dialog's parent window is destroyed before QGtk2*DialogHelper.
Then the QGtk2Dialog is destroyed, because of the QWindow parent/child
relationship. Before destroying QGtk2*DialogHelper,
QQuickPlatformFileDialog calls QGtk2*DialogHelper::hide, which will
then operate on the already destroyed QGtk2Dialog.
  Break the parent/child relationship when QGtk2Dialog's parent is
destroyed.

Change-Id: Ie2bda234f759e7bf4d0642accd82fdc38e0379c2
Task-number: QTBUG-49203
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
2016-01-05 16:09:22 +00:00
Sérgio Martins
a1702da020 Don't detach QGradientStops
Change-Id: I1ae84d0ae825e9fb474d4fab45b0c475a3878b25
Reviewed-by: David Faure <david.faure@kdab.com>
2016-01-05 15:00:49 +00:00