Commit Graph

29134 Commits

Author SHA1 Message Date
Marc Mutz
0e40781c16 QAbstractItemViewPrivate: de-inline hasEditor()
This is in preparation of fixing a design problem with indexEditorHash.

Change-Id: I6045ad3f15cd3087a894b96e9e068e42af7a1dea
Reviewed-by: hjk <hjk@qt.io>
2016-07-27 16:31:25 +00:00
Timur Pocheptsov
f41cbc2d45 Cococa integration - close popups in a windowWillClose callback
'Orphan' popups were already partially fixed as a side-effect of
10126b37d2 (orphan since the 'parent' is moving
but popup stays in a now wrong position).
This patch also tries to fix the case when a window closed.

Change-Id: I0bbf474ab4f3b845d8bd337dae2abbae23192d0e
Task-number: QTBUG-46262
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2016-07-27 12:35:20 +00:00
Eirik Aavitsland
7bf002c3b3 Backwards compatibility fix: No default colormap for Mono QImages
This is a partial revert of a4e2f2e687.

That fix tried to avoid the risk of a crash in pixel() by ensuring
Mono QImages created with external data also got a default color
table. However, that broke usable behavior in existing code that was
painting in Mono QImages using color0/color1.

This commit reverts to the old behavior, and instead expands on the
checking in pixel() so that lacking color table is handled gracefully
for all indexed formats.

Task-number: QTBUG-54827
Change-Id: I9164198bed9d20c4b12cdba40a31c141bef3128d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-07-27 11:46:11 +00:00
Friedemann Kleint
69b43e74d7 Harfbuzz: Fix warnings of MSVC 64 bit
qtbase\src\3rdparty\harfbuzz\src\harfbuzz-shaper.cpp(97): error C2220: warning treated as error - no 'object' file generated
qtbase\src\3rdparty\harfbuzz\src\harfbuzz-shaper.cpp(97): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
qtbase\src\3rdparty\harfbuzz\src\harfbuzz-shaper.cpp(284): warning C4800: 'HB_Bool': forcing value to bool 'true' or 'false' (performance warning)
qtbase\src\3rdparty\harfbuzz\src\harfbuzz-arabic.c(924): warning C4244: 'initializing': conversion from '__int64' to 'int', possible loss of data
qtbase\src\3rdparty\harfbuzz\src\harfbuzz-arabic.c(984): warning C4244: '=': conversion from '__int64' to 'int', possible loss of data
qtbase\src\3rdparty\harfbuzz\src\harfbuzz-arabic.c(995): warning C4244: '=': conversion from '__int64' to 'int', possible loss of data

Required to build QtCore after change a372cf5a80.

Change-Id: Ieb65c19e518984dde91bc8acab35203f8c271da3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-07-27 10:00:24 +00:00
Eirik Aavitsland
5b64b64717 Fontengine: Avoid invalid alpha maps when antialiasing is off
When font antialising is disabled, the created alpha maps will be Mono
format. Make sure that the created QImage is valid by ensuring that
it has a color table of the right size.

Issue was earlier handled by a4e2f2e687,
but that will be partially reverted because of compatibility break.

Task-number: QTBUG-50745
Change-Id: I7c521288469ae94805a3326644771270d97ab979
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-07-27 09:01:15 +00:00
Morten Johan Sørvig
a2157df28b HighDPI: Disable scrolling for non-integer deltas
Disable the scrolling optimization in QBackingStore
and fall back to repainting for non-integer deltas.
The existing rendered pixels are not re-usable in
this case.

The test is made on the delta, and not on the scale
factor. This means that user code can cooperate and
generate (logical delta, scale factor) combinations
that result in integer pixel deltas (which _can_ be
scrolled).

Change-Id: I36eb5d9e00449428bc9095edd8732782b996db16
Task-number: QTBUG-52452
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-07-27 08:54:35 +00:00
Eskil Abrahamsen Blomfeldt
4ffdd865b0 Revert "Emit updateBlock signal in QTextDocumentLayout"
This reverts commit 13040043b2.
It introduced a bad regression, noticeable for longer documents, as
it would cause the documentChanged(0, length) to trigger a layout of
the entire document.

The bug report for the commit (or the commit itself) does not contain
a test case, but it is regardless the wrong approach. Note that
QQuickTextEdit already listens to the contentsChange signal and
invalidates the changed parts of the document as a reaction to this,
so it should already work as expected.

[ChangeLog][Qt Gui][Text] Fixed performance hit from showing large
QTextDocuments in a QTextEdit or QTextBrowser. (Regression introduced
in Qt 5.3.0)

Task-number: QTBUG-51411
Change-Id: I6e7fbf8f62a1d68779eef5da3781de14d9fdcad8
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-07-27 06:46:04 +00:00
Alex Trotsenko
75a9bd2a4f Introduce SCTP sockets support
Add protocol-specific code and the QSctpServer, QSctpSocket classes.

Change-Id: Ie9a1d87bd1fda866a2405043d1c15c12ded5a96e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-07-27 06:37:24 +00:00
Laszlo Agocs
97318a3d5f embedded: Make signal handlers optional
[ChangeLog][Platform Specific Changes] It is now possible to opt out from
installing signal handlers when running with eglfs and linuxfb by setting
the QT_QPA_NO_SIGNAL_HANDLER environment variable to a non-zero value.

Task-number: QTBUG-54733
Change-Id: Ib07d4bbf714c752631c49b76ad0a16677c1ba5bd
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2016-07-27 05:17:49 +00:00
Giuseppe D'Angelo
b694fe987c QOpenGLDebugLogger: strengthen the code path in case of GL context destruction
Trying to move closer to GL semantics: it is allowed to destroy
a GL context at any time and that must free all of its resources.

Change-Id: I3daa81d721cf26baf86a1a6435b77e3c28feb1a2
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2016-07-27 05:13:02 +00:00
Sérgio Martins
65bad0d0f4 Update documentation regarding QPixmap HICON conversions
The QPixmap methods are gone in Qt5. QtWinExtras should be used instead.

Task-Id: QTBUG-54838
Change-Id: Ia52ab9786f57d92caf4c44142a3131dbf973a193
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-07-27 05:12:54 +00:00
Olivier Goffart
c5a4b093d0 Add QMetaEnum::isScoped to be able to destinguish C++11 enum class
Change-Id: I67b1dbd069fa57bd60e50690abb5d876edc0d1d2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-07-26 22:49:31 +00:00
Giuseppe D'Angelo
b27065014f Update .gitignore
Change-Id: Id90e9441d0e30ec5468032328b890577c349c320
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-26 19:53:09 +00:00
Giuseppe D'Angelo
107ac187bc QOpenGLDebugLogger: do not crash if deleted with the wrong GL context current
Task-number: QTBUG-54799
Change-Id: Ifee3183e7944fbe266fe644628d33d0667be99a8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-07-26 14:58:54 +00:00
Friedemann Kleint
2ceccc6f7f Add manual test embeddedintoforeignwindow
Add a test for embedding Qt windows into foreign windows.
Complements the existing "foreignwindows" test (which embeds
foreign windows into Qt).

The test has a simple UI based on QRasterWindow allowing
for checking events and geometries.

Task-number: QTBUG-41186
Change-Id: Ie62a3e250ca666e2fa5c2e3ef37ef0654829397c
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-07-26 14:53:09 +00:00
Mike Krus
e7aec5302e Use earlyReport to handle incorrect use of RPATH config settings
Report error when using RPATH settings on platforms that don’t support
it or when doing static builds

Change-Id: I2ba0c2bff5347170c7fcb339da80ef1f1974d43a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-26 13:34:09 +00:00
Allan Sandfeld Jensen
b3959b515f Update qcssscanner so it can parse our normal offline documentation CSS
Adds the three CSS3 attribute selectors.

During this the internal naming of the existing attribute-selectors have
been changed to be more clear, and the dash-matching has been fixed to
not just be beginsWith.

A non-breaking space have also been removed from the CSS.

Change-Id: Ia4db4a5a19e3ceee8c3c8a4b744149edd1d32bdc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-07-26 13:26:00 +00:00
Mitch Curtis
d9831a03ca Fix grammar error in QFlags documentation
Change-Id: I1c5d2be402f7e194eaa2e6f646aa5edad1bfd9d9
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-07-26 11:50:47 +00:00
Friedemann Kleint
d57bfa21ce QDialog::adjustPosition(): Check screen number
The screen number has been observed to be -1 in setups
with multiple virtual desktops.
Amends change eb50193136.

Task-number: QTBUG-52735
Change-Id: If01acf74fdd701a9211df732c0defdfd522ba72d
Reviewed-by: hjk <hjk@qt.io>
2016-07-26 11:48:51 +00:00
Giuseppe D'Angelo
7095db3633 Update .gitignore
Change-Id: Ib091f294c8557a44a2c39594fcf6f2d39de1d7e2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-26 11:48:21 +00:00
Marc Mutz
a12cc29cf5 QLayout: use qEnvironmentVariableIntValue()
It doesn't allocate memory, so cannot throw and is a lot faster
than qgetenv().

Change-Id: I355cd4ce9d0e1a56f1b40a340953d6a4b4a58629
Reviewed-by: hjk <hjk@qt.io>
2016-07-26 11:12:12 +00:00
Edward Welbourne
6c5de416c9 Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	src/corelib/io/qtemporarydir.cpp
One side encapsulated a repeated piece of #if-ery in a local define;
the other added to the #if-ery.  Made its addition to the other's.

	src/corelib/kernel/qeventdispatcher_unix_p.h
One side moved some members into a struct; this collided with a #undef
check that neither side now has.  Discarded the #undef part.

	src/gui/opengl/qopengltexturehelper_p.h
5.7 deleted a bunch of methods; not clear why merge got confused.

	src/tools/moc/moc.cpp
One added a name to the copyright header; another changed its URL.

Change-Id: I9e9032b819f030d67f1915445acf2793e98713fa
2016-07-26 10:43:29 +02:00
BogDan Vatra
79af4e1e31 Android: introduce setContext
setContext is needed by modules that don't need an Activity object to run (e.g. QtMultimeida, QtSensors, etc.)

Task-number: QTBUG-54506
Change-Id: Ief9daff52ddefdb27092040c89dfce9e466eac5c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-07-26 07:55:27 +00:00
Friedemann Kleint
8ea6e8d525 QWindowsTheme::themeHint(): Handle special value of SPI_GETWHEELSCROLLLINES
When the mouse wheel step is set to "Scroll one screen",  querying
SPI_GETWHEELSCROLLLINES returns the special value unsigned(-1). Return the
default instead of converting it to int in that case since Qt does not
implement it.

Task-number: QTBUG-52384
Change-Id: I793e5c09103fe0c7c4a378aba97e9f63ae1c2f35
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2016-07-26 05:57:14 +00:00
Giuseppe D'Angelo
25d6f312ac qFatal: unify the code path for aborting via std::abort
[ChangeLog][QtCore][Important behavior changes] qFatal will now
use std::abort to terminate the application on all operating
systems. Previously, ::abort() or ::exit(1) were called, depending
on the operating system.

Change-Id: I43da912cce1db3c2229568da25000ea80060eed9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-07-25 22:18:49 +00:00
Thiago Macieira
1fcea11756 Fix enabling of precompiled headers on macOS
On macOS, the test script is passed the full path to the compiler, like
/usr/local/bin/icpc. That doesn't match "icpc".

Change-Id: I149e0540c00745fe8119fffd1463c87b8f6a89b2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-25 20:23:13 +00:00
Timur Pocheptsov
c0aaef30b1 HTTP/2 - fix 'GOAWAY' frame size validation
Found while implementing cleartext http2 (and sending some erroneous
frames) - GOAWAY can have some 'opaque debug information payload' so the
frame's size is at least 8 bytes, but can be more.

Change-Id: I90fb8a3df22768673c4f40ba3bf6a3f5ffe33058
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2016-07-25 18:33:08 +00:00
Timur Pocheptsov
ad0d2f463a Cocoa integration - fix a crash in QMacPasteboard
QMacPasteboard's dtor skips LazyRequest promises and this leaves pasteboard
manager in broken state, since we release the pasteboard itself
of the next step in destructor. As a result, not only Qt's app doing D & D
(and thus via QCocoaDrag creating a stack-allocated QMacPasteboard) can die
suddenly when somebody inspects a pasteboard, this 'somebody' ... can also
die amazingly. So now we DO resolve promises using PasteboardResolvePromises
(but we also preserve the original intent of not providing or providing empty
data for lazy requests).

Task-number: QTBUG-54663
Task-number: QTBUG-54832
Change-Id: I3ce90bd0a012dd3cbb30c93b2b17dce9473acb28
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2016-07-25 17:05:36 +00:00
Friedemann Kleint
65cdffeaea QPlatformWindow::initialGeometry(): Do not touch child window positions
Child window positions should not be mapped back and forth by High DPI
scaling as this can cause them to change screens or be moved to invalid
locations.

Introduce a separate branch for child windows applying only size
constraints.

Task-number: QTBUG-54420
Change-Id: I4f86666952a49ed6fa03234a04031bc406281c45
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2016-07-25 16:20:16 +00:00
Giuseppe D'Angelo
a594f85d54 Q(Basic)Mutex: add try_lock{,_for,_until} for STL compatibility
Now QBasicMutex is Lockable and QMutex is TimedLockable, which means they can
be used in std::lock_guard, std::unique_lock, std::lock, etc.

[ChangeLog][QtCore][QMutex] QMutex now fully models the TimedLockable
concept by providing the try_lock, try_lock_for and try_lock_until
functions, therefore making it usable in Standard Library lock
management classes and functions.

Change-Id: I7c691481a5781a696701e1ab78186b5cefbd6a87
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-07-25 13:10:07 +00:00
Mike Krus
a8cf3b0257 Extend tests in new json config file to cover UIKIT platforms
Replace ios tests with uikit to include tvos

Change-Id: Ifc67d556a2b3b24532d0f87b12599420f895ddbd
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-07-25 06:57:31 +00:00
Philip Seeger
3f1e8d85cc MySQL: Use charset utf8mb4 to allow 4-byte characters
In MySQL, the character set named utf8 uses a maximum of 3 bytes
per character and contains only BMP characters.
It does not support supplementary characters.
In version 5.5.3, a new UTF-8 character set called
utf8mb4 has been introduced, which supports 4-byte characters.

[ChangeLog][QtSql][QSqlDatabase] When connecting to a MySQL server
whose version is 5.5.3 or higher, the default connection charset
is now utf8mb4 instead of utf8 to allow 4-byte UTF-8 encodings.

Change-Id: I718bd23212afd67367b39d4ce7da2a99ae0f1cca
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2016-07-24 12:09:03 +00:00
Thiago Macieira
726c8ca0de Work around ICC bug about shadowing declarations that aren't shadowing
Known ICC bug, still present in version 17 beta.

qdatetime.h(126): error #3280: declaration hides member "QDate::jd" (declared at line 136)

Obviously a parameter to static function or to a function in a nested
class can't shadow an NSDM.

Intel issue IDs: 0000698329 / DPD200245740
Change-Id: I149e0540c00745fe8119fffd1463c679a3a9c8c3
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-07-24 05:27:53 +00:00
Alex Trotsenko
3c6a7a96ef QRingBuffer: add packet mode
As a special case, setting the value of chunk size to zero forces
QRingBuffer to produce a separate QByteArray on each call which
appends the data. So, this enables a packet mode where portions of
data are stored independently from each other.

Change-Id: I2d0b331211901a289da7d4533e974f06830b5590
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-07-23 09:05:13 +00:00
Alex Trotsenko
3605fc653b QRingBuffer: allow to change the chunk size of the buffer dynamically
Change-Id: I0ac55713c7bb8c48d2c9c774376543caef781980
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-07-23 09:05:04 +00:00
Allan Sandfeld Jensen
b91f86a212 Improve accuracy in fast path bilinear sampling
Adds rounding before using the optimized low accuracy interpolation,
this reduces the magnitude of error in the scaled result from ~4 bits
to just 2 bits.

Change-Id: Ie4e618bf5b1f4a74367aa419ebbd534cc6a846b3
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2016-07-23 07:43:01 +00:00
Friedemann Kleint
5123dba564 QImage::setAlphaChannel(): Check result of image conversion
alphaChannel.convertToFormat() may fail due to OOM. Check the obtained
image.

Task-number: QTBUG-54873
Change-Id: I778b7de7de611105fe23c1c24cbd69bd8f7c72d9
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2016-07-23 07:09:19 +00:00
Gabriel de Dietrich
529b1c9e2a QCocoaApplicationDelegate: Remove unused function
This seems to be a leftover from pre-QPA Cocoa menus time.

Change-Id: I1bcfb3a882f500a63a5dec0fbe01f4541e14d54a
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-07-23 05:03:59 +00:00
Giuseppe D'Angelo
7814bf126a Use QElapsedTimer in tst_qmutex
This requires fixing the test on Windows: QMutex internally uses
WaitForSingleObjectEx which can wake up early, according to the system
timer resolution:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms687069(v=vs.85).aspx#waitfunctionsandtime-outintervals

QTime must be so slow that it hides the early wakes, but QElapsedTimer is
accurate enough to make the test fail unless we add back some tolerance to
compensate for the early wakeups.

Change-Id: I20b38af9c87a0b0e38a19b9bff1c3c24975c78f5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-07-22 23:18:27 +00:00
Thiago Macieira
091e61b352 Fix namespaced build using harfbuzz-ng
harfbuzz-ng doesn't link to Qt libraries, but uses the Qt headers for
some types. With CONFIG -= qt, we don't get QT_NAMESPACE set, which
leads to linker errors later. Instead of setting QT_NAMESPACE, ask
qversiontagging.h not to tag the headers.

Change-Id: Ie585843cfb684bc3b6e3fffd145e7e438ae7c6bd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-22 20:23:45 +00:00
Gabriel de Dietrich
8ea51f8aaa Make QCocoaMenuLoader a singleton
In some auto-tests, we create several instances of
QGuiApplication (though seldom, if ever, simultaneously).
However, the QCocoaMenuLoader instance was never properly
deallocated, resulting in NSApplication.servicesMenu
to still be assigned. This resulted in an exception being
raised (NSInternalInconsistencyException) the second time
we would construct a QCocoaMenuLoader.

The CPU cycles saving solution is to make QCocoaMenuLoader
a singleton. This approach is also safe since this class'
initialization doesn't depend on any state in QGuiApplication
(even the application name is fetched from either the main
bundle or the app's args).

This also allows us to clean up some code in QCocoaApplication
and QCocoaApplicationDelegate who have suffered from lack of
attention over the years.

Change-Id: Ic4c859d628ab8abd9b469b99c64293582f8e363d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-07-22 20:07:58 +00:00
Richard J. Moore
4bbcc054e0 Add missing overloads for custom verbs
When support for custom verbs was added the overloads for the various
body data options were not.

Task-number: QTBUG-54868
Change-Id: I1a495023d957fc71d1e3b77997a2b4b8531c0a0e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-07-22 17:08:50 +00:00
Maurice Kalinowski
bbca3cb78d Change test's entry point only when actually building it for winrt
Change-Id: I14de901e8cf16d0172a4bd35611c17de753348be
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-22 17:07:50 +00:00
Robin Burchell
57413ad3f6 QMetaType: Add a benchmark covering creation of QVariant from an enum
This proved to be quite slow in the past due to QReadWriteLock's implementation
being suboptimal (prior to its improvement in
343e5d066a).

This codepath is exercised quite extensively by QML with enum registrations.

Change-Id: I94d1e13933bf005604dc4494e2cb5bc25ef3d387
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-07-22 12:47:05 +00:00
Eskil Abrahamsen Blomfeldt
49926bb9ef Fix performance regression when changing fonts
Change e109b8a0f3 introduced a
performance regression when rapidly switching fonts as long as
the number of different fonts is over a relatively small number, since
the cost of fonts can be high compared to the limits set on the cache.

Since the original patch was intended to avoid exceeding the
open file limit when using Freetype on Windows, we add an
additional check on the number of engines in the cache as well
for the added, synchronous cache flush.

The limit is set to 256 to make it unlikely that it is exceeded
during a single paint event, but it can also be configured when
building Qt if a higher limit is needed.

[ChangeLog][QtGui][Text] Fixed performance regression when rapidly
switching between a large set of fonts.

Task-number: QTBUG-54180
Change-Id: I92b9fbe14fca4f11c9c6dfdcdbec6d19a61b86a7
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2016-07-22 12:14:03 +00:00
Oswald Buddenhagen
2152049db0 don't clear the rest of the command line when -redo is used
it's entirely reasonable to extend the saved command line by new
arguments. note that these are not saved in turn.

Change-Id: I02c1a2b33e93c85b3a29c50de00c2e5334f6ef51
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-07-22 10:28:29 +00:00
Oswald Buddenhagen
6b4496c5f8 remove the configure.exe -loadconfig/-saveconfig options
these options don't seem particularly useful (they were added in 2001
without any indication of the intended usage). maintaining multiple
static configurations can be best achieved with a script (outside the
build directory, which these options didn't permit to start with).

this obsoletes QTBUG-46690, which refers to these options.

Change-Id: I994c18481cd63d256bb7a6d1948c57f7bd480614
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-07-22 10:28:26 +00:00
Oswald Buddenhagen
9774ae3d2d Revert "Save the pkg-config settings in config.status"
it's somewhat questionable to save the environment of pkg-config, but
not that of many other things we use.
additionally, we now have logic to automatically set it up from the
sysroot when it's missing.

This reverts commit 228392aff2.

Change-Id: I0612c196c9a5023bb3ef436aebfb87cb46d8cd14
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-07-22 10:28:18 +00:00
Oswald Buddenhagen
34173e9350 print an empty line after every report
otherwise we get an unintelligible mess if multiple messages are emitted
in the same category. also, there were already empty lines between
categories, so it was also inconsistent.

Change-Id: I5e6622bc8a5d2773bbd99124cedf4e3eb73b8a60
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-07-22 10:28:14 +00:00
Oswald Buddenhagen
5ad32e7f77 make use_new_dtags a linux-only feature
it's the only OS with braindead "old" dtags in the first place.

Change-Id: I0fba436ff3f9fc061c1741b1899ca133b8ad6b5e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-07-22 10:28:11 +00:00