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>
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>
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>
- 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>
there is no point in setting the variables already when peeking into
the caches, as that is done in a separate evaluator anyway.
it also makes no sense to have them set while loading the spec itself,
as it's not permitted to do anything with the caches.
so set them at the next convenient point, which is right before actually
loading the caches.
Change-Id: I3717ddf94353dc04e12c52e542f16ed27b578e14
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Change-Id: I1873c1e7c59af02b06566d0e47c020c609d49c9f
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Allowing for creating a printer in various modes
and toying with the paper settings.
Task-number: QTBUG-34276
Change-Id: Ieb35dc55c509f84d7d81817c7903e02a41ba8b44
Reviewed-by: John Layt <jlayt@kde.org>
Remove the copyright notice from the PDF Producer field which could be
misunderstood. Comparison to other PDF Producers shows no other company
does this.
Task-number: QTBUG-33853
Change-Id: Ie657a356dc7c4b15f04d961978e0c8514c092a31
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
This way, a Qt compiled with qreal=float and one linked
with qreal=double can not be linked by a single downstream. That is
diagnosed at cmake-time.
Change-Id: I9183dbcfef181fadea5321d3154948e8258e4a2a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
UIViews can return nil when calling qwindow, so we must check before
trying to use the QWindow handle.
Change-Id: I72e9ddc58ebe10a3e7ea511f2356650402ba23f4
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Integrating with /pps/services/input is also the way to go
for QNX.
Change-Id: If2498f2c42ed4e6e0d1cadc787cc62e80940043a
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Call QWindowSystemInterface::handleWindowActivated when a
SCREEN_EVENT_PROPERTY event for he SCREEN_PROPERTY_KEYBOARD_FOCUS
property is received.
Change-Id: Ic2b10c5b793dd4451adac68691296f8265a71160
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Output a warning for each doc dependency that qdoc cannot
locate an index file for.
The index files are loaded for both prepare and generate
phases. To avoid duplication, output warnings only when
in generate phase.
Change-Id: I74f9ba78e4b57cb1a62e0d1c2efda01ecc85c06d
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
We need to add the correct suffix to the libs we add when
running qmlimportscanner. Otherwise we will always add
release versions of the libs instead of debug versions
when generating debug builds. This in turn will confuse the
xcode generator that will try to convert the libs in
LIBS to native Xcode build variables.
Change-Id: I4d9fab49ad9e644e9bfd06caf79fc084bde2a3b7
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Other static data such as QTextStream might be initialized before the
static C-locale, in which case QLocale would adopt c_private and bump
the ref-count to 2, only to see it reset back to 1 when the c_locale's
static initialization happened.
The result was that at application shutdown the ref-count would fall
down to 0, and we tried deleting the static data.
This issue was observed with clang in a debug build, where the c_private
is initialized at runtime.
Change-Id: If05221a5e87886e1805ad3c1b1520483f425c0fb
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>