After discussion with Liang, I'm reverting it as he requested. This change put every header into the SYNCQT.HEADER_FILES twice for in-source builds, and the qtMODULEversion.h header did not include a path component.
This reverts commit 2fbc45b58bba860abf67fb28aa1319c9f4ededaf
Change-Id: Ie84cef19193ce5e49072f1f67a41140d9d2673b8
Reviewed-by: Liang Qi <liang.qi@nokia.com>
As in the past, to avoid rewriting various autotests that contain
line-number information, an extra blank line has been inserted at the
end of the license text to ensure that this commit does not change the
total number of lines in the license header.
Change-Id: I311e001373776812699d6efc045b5f742890c689
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
It was put in source tree before.
Task-number: QTBUG-20439
Change-Id: Ib52d9c2e83ae375aad259ddc74138bbc728b3ed0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Also add some debugging helpers to make sure applications are correctly
written even on less restrictive platforms.
Change-Id: Ie92e497c32e07b2b83662f7ab5540d8f37777fd0
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
These defines were there to aid in the commercial
licensing scheme we used long ago, and are no longer needed.
Keep a QT_MODULE(x) define so other modules continue compiling.
Change-Id: I8fd76cd5270df8f14aee746b6cf32ebf7c23fec7
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
glyphMargin() support for QTextureGlyphCache is implemented in
respective font engines, thus this function is platform dependent.
Before Qt 5 the code is guarded in macros like #ifdef Q_WS_MAC,
now we should move them into QFontEngine and its subclasses.
So far only Windows font engines support it. FreeType and Core Text
based font engines all ignore it.
Change-Id: Ia14016533d8fbfaacf848a7d3bc928f8197318f5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
The GPU in question supports GL 2 but not framebuffer objects. Since we
anyway have a font rendering path that doesn't use FBOs we might as well
not require framebuffer objects in order to use the GL 2 engine.
Task-number: QTBUG-22483
Change-Id: I2a80343fedda276e73e603ffe54edff58801af5b
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
(cherry picked from commit f13d0078d9f829cde2cd5b8b9eac40635a883ec6)
We're trying to deprecate these, so don't use them anymore.
The inline uses of these have been left intact, for the moment. Inline code will
need to create their own non-inline allocation methods (for future-proofing to
allow alterations in how e.g. individual containers allocate)
Change-Id: I1071a487c25e95b7bb81a3327b20c5481fb5ed22
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
The rest of the code is checking programGuard for nullptr, do it here
as well to prevent a segmentation fault.
Change-Id: I38a03f74d493b8f731157be1739707b39904f7ba
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Move subpixelPositionForX from QTextureGlyphCache to QFontEngine,
since some font engines like QFontEngineFT may need a custom
implementation or tweak it a little bit.
In QRasterPaintEngine::drawCachedGlyphs, do not add aliasedCoodinate
to x offset as that will break subpixel positioning.
Change-Id: Idbcec617509459b80965220ceb07b17737649bbf
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
ES 1.0 didn't have glTexParameteri, which is why we sometimes used
glTexParameterf. However, we shouldn't use glTexParameterf because
that's treating integer values as floating point, which is not type
safe. ES 1.1+ and ES 2.x have glTexParameteri, and we don't really care
about supporting ES 1.0 in any case in Qt 5.
Change-Id: I6b586b31ddc418ba319c4cc88f6bb3978fdbd040
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
Remove the usage of Q_MAC_USE_COCOA and Carbon code paths.
Change-Id: Ib569ad8c6d9ffe258f454b3c3b06e95294a10112
Reviewed-on: http://codereview.qt-project.org/5100
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Sanity-Review: Morten Johan Sørvig <morten.sorvig@nokia.com>
Most of these changes are search-and-replace of d->ref ==, d->ref !=
and d->ref =.
The QBasicAtomicPointer in QObjectPrivate::Connection didn't need to
be basic, so I made it QAtomicPointer.
Change-Id: Ie3271abd1728af599f9ab17c6f4868e475f17bb6
Reviewed-on: http://codereview.qt-project.org/5030
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
The only place that now still knows about it is moc,
so it can still parse old headers.
Change-Id: Iafec080f99c67560974e9ebc0cbfb27d9a4b2d6f
Reviewed-on: http://codereview.qt-project.org/5755
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Properly free QOpenGLContext in QGLContext::reset(), if we own it.
Change-Id: Ibd913283cf8b3b8a4dc6295a878a22a3989309a7
Reviewed-on: http://codereview.qt.nokia.com/4320
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
We don't want to have source files in the opengl module and gui with the
same name, at least not private headers.
Change-Id: I5f2bf629c943a67a405574fb148aa4c70e58ecbb
Reviewed-on: http://codereview.qt.nokia.com/3864
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Made resource handling more robust by attempting to free GL resources in
the correct thread, and not forcing a context to become current to free
resources.
Change-Id: Ie81d4005b608972375755571d9b50ce82080709b
Reviewed-on: http://codereview.qt.nokia.com/3258
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
QGLContextResource is no longer used, QGLContextGroupResource should be
preferable in all situations.
Change-Id: I7c7b90686959ced9fa34e278ef5747a7c49a5b03
Reviewed-on: http://codereview.qt.nokia.com/3005
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
We had to leave the non-const operator== for binary compatibility.
Remove them all, just leave the const version in there. 100% source
compatible.
Change-Id: Ib7a70fb441fe51d5164d9cbf495cbeda0f48fafe
Reviewed-on: http://codereview.qt.nokia.com/2773
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Robert Griebl <robert.griebl@nokia.com>
QPlatformIntegration::screens() no longer has to be implemented,
implementations should call QPlatformIntegration::screenAdded() for each
screen instead. This is for being able to support adding screens at
run-time later on, by connecting it to a signal in QGuiApplication.
The QGuiGLContext API has changed a bit, by not sending in all the
parameters in the constructor but instead having a create() function.
The createPlatformGLContext() factory in QPlatformIntegration takes a
QGuiGLContext * instead of a QSurfaceFormat and a share context, similar
to how the window and backing store factory functions work.
The XCB plugin has experimental support for connecting to multiple X
displays simultaneously, creating one or more QScreen for each.
Change-Id: I248a22a4fd3481280710110272c04a30a8021e8f
Reviewed-on: http://codereview.qt.nokia.com/2103
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
According to the C++ standard, there is no guarantee that
you can cast between function pointers and void pointers
without data loss (section 5.2.10-6).
Change-Id: I27f4d835e4c8ca8ecca0d76cfea9ce34491956bd
Reviewed-on: http://codereview.qt.nokia.com/1995
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Putting the logic inside supportsTransformation() is a bit confusing and
that name is misleading.
Also move the same check in GL2 paint engine to the same place.
Change-Id: I182500a0ff375122e6be966b7ce2495c84d113d0
Reviewed-on: http://codereview.qt.nokia.com/2096
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
That macro is a nightmare. It leads to writing code that is
thread-unsafe or other problems. So rewrite the code that used this
macro to use special-purpose classes with constructors.
This commit does not introduce new errors. The FIXME in qicon.cpp
(qtIconCache()) was a condition already present. It does fix the race
conditions that were present in qbrush.cpp nullBrushInstance() and
qfontengine.cpp qt_grayPalette().
Specialising QGlobalStatic is also evil.
Change-Id: I039311f6a5ac9ea4ad7b310b870a2adf888da7e5
Merge-request: 10
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1895
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Makes the API symmetric with the other Lighthouse APIs.
Change-Id: I8a399f3c968ea35d4624711b31f2ac5bb94b7893
Reviewed-on: http://codereview.qt.nokia.com/1735
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Moved the red-black tree class so it can be used outside the
triangulator as well.
Change-Id: I1d63fc88502e8e6c390cac2820c0ce45721cda79
Reviewed-on: http://codereview.qt.nokia.com/1710
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>