| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Task-number: QTBUG-34148
Change-Id: I9c0694e67cc9883db318c1a1558bdf6e08088db4
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We introduce QPlatformFontDatabase::isPrivateFontFamily() to allow
testing for private, system UI font families. Both QFontComboBox
and QFontDialog need to filter out those private font families
which, by definition, should be hidden from the end user.
(The textedit example had to be updated to fix the issue where the
default font would be private. In 5.4, we will be adding an equivalent,
public API in QFontDatabase, and a better solution for the textedit
example and QTexEdit in general).
In particular, on OS X and iOS, private fonts are used for the system
UI font. Those have their font family name prefixed by a dot.
QCoreTextFontDatabase knows about this, and makes sure those are
tested positive as private font families. In order to have a cleaner
layer separation, we moved the QPA theme font resolution from the
platform theme classes into QCoreTextFontDatabase for both Cocoa and
iOS QPA plugins.
In both cases, we use CoreText's CTFontCreateUIFontForLanguage(), that
nicely maps to the HITheme API we were using so far on Mac. That means
one HITheme dependency less. We also cache the font descriptors we get
for these font for each time QCTFD::populateFamilies() gets called.
(While not common, this currently happens in auto-tests, like
tst_QFontDatabase, and could happen in actual applications -- specially
when adding and removing application fonts.)
Change-Id: Ic6f0b60f9f597afee1a43596a669742dc546b97f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
|
|
|
|
| |
Change-Id: I9ed8d5a7aeb40886bafbd9eb2003e88e5d796cc9
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
|
|
|
|
| |
Change-Id: I1970c96e7681e4059984d837e12f044f138e6d7e
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
|
|
|
|
|
|
|
|
| |
-QDoc tried to autolink where it should not.
-The syntax looks much better in a code block than in a paragraph.
Change-Id: I21d08cbb1537186d09b52898d7b70a5c0794256c
Task-number: QTBUG-35019
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QOffscreenSurface has to stay usable even after returning from app.exec().
Hence close()ing the underlying hidden window, that is used on platforms that
do not provide real offscreen surfaces, is wrong.
Normally all QWindows are closed (and thus destroy()'ed) when quitting the application,
meaning the the offscreen surface cannot be made current anymore after returning
from exec(). This is an unnecessary limitation and makes certain cleanup operations
impossible.
Backport of ba79f36cb1319a279068adb6d02a8993cbc62613 from dev. This is necessary for
the 5.3 series too to avoid issues on exit in QQickWidget apps, on OS X in particular.
Task-number: QTBUG-40505
Task-number: QTBUG-39908
Change-Id: Iea1489378a18f29ff84ba8f13a6dad2d66d2b315
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QGLContext already uses ownContext to identify when it "owns" QOpenGLContext
and will delete QOpenGLContext when needed. In the other way
QGLContext::fromOpenGLContext creates a QGLContext for QOpenGLContext, and is
now using qGLContextDeleteFunction to identify if QOpenGLContext "owns"
QGLContext by QGLContext only passing a delete function when QOpenGLContext
should delete QGLContext, and by QOpenGLContext calling deleteQGLContext() from
destory() to do the destruction avoiding the previous leak and sometimes crash
on exit.
Change-Id: I65e791776e99b456e4d0c70fc5b5cdb33c975893
Task-number: QTBUG-40286
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
|\
| |
| |
| | |
refs/staging/5.3
|
| |\
| | |
| | |
| | | |
Change-Id: I2a044d44ca991ba20ddd710053b85afb51e362d3
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is useful without QWidget too.
Change-Id: Ic7857e52e4a8f57c1205615a1f30323b486814af
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Alberto Mardegan <mardy@users.sourceforge.net>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The window can be null in the qpa event. This is indicated by the nullWindow
field to be able to differentiate between a dead window and a genuinely
null input.
[ChangeLog] Double click events are now sent correctly on eglfs.
Task-number: QTBUG-40146
Change-Id: I63c8d08e0dec217b929161d2e827e0c273b4dd3e
Reviewed-by: Will Wagner <willw@carallon.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The fast scale methods qt_scale_image_16bit and qt_scale_image_32bit
were incorrectly assigning an unsigned value to a signed variable, which
broke their support of images with dimensions from 32384 to 65535.
Images with dimensions higher than that are already using another code-
path.
Task-number: QTBUG-40297
Change-Id: I8c971889e069381224cea2befbb5c66cd93ea5c2
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When QPixmap::fromImage() detects an ARGB32 image with only opaque
pixels it will do a conversion where it only changes the advertised
format of the image. This conversion was lacking a check to see if it
the QImage was shared before doing so, which this patch adds.
Task-number: QTBUG-40282
Change-Id: I3acf221b76735637cef04c2104a33f87e5f09d54
Reviewed-by: Andreas Löw <andreas@code-and-web.de>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a dialog was parented on a native child widget,
its window handle was used as a transient parent.
This confused QPlatformWindow::initialGeometry() among
other things. Use top level window as is in Qt 4.
Task-number: QTBUG-40195
Change-Id: Ic82adc276175f92adde825fb2551274351e41f30
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The GL libraries are optional, so they should not be added to the
DEPENDENT libraries of Qt5::Gui if not found.
Task-number: QTBUG-39859
Change-Id: Ib0e01da56a9fb5048a6ad8e0e9cede07fe0cf43b
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The constructor takes an internal class instance as a parameter,
and is not meant to be used externally. Add a note in the
description and hide the constructor.
Task-number: QTBUG-39785
Change-Id: Ice850f0968880f3933ebb7ae83efeaeed85441cb
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the platform plugin gives us specific fallbacks for a
specific script, we need to respect this, and load the correct
font family regardless of which writing systems it supports.
This is especially important since the common script is adapted
to match surrounding, proper scripts, so characters such as
digits next to e.g. Hebrew text will be marked as Hebrew. On
stock Android, there is a single Hebrew font, and this would
previously be put in all fallback slots for Hebrew regardless of
what fallback fonts were dictated by the platform plugin. Since
this font does not support the digits, they would show up as boxes.
[ChangeLog][Android] Fixed common characters like digits and
punctuation showing as boxes when positioned next to non-latin
scripts.
Task-number: QTBUG-39377
Change-Id: I1555e208a8ddc587c0bbdbfff1600cafdd9442e9
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since we have no interest in fixing HB-old to properly support surrogates,
here is a simple workaround for the case when surrogate parts gets
treated like two separate glyphs in log_clusters but a single character.
And since it's a known issue that HB-old doesn't really support surrogates,
it's better to draw some garbage/boxes rather than to assert, IMO.
Task-number: QTBUG-39875
Change-Id: I95ff43e821ae989d7a6f792f71f157dcea92dd16
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
At some point since Qt 4.8, the nbsp character has acquired
the whitespace attribute, causing it to be treated exactly
like an ordinary space. To account for this, we add an extra
check in the layout code to avoid breaking on non-breaking
spaces even if they have the whiteSpace flag set.
This is a temporary fix for the regression. The line breaking
algorithm needs to be refactored and support Unicode tr14
properly, which it currently doesn't.
[ChangeLog][Text] Fixed lines breaking on non-breaking spaces.
Task-number: QTBUG-39832
Change-Id: Ibd7e1a11ce4b82c611ecda1542c8638a67bf3cae
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Return dbg.space().
Task-number: QTBUG-29946
Change-Id: Ia79b297ee3801ccba9f7b1c22ac7a8761cbe8b2e
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: Icc0109de22de756f7e4b3e888b0ee28a9b9c04d5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't detach QImage, when it's in Format_Mono or Format_ARG32.
Use QImage::constScanLine() instead of QImage::scanLine().
Change-Id: I30fcafb576aea3189637a40fd75f77c70017ba46
Reviewed-by: John Layt <jlayt@kde.org>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are cases where @2x images are in use but
where you don't want the associated behavior:
- You are implementing an image editor
- You are inheriting a resource set which has @2x
images, but don't want that behavior with Qt.
Add support for disabling @2x behavior with QT_HIGHDPI_DISABLE_2X_IMAGE_LOADING.
Change-Id: I206e050b6241f8935b4404c7a28b024a9e00d46c
Task-id: QTBUG-38485
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Wrap cocoa classes in namespace macros.
Task-number: QTBUG-39382
Change-Id: Id840e666105afca21760fcb529b5765e0a534120
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1a4ff6f122f575aca21f6a0b9d9c14cac4a5ea66 modified the features test
by checking extensions as well as the GL version. The problem was that
the GL version was wrong in the first place -- buffer textures are
natively supported since OpenGL 3.0, not 4.3.
4.3 introduced support for buffer texture ranges, i.e.
ARB_texture_buffer_range; however it's pointless to take the highest
requirement, especially considering that so far QOpenGLTexture doesn't
wrap glTexBuffer(Range) in any way. In the future, if QOpenGLTexture
will also wrap glTexBuffer, then we will also be able to introduce
a different feature flag for testing buffer texture ranges.
Change-Id: I6becbd49ac26d44ce01d088cbb7831b5cc127bdb
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I3aafe427b9ea9a2b7936c4e2217722ee78d329aa
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
|
|\ \
| | |
| | |
| | | |
refs/staging/5.3
|
| |\ \
| | | |
| | | |
| | | | |
Change-Id: I51fb88701b19ce4f7ea78e12a4049156f3ef9d7f
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
After 717d39ac083e80, if HB_Face was instantiated by QFontEngineFT A
and then used by QFontEngineFT B, whilst A already destroyed,
a crash occurs in hb_getSFntTable() due to accessing a stale pointer.
Task-number: QTBUG-39278
Change-Id: I3428669a311f49cdda1725b778f45219cbcf470d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Passing in a sample count of -1 should be treated as 0. This is common
when setting up framebuffer formats from a QSurfaceFormat where the
default, unset value is indicated by a value of -1.
This broke QQuickWidget which was unaware of this limitation of
QOpenGLFramebufferObject and was passing format.samples() as the sample
count without making sure it is 0 or higher.
Task-number: QTBUG-39699
Change-Id: I324b8b006eaa992c15ae932f9df305500fefeb65
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
qt_alphamapblit_rgba8888 is only used on little-endian systems, where
qAlpha() returns the correct value.
qdrawhelper.cpp:6256:13: error: 'void qt_alphamapblit_rgba8888(QRasterBuffer*, int, int, quint32, const uchar*, int, int, int, const QClipData*)' defined but not used [-Werror=unused-function]
Change-Id: Ibba6dd6914138f7ae5d53a8e354597f5fff65433
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This suppresses the warning
QIODevice::seek: Cannot call seek on a sequential device
Task-number: QTBUG-39217
Change-Id: Ie7b0845c760ae6fc857d02bf9ec5c5adb24fb631
Reviewed-by: aavit <eirik.aavitsland@digia.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I309714bc52de87c702194a4a82803d383f6ac3b3
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After cb8445f0323b0eefbb04f1d8adad81a00b53abd8, Qt no longer
considers the baseline to have a vertical size, so it does
not add an extra pixel to the font height. The documentation
needs to be updated to reflect this.
Task-number: QTBUG-39668
Change-Id: I28fc813e21d73bb03f7055b0f0843511a12d308b
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Refactor the code QPixmapIconEngine::addFile() using a convenience
class for reading all images.
Special-case .ico-files: Read images into a list and replace by
higher-quality ones.
Task-number: QTBUG-39287
Change-Id: I32ab6c77a276dc5d4d9a8f7b216c81149b8772b8
Reviewed-by: aavit <eirik.aavitsland@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The state should already be updated when fillPath() is called, so it
should use the painter's pen to fill the path with instead as this will
have been updated already.
Task-number: QTBUG-39303
Change-Id: I1cc9922d4183bd44076c26210db06ad825ebf25b
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QImage::fill(uint) was incorrectly performing ARGB->RGBA conversion when
called on RGBA8888 formated images.
This patch moves the color conversion to QImage::fill(QColor) where it
belongs so that fill(uint) can behave consistent with documentation and
how it treats other formats.
The fill(uint) method had no automated tests, and this patch adds one.
[ChangeLog][QtGui][QImage] QImage::fill(uint) now fills the given pixel
value unconverted when used on RGBA8888 image, making it consistent with
the documentation and treatment of all other image formats.
Change-Id: I00a9d810c61d350dbdd7c4b9ad09e5ce11896b6d
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QOpenGLShaderProgram::hasOpenGLShaderPrograms tests whether
QOpenGLFunctions::Shaders is provided for the given context. As the
initialization code assumed OpenGL 2 this always was true. But
unfortunately we still cannot assume that OpenGL 2 is universally
supported. E.g. indirect rendering (no matter how bad that idea is)
does not support OpenGL 2 on all hardware and the Shader related
extensions are not available.
This change makes sure that only when OpenGL 2 is available the
features provided by OpenGL 2 are enabled. If OpenGL 2 is not
available the extensions are tested. The checks are slightly
reordered to not do the extension tests at all if OpenGL 2 is
available.
Task-number: QTBUG-39730
Change-Id: Ic775163e0dcc519925b1287f3c4ca5e8ebf101d5
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
|/ /
| |
| |
| |
| |
| | |
Task-number: QTBUG-38972
Change-Id: Ie4dd6d70e60822a5a3626b10cd90d081897d646d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make sure qRegisterGuiGetInterpolator is called even for static builds.
Task-number: QTBUG-37341
Change-Id: I65735a558d5bbfaa02fa4ec47d55ddf33ca1991a
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
conversion failes
Added some checks to QRasterPlatformPixmap::createPixmapForImage() to avoid
crashes when QImage::convertToFormat() returns a null image.
Change-Id: I573505a1aff7931d9a2fb452d0a83ae93d8de7db
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
|\ \
| | |
| | |
| | | |
refs/staging/5.3
|
| |\|
| | |
| | |
| | | |
Change-Id: I147a75ac74bd7b19dbeb99e1ec2836cc5bfc2806
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A vectorized codepath for rotating transforms were added in 5.3.0, but
was only properly tested for SSE2. The NEON version remains unfinished.
Since it was never working, this patch reverts the NEON version.
Task-number: QTBUG-39445
Change-Id: Ifbce0e03781d217ad976c6b18ac88381055cba66
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Prevents a shutdown crash in the Qt Mfc migration solution.
Task-number: QTBUG-39317
Change-Id: I7f0aa40715baed57ff59682a477084347dfd45bc
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some drivers are reported to get confused when passing different
sample counts (requested vs. actual) to the color and depth/stencil
attachments. To overcome this, pass the requested sample count to all
the attachments.
Task-number: QTBUG-33406
Change-Id: I17b0e3dbbd78de2ab0f45e95164b4f326d47aeff
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Kimmo Leppälä <kimmo.leppala@digia.com>
|
|/ /
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-18519
Change-Id: I5d929cf6eda3f34130314edac95487fb00a95db5
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|/
|
|
|
|
|
|
|
|
| |
In some cases, for instance if drawEllipse() was called with a null QRect
then it would still try to draw a QVectorPath without having enough points
in the list. Therefore the point_count should be checked first before
doing any drawing.
Change-Id: I9b8dbb87c73b74e9df9eb10ec790a484d05d4c46
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
|
|
|
| |
Call clear() in the destructor of QOpenGLTextureGlyphCache class to
prevent QOpenGLGlyphTexture object leak.
Change-Id: I290b09b0786d30603391e6855a21e9232b112739
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
|
|
|
|
|
| |
QRasterPaintEngine::alphaPenBlt makes the assumption that a device with
bit depth 32 has optimized alphamapBlit and alphaRGBBlit routines.
This will fail on RGBA8888 format resulting in some text not being
rendered.
Change-Id: Ia7d88bb0e3094894affceda1acc42396b67b3677
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|