| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
These functions are supposed to make it easy for third parties (and
QLineEdit) to implement the textAt/Before/AfterOffset functions.
Before the functions were ignoring newlines completely and thus only somewhat
useful.
Change-Id: I7136b9502a7fa6f8ad9ad7236761a34c1a7fd4da
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
|
|
|
|
|
|
|
|
|
| |
fallbackTheme()
Instead of QPlatformTheme::SystemIconThemeName
Change-Id: Id318944730cd1b8014380a972eb28fd8aab1f382
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The color table is passed by value (good for C++11), so when
the argument is assigned to the member variable, that's a good
spot for a move assignment.
However, the argument is also declared const.
The standard says that top-level const is ignored, but some
compilers (I know about SunCC) think differently, so we cannot
remove it.
Instead, we do a const_cast. It is well-defined: Even though
apparently the argument was declared as const, the standard
says the const is not there, and no sane compiler would put
the argument copy into read-only memory.
Add a reminder to remove the top-level const from the
signature come Qt 6.
Change-Id: Iac18846ba669de0a30da620685ad1438c267e193
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code doesn't touch any member variables, so it doesn't need mutex
protection. Reducing the time spent under the mutex allows a higher
speedup (Amdahl's Law), so do it.
Also made the mutex locker const to indicate it is never unlock()ed
again.
Change-Id: Ic50b827c0e34d39cbddc7ec83675b568a9c33f6d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
|
|
|
|
|
| |
Change-Id: I82e34d5525354fc20ca9aba6df3767e3fee51bf8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
| |
It's easy to do the work on the side and then commit. This is strongly
exception safe, but in Qt, we don't care. But transactional code, when
this easy to achieve, is also clearer.
Change-Id: I30f1badec7745d62a09af4eede234cb312b373aa
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|
|
|
|
|
| |
Change-Id: I577bd5d10e52571c95c9e646327264cf95ac6eb1
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some fonts appear to include zero-width space in the CMAP table, but
not include an actual definitions of the glyph they point to. The
missing glyph causes a warning, but isn't handled making the character
end up being giving the same metrics as whatever character it came after.
This patch adds explicit handling of missing glyphs, and also caches
their missing state when caching is enabled.
Task-number: QTBUG-40912
Change-Id: I06fba9c01df59548e750e36babfdd5a6bafd6bd0
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
XPM image
"sourceImage.format() != QImage::Format_RGB32 ||
sourceImage.format() != QImage::Format_ARGB32 ||
sourceImage.format() != QImage::Format_ARGB32_Premultiplied)"
This condition always "true".
Change-Id: I67b3dfac135985a75bcd697b4c1a84ec3c0b66f5
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
|
|
|
|
|
|
|
|
|
| |
Moves feature checks so OpenGL vs OpenGLES is only tested one way
and extensions so they are not tested if already required by their
version.
Change-Id: Ia77f6ea924559fa7a428beb6316ae392063dfc4f
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
|
|
|
|
|
| |
Change-Id: I531b862db7bdec0a504c6022c1a15635aaf3fc8d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
| |
They're identical to the compiler-generated ones, and probably inhibit
move operators here and there.
Change-Id: I918f2946f6b6aa49aa883420dc87df44013938a5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-38858
Change-Id: I87ee18b66e137f5f5c01d77910f1a7f256b85e18
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
|
|
|
|
|
| |
Change-Id: Iaa07a463e07982352fe2c7dd77d691a390a65f35
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
|
|
|
|
|
|
|
|
| |
Latest changes to QEvent break compiling with -no-feature-gestures.
Change-Id: Ibbddd73a4f567051c3793a7aaf438240add6583a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
|
|
|
|
|
|
|
|
| |
Follow the good practice of checking for isCreated() before calling
VAO functions like bind(). Use also the vao binder where applicable.
Change-Id: Ib827f3bce838396bf2e08f9480fa63801d4d3a50
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It gets somewhat complicated due to the fact that a RasterGLSurface window
(i.e. any widget window since 5.3) may behave either like an OpenGLSurface
or a RasterSurface, and the expected behavior may change on each backingstore
sync.
This does not fit designs where the platform window implementation is separated
and there is different behavior for raster and GL windows.
Therefore QAndroidPlatformOpenGLWindow is now made capable of behaving like the
raster one, based on a flag communicated from the widget stack via QWindowPrivate
(since the plugin knows nothing about widgets).
This means that widget windows that do not have renderToTexture children (QOpenGLWidget,
QQuickWidget) will go through the raster path, while the ones that have will behave
like an OpenGL window with the actual rendering happening in
QPlatformBackingStore::composeAndFlush().
The surface type is RasterGLSurface in both cases nonetheless.
Task-number: QTBUG-37907
Change-Id: I6f9261fc0fd993afcda7f30d379c5410069033d3
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Setting it initially to 0 is very important, otherwise we will
do a glDeleteTextures with the undefined value.
The result sometimes goes unnoticed and sometimes causes bizarre
issues: For example in the 'textures' example one face of one cube
out of the six did go blank from time to time since the corresponding
texture was deleted by the backingstore.
Change-Id: Id19eb2164471b542b08a277a65edfcb5d0f8248d
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Writing out the alpha is re-enabled too early. When blitting the
AlwaysStackOnTop widgets as the last step of the composition, they
need the exact same settings as the backingstore content, meaning
blending but without writing out alpha.
Move the glColorMask call to fix this. This will avoid issues with
semi-transparent AlwaysStackOnTop widgets when the top-level has
alpha enabled too.
Task-number: QTBUG-40910
Change-Id: Id6d0d684cfa78bf79b65a097efd92de575e73b2c
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As the spec for eglGetProcAddress says, some implementations may not return
function pointers for core functions. Similarly to how we cannot get
OpenGL 1.0/1.1 functions with WGL for example.
To make sure QOpenGLTexture does not just crash with such implementations,
we simply use the statically exported functions in -opengl es2 builds.
Change-Id: I213bfcc21e58888b17e0ebcd0a26f26f77517e40
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
QIconLoader did not use the services from QObject and the
Q_OBJECT macro was missing, too, so external code couldn't
have used it in a qobject_cast or inherits(), either.
Change-Id: I1f33dd540fa2ded48d871d848a77eee743a4e3c0
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
| |
QIconDirInfo is larger than a pointer, so holding it in a
QList is horribly inefficient.
Fix by holding it in a QVector instead.
Change-Id: I6551d2d2941447e600a33c3d68edf46db002d96c
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
| |
Change-Id: I72f20b5935d56d7c090fdd685e2bedc0778db505
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
| |
QIconDirInfo is held in Qt containers, so reap the performance
benefit of a movable type.
Change-Id: I317c69ec46d324623b21a33043856e22f60e21b1
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
| |
There's no calling back into QIconLoaderEngine from the QIconLoaderEngineEntry
dtors, so don't bother slicing off one element by one from the container as
they are deleted, the more so as m_entires is either move-assigned or deleted
right after these loops.
Change-Id: Ic9ffa442ef0b0c59e19eb91d164183ea5c3bab67
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
| |
Experience shows that the compiler does not recognize the
size() call as a constant expression, so help it along.
Change-Id: I688244f37c555365566cd1a59dc601974316a2e6
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
| |
Experience shows that the compiler does not recognize the
size() call as a constant expression, so help it along.
Change-Id: I60cd1754f8be123c62e3b47f6f721f42a69fe3c5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
| |
Change-Id: I2b11944d1964878ff5f6f666f33a97ea842ffea7
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
| |
Change-Id: I4f1fee2da9358f63c4d3c9e46b8d69b4a1b280c7
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add QT_DBL_CLICK_DIST to replace QWS_DBLCLICK_DISTANCE for controlling
the distance for detecting double clicks, which can be very useful on
embedded devices
[ChangeLog][QtGui] environment variable QT_DBL_CLICK_DIST
customizes the amount of movement allowed when detecting a double click.
Task-number: QTBUG-40841
Change-Id: I0a7534ad6cd6387d127eb49021a92d414d45670e
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
The most useful information is what kind of gesture the event
represents, but it was missing until now.
Also added a line of documentation about the NativeGesture event type.
Change-Id: I1ba3c951dcc5751e937d762d9b647ab0bf8d93b8
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
We set FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH as the default load flags
for freetype fonts, but due to using = instead of =| the default flags
gets overridden when outline drawing sets FT_LOAD_NO_BITMAP.
Change-Id: I26b45aa2bbf613689d278eb07ae028ef9757023c
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use of this was removed from QtWayland quite a long time ago, which was the only
public user of this API.
Furthermore, it isn't easily possible to implement any use of this API without
full control of the graphics stack (a very rare occurrence) and there is no
public demonstration of this.
There is ongoing research to provide a better replacement for this in the form
of QPlatformHardwareCompositor.
Change-Id: I80d666a5b465aa80f73fed6c44838ce7210bbd30
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
| |
Change-Id: I7536b596b890ed304846572b3068b3e932c0f594
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Manually included changes from
3a347a4e70e5a10ee92dd2578316c926a399e894
in src/opengl/qgl.cpp.
Conflicts:
src/opengl/qgl_qpa.cpp
src/plugins/platforms/android/androidjnimain.cpp
Change-Id: Ic26b58ee587d4884c9d0fba45c5a94b5a45ee929
|
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch adds support for reading autohint and lcdfilter settings
from fontconfig and pass them on to freetype.
Task-number: QTBUG-32254
Change-Id: Iaa69b70f7005ee7f21126a8d984c07b3a46a3e7f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-32334
Change-Id: If1b4517f233b04d4c6c165cbfe62c8cf7b624c60
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The enum would break on old clang trying to cast it to strings when
building webkit.
In file included from /work/build/qt/qtbase/lib/QtGui.framework/Versions/5/Headers/qimage.h:48:
/work/build/qt/qtbase/lib/QtGui.framework/Headers/qpixelformat.h:78:33: error: use of overloaded operator '+' is ambiguous (with operand types 'int' and 'QPixelFormat::FieldWidth')
Change-Id: I614cf89d0832dea505001d55188b4c748e948ef9
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I44ae087c900e5cffdada45845cb7f34aab89b8ab
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch contains two changes that were lost when RGB30 support was
merged. Documentation of the formats being added, and corrected
memrotate methods.
Change-Id: Ia3c87d7c984134576badbba92c421f832896cf97
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
To be able to use the SubpixelAntialiasingType enum without depending
on QFontEngineFT we need to move it to QFontEngine.
The patch also cleans up the left-overs of other enums moved the same
way.
Change-Id: I025bc8a5b429d376cfab0a643121ed6f99204988
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The current one is from 2012 and is based on the obsolete spec files.
Replace it with the new one generated from the XML specs.
At the same time fix the callback function signature for QOpenGLDebugLogger
since it would not build otherwise. The user parameter is const GLvoid *
according to the specification.
Task-number: QTBUG-39773
Change-Id: If2153198373eeebc587c41b2dbf6bed5bcb26761
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
|