Prevents mem leaks at startup on 10.6.
Change-Id: I5f8b72c54ab396ee0ec2e47320163a6a342b78f1
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
With these Qt Creator startup is now warning-free
on 10.6.
Change-Id: Ie29d360611c0e516258920163e4e94d174217299
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
qfeatures.h re-generated from qfeatures.txt because
QT_NO_IMAGEFORMATPLUGIN was missing
Change-Id: I1c9291529ec07f83f99c9cd08340cbfebda609b6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
A gap after option name is needed to select it with double-click.
Also I added padding periods for -testcocoon because it has no them before.
Task-number: QTBUG-30589
Change-Id: Ib5b970f9b17cad43609fbc53dd05a995aaf29b45
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
For some reason, we postpone clearing the stack of modal sessions until we call
processPostedEvents() again. However, it also means that when we clear the second
modal session, that session keeps running although we just closed its window. The
reason why it isn't stopped is because it wasn't the topmost modal session in the
stack.
This patch fixes the issue by stopping a modal session if any session above in the
stack has been stopped. This makes it less problematic if we don't call
processPostedEvents() in between ending modal sessions.
Task-number: QTBUG-30504
Change-Id: I9f898250ae629947d066647f9d5a0b9f75cf0070
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
I don't think this is an user error. If it is then
the warning should be in a cross-platform code path.
Change-Id: I4c615d9b2372660bb03b17ccb25204b2a8d17b1a
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Previously, we used -popUpMenuPositioningItem:atLocation:inView: but
this turns out not to work with modal windows. This can actually be
reproduced in Cocoa.
Change-Id: I9b750d1f97637f0cc30329d3da3acf5200f62206
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
The ref-counting and (native) touch enabling is
implemented in QCocoaWindow.
Change-Id: I4f3f5e16db59afec7dd7dd2f8360dd60b90bfe6d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
QGLWidgetGLPaintDevice::size now returns the size
in device pixels.
This fixes the QPainter "overpainting" and GraphicsView
with a QGLWidget viewport use cases.
Task-number: QTBUG-30217
Change-Id: I01998d39d7b4d755cf8b7b3fab5f75cd0d899ccf
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Previously QPainter computed the devicePixelRatio
based on the physical and logical dpi, and expected
that the ratio between them would be either 1x or
2x.
This was problematic for paint devices like printers
where the physical dpi can be much higher than the
logical dpi, and also for QScreen where the physical
dpi would have to be defined as a multiple of the
logical dpi.
Add QPaintDevice::PdmDevicePixelRatio and QPaintDevice::
devicePixelRatio() getter and implement it for the
QPaintDevice subclasses. Use it when calculating the
highdpi scale transform in qpainter.cpp and when scaling
the clip rect in qwidget.cpp.
Remove physical dpi scaling for QImage, QPixmap and
QOpenGLPaintDevice, reverting to the old behavior.
Change-Id: I6c97510613196d4536ff39d08e9750b8782283d4
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
fontFamily has been acquired by IDWriteFont::GetFontFamily() and thus
must be released with IDWriteFontFamily::Release().
Task-number: QTBUG-26861
Change-Id: I314153f97b8b59c9ba728220f93b493b13337039
Reviewed-by: jian liang <jianliang79@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
For now there's only one architecture per host/target, but
this will change once we start detecting the CPU features
for both device and simulator on iOS.
For convenience we set QT_CPU_FEATURES to the resolved
value of the current architecture, so that simd.prf still
can use QT_CPU_FEATURES directly.
Change-Id: I28e8b339a5c30a630e276165254dba09a3da6940
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
We know the size of constructed list, so it may be worth to reserve
memory space for it.
Change-Id: Idad061bc1dbf5acecaec48d2e00ca3504b9db8b8
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Previously only 32bit signed integers were ensured to be supported by
JsonValue type via API but it is expected that a larger integer range
should be supported by a JSON implementation.
This commit brings the Qt implementation into parity with NodeJS
JSON.stringify() in respect of the JavaScript Number type.
Change-Id: If91153cb3b13ecc14c50da97055b35ce42f341e7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Previously Qt JSON writer would only emit 6 digits of precision as this
is the default with the formatter.
However with testing against NodeJS JSON.stringify() this behavior is
inconsistent with the defacto standard JSON implementation and conveys
a loss of precision.
Change-Id: Ie1845a6e0ee0b4c05f63ec0062f372e891855f0b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
My interpretation of RFC4627, Section 2.4 "Numbers" of:
Numeric values that cannot be represented as sequences of digits
(such as Infinity and NaN) are not permitted.
I have also verified this matter with NodeJS JSON.stringify() that
emitting a null is consistent behavior with a JSON implementation
written in JavaScript.
Previously Qt would emit:
{
plusInfinity: inf,
minusInfinity: -inf,
notANumber: nan
}
Which maybe turned into a string values of "inf", "-inf", "nan" by
the receiving parser. Now it returns the JSON null value just like
NodeJS JSON.stringify().
Change-Id: I9f9c17f12b2606280806c47a9d90465c4ba5f786
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This caused glitches up to unreadable text with i.e.
pixelSize 256 and stretch factor 4x /* ((256*4)<<16)<<6 */.
Change-Id: Ib6a038a043d820a94bd2019c50390a815a2a8277
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
QFontCache::clear() now frees everything it keeps and resets the cache costs.
Change-Id: I23ac2cab5c7c7d70db03f048b6fde151a18f92e1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: jian liang <jianliang79@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Instead we pass the -force-load as a single argument to the linker,
which is not mangled/touched by either the Xcode or Makefile generators.
Change-Id: I72e17638f0a4a8308a352d4b2033c1b5a9b65b84
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
The comments in this file suggested that the bug was only present in clang/3.1.
However, qRegisterMetaType was failing even on clang 3.2
("tags/RELEASE_32/final"). The clang's bugzilla says [1] that the problem was
fixed two days before the release of 3.2, but apparently it didn't make it to
the release branch.
[1] http://llvm.org/bugs/show_bug.cgi?id=13470
Change-Id: I37db8f6f6b22ab939110e79240d92313c1786d6a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
So that the user doesn't have to pass -no-pkg-config and -nomake, when
we already know that those flags are needed and that the build will break
without them.
Change-Id: Ic07e02bc1800f177cf09f704104c1a76bfc50aa2
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Auto tests using CET expect there to be no Daylight Time before 1980,
but Windows does apply Daylight Time. Fix expected test results to
match.
Task-number: QTBUG-30420
Change-Id: I7080598fa0a20c1cd5680782606ab983e714e546
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Use the correct metrics for the requested PageSize instead of always
defaulting to A4.
Task-number: QTBUG-30494
Change-Id: Ia3978afe3f7cc9b1ded1065416e5c3def44e7a05
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
uint32_t is in C++11, which we can not rely on being present. It is also
in C99, but some compilers do not support that in C++ mode.
Change-Id: I29bada724f5646a0a0562b3ab133cb49cf928d6d
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
There is no 'name' variable, but apparently 'd->serverName' is correct
variable here. Some other methods take 'name' as an argument and have
similar code block, so I think this is a copy/paste error introduced
somewhere in the past.
Change-Id: I2e82b42688b9928e0dcc5054df04e87d30a5e38e
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Johannes Oikarinen <johannes.oikarinen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
QFontCache now references QFontEngineData-s it maintains,
so that QFont instances not freed prior to calling ~QFontCache()
would destroy QFontEngineData on their own.
Task-number: QTBUG-25434
Change-Id: Ia7679d64de436841f09ac7be62ceb570e50cce5b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: jian liang <jianliang79@gmail.com>
This class of bug seems to occur in 'flaky' CI tests, so give
more information about what the problem is. Found here:
https://codereview.qt-project.org/#change,44210
Change-Id: I73908e309bdecf1fd3bc323dd4e8febe47c1239a
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
The expected versions are only set if the cmake tests are set up by
qmake by running
qmake && make check
If instead someone uses cmake directly:
mkdir build && cd build && cmake .. && ctest
the expected versions are not known, and the test fails without
this patch. So, don't test the versions if they are not known.
Change-Id: I2e8a4f651a69a8817c819d881be75ca07bc1bfd4
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Apple Clang 4.2 caught private members that aren't used in a class
with no friends. Since this code is in a tool, there's no binary
compatibility requirement.
databaseinfo.h:71:13: error: private field 'driver' is not used [-Werror,-Wunused-private-field]
quoter.h:86:10: error: private field 'validRegExp' is not used [-Werror,-Wunused-private-field]
qmlvisitor.h:123:11: error: private field 'tree' is not used [-Werror,-Wunused-private-field]
Change-Id: Iba9995f28ddef983c9ffc1dc551f042539252704
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
QT_CPU_FEATURES is internal and only used by simd.prf, which is
also internal. This matches the available CPU features which are
detected using config tests and written to CONFIG in qmodule.pri.
Change-Id: I8eb35448e2954a54c228d3617f29afc0283a7db5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
In QGuiApplication only Qt::AA_SynthesizeMouseForUnhandledTouchEvents
is taken into account when synthesizing mouse from touch events, in
QApplication only the PlatformIntegration syle hint
QPlatformIntegration::SynthesizeMouseFromTouchEvents.
With this patch both attributes are checked. Furthermore the check was
moved out of translateTouchToMouse in QApplication in order not to
influence the result which is returned to the user, when mouse events
are not be synthesized.
Change-Id: I87ac7299f0a9fbf0a083eff9c547f0dbfab75dfb
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Also removing qt-embedded-install.html link because it doesn't
exist anymore and it references to a non-existing html page.
Change-Id: Iad9bad20544cf6398c096a4df7662abdf5be5644
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
The property only needs to contain the direct include dirs of
a target. For example, Qt5::Gui does not need to contain the
include/QtCore directory because it already has Qt5::Core in
its LINK_INTERFACE_LIBRARIES.
Change-Id: I69612f42c29e6056b3d15399498d041d43a0dd6b
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Change-Id: I07525ac45a610f56f2bc72731379073f4aa67f7b
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Use the appropriate way to load the .pri file which also
checks for its existence before loading it.
Change-Id: I7d36da1593bb7fa1b5f6fd4d10b69e20c6aaa836
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>