Commit Graph

24734 Commits

Author SHA1 Message Date
Olivier Goffart
e68d06714f QIconLoader: Use the GTK+ icon caches
Loading icons is quite slow because we need to stat many files in many directories.
That's why gtk adds a cache in the icon theme directory so it avoids stating lots
of files.

The cache file can be generated with gtk-update-icon-cache utility on a theme
directory. If the cache is not present, corrupted, or outdated, the normal slow lookup
is still run.

[ChangeLog][QtGui][QIcon] fromTheme gained the ability to use the GTK icon cache
to speed up lookups.

Change-Id: I3ab8a9910be67a34034556023be61a86789a7893
Reviewed-by: David Faure <david.faure@kdab.com>
2015-09-13 16:23:24 +00:00
Marc Mutz
39a472430f QWeakPointer: mark as nothrow {default,copy} {constructible,assignable}
Change-Id: I6757a775c72f15c210004dc25d962ec5d3b88012
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-13 12:23:11 +00:00
Marc Mutz
78dd962f68 QSharedPointer: mark as nothrow {default,move,copy}{constructible,assignable}
Change-Id: Ieae2c5ff6db1a475269034f0bd9cbd903dd3c72a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-13 12:22:36 +00:00
Marc Mutz
98ce9a6309 QFileSystemModel: reimplement sibling for same-row
Since QFSM, like most models, uses QModelIndex::internalPointer() as an
indicator of the row, getting a sibling in the same row is as easy as
copying the internalPointer() of the incoming index and just creating
a new index with the column adjusted.

For rows, the situation is quite a bit more complicated, so we
currently continue to call the generic implementation.

Change-Id: I36921e3f9c01c458a75aa439018f21c4c657e1cf
Reviewed-by: David Faure <david.faure@kdab.com>
2015-09-13 12:22:10 +00:00
Marc Mutz
f43885f8d1 QVersionNumber: compile with -Wzero-as-null-pointer-constant
Change-Id: I1514864f1c7ae0d260aad368e2dc4de84061732c
Reviewed-by: Keith Gardner <kreios4004@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-13 12:21:59 +00:00
Marc Mutz
f679a44f51 QRegExp: mark existing move assignment operator and swap() nothrow
Change-Id: Iad9adc1cb9ea72689c81624caae2fe5a9e02e591
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-13 12:21:53 +00:00
Olivier Goffart
d3a21a18de QIcon: add a new overload of QIcon that does not call availableSizes
This is done so icons from QIcon::fromTheme are loaded lazily and
we do not pay for looking up icons that are never used

[ChangeLog][QtGui][QIcon] Split fromTheme() in two different overload,
one of which would only lazily lookup the icons, in order to speed up
startup of applications that initialize many icons that are not necessarily
visible.

Change-Id: I2ba3aa3a0eae6c8f1ff041a0f5bbb10ad32e3991
Reviewed-by: Volker Krause <volker.krause@kdab.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2015-09-11 12:42:20 +00:00
Olivier Goffart
1464118b67 QIcon: add a hook in the engine so a non null QIconEngine can still be a null icon
Implement it in the QIconLoader

We have to change detach() because some code does:
icon = QIcon::fromTheme("foobar"); if (icon.isNull()) icon.addPixmap(...);
so addPixmap and addFile have to work on a null QIcon by resetting
the iconEngine.

Change-Id: I07719bef93930cf4692384a8c64e21a97dcce25c
Reviewed-by: David Faure <david.faure@kdab.com>
2015-09-11 12:42:15 +00:00
Oswald Buddenhagen
4b224816aa support specifying directories in RESOURCES
Change-Id: Ie97b26dd8ccf33d7f2a72bc6a5aec478b196ebb6
Reviewed-by: Rainer Keller <rainer.keller@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-09-11 10:12:05 +00:00
Friedemann Kleint
ae58676102 Bump version
Change-Id: I35df4cbd3ef8bd9aeb0bcb853c3a10e88c062713
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-09-10 13:47:35 +00:00
Aaron Kennedy
7293200ace Add attribute to enable font and palette propagation in QSS.
By default when using Qt Style Sheets, a widget does not inherit its
font and palette from its parent widget. With the
Qt::AA_UseStyleSheetPropagationInWidgetStyles application attribute set,
propagation when using Qt Style Sheets behaves like it does with regular
QWidget::setPalette() and QWidget::setFont() calls.

[ChangeLog][QtWidgets] Added the
Qt::AA_UseStyleSheetPropagationInWidgetStyles attribute which enables
font and palette propagation for Qt Style Sheets.

Task-number: QTBUG-37580
Change-Id: I3038c13d61e32625a1a05291c5394eaefd376a68
Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2015-09-10 06:44:57 +00:00
Alex Trotsenko
aaab800e16 QAbstractSocket: try to send all data on flush()
Internal write buffer may have multiple blocks of data which wait a
transmission. In this case, ensuring a single write() is not enough to
flush the buffer completely. Allow several attempts that aim to write
as much as possible data from the buffer to the underlying network
socket.

Change-Id: I34b5ec65abe42853906168cdb05f793bd51162ec
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-09 18:44:09 +00:00
Alex Trotsenko
25c0fdc885 Do not emit readyRead() recursively on close notification
QAbstractSocket already prevents from the recursive readyRead()
emission in canReadNotification(). Follow this behavior in case the
socket receives a close notification.

Change-Id: Ifd916d60252832c19e0dcdeaa8dde8af75b45cf7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-09 14:58:37 +00:00
Jake Petroules
14960f5227 Refactor standard paths for OS X and iOS.
This consolidates the _mac and _ios implementations into one, since most
details of OS X and iOS are shared.

The code base no longer uses deprecated Carbon File Manager APIs,
instead using Foundation APIs and semi-hardcoding the two cases where a
modern API is not available (Preferences and Fonts).

A few paths have changed in order to be more similar between OS X and
iOS where appropriate.

Lastly, OS X now supports QT_NO_STANDARDPATHS.

Change-Id: I63fa96e3ab80f8c6cf8a24243f859977e8c46421
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
2015-09-09 08:02:48 +00:00
Shrikant Dhumal
924d4aefd5 Fixed build breaks that result after disabling "contextmenu" feature
Change-Id: I261f927ee720e0c65abd18417e1ac48dbee820df
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
2015-09-09 07:33:58 +00:00
Friedemann Kleint
933e3e886f Windows: Do not set process DPI awareness when Qt runs in a plugin.
Disable the call depending on Qt::AA_PluginApplication.

Task-number: QTBUG-47556
Change-Id: Id50a09d99a9e1fb4f57d85798a7554e124cfafa5
Reviewed-by: Tim Blechmann <tim@klingt.org>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
2015-09-07 08:38:30 +00:00
Alex Trotsenko
5237b97f26 QAbstractSocket: discard input data when opened only for writing
A buffered TCP socket might be open only for writing purpose. As a
possible use case of the API, this patch avoids accumulation of
unwanted data in the internal read buffer.

Change-Id: I2759c1e04968d24e2ae71f3eca05e7e560cd8a41
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-05 18:12:00 +00:00
Jake Petroules
353b160a4a Link to AppKit instead of Cocoa.
Cocoa is basically just AppKit + CoreData. Since we do not use CoreData
in Qt, there is no reason to link to it or (transitively) import its
headers.

This is just a mechanical replacement of -framework Cocoa with
-framework AppKit and <Cocoa/Cocoa.h> with <AppKit/AppKit.h>

Change-Id: Ibcfc8a03c0ddff27a67fbc87dd7bd58a4b648956
Reviewed-by: Mika Lindqvist <postmaster@raasu.org>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2015-09-05 11:49:17 +00:00
Friedemann Kleint
76cf88157f Tests: Remove CONFIG += parallel_test.
The keyword no longer has a meaning for the new CI.

Change-Id: Ibcea4c7a82fb7f982cf4569fdff19f82066543d1
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-09-05 07:16:50 +00:00
Alex Henrie
4ac94480c3 QGroupBox: Send unhandled mouse events to parent widget
Every other subclass of QWidget calls event->ignore() on unhandled
events, and QGroupBox's failure to follow this convention prevented it
from being used in some specialized applications. Instances of QGroupBox
now only absorb mouse press events to their checkboxes (if they have
checkboxes) and ignore all other mouse events.

Task-number: QTBUG-15519
Change-Id: I6b0c89c92868feddbe3888088703b32cb95d9903
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-09-03 21:06:34 +00:00
Giuseppe D'Angelo
9129d2714a Implement QDebug support for QSharedPointer
... otherwise the type goes through operator bool() and prints
"true" or "false" (!).

[ChangeLog][QtCore][QSharedPointer] Added support for debug
printing via QDebug.

Change-Id: Ic3ef9b9feee8d6ca08f1dd69f20f421fea20ca00
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-03 19:25:09 +00:00
Alex Trotsenko
4116fe873e QRingBuffer: improve indexOf() performance
Use memchr() instead of scan cycle.

Change-Id: Ic77a3e5ad4c5f6c7d2a1df12d150eac45d620744
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-03 18:31:49 +00:00
Romain Pokrzywka
352c357e6f Improve evdevtablet plugin with support for multiple tablet devices
Migrated the evdevtablet code to use the same Manager/Handler model
used by the other evdev plugins. The input event parsing code remains
the same, it has just been merged into the new handler class, and
hardcoded device ids have been replaced by proper per-device ids
to support multiple tablet devices as detected by udev.

Also added tablet count reporting to QInputDeviceManager.

Change-Id: Ibd72db568646da4f32e7680dd51698a0a86dca99
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-09-03 17:01:39 +00:00
Friedemann Kleint
916909f8a9 Remove TARGET.EPOCHEAPSIZE settings (Symbian).
Change-Id: I4bd82f7381fc6a417b2e36f0c7b879711dc921e3
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-09-03 15:25:19 +00:00
hjk
7b0e771ad7 Add a qtHookData field for Qt Creator's data display
Qt Creator needs to be able to determine structure sizes and data
member offsets for certain private types even in the absence of debug
information.

It is sufficient to keep and test the actual data sets on the Qt Creator
side, as long library provides a hint which data set is needed.
So far, HookDataVersion was meant to be used for that purpose. To
make it more explicit, this patch introduce a TypeInformationVersion
field in qtHookData.

Change-Id: Ia1c3c6f62f314d63c4df289ef456f047c5e84cf4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-03 15:18:36 +00:00
Friedemann Kleint
51e501fa8d Remove QT_DISABLE_DEPRECATED_BEFORE=0 from tests not using deprecated API.
Change-Id: I1955320e7639760b4383a53f37a506c8055933ef
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2015-09-01 16:57:46 +00:00
Friedemann Kleint
a869e4772b Introduce Qt::AA_PluginApplication replacing Qt::AA_MacPluginApplication.
Reuse the enumeration value for a generic Qt::AA_PluginApplication
attribute since there are also initializations in platform ports other
than OS X that need to be suppressed in the plugin case.

Task-number: QTBUG-47556
Task-number: QTBUG-45762
Change-Id: I885f75030a251ccf66597aae3580499d012934e7
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
2015-09-01 15:32:46 +00:00
Martin Smith
d3f0bee885 qdoc: Fixed linking for overloaded functions
qdoc was failing to create links when a \l command referred
to a function that has an undocumented overload with no
parameters. qdoc would choose that internal function to be
the target, but the link construction would fail.

qdoc now checks the status of the overload that is matched.
If the matching function is marked internal, qdoc keeps
looking for one that is not marked internal.

Change-Id: Iebf296e79dc2554e54f00ef72b6f6c1ba7074f06
Task-number: QTBUG-47991
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-09-01 05:24:20 +00:00
Friedemann Kleint
e979ca5eda QWidgets tests: Remove QT_DISABLE_DEPRECATED_BEFORE=0.
Fix usage of API that is marked deprecated.

Change-Id: I04970ca7f8e09d3f0fd6adb87da046ae70c3eb38
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2015-08-31 19:57:48 +00:00
Friedemann Kleint
50b9e30970 qtbase tests: Remove QT_DISABLE_DEPRECATED_BEFORE=0 for simple cases.
Fix usage of API that is marked deprecated.

Change-Id: Ie31b6ee029c5b5f015fe52fb9bcd8e94b22d6cd0
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2015-08-31 19:56:59 +00:00
Sebastian Schuberth
1ca789bfe3 The new Registry{32,64}Format enum values did not make it into Qt 5.6
Change-Id: I85f17c1d149071b03357781bb4e973fc79ad658f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-08-31 07:59:41 +00:00
Alex Trotsenko
c3d8ab78b8 QRingBuffer: avoid allocation in c'tor
Reduces creation time and memory consumption when the buffer is unused.
Robin's benchmark:

  QBENCHMARK {
      QFile file(filename);
  }

reports the following results (run with -median 10 -iterations 524288):

before: 0.00028 msecs per iteration (total: 149, iterations: 524288)
after:  0.00017 msecs per iteration (total: 93, iterations: 524288).

Change-Id: Ied4e7caeca794b94260b8fc59b3ba656f4719c30
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-08-27 14:42:37 +00:00
Pier Luigi Fiorini
61ad604ad4 Add QGuiApplication::setDesktopFileName()
This property might be set by applications whose desktop entry file name
cannot be determined by heuristics already in place.

It is particularly useful for QtWayland as it can be used to determine
the app_id simply by stripping the ".desktop" suffix from this property.
Without a correct app_id, Wayland compositors won't be able to e.g.
show the application icon on task managers.

This property is also very interesting for X11 as there are various
desktop environments trying to map windows to launchers.
It will be possible to export desktopFileName as a xproperty, making
such mapping less error prone.

Change-Id: I0fef23f28f383639e625379ab46e36aecb338ac4
Reviewed-by: Martin Gräßlin <mgraesslin@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2015-08-27 11:00:39 +00:00
Jake Petroules
3b1cbc4753 Add some missing libraries for shared library builds on iOS.
Static linking hides the fact that these dependencies are necessary.

Change-Id: I0af58b840bc52dfd81b79c8ced5ee79def35895a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-08-27 08:26:04 +00:00
Nico Vertriest
4db4fba05d Doc: removed reference to index.html in qmake manual
Task-number: QTBUG-35004
Change-Id: I7a2a76b25551cfe9e17072ce1767384d276b1f4d
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-08-27 08:10:54 +00:00
Kevin Funk
f72cbe39e0 QByteArray: Add append/prepend/insert overload
Use-case is fast insertion of copies of a character,
avoiding any temporary heap allocations

Change-Id: Ie5517d88429fbd4c58dbe5729de7c468d5d9a279
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-08-27 07:31:06 +00:00
Alex Trotsenko
526d9b52ce QRingBuffer: allow to search from any position
Change-Id: I348cd9da88fc81c3dd0789ce8cce9d80c4524e24
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-08-27 07:16:49 +00:00
Sebastian Schuberth
64261c0871 Support accessing 32-bit Registry from 64-bit programs and vice versa
For details see "Accessing an Alternate Registry View":

    http://msdn.microsoft.com/en-us/library/aa384129%28VS.85%29.aspx

Task-number: QTBUG-3845
Change-Id: Iecf24b15dc01830686ddd708871bc3392d95282f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-08-27 07:08:30 +00:00
Alex Trotsenko
bfecc2dbc6 QAbstractSocket::atEnd(): remove redundant checks
These checks are implemented in QIODevice::atEnd().

Change-Id: I056f05a59e2422ecbe7470557cb4ba03d98e5e45
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-08-26 10:18:38 +00:00
Dmitry Shachnev
899a815414 Remove gtk2 style from qtbase, it will be moved to qtstyleplugins
This will allow us to drop gtk2 support from qtbase in future,
while still providing the gtk2 style for those who want to use it.

Also with moving to qtstyleplugins, the code can be simplified
because we can directly link to libraries we need, instead of using
QLibrary.

[ChangeLog][QtWidgets] Remove QGtkStyle, it is now provided in
qtstyleplugins repository.

Change-Id: I6221b1a513d7fda32e080f3ca159b0b2f8a8f246
Reviewed-by: Timo Jyrinki <timo.jyrinki@canonical.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Jens Bache-Wiig <jensbw@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
2015-08-26 08:40:38 +00:00
Frederik Gladhorn
15c608fb12 Accessibility: OS X: static text should have value instead of title
VoiceOver adds ", text" when reading QLabel when the Title instead of the
Value attribute is set.

Change-Id: Ic8f94844e858e490ec7e52856dccd4c0a09df88b
Reviewed-by: Boris Dušek <me@dusek.me>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2015-08-22 08:42:52 +00:00
Friedemann Kleint
574c2e7fee QGraphicsView tests: Remove QT_DISABLE_DEPRECATED_BEFORE=0.
Fix usage of API that is marked deprecated.

Change-Id: Ib9a45e93084fb5b0d0d3aefd64b755dff7c696d6
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
2015-08-22 05:55:24 +00:00
Alexander Volkov
d21e6cf558 xcb: Don't update the geometry of a screen if XrandR is not available
QXcbScreen::updateGeometry() has a check for the presence of XRandR
extension. It doesn't make sense to call it when XRandR is not
available.

Change-Id: I44458a6001f147a7f3054bc87490cb3bd7aaf247
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2015-08-21 10:57:33 +00:00
Friedemann Kleint
5a96e49145 Windows QPA: Replace some ugly typedefs by auto.
Change-Id: I5fc6afe1e67dccb4fb7745edbbdf7d742b26d384
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
2015-08-21 10:07:15 +00:00
Shawn Rutledge
561acde140 add Pointer event type
The event class is defined only in the qtdeclarative module:
QQuickPointerEvent.  However the plan for Qt 6 is to refactor the
event hierarchy anyway, so then there can be a QPointerEvent.

Change-Id: I9f5c5d1e4992ff515cc00b21601e39156aa9733c
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-08-20 12:27:04 +00:00
Timur Pocheptsov
f3898fe2cc tst_qnetworkreply::ioGetFromBuiltinHttp - fix blacklisted test (OS X)
This test fails on OS X: we first fill sockets' kernel buffers and then
we tryto write a 'residue', waiting in 'select' for 2 seconds.
It looks like on OS X (at least, 10.10) 2 seconds are not enough - we always have a timeout.
Wait ... 4 seconds.

Change-Id: Id679dccda10b8f7859b8dfa6456b91ec13d52f68
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-08-20 07:09:45 +00:00
Friedemann Kleint
120867ba7b tests/auto/dbus: Replace Q[TRY]_VERIFY(a == b) by Q[TRY]_COMPARE(a, b).
- Replace Q[TRY]_VERIFY(pointer == 0) by Q[TRY]_VERIFY(!pointer).
- Replace Q[TRY]_VERIFY(smartPointer == 0)  by
          Q[TRY]_VERIFY(smartPointer.isNull()).
- Replace Q[TRY]_VERIFY(a == b) by  Q[TRY]_COMPARE(a, b) and
  add casts where necessary. The values will then be logged
  should a test fail.

Change-Id: I363776ef664c97bca0071d57cf78a8fe935bce8e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-08-19 19:06:39 +00:00
Friedemann Kleint
752c0d7de0 tests/corelib: Replace Q[TRY]_VERIFY(a == b) by Q[TRY]_COMPARE(a, b).
- Replace Q[TRY]_VERIFY(pointer == 0) by Q[TRY]_VERIFY(!pointer).
- Replace Q[TRY]_VERIFY(smartPointer == 0)  by
          Q[TRY]_VERIFY(smartPointer.isNull()).
- Replace Q[TRY]_VERIFY(a == b) by  Q[TRY]_COMPARE(a, b) and
  add casts where necessary. The values will then be logged
  should a test fail.

Tests from corelib/tools were omitted in this change.

Change-Id: I4c8786d33fcf429d11b2b624c7cd89c28cadb518
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-08-19 19:06:33 +00:00
Rainer Keller
933745f36b Autotest: Fix build error with QT_NO_EXCEPTIONS
The function declaration has to be in the same ifdefs as the
implementation.

Change-Id: I78c5795baef4adba7439f66252819963db164759
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-08-19 07:02:27 +00:00
Ulf Hermann
6c76fdc761 Allow loading of static plugins if QT_NO_LIBRARY is set.
We keep two symbols from QPluginLoader defined, even if QT_NO_LIBRARY
is set in order to be able to locate static plugins. This doesn't
constitute any loading of shared libraries or plugins from external
files at runtime.

Using these symbols we can enable most of QFactoryLoader even if
QT_NO_LIBRARY is set. Only update(), refreshAll(), library() and
the dtor make no sense then. This way QGenericPlugin also becomes
useful with QT_NO_LIBRARY.

Task-number: QTBUG-3045
Change-Id: Ib7842ce5799e8e2caa46431d95fddd1adda0fc41
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-08-18 19:59:46 +00:00