QPointF is in the category of types for which QList
is needlessly inefficient (elements are copy-constructed
onto the heap and held through pointers). Use a vector
instead. This is consistent with the QPainter API.
Change-Id: Ie3d6647e05b40a33a7bb0598cbbcde4676e00836
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
eglfs uses the (old) OpenGL paint engine for paint operations. This drags in a
QWidget dependency and hence everything bar the kitchen sink. This change
gets eglfs buildable without widget support although anything which relies
on a QPaintDevice will end up rendering nothing to the screen. (Similar
to the QWS simplegl driver)
Change-Id: If7fcdb79038ef7568e771402fd1667bc0318ff5f
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
If SSL_MODE_RELEASE_BUFFERS is available we should tell OpenSSL
to release memory early.
http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
Task-number: QTBUG-14985
Change-Id: Ib6656ebb3c4d67ca868b317ee83ddbf0983953f9
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Markus Goetz <markus@woboq.com>
HasIsNullMethod uses the accepted C++98 idiom to
check for members that might be inherited from
baseclasses.
The technique, however, requires inheriting from
the type-under-test, which fails for C++11 final
classes.
Fortunately, under C++11 we have much better
support for static type introspection: sfinae
for expressions. We use this here (see decltype()
use in qvariant_p.h) to write a C++11 version of
HasIsNullMethod that works with final classes, too.
However, since this technique required decltype()
support in the compiler, Q_DECL_FINAL can no longer
be used for both method and class markup. So we
declare a new Q_DECL_FINAL_CLASS which is only
set iff the compiler supports decltype(), too.
MSVC 2005 and 2008 support a non-standard, but
sufficiently compatible, version of override/final,
but no decltype(). A later patch will use MSVC
'override/'sealed' to implement Q_DECL_{OVERRIDE,FINAL}
for these compilers, but I currently don't see a
version of HasIsNullMethod that could support these
two, so the split off of Q_DECL_FINAL_CLASS is in
anticipation of that commit. If someone _does_ find
an implementation of HasIsNullMethod that works on
MSVC2005 and 2008 sealed classes, then it's a simple
matter of s/Q_DECL_FINAL_CLASS/Q_DECL_FINAL/g.
This code has been tested on GCC 4.7 (prerelease)
and GCC 4.8 (prerelease).
Change-Id: I8700c8307d79a74d45fef0aec1c6027b4a922a43
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Calling FcFontMatch should be avoided as much as possible. We can simply
cache the patterns it returns, which should still save memory compared to
loading all font engines as we did before.
Change-Id: I67208a4f919338a948535f717cfd0139dbea2e5f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
error C2039: 'move' : is not a member of 'std'
error C3861: 'move': identifier not found
Change-Id: I40beb59f893a8969275154664c947889eb570c95
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
.qmake.cache is not necessarily accessible to other modules which depend on
information about whether we are cross compiling or not. We might as well
advertise this fact globally via the CONFIG variable in qconfig.pri.
Change-Id: I6dee3e6604e5ca1c775c5f9f834fe29b4e27adb8
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com>
this is oxymoronic: if a .qmake.cache is present, telling qmake the
project root is utterly pointless.
the windows variant never had this.
Change-Id: Iefc6e242ad7458dc699b955a3657f31f1ecf4c7b
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
this was a somewhat magic support for sysroots, automatically rewriting
a number of path-holding variables. this was (as usual) completely
undocumented, extremely fragile, and we are coming up with something
better now anyway.
Change-Id: I045910f532cb3efc839ea81c7a48f8db695e4092
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
the tool locations are now determined with qtPrepareTool(), which takes
non-installed qt builds into account already.
Change-Id: I17b2c5f4b181417f2a612be2f540768e7dc0ae4e
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
The mask of possible mouse buttons in QNX provides tracking for the
up/down State of up to 8 mouse buttons. This update adds support
for the 5 buttons which we previously ignored in Qt on this Platform.
Task-number: QTBUG-24682
Change-Id: I8c1d2b2a5d0deb3b857fb387c242c3792e21ff95
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
The test is marked as fail if qmake or make fails.
Change-Id: I565c68af4a9271d7aa36fb592ac399aa728ba4d8
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Although passing a null pointer to pcre16_get_stringnumber for
the compiled pattern should simply make it error out, it's actually
an undocumented behaviour, so let's stay safe and add an explicit
check.
Tests for this codepath are added.
Change-Id: Ifd9c87874f6812ba487104ec1a5bbc83c3b16761
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
PCRE's JIT uses by default 32K on the pcre_exec caller's stack. This
is fine for most situations, but in some cases (esp. patterns with
lot of recursion) more memory is required.
Therefore, if a match execution fails due to exhausting JIT memory,
we let PCRE allocate up to 512KB to be used for the JIT's stack.
The pointer to the allocated memory is put in thread local storage
(so it can be reused from the same thread, if needed, and automatically
goes away when the thread dies).
Change-Id: Ica5fb7d517068befff88ebb198a603a26ec5d8a7
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Fix a typo that caused a variable to be hidden such that
the Qt::WindowFlags were not used.
Change-Id: Iea4456b0cd4c968e0fbfdd53e5006ffee0298b24
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
QDialog is meant for inheritance (it contains other virtual
functions) ...
The main reason for this is that we inside the dialog
could have a (datadepened) precondition that should
prevent the dialog from being shown at all - instead we
might just want to show a messagebox.
That is not easy solvable in Qt right now. It is possible
to reimplement setVisible - but calling reject from
setVisible does not work. There seems only to be clumsy
solutions to that problem - unless these functions are
made virtual
Beside it also creates a nice symmetry to done.
Change-Id: I51c29e1f7a4a5522f5c0f71bcf98c943580790b9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
The comodogate 72:03:21:05:c5:0c:08:57:3d:8e:a5:30:4e:fe:e8:b0
certificate is a test certificate and the MD5 Collisions was created
as a proof of concept deliberately made to be expired at the time
of it's creation.
Task-number: QTBUG-24654
Change-Id: Ic8eb417363569fe50bf19cd229658f5e371862f7
Reviewed-by: Richard J. Moore <rich@kde.org>
the problem this (probably) tried to solve has been solved via ordered
builds a *long* time ago.
Change-Id: I84c58076c864735eea4210ec60aa060fe3e5d97e
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
it seems to be a no-op. presumably it was meant to be an auto-rebuild
hack like in moc.prf, but it wasn't really "wired".
Change-Id: I914456f5f5a63a06c2004b16edcf2e2ade448270
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
they are obsolete (qmake knows the qt build configuration anyway), and
messing with QTDIR is a recipe for disaster.
Change-Id: Ib3594f38ec3192a5f70771f8bc5d8fd435bbbd15
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
The commit 660af10dee seems to have fixed
the test, so removing the insignification from it.
Task-number: QTBUG-24348
Change-Id: I564e90db53d10b54e22342a1cdbef6826929c63a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
When objects or arrays where being used read only, several objects
can share the same d pointer, but will have different pointers into
the binary data. Correctly change the pointer into the binary
data even if the d-pointer is the same.
Change-Id: Ife0ea5ac5daf46586f855dccdf35b51ec696a623
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
The function is public, so it should validate input instead of crashing
Change-Id: Ifd9f1110f8631f942929d85db6a57eee7afffb6a
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
The function was crashing when an unsupported type id was given
as an input argument.
Change-Id: I2b0e3e6d43f6f248dc71532f8e6485efe68e8120
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Besides rvalue-references, this test depends on the compiler to generate
implicit move operators on a derived class, based on the ones available
on its base class.
At least Visual Studio 2010 and some variations of clang 3.0 are known
not to generate implicit move constructors and assignment operators. Gcc
4.6 and up seem to support the feature.
Change-Id: Ied464ef678f517321b19f8a7bacddb6cd6665585
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
The bug has been fix by 7bc576771d .
Task-number: QTBUG-24326
Change-Id: Ifd37e9fe76cb24e49132f22909c95a55a230b1ed
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Ported from QDom to QXmlStreamReader. This enables removal of QtXml
classes from bootstrap.
A new rcc test was added, copying the data from the
QResourceFileEngine test. The new test runs rcc to create binary
resources, dynamically loads them under various locales and checks
that they do contain the expected files.
Change-Id: I15d23dfda45de851a421156951ce2a60af4c1f7f
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: hjk <qthjk@ovi.com>
This is all pretty straight-forward, adding .constData() or
using QString::fromLatin1() instead of QLatin1String().
Change-Id: I984706452db7d0841620a0f64e179906123f3849
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Required changes for using shared graphics cache for distance field
raster glyph rendering. Most of the logic is in platform plugins.
Platform plugins should implement
QPlatformIntegration::createImagePaintEngine() to create a subclass
of QRasterEngine.
Change-Id: Icf0a396e722e43b4caa2c1849aae38753cde38f1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
This logic was introduced as part of change I92dfb39289a359f49caa02c2caf8baf66098fb59
but isn't used anymore.
Change-Id: I5bcfea99a7a2993434e1e978195a70dae52d6cfa
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
This is a semi-automatic search, so I'm
reasonably sure that all the exported ones
have been caught.
Change-Id: Ic65f21e06fb2c5d851390cd025c2a48db51f5930
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
The statementStr parameter should always be non-null, so assert if it is
null. The description parameter can be null in some cases (particularly
when the verify is successful, and thus no error description is going to
be displayed), so tolerate this.
Change-Id: I87b416d5f3b793bc608cd4aca14a4f7fe7527488
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Another role that is mostly needed to make Qt based desktops accessible.
Would be nice to have for KDE's Plasma in the future.
Change-Id: I1d2ce9d55d677f73cc59f0a3646ee5e588c1d948
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
(cherry picked from commit edc6fae534835a2c72edffb52255fe522a37928f)
In Qt 4 index 0 was the widget itself.
With the cleanup of child index this now changed.
The default constructor uses -1 as parameter to signify that
the widget is the cause, not a child.
Change-Id: I329a1cc91bf2d1d1d8534739acbddfe107f40364
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
If the expected output file was missing (e.g. not included in
selftests.qrc), tst_selftests would trigger an assert inside QList by
calling QList::at() on an empty list. Make tst_selftests detect this
error instead and give a meaningful error message.
When loading expected output for the crashes selftest, where there are
several alternative versions of the expected output, the code reused the
"exp" variable when loading the alternative test output files. This
caused the last file loaded to be used unintentionally if none of the
alternative files had the correct number of lines. Use a different
variable so that exp remains empty if none of the alternatives are
valid and a failure can be reported.
Change-Id: I35b2a3d905d069d3ee8dcb1447836eb68d5c8612
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>