Commit Graph

26913 Commits

Author SHA1 Message Date
Liang Qi
321658d288 Merge "Merge remote-tracking branch 'origin/5.6' into dev" into refs/staging/dev 2016-02-11 12:57:10 +00:00
Andreas Holzammer
7e85e7ced7 Add initial clang-cl support to Qt
This adds the functionality to build Qt with clang under Windows against
the Microsoft Visual Studio 2015 runtime.

In order to replicate this, a Clang 3.8 build with Visual Studio 2015
Update 1 is needed.

Adds compiler detection to Qt to distinguish correctly the clang compiler
and Windows with Visual Studio.

Clang has some built-in numeric functions, there is no need to use the
Microsoft versions, which also conflict here.

Task-number: QTBUG-50804
Change-Id: Ia4b267a298310ac7d73edf473b12792991249d8a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-02-11 12:54:06 +00:00
Liang Qi
d456f87ece Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	src/corelib/io/qfilesystemwatcher_win.cpp
	src/corelib/plugin/plugin.pri
	src/plugins/platforms/cocoa/qcocoaaccessibility.mm
	tests/auto/corelib/tools/qlocale/tst_qlocale.cpp

Change-Id: Id6824631252609a75eff8b68792e4d10095c8fc1
2016-02-11 08:25:04 +01:00
Gabriel de Dietrich
9e8c84aa14 Add SH_ItemView_ScrollMode style hint and use it in QMacStyle
On OS X, the default scrolling mode of item views should be
per pixel instead of per item. We enforce this through a new
style hint. On all other platforms, the behavior remains the
same.

It's still possible to override the style hint by using the
regular scroll mode setters. Any subsequent style change will
result in a no-op once the setters have been called and until
the properties are reset.

Some auto-tests had to be update to to take the new behavior
into account.

[ChangeLog][QtWidgets][Styles] Added SH_ItemView_ScrollMode
style hint.

[ChangeLog][QtWidgets][Item Views] Item views scroll per pixel
on OS X now.

[ChangeLog][QtWidgets][Item Views] QAbstractItemView::verticalScrollMode
and QAbstractItemView::horizontalScrollMode are now resettable.

Change-Id: I3f923275c99aa4389323b52fc1c5455fe71f8d73
Task-number: QTBUG-50102
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
2016-02-11 04:50:36 +00:00
Sérgio Martins
4fc070a419 QLocale: Use QVariant::toStringList() instead of template instantiation
Avoids (binary) code duplication.

Change-Id: I57a23e2f6e151963163d8073b309b3562f8e8684
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-02-10 20:36:05 +00:00
Sérgio Martins
2c9f6b1a18 Fix usage of QMutexLocker, destroy it only at end of scope
Change-Id: I87f2c433c987b5f7b4680639cae51cdf6ce9ddc6
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-02-10 20:35:52 +00:00
Marc Mutz
cc2938b5b6 moc: replace inefficient QLists with QVectors
These types are larger than a void*, so holding them in QLists
is needlessly inefficient. Worse, the code could come to depend
on the fragile property of (inefficient) QLists that references
to elements therein never are invalidated.

Fix by marking them movable, and holding them in a QVector instead.

Change-Id: I42f494ed87854eadc33d78db4479203ff5e0370f
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-02-10 16:00:46 +00:00
Friedemann Kleint
e395bda9a5 Windows accessibility: Add override declaration.
Change-Id: I982c91a9316f10a5e6d88abd60c028664ed3e28e
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2016-02-10 12:43:59 +00:00
Friedemann Kleint
d145929fd7 Windows accessibility: Remove some cruft.
Change-Id: I5cb35bdd5441a8dd7a51193048b32a6feccba2b2
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2016-02-10 12:43:56 +00:00
Friedemann Kleint
5cf6a8a50c QWindowsVistaStyle: Suppress animation when QLineEdit's base color is set.
Introduce utility function to check using
QWindowsXPStylePrivate::isLineEditBaseColorSet().

Task-number: QTBUG-40634
Change-Id: Iaa6962a17217352aa59d0c54421b764ad47d3bf8
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2016-02-10 12:43:45 +00:00
Friedemann Kleint
6cb462d7aa QWindowsXPStyle: Introduce utility function for QLineEdit's palette.
Introduce QWindowsXPStylePrivate::isLineEditBaseColorSet() checking
whether the base color has been set in the widget's palette taking
into account the QSpinBox special case and simplify the code
accordingly.

Task-number: QTBUG-40634
Change-Id: I0e7527031b333d71727fbd30db6dd80aa715c9ab
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2016-02-10 12:43:40 +00:00
Aleix Pol
8b4ac65e29 Provide QCss with the correct font for <pre> blocks
Labels would use a statically defined font for <pre> blocks.
Use the one defined by the QPlatformTheme instead, through
QFontDatabase::systemFont(FixedFont)

Task-number: QTBUG-50564
Change-Id: I5491bd0defce651bdf809bcbc6a529a900f4959b
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
2016-02-09 21:24:46 +00:00
Marc Mutz
3e63a58a96 Mark QHash/QMap as relocatable and movable-come-Qt 6
They were forgotten from the movable containers for Qt 5.0.
Make sure we don't forget for 6.0, either.

Until then, mark with new Q_RELOCATABLE_TYPE.

Change-Id: I279a96c02a718a1432040303bb0d001739f59a17
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-02-09 18:19:55 +00:00
Dmitry Shachnev
488cf78e44 dbusmenu: Use proper toggle-type for items that are part of group
To achieve that, add a new virtual setHasExclusiveGroup() method to
QPlatformMenuItem class (optional because we don't want to break existing
platform themes), call it when converting QActions into platform menu items,
and use it when exporting the menu items over D-Bus.

Also, send ActionChanged event for actions when their group is changed, so
that the platform menus are updated too.

Change-Id: I8d951ace8c4097decec2a0154163e3672214effb
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-09 16:54:58 +00:00
Edward Welbourne
22c262d2d7 Readability fix for MS isRelative, isAbsolute.
The layout and phrasing of these two QFileSystemEntry methods was such
as to obscure what they actually test.  (Overlong lines, extraneous
parentheses, spurious conditions and poor line-breaking.)  Rewrote to
make both clearer; and, in particular, to make it obvious that they
are *not* mutually complementary.  Behavior is not changed.

Change-Id: If748e48d41fe3a76bab3a1f840c7b7ca62442f8f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-02-09 16:12:12 +00:00
Maurice Kalinowski
2ddd11dde2 Cleanup testcase for platforms without QProcess support.
Change-Id: Ib56c90262605ad975772f6b26c6232020e308ca6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-02-09 15:45:17 +00:00
Friedemann Kleint
42f788ffe2 QWindow::setMask(): Apply High DPI scaling.
Move code from QWidget::setMask() and reimplement QWidget::setMask()
using QWindow::setMask().

Task-number: QTBUG-50938
Change-Id: I040688d6b18df91368fa6ab6392a3b4cd80f2683
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
2016-02-09 15:40:56 +00:00
Friedemann Kleint
ab3e2f66e9 Standarddialogs example: Remove horizontal spacer from fullscreen layout.
It does not work as expected since the QLineEdits do not expand.
Amends b880b7e1ac.

Change-Id: I0b3b3822cca7fc6442a7155eecd46bd3d134d069
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-09 15:24:54 +00:00
Eskil Abrahamsen Blomfeldt
51f29b88da Don't force antialiasing when it is turned off
In the gray antialiasing code path for text on Windows, we
check whether Cleartype is enabled in the system and,
if it is, we forcibly enable gray antialiasing instead. But in
this logic we did not consider the case where antialiasing
is turned off entirely, i.e. when the style strategy is
QFont::NoAntialias. We should never override
no-antialias with antialias.

[ChangeLog][Windows][Text] Made it possible to disable
antialiasing for text when drawing into images.

Task-number: QTBUG-47141
Change-Id: Ieb2beba8c2d02295abe6d9a98d2e63a2d39c9e6a
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2016-02-09 14:39:25 +00:00
Dmitry Shachnev
a4fac65938 dbustray: Support late registering of tray icon menu
If a menu is added to the tray icon after the icon itself has been registered,
we need to register the menu properly.

Change-Id: I19a6d78848142d66c2cd882746d8d55c0b9a2818
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-09 07:22:21 +00:00
Dmitry Shachnev
7ad930987d dbustray: Do not change m_menu in QDBusTrayIcon::createMenu()
This method can be called for a submenu after it's called for the top-level
menu, and we should not replace it with a submenu.

Change-Id: I8e180ee074287cfcdc76dfe77c6c7aa7d5891741
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-09 07:22:16 +00:00
Marc Mutz
b30edc5153 QKeySequence: replace an inefficient QList with QVector
QShortcutEntry is larger than a void*, so holding it in QLists
is needlessly inefficient. Worse, the code could come to depend
on the fragile property of (inefficient) QLists that references
to elements therein never are invalidated.

Fix by marking it movable, and holding it in a QVector instead.

Change-Id: I4ab3399a8036827631b7fbdfdc60b4206305e1c9
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-02-08 22:07:53 +00:00
Marc Mutz
8a54950646 Optimize QSslSocketPrivate::isMatchingHostname()
- Lowercase 'peerName' only once instead of each
  time though the loop
- Use C++11 range-for instead of Q_FOREACH
- Use QMap::equal_range instead of values(Key),
  saving the creation of a QList.

Change-Id: I1229f62d706d1478960b08bb63ee9fb894364f87
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-02-08 22:06:42 +00:00
Marc Mutz
b034a14dc5 Replace some QList<int> with QVector<int>
On 64-bit platforms, QVector<int> uses only 50% of QList<int>
per-element memory.

Change-Id: I3057781e7fb58007ea2619cc91965a626d01473b
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-02-08 19:58:01 +00:00
Marc Mutz
f049546d95 QGraphicsItemAnimationPrivate::linearValueForStep(): pass vector by const-&
It's only read from.

Avoids detach attempts in the many uses of front()/back().

Change-Id: I0fd5df77a6d3a9a37872e0ce28f5a2354aa8f957
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-02-08 19:57:56 +00:00
Marc Mutz
dcd79eebdb QToolBarAreaLayout: replace inefficient QLists with QVector
QToolBarAreaLayout{Item,Line} are larger than a void*, so holding
them in QLists is needlessly inefficient. Worse, the code could
come to depend on the fragile property of (inefficient) QLists
that references to elements therein never are invalidated.

Fix by marking the types primitive and movable, resp., and
holding them in QVector instead.

Change-Id: I4e68d4bee41040bf84302b8ce8295a11debded70
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-02-08 19:57:52 +00:00
Anton Kudryavtsev
27de4ea4d6 qmake: de-duplicate QString::number() calls with same arg
Change-Id: I6e05b9ad3350bd0da5b8a6dc1389ae05315a33df
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-02-08 19:37:00 +00:00
Anton Kudryavtsev
e2e190fd69 QNonContiguousByteDevice: mark atEnd(), size(), pos() methods as const.
These methods do not modify the object.

Change-Id: I9ab9a17fa24f5a608943ec263913df14218214a8
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-02-08 19:36:38 +00:00
Sérgio Martins
12b19ca56c Fix clang 3.7 developer build [Werror, Winconsistent-missing-override]
Change-Id: Ia5c149c6e6886c38bb9a83cd8b36737a57876b41
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-02-08 10:47:36 +00:00
Dmitry Shachnev
9c7f37e648 dbusmenu: Refactor the code to allow dynamic updating of menus
* Transfer propertiesUpdated and updated signals from submenus to parent
  menus. Without this, the adaptor only receives this signal from top-level
  menu items, and doesn't receive it from items of submenus. Connect to
  these signals when a menu item is added or synced, and disconnect when it
  is removed.
* Make QDBusPlatformMenus use IDs of items containing them, not their own
  IDs (own IDs do not make any sense since they are not exported over D-Bus).
* Store toplevel menus per-adaptor, to make it possible to export multiple
  menus (for example a menubar and a tray icon menu).
* Adjust the QDBusMenuLayoutItem::populate methods to always get the menu
  via its containing item and to populate the menus recursively.
* Map D-Bus menu AboutToShow method to platform menu aboutToShow method,
  and map hovered and closed events to hovered and aboutToHide signals.
  (QTBUG-46293)
* Always set the visible property on item. Otherwise, when an item becomes
  visible, the D-Bus menu still thinks it's invisible because that property
  was not changed back to true. (QTBUG-48647)
* Call emitUpdated from insertMenuItem and removeMenuItem methods, as they
  really update layout. Do not call it from syncMenuItem, it changes only
  properties but not the layout.
* Start revision numbering with 1, because libdbusmenu-based hosts ignore
  updated signal with revision=1.

Task-number: QTBUG-46293
Task-number: QTBUG-48647
Change-Id: Icf713405db0443e25462c1a19046df7689fe5e78
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
2016-02-08 10:43:06 +00:00
Ulf Hermann
4fb7eb0da7 Drop most "#ifndef QT_NO_LIBRARY"
As we can load plugins without QLibrary now, we don't have to #ifdef
out the code that does so anymore.

Change-Id: I1dc20216830a882dbd5a1b431183407e6b19c837
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-02-08 10:40:33 +00:00
Andre Somers
21861e6fd1 Add setFlag method to QFlags
This makes implementing class methods that enable or disable a feature
stored in a QFlags<> member easier.

[ChangeLog][QtCore][QFlags] Added setFlag method to set or unset a flag

Task-number: QTBUG-27100
Change-Id: Ic602abbbf3100df78f21b7918573744d1bbd18c1
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-02-08 10:25:09 +00:00
Marc Mutz
74adb1900a QEasingCurve: add some strategic std::move()
Move instead of copy the bezierCurves and tcbPoints
containers when updating 'config' in setType_helper().

In Qt 5, we still have the unsharable container
issue which causes code for deep copies to be
emitted for most copy operations.

A move is always just re-seating a pointer.

Change-Id: Icff7415dd0ce44df0602273ff42370b26d831b85
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-02-08 10:21:55 +00:00
Marc Mutz
24c0ba13fd QStandardItemModel: avoid premature pessimization
- don't re-evaluate QMap::end() all the time
- don't copy QVariant more than needed
- pass temporary to QVector::append (enabling moves)
- swap instead of copy-assign a vector into place

Change-Id: I7549812dfbb2dbc9a919fa9565397d50141fc2ca
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-02-08 10:21:51 +00:00
Marc Mutz
3d9ccce7d5 uic: eradicate all Q_FOREACH loops [non-generated code]
... by replacing them with C++11 range-for loops, or, in one case,
qDeleteAll().

Change-Id: If6980f6c12ac1d359a1f0e062dcc2a86e9685d1e
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-02-08 01:22:03 +00:00
Sérgio Martins
01859cc121 Reduce allocations by using reserve()
Change-Id: If34fa53402985f6b3c5e7217bce4a1177af835b6
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-02-07 16:50:26 +00:00
Sérgio Martins
af499fd7eb Make QWindowGeometrySpecification suitable to use as global
It's used as a global static but according to library policy it's required
to have a trivial dtor and a trivial or constexpr ctor, otherwise it
runs code at library load/unload.

Change-Id: I1fcea3ce388b2a198e3851e6d0aeb91ae0a8e4b1
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-02-07 16:49:33 +00:00
Frank Richter
bc9645064a QWindowsTheme: Provide SHGetStockIconInfo()-related constants on CE
Change-Id: I3d0cb8bff811ffbdb8e787b02896717316a4a405
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-02-07 02:39:58 +00:00
Marc Mutz
15238e91eb QList: don't lose reserved capacity in op+= with empty LHS
It is very rare that operator+= is used as operator=.
Most of the time, one op+= is followed by more op+=s.

The old code checked whether *this was empty, and simply
shallow-copied the RHS into the LHS in that case. This
has one severe drawback: a reserve() on the LHS is lost.

Fix by not checking for isEmpty() but for d == &shared_null.

Change-Id: Iff28e496cf24cc93f248449d74012c4f3a87253e
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-02-06 20:06:55 +00:00
Andy Maloney
e13544f186 Doc: Fix grammar in QOpenGLContext::openGLModuleType() docs
Change-Id: I4eb0361940bad8b0b0726fc3a584062d297f3164
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2016-02-06 15:14:26 +00:00
Alexander Bersenev
8eaf335259 xcb: Fix not delivering focusIn event on hide/show
Consider a window which was hidden and shown with hide() and show()
methods and mouse pointer was in window when hide() was called.

At first, window got focusOutEvent and then Qt library sends X server
a message to unmap the window.

Then X server will send client two messages:
1) FocusOut(10) detail=Nonlinear(0x03)
2) FocusIn(9) detail=Pointer(0x05)

QXcbWindow has a logic for not seting active window to 0 if there is
a FocusIn coming (see QXcbWindow::doFocusOut).

So QGuiApplicationPrivate::focus_window still points to the current
window.

Then when show() is called, qt compares previous focus with new focus
and, since they are equal, doesn't do anything. Event focusInEvent
isn't delivered to the window.

Here are two links why X server sends FocusIn just after FocusOut:
http://lists.freedesktop.org/archives/xorg/2008-December/041684.html
https://tronche.com/gui/x/xlib/events/input-focus/normal-and-grabbed.html

Proposed fix ignores FocusIn events with detail==Pointer.
The text of explaining comment is taken from the Chromium project:
https://chromium.googlesource.com/chromium/src/+/master/ui/views/widget/desktop_aura/x11_desktop_handler.cc
from X11DesktopHandler::ProcessXEvent function.

[ChangeLog][module][Linux/XCB] Fix not delivering focusIn event on
hide/show with XCB

Task-number: QTBUG-49071
Change-Id: I433c8b638834c25f113cc134ee4185778c44f540
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-06 09:59:17 +00:00
Błażej Szczygieł
b9f76db30d xcb: Correct enter/leave event handling when mouse button is pressed
This patch fixes cursor shape when mouse leaves the window and enters
the window again with pressed mouse button - ignore the mouse enter
and leave event when any of mouse buttons is pressed.

Task-number: QTBUG-46576
Change-Id: Id6ce50cd0d66da51a251d4811bc42cd31606de29
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-06 09:59:11 +00:00
Błażej Szczygieł
e4fb521b3f xcb: XInput2 fixes, enter/leave event fixes
Added enter/leave event handling in XInput2 to avoid problems with
those events when the mouse is grabbed.

This commit amends: 53d289ec4c
This commit amends: ed2e157803

Task-number: QTBUG-50340
Change-Id: I7a120b46daa4f8fa4c218346273ae90b6abfa156
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-06 09:59:04 +00:00
Jake Petroules
c4ecb81d6d Fix shared library framework builds of Qt with a platform suffix.
This is necessary for combined device and simulator builds on Apple
platforms (iOS, tvOS, watchOS) to link properly.

Change-Id: I21e70806643b10f429945d3020995dc94fa5c612
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-02-06 03:18:45 +00:00
Lars Knoll
b64a94516b Get rid of the QRegExp dependency in qxmlutils.
This makes the XML parser 100% independent of having regexp
support enabled.

Change-Id: I73004b0fb71e8086618995c71a985a86c292df3d
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-02-05 17:34:00 +00:00
Lada Trimasova
f669ea0d54 Link with -ldl option only when it is supported
-ldl option was used unconditionally while libdl is not supported
when libc is static.
Add build test to configure which checks if libdl is supported.
QMAKE_LIBS_DYNLOAD in "src/corelib/plugin/plugin.pri" is now used only
if libdl is available.
qt_linux_find_symbol_sys from qlibrary_unix is now used only if
QT_NO_DYNAMIC_LIBRARY is not defined.

Initially reported by Buildroot autobuilder here:
http://autobuild.buildroot.net/results/a85/a85a1839a45fb6102e53131ecc8f6dadf92bcdc2

Change-Id: I0397472456efdc4f3ab5f24d01253bee8048a9d1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-02-05 16:29:09 +00:00
Oswald Buddenhagen
a107c5394a remove redundant namespace qualification
Change-Id: I9fdb7ccc60da2631bc74b3b0a8414c211f4c182f
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-02-05 16:29:04 +00:00
Giuseppe D'Angelo
0b8ff1cc99 QTabBar: remove dead code
Change-Id: Iaad0ef8fe66e925f9dcbc94693d078612a92969f
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-02-05 15:36:54 +00:00
Friedemann Kleint
c4a53f647f QtWidgets: Fix build & warnings with QT_NO_GRAPHICSVIEW.
kernel\qapplication.cpp(3157,18) :  warning: unused variable 'isGraphicsWidget' [-Wunused-variable]
            bool isGraphicsWidget = false;
                 ^
kernel\qwidget.cpp(6446,18) :  warning: unused variable 'window' [-Wunused-variable]
    if (QWidget *window = w->window()) {
                                          ^
kernel\qwidget.cpp(7949,50) :  error: no member named 'proxyWidget' in 'QWExtra'
        if ((q->isWindow() && (!extra || !extra->proxyWidget))
                                          ~~~~~  ^
kernel\qwidget.cpp(8084,50) :  error: no member named 'proxyWidget' in 'QWExtra'
        if ((q->isWindow() && (!extra || !extra->proxyWidget))

Change-Id: I8474ab0ab4617c6588707ce0c2f7a97e4d0e54da
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-02-05 13:42:21 +00:00
Gabriel Pannwitz
ce29de5c33 Doc: correct minor typo
Change-Id: If19900309bbef8b65d3dbda4f7795113bfe0678f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
2016-02-05 13:33:52 +00:00