Commit Graph

1202 Commits (f6f6958a3e71230d4f2ef4db54d8d7fa010fa58b)

Author SHA1 Message Date
Liang Qi 5ba29e1672 Merge remote-tracking branch 'origin/5.9.4' into 5.9
Change-Id: Ic23e90146470d69060313628562f76a710696bab
2018-01-11 12:45:59 +01:00
Allan Sandfeld Jensen 4c03f2b79e Fix regression in painted emoji offset
Factor out translation from the matrix applied on bitmap glyphs,
as that gets applied as position when painted.

Task-number: QTBUG-64313
Change-Id: Iab8d995c00ee02eda0896242903312d837b6d790
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
(cherry picked from commit 07fcfb793d)
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2018-01-10 07:07:13 +00:00
Eskil Abrahamsen Blomfeldt 12687ccfd5 CoreText: Order fallback fonts based on writing system support
After we stopped sanitizing the fallback font list (with change
6ca48a847a), we now need to make
sure it is ordered so that the fonts that support the writing
system in question are always tested first, otherwise we can end up
loading a lot of fonts that will never be used.

Task-number: QTBUG-65605
Change-Id: Id2a65bbff3e64e6d6e6b4f72500778ee3e811e84
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2018-01-09 12:17:34 +00:00
Laszlo Agocs 782eb1a114 Report modifiers correctly in mouse events with evdev and libinput
Task-number: QTBUG-60694
Change-Id: I7b1625e5f31e49cd2ab18a83bbd0f65f9b58088d
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2017-12-12 20:21:15 +00:00
Laszlo Agocs 6a5ca7240a Fix QEGLPbuffer::isValid() with surfaceless contexts
Task-number: QTBUG-65125
Change-Id: Idcd87804ab63031e48ff2f72eb98c986bfa39f25
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2017-12-12 20:21:00 +00:00
Eskil Abrahamsen Blomfeldt 153311706c macOS/iOS: Fix garbled text under some conditions
There seems to be an issue in CoreText which may cause an existing
font descriptor to give unreliable results if it refers to one of
the system theme fonts. Since we do not know all function calls
or events that may trigger this bug, the safe route is to always
create fresh font descriptors when creating fonts for these
descriptors. The impact on performance should be small, as Qt has
its own internal caches.

[ChangeLog][macOS/iOS][Text] Fixed an issue where text using
one of the system theme fonts would under certain circumstances
display random glyphs.

Task-number: QTBUG-63476
Change-Id: I9e9b253018c63976345eec1439a6b78de2cab869
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-12-01 07:55:47 +00:00
Gabriel de Dietrich 53f7c20cb5 Generic Unix Theme: Don't crash if D-Bus is not running
Change-Id: I215ef25fe943730ba8b1976695a04a4aa86638f1
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
2017-11-20 22:22:18 +00:00
Allan Sandfeld Jensen 7df4dcff2c Fix memory corruption on scaled emojis
Bitmap glyphs are returned prescaled, which means we should include
the transform in their bounding box.

Additionally painting them should stick the smallest rect to avoid
writing outside the allocated area, and assert in debug builds.

Task-number: QTBUG-64239
Change-Id: I5f877d36566891323f528018f910798344ba4ce2
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-11-06 14:03:44 +00:00
Friedemann Kleint a24597d93d Windows font database: Remove clamping of default font size
Partially revert a72513cab7.
The value is too small for Chinese fonts.

Task-number: QTBUG-63654
Change-Id: If020bfc3044258b7abfd9d463bc9b292a9cc0839
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2017-10-09 21:02:22 +00:00
Jake Petroules e470348d87 Fix deprecated API usage
Amends c1cece8e54

For some reason, this was missed in the original change. This is now
outright prohibited in the watchOS 4 SDK and will cause a compilation
error on that platform.

Change-Id: Iaa2edf6256a54ca11dec9f1efd8a4d18ba7dc046
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-10-07 16:52:10 +00:00
Kai Uwe Broulik 3c59065d5c qglxconvenience: Avoid null pointer dereference
glXGetVisualFromFBConfig according to documentation can return NULL [1].
This may result in a crash when running Qt applications using ARGB windows
with XLIB_SKIP_ARGB_VISUALS defined.

Also guard QXlibScopedPointerDeleter against illegally calling XFree(nullptr).

[1] https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glXGetVisualFromFBConfig.xml

Task-number: QTBUG-58910
Change-Id: Ie076a1e906ed632543bdab03ef365f699533a61a
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2017-09-27 08:35:28 +00:00
Sérgio Martins 32ca19b2c5 Fix typo in debug statement: QPlatformScren -> QPlatformScreen
Change-Id: Ibf5046ff88cbad1f03966f39f62183b0bd750221
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2017-09-24 20:34:22 +00:00
Jake Petroules b0ffb332f2 Add missing math.h include (for sqrt function)
Change-Id: Ia9cee8a941e31d71d3df6094b21d20a26f1b46f1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-09-22 20:27:50 +00:00
Friedemann Kleint a72513cab7 Windows QPA: Hardcode a limit for the default point size
Windows uses deprecated API to obtain the default font which
has been observed to return bogus sizes in multi monitor setups.
Apply a limit in this case and add fixme comment for Qt 6.

Task-number: QTBUG-49374
Task-number: QTBUG-58610
Change-Id: I6e805ec792a3f425961a48ef4c4329c3cdf302b6
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2017-09-01 09:15:32 +00:00
Dongmei Wang 63002b2f37 QFbVtHandler: Remove unused sys/signalfd.h include
Change-Id: Ia9fa3c4de0a1dbdd1b36730c82f5180c2128cbcf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2017-08-29 13:43:17 +00:00
Joerg Bornemann d7438593a8 Remove QMAKE_LIBS_CORE variable
Define the lib dependencies for corelib in corelib.pro, where they
belong.

Change-Id: I973d3b0c571782d869b27dea243e899db4dddc43
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-08-28 13:10:38 +00:00
Eskil Abrahamsen Blomfeldt a26a3cfbc7 macOS: Fix matching of font weights for application fonts
5ad2e1cea1 exposed a
latent bug when matching font weights that do not exactly
match any of the canonical weights in the system .

It seems that when we registered the font with FontManager,
it would modify the font weight to match a system weight,
while we now get raw values from the font instead.

So for Roboto Medium, for instance, we would now get
0.2 instead of 0.23, and since our conversion logic
would convert everything between Light (-0.4) to
Medium (0.23) to QFont::Normal, we would regard this
as normal weight instead of medium.

But on a linear scale, it makes more sense to match
to the closest canonical weight instead of requiring
exact matches.

Note that the definition says that the middle between
two weights should tend upwards, therefore we do the
comparisons in decreasing order.

[ChangeLog][QtGui][Text] Fixed matching of non-regular
font weights for application fonts on macOS.

Task-number: QTBUG-61520
Change-Id: Ieda4927c2c69ec72125257340cf06c683b031d05
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-08-16 12:48:15 +00:00
Romain Pokrzywka c161c6db78 Fix a race condition in QEvdevTabletHandler::readData()
Statics and threads don't mix well. There can be multiple threads
calling QEvdevTabletHandler::readData() simultaneously if you have
several tablet devices registered with the plugin, creating a race on
the static buffer array.

Make the buffer a simple local variable instead, the array is small
enough that we can afford the per-thread stack allocation.

Change-Id: I4487add8df50743b8178ca6faeb9be45231ccb78
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2017-08-14 19:02:23 +00:00
Friedemann Kleint 5303225aef Windows font database: Make DirectWrite warnings more verbose
Output family and format error message using _comerror struct.

QWindowsMultiFontEngine::loadEngine: CreateFontFromLOGFONT failed (The operation completed successfully.)
becomes
QWindowsMultiFontEngine::loadEngine: CreateFontFromLOGFONT failed for "8514oem": error 0x88985002 : Indicates the specified font does not exist.

Change-Id: Iccd4622127d94870b4b7465a4b4fdbf34ad1c434
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-07-27 14:58:50 +00:00
Allan Sandfeld Jensen c08dc1e04f Read more KDE configuration in the KDE platform theme
Adds the hints that are read and used by the plasma-integration platform
theme, so naked Qt applications can integrate just as well on this
front.

Change-Id: I45a113e0081ea96c8cf543c22b28b69280ae7619
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
2017-07-18 08:11:27 +00:00
Friedemann Kleint 05fd45ac8d QIntegrityHIDManager: Fix syncqt warnings
QtInputSupport: WARNING: qtbase/src/platformsupport/input/integrityhid/qintegrityhidmanager.h includes QObject when it should include QtCore/QObject
QtInputSupport: WARNING: qtbase/src/platformsupport/input/integrityhid/qintegrityhidmanager.h includes QList when it should include QtCore/QList
QtInputSupport: WARNING: qtbase/src/platformsupport/input/integrityhid/qintegrityhidmanager.h includes QList when it should include QtGui/QList
QtInputSupport: WARNING: qtbase/src/platformsupport/input/integrityhid/qintegrityhidmanager.h includes QThread when it should include QtCore/QThread

Amends 88f30250eb.

Change-Id: Ia56fdd87871fdeae8fe34752c61a66195100ceb7
Reviewed-by: Kimmo Ollila <kimmo.ollila@qt.io>
Reviewed-by: Rolland Dudemaine <rolland@ghs.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-07-07 21:39:17 +00:00
Allan Sandfeld Jensen 5e3b284345 Follow KDE settings for menu and toolbar fonts
Makes pure Qt applications integrate better when those fonts don't
match the general fonts.

Change-Id: Ic06e8595efc44f0c6649cf364e751c4c714cda93
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-06-13 16:04:00 +00:00
Frederik Gladhorn 98057fc6c5 Use upstream at-spi 2
Move at-spi dbus xml definitions into platformsupport, these files
simply describe the DBus protocol and should not be in 3rdparty.

The header files can just as well be picked up by pkg-config.

Change-Id: I326d9b3cb69223bf2c8646099f211d9a9f3fa0af
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-06-09 06:09:45 +00:00
Oliver Wolff 61f67c12fa winrt: Use styleHint as clue for fallbacks for font families
Similar on how it is done for Windows desktop we also use the given
style hint when building the list of fallbacks a font family.

Change-Id: I71378581d07f20ebe5bf0bc757bba919cc70e118
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2017-06-01 08:23:51 +00:00
Kimmo Ollila 88f30250eb Add USB HID device feature to INTEGRITY
This change adds USB mouse handling support for INTEGRITY

Change-Id: I8a2a51c8c3578898e90dd5bbb01f6aed6c64e2a4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io>
Reviewed-by: Nikola Velinov <nvelinov@ghs.com>
Reviewed-by: Rolland Dudemaine <rolland@ghs.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Tero Alamaki <tero.alamaki@qt.io>
2017-05-30 10:38:12 +00:00
Allan Sandfeld Jensen 2a0d96daa8 Do not use FT_LOAD_TARGET_LCD when full hinting is requested
In FreeType 2.8.0 FT_LOAD_TARGET_LCD is now a variant of
FT_LOAD_TARGET_LIGHT instead of of FT_LOAD_TARGET_NORMAL. This means
requesting it will get us light hinting.

See https://sourceforge.net/projects/freetype/files/freetype2/2.8

We should just avoid using it all together since we request the LCD
mode separately anyway with FT_RENDER_MODE later.

Change-Id: I9ea2e39a6e9ba25ba11604a194e552fe4240a127
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-05-29 14:09:47 +00:00
Tero Alamäki aea4e3823d Add INTEGRITY mkspec for ARMv8 Drive CX
Change-Id: I038de7a0cc9e6046aec3fc930876d43263702e90
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2017-05-29 09:46:12 +00:00
Jake Petroules cf969f0be3 Add undeclared CoreFoundation and Foundation deps to coretext.pri
This fixes shared library builds of Qt on iOS and tvOS.

Change-Id: I29d4c7e779e51b1adc19ca9dc18bc46a45a60093
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2017-05-11 05:57:08 +00:00
Thiago Macieira 851b39a6d6 Update detection of $DESKTOP_SESSION
I don't know how widespread this use is, but apparently sddm seems to
set DESKTOP_SESSION to be the .desktop file that it used to launch the
session (minus the .desktop extension). In that case, we should read the
DesktopName entry from the file to get the actual desktop type.

And since the desktop detection from QGenericUnixServices should
suffice, we don't need to repeat the same code in QGenericUnixThemes.

Change-Id: I0e1a09998253489388abfffd14b5eeefbd7fe740
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
2017-04-27 22:35:06 +00:00
Thiago Macieira 8e6a17f687 Fix unused private fields in dbusmenu and dbustray
qdbusplatformmenu_p.h:131:9: error: private field 'm_reserved' is not used [-Werror,-Wunused-private-field]
qdbusplatformmenu_p.h:192:10: error: private field 'm_isSeparator' is not used [-Werror,-Wunused-private-field]
etc.

Change-Id: I84e363d735b443cb9beefffd14b8bc4253081145
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2017-04-26 13:11:39 +00:00
Tasuku Suzuki b6ae2695af Fix warning for -no-feature-multiprocess
Change-Id: Ifa3382098c8f7c2cb1750b7ac5e583ddd71895e2
Reviewed-by: Stephan Binner <stephan.binner@basyskom.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2017-04-25 09:51:08 +00:00
Gatis Paeglis fbb485d4f6 Prevent busy loop in glib event dispatcher
.. when running event loop with QEventLoop::ExcludeUserInputEvents.

In a properly functioning code, g_main_context_iteration is expected
to block until any event source becomes ready to dispatch an event
(or interrupt occurs). Qt provides several custom event sources to
the Glib event loop. The bug (busy loop) was caused by faulty event
source implementation when QEventLoop::ExcludeUserInputEvents is set.
As long as the window system's event queue was not empty, we signaled
to the event dispatcher that there is an event ready to be dispatched.
This results in the dispatcher calling the relevant dispatch function
(which does handle the ExcludeUserInputEvents flag correctly). As we
do not dispatch user events, the window system's event queue never
becomes empty and we enter a busy loop (CPU running at 100%) where we
signal that we have events to dispatch, but we actually do not dispatch
them and g_main_context_iteration never gets to block.

This busy loop can cause blocking GTK functions such as gtk_dialog_run()
never return.

Task-number: QTBUG-59760
Task-number: QTBUG-57101
Change-Id: I545b7951108eeaba019614ae8f5a1168c8b26c27
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
2017-04-24 18:11:13 +00:00
Tor Arne Vestbø 031e0f4364 macOS: Fix crash when closing windows with raster backingstore
After 5b78fcd03b the raster backingstore tries to use the platform window
to resolve the native DPR, but we might not always have a platform window.

Instead we go though the window, like before, which has fallback paths for
the case of no platform window, and then remove the Qt scaling factor
manually.

Change-Id: I19c8383b0a33f3d97aaf0d0e886ed03e14cb1592
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-04-21 15:12:52 +00:00
Tor Arne Vestbø 84b3f12310 macOS: Defer population of localized font family aliases until needed
Getting the localized family name of a font involves quite a bit of work
internally in CoreText, e.g. creating and sorting font descriptors.

By deferring population of family aliases until a font match misses
we shave off ~1 second of startup time for applications that use non-
localized font families (most applications).

Change-Id: I021952c311c0d70d7769ccf764dbf997ebf30a4b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-04-21 10:36:00 +00:00
Thiago Macieira 47c9b66a8b Disable precompiled headers for small modules
Creating a precompiled header exclusively for a one- or two-file module
is wasteful. The time that it takes to build the precompiled source is
on the same order as a regular compilation, so enabling precompiled
headers for those modules just makes the build slower.

Also make it possible to override the precompiled header by just setting
PRECOMPILED_HEADER to empty.

Change-Id: I0e1a09998253489388abfffd14b5f221288c4826
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-04-20 05:39:47 +00:00
Tor Arne Vestbø 46976eea18 Add debug operators for font database structs for easier debugging
Change-Id: Ice1b27ff93de2d369dc6b66c72a64eb05da5639c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-04-18 09:40:41 +00:00
Liang Qi 18934bcb0c Merge remote-tracking branch 'origin/5.8' into 5.9
Conflicts:
	src/corelib/global/qglobal.cpp

Change-Id: I375fa4afa662fa411a15f212ebd5f2f0dffdba7f
2017-04-18 10:46:22 +02:00
Marco Trevisan (Treviño) b727f11c2e QFontconfigDatabase: properly parse desktop environment variable
$XDG_CURRENT_DESKTOP is defined as a colon-separated list of
desktop strings, thus we can't check for equality, but split it
and check if it contains the desktop environments we care about.

Change-Id: Ia9ab0f28654a3e1a68b918794a079f3974f85642
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
2017-04-12 11:11:32 +00:00
Friedemann Kleint 59d4cbca0b QWindowsFontEngineDirectWrite: Fix build with MinGW
In member function 'void tn::QWindowsFontEngineDirectWrite::collectMetrics()':
windows\qwindowsfontenginedirectwrite.cpp:361:22: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (table.size() >= advanceWidthMaxLocation + sizeof(quint16)) {
                      ^
Amends 17fc188aec.

Task-number: QTBUG-58954
Change-Id: Ice2ff135d411b55d32290069b3c85ca0b5ea09af
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-04-12 08:32:00 +00:00
Tor Arne Vestbø f9226217d1 macOS: Prevent leaking font data when creating QRawFont from QByteArrays
CTFontCreateWithGraphicsFont has a bug causing it to never release the
graphics font, which cascades down to the data provider never being
released and releaseFontData never being called.

Instead of relying on a callback to release the byte array font data,
we attach the font data to the engine's lifetime. Note that we are
still leaking the CoreFoundation types.

Change-Id: I6eda4212638ccc9439b90e004222272d204c707a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-04-11 14:30:26 +00:00
Tor Arne Vestbø 31273f079e macOS: Don't marshal app font data via URL when using FreeType font engine
Font descriptors can have attached attributes of any kind, not just pre-
defined constants like kCTFontURLAttribute. We take advantage of this and
attach the font data that was passed into addApplicationFont() to the
font descriptor, so we can read it out directly when later creating an
engine for it. This removes the need to build up a URL to represent the
font data, which also didn't work for the memory-font use-case. The
FreeType font engine now passes the same tst_QFontDatabase tests on
macOS as the native CoreText font engine.

This also fixes the leak caused by CTFontCreateWithGraphicsFont never
releasing the graphics font, resulting in releaseFontData never being
called:

  http://stackoverflow.com/questions/40805382/

We're now cleaning up the font data in releaseHandle, based on the
attribute set on the font descriptor.

Change-Id: Iba15222ec919f989e29fd98b263d9fb182c4d710
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-04-11 14:30:18 +00:00
Tor Arne Vestbø 5ad2e1cea1 Populate application fonts via font descriptors on Apple platforms
Instead of registering the font via CTFontManagerRegister we just create
a font descriptor for the data/URL and populate that like normal system
fonts. This makes the code more similar to how we deal with other fonts,
shaves off a ms during font registration due to not registering the font,
and fixes an issue on iOS where CTFontManagerRegister would invalidate
earlier populated system font descriptors.

Task-number: QTBUG-56765
Change-Id: I002a65075b15837c9a2d22573020d4c834111837
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-04-11 09:23:44 +00:00
Eskil Abrahamsen Blomfeldt 17fc188aec Implement maxCharWidth() for DirectWrite engine
This is used to create the bounding box in QFontEngine::properties(), which
in turn is used for the FontBBox when generating PDFs. The result was that
the bounding width in the output was 0 and Adobe Reader complained that the
PDF was malformed. We could implement the proper bounding rect in properties()
at some point, instead of assuming an origin at x = 0 for instance. The
metrics for that are in the head table. But for silencing the warning in
Reader, just implementing the maxCharWidth() function is sufficient.

[ChangeLog][Windows][PDF] Fixed a bug in PDF output when using high-dpi
scaling which was causing the display of warnings when opening the
file in Adobe Reader.

Task-number: QTBUG-58954
Change-Id: I2540571863d4dd0f85af533b591f75dad3f0d75b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-04-11 08:01:44 +00:00
Liang Qi 0fc569184c Merge remote-tracking branch 'origin/5.8' into 5.9
Conflicts:
	src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp
	src/platformsupport/fontdatabases/freetype/qfreetypefontdatabase.cpp
	src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp
	src/widgets/widgets/qtabbar.cpp

Change-Id: Iaa9daee5f7a6490d56257a3824730a35751ceb05
2017-04-06 14:16:31 +02:00
Allan Sandfeld Jensen efb84b6189 Copy stretch to multifont fontDef
If we do not the fontDef of the multifont will be the default 0.

Task-number: QTBUG-59443
Change-Id: Ib223517975b2a57b2371e309d12cd8f918d30825
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-04-05 11:27:15 +00:00
Allan Sandfeld Jensen b67b80b715 Fix stretch of QRawFonts
Set stretch to always have no transform on raw fonts.

Task-number: QTBUG-59799
Change-Id: Ibfacc5c247e0b4a8410572e207f09f6e67b74f9d
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-04-05 10:26:14 +00:00
Tor Arne Vestbø 1b2234c4e7 macOS: Remove un-needed fontDef assignment in QCoreTextFontDatabase
The QCoreTextFontEngine constructor already sets the member (like it should).

Change-Id: I6e59ff36c439857418a636de4056c20d2f65e8d4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-04-04 15:14:35 +00:00
Tor Arne Vestbø 5b41b34958 macOS: Use NSURL to resolve FreeType font names instead of CoreFoundation
Change-Id: I4b397361c483fa07e4e95288f66d7f7ea2df8d9f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-04-04 15:14:22 +00:00
Tor Arne Vestbø a7fe6ab891 macOS: Use shared code path for creating FreeType font engine for QRawFont
The round trip via a CGFontRef to a CTFontRef so that we could pull out
the kCTFontURLAttribute of the font makes no sense, as the input is just
raw font data. None of the tst_QRawFont tests are able to pull out a
URL, and none of the other platforms where FreeType is available resolve
a filename from raw fonts.

Without this change the tst_QRawFont test has 13 failed test cases and
spits out 1250 QWARNs. With the patch all tests pass without warnings.

Change-Id: I17965e7405d7161958ff0870825ce8190598288f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-04-04 15:02:13 +00:00
Tor Arne Vestbø 6c547142d5 Move FreeType font engine creation for QRawFont into factory function
So that the logic can be used without subclassing the FreeType font database.

Change-Id: Ib1ac0e1948ce18003b8eda0c1e8fbb3c7e6c8360
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-04-04 15:01:43 +00:00