This code path can and will be hit during app startup,
and can result in low-resolution images being used
on high-dpi systems.
Use qApp->devicePixelRatio() instead, which is more
likely to be correct.
Change-Id: Ic881cfedd8e962037d2d4af4a1242f590d56c194
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Removed links to obsolete pages (some pages were combined and
some were removed), added links to new pages, and changed a title.
Change-Id: Iaf0e3adf2edaf048a8bb7e26b3cfd45c4680de2d
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
This reverts commit 8c58640fdf.
The intent was to reduce the maintenance of parallel code paths,
but this had a negative impact on performance so we need to
enable it again.
Change-Id: Ic58f7781ff076055e7c48f20fc0e7a8a2c9e51a4
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Add more config changes needed for API 13+
API 13+ is mandatory to build any Qt for Android application.
Change-Id: I595f7174dd2fc8a0865772f9780ce606e1f1fcf1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
In 5.2, the HTML output is in a flatter structure and when they are
hosted in qt-project.org/doc, the documentation will be found at
http://qt-project.org/doc/qt-$QT_VER
The url variable is used by projects outside of Qt 5 which need
to link to Qt 5 documentation, such as Qt Creator.
Task-number: QTBUG-34584
Change-Id: Ifa55fcd9e402b0e184a41e316340e46aeb7101de
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
The freetype font engine would fall back to rasterizing glyphs
via QPainterPath in QFontEngine::alphaMapForGlyph() which has
a rather unfortunate implementation.
Change-Id: Ic0b4095b6f17ab33f0602139f0a8fb441dfba0ee
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
According to Thiago, Qt assumes this in a lot of places,
so make it explicit.
Change-Id: I3f4a55699379fd9fe4d792061c80b3b589c10c53
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Prevent compilers from computing strlen() at compile time by
passing a volatile pointer.
Task-number: QTBUG-34261
Change-Id: I5e5e80181024d57496907918d2a43d7c83841082
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Make sure that the size of QIntegerForSize<N>::{Signed,Unsigned} is
actually N.
Change-Id: I221304f7c420e80758ef7b115bafb7cf1f8c8829
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Since the original change caused a problem with the CSS
rules being always inherited where in some cases this should
not be happening.
This reverts commit 6f65466137.
Change-Id: I6e9cf163d752b1869b5e967a7ab59963d655ba87
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
This is what ConfigLocation was meant to be. A directory shared by all
applications. Unfortunately when I wrote the fallback on Windows,
I picked DataLocation (which is app-specific) instead of
GenericDataLocation (which is shared between apps). This makes it
impossible to have config files shared between apps, e.g. for libraries.
It also makes ConfigLocation quite inconsistent (on Windows one cannot
use it to load another app's config file, while it works everywhere else).
All this is fixed by GenericConfigLocation, which is shared between apps.
Change-Id: I23a755131061d4fea01e13dd1038fbd8ef333a5d
Reviewed-by: Alex Richardson <arichardson.kde@googlemail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
We would spam the debug output on devices with api < 16 with some
warnings that the super class a11y delegate could not be found and
others.
Instead check the runtime version before trying to load the JNI code and
only load the delegate if api is new enough.
Change-Id: I52286cb99924b034b9b58c53566f15030939b0c9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
In practice, there are several ways to forward-declare
objective-c classes. Qt uses "struct objc_object",
other projects may use a plain "class". Mismatched
forward declarations will lead to compile errors,
and this is a form of header pollution.
dd5e40d9 added a workaround where Q_FORWARD_DECLARE_OBJC_CLASS
can be predefined in order to sync up the declarations.
Make forward declaration clashes less likely by
forward-declaring in objc-mode only.
Change-Id: I9f7a399d64dc88bfe05d5385b3d46b5302112aef
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Commit a2bdda8e3b was meant for creation only. We should not
hide views on our own, particularly when Qt had not asked for that.
Task-number: QTBUG-33581
Change-Id: Ib35fc78a27be1498f80aabd385e7a2185475b949
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Expanded the documentation to describe what the code in QImageReader and
QImageWriter actually expects from these plugins.
Change-Id: I04bb0cbf56d57a56ed246e723e533d73440a4d3a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Only DirectConnection is tested
Change-Id: I525c6a65428489c34e58d1d9600b4e5ebda733b9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Nested references with a depth of 2 or greater will fail. References
that partially expand to greater than 1024 characters will also fail.
Change-Id: Id4e49d6f7cf51e3a247efdb4c6c7c9bd9b223f6e
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
The qtAddModules functions resolves deps internally, but doesn't affect
the original QT and QT_PRIVATE variables. We need to pick up situations
such as the user adding QT += quick, which implies QT += qml through
the QtQuick module's dependecies.
Change-Id: I14411dbea3e4f7402be404073a3fe8f18dbb165f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
otherwise we are risking a lock by freeing resources from other
threads when calling CoUnitialized()
Change-Id: I1fe09d7d3b1674a00b44ababfc90da79580278b3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
It's not providing any convenience over using Q_INIT_RESOURCE, which does
its own extern, were never documented, and was added back in 2010 without
any commit message justifying its existence.
Change-Id: I1ca9a042d3f4fca34007d28b140661c50064f11b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Two template functions for qboject_cast() are defined
in qwidget.h that confuse qdoc because qdoc doesn't
handle template functions correctly. In this case, the
documentation for all qobject_cast() functions appears
in qobject.cpp where it is declared to be related to
QObject. This fix surrounds the template functions in
qwidget.h with #ifndef Q_QDOC ... #endif, since qdoc doesn't
need to see them.
This fix unmasks a linking bug QTBUG-34564, which will
be fixed separately.
Task-number: QTBUG-34505
Change-Id: I97fd32cc563bfa4a232819c097f41be56adf0114
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Fix spelling error in method name and inline simple functions.
Change-Id: I7f2a67fb1951b58874b09002ee57e15e75561727
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
This change activates ThreadedOpenGL and ThreadedPixmaps capabilities
in the iOS integration. QIOSContext is expanded with a support for
a shared context.
Change-Id: I56615c870a24e17850ad2748421c54e015de3ab2
Reviewed-by: Ian Dean <ian@mediator-software.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
The Q_INIT_RESOURCE macro is needed if a library itself uses resources, in
which case the Q_INIT_RESOURCE can and should happen in the library (like
we do for eg. widget styles), or if a library exposes resources that are
supposed to be used by the library clients, in which case the macro needs
to be put in the application code.
The distinction between the two, and the fact that resources built as part
of the main executable do not need the explicit initialization, were not
all that clear.
This was evident by the lack of Q_INIT_RESOURCE in our own Qt libraries,
and the various Q_INIT_RESOURCE calls in our examples where they are not
needed.
Change-Id: I40258458e9fdf9ee5502c212971fb3d90b4fc388
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Screen events are still read in the screen event thread but are
processed in the main thread to make it possible to support
QAbstractNativeEventFilter for screen events later.
Implementation is similar to the xcb platform plugin.
Change-Id: I7bade3e13e51c6d70bb608727a93bbd3aabc5d47
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
The actual feature comes from a merge from the stable branch.
Change-Id: Id067fb2b26cb3c6b78c7705b77bd741e3bd8f090
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Remove it from the side actions list.
Task-number: QTBUG-34315
Change-Id: I70063351193b504f8656e903896d155ac74f73a6
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
File descriptors have always been removed from bps before adding them,
which lead to an annoying warning.
"QEventDispatcherUNIX::registerSocketNotifier()" needs to be called
after "ioEvents()" to prevent this.
Task-number: QTBUG-34536
Change-Id: If074ff7a6638fe234abc100c81d094e182de7537
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Specify the root directory to be the package root. Only plugins
inside the root can be opened (actually also only files). Furthermore
current defaults to the package root now, which in most cases is
identical to previous behavior.
When attempting to load a plugin the path can either be specified in
host format "C:/..." or as plugin absolute "/platforms/...". Check for
both, with preference of latter case, like when qt.conf is used with
/ being used as plugin path.
Change-Id: I7e3da293362488b62a3357c4882ebf5e048dcf95
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
- Example 3 (Clock) is a collection of anti-patterns.
- It implements a slot in a QThread subclass and then forces the new
thread to use Qt::DirectConnection to invoke the slot in the
"wrong" thread.
- It talks about getting away with non-thread-safe usage
- It uses a thread as a timer and then admits that it's an over-
complicated approach.
- Example 4 (Permanent Thread) is over-complicated yet incomplete. A
better one exists in the QThread class ref.
- Example 1 (Thread Pool) is covered by the QThreadPool class ref.
- Example 2 (QtConcurrent::run()) is covered in the "Threading and
Concurrent Programming Examples" page and the "QtConcurrentRun" page.
- The undocumented "Hello Thread" example is covered in the QThread
class ref.
- These examples cannot be accessed from Qt Creator's Examples tool.
- These examples are neither widget-related nor tutorials, contrary to
their source paths.
Task-number: QTBUG-33360
Change-Id: Ic79cb764ee925ddbcbeafee8e1d01db7fe0f6cfe
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Change Ie891665ad66e31692b69db02d34be8d303a7d631 accidentially removed
the condition that would ensure ARGB glyphs would get swizzled on OpenGL
ES2.
This patch readds a condition to check that, and also fixes the same on
big endian hosts by reusing the OpenGL ES2 code path.
Change-Id: I55615c498261a43c50e5a6902a7e2e24cddc4f4b
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
This reverts commit 48586b2bac.
This causes problems in QtCreator without anyone being able to say why.
Task-number: QTBUG-34397
Change-Id: I9ea5457724d5af8d87e0bc40e6615748daf9c04c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
This reverts commit 12bd604f24.
This causes problems in QtCreator without anyone being able to say why.
Task-number: QTBUG-34397
Change-Id: I7733c3db7d35bba2734e128476aabcb0152a91e4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Since Qt 5.1 we have not recognized the GL_EXT_bgra extension on desktop
OpenGL, or the GL_EXT_texture_format_BGRA8888 extension on OpenGL ES.
This patch matches the GL_EXT_bgra extension on both OpenGL and OpenGL ES
and adds discovery of GL_EXT_texture_format_BGRA8888 under OpenGL ES.
The old name for GL_EXT_texture_format_BGRA8888, GL_IMG_texture_format_BGRA8888
is also recognized.
Change-Id: I2035bfe045aee14e86a1f407f5b8556454f8bb90
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
warning: logical not is only applied to the left hand side of this
comparison [-Wlogical-not-parentheses]
Change-Id: I15e283023918cd4ebc27e91812eadf95ba156d71
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: David Faure <david.faure@kdab.com>