QSslConfiguration is better suited for these APIs. The ones
in QSslSocket that already have a counterpart have been deprecated.
[ChangeLog][QtNetwork][SSL/TLS Support] Most of the QSslSocket
functions to deal with ciphersuites, certification authorities
as well as elliptic curves have been deprecated in favor of the
corresponding counterparts in QSslConfiguration.
Task-number: QTBUG-46558
Change-Id: I1de03379efcbcab931c20e876e252769fe4279e0
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
Apple Clang 3.2 is known bad with broken or partial
support. Which version is the first good version is
unknown.
Change-Id: I1b938281680dde5acbe0e08979444b6055a1cc4e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Don't return a const QString &, return the QString by value. This
is still broken for some of the older methods, but let's not add
to it.
Change-Id: Ic5cabb1b89eda0fcf678dbe175963e03109e5c2c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
QMetaType::IsGadget was introduced in Qt 5.5 and set when Q_GADGET is used.
If an existing Qt 5.4 class was converted to a gadget in Qt 5.5+,
the two types would have differing QMetaType::TypeFlags. Such a conversion
happened for QGeoCoordinate, QGeoShape, QGeoRectangle
and QGeoCircle. There might be other classes too.
In principle, the same problem exists for every future addition to
QMetaType::TypeFlag too. This patch ensures that new flags are kept in
the metatype database and the related qFatal call is not triggered for any
flag >= TypeFlag::WasDeclaredAsMetaType.
Change-Id: Ibb15daeb28d9a11b7f31658f4219cbca2499213f
Task-number: QTBUG-46454
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
There's zero reason not to do it, esp. given how small
a QSizePolicy is.
Change-Id: I88b92bb27e6341b60a2cb3f2ddcc232f25f03ca8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Change-Id: I5ea44a720e01e388a8d219a89c5b0ccd8fd23146
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
The accessibility class was created and activated in onCreate(), which
meant we where trying to activate accessibility before the platform
plugin was properly initialized.
With this change we will also activate, or deactivate, accessibility in
Qt whenever the state is changed by Android, compared to doing it at
start-up only.
Task-number: QTBUG-46355
Change-Id: I5cbae125df43f7694d4464d5054e6cfec4626e26
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Exporting value classes (as opposed to just their non-inline
methods) creates subtle binary incompatibility problems.
In this case, between C++11 and C++98 builds because of the
move assignment operator.
Even though it's not a problem in practice, so far, for some
types of classes this issue ie real (QVector, say), so it's
best to avoid exporting what we don't need to export.
Change-Id: Ifca6aaedcbfa79ca35e651de7630e69c3b266fe3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
These examples now define their own images. Having duplicate
definitions is bad as it results in invalid example manifest
xml, and Qt Creator fails to detect all examples declared in
that file.
Task-number: QTBUG-41996
Change-Id: Ia9d6cd0b3ec4e82b79b1df54774c2d9cea279a59
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Match the cases for the adding logic.
Change-Id: I61f49975b4cfcf2acf26b31b521cbc9b96f9d150
Task-number: QTBUG-46447
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
It can happen that NSMenuDidEndTrackingNotification comes after our imageCell
QNSImageView was deallocated (for example, mouse button is not released yet
when dealloc called). Remove soon-to-be-deallocated observer.
Change-Id: Ib155cc5f0b884c6b1fed0f986d12599096b582c6
Task-number: QTBUG-46425
Reviewed-by: Thierry Bastian <thierryb@filewave.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
In GNOME/Unity XCB, logical DPI is scaled by device pixel ratio, and on
Macs logical DPI is constant but pixel ratio is based on physical DPI,
making logical DPI effectively physical DPI divided by pixel ratio.
This patch ensure the same logic is used for other XCB desktops.
Change-Id: I60f24618cd49f6b34a6ff1eff317883d191d3491
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
readLine() overload was renamed into readLineInto() in
21674735cc.
Change-Id: Iebd4c4e42ef4579c02ca38d7e41d00c3032130d8
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Fix regression introduced in commit 63660402d. exists()
also returns true for a directory ...
Change-Id: I2b4fff00b18eeba53e959306ab33c3bef3795987
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
As discussed on the development mailing list, the new overload is ambiguous
and breaks source compatibility. Therefore this function that is new in 5.5
shall be called readLineInto.
Change-Id: I2aecb8441af4edb72f16d0bc6dabf10cdabf32e2
Reviewed-by: Jan Kundrát <jkt@kde.org>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The default reaction to configuration changes in Android
is to destroy the activity. To avoid this happening for
locale changes, we had the "locale" configuration change
registered in the default AndroidManifest.xml, however,
you also need to register that you are handling the
layoutDirection change, otherwise Android will not
call onConfigurationChange() for language changes, but
tear down the activity instead.
[ChangeLog][Android] Fixed bug where application was not
resumable after user changed language in system settings.
Change-Id: I3fe84a9332217b062b5352b2c977e2dbeacd5239
Task-number: QTBUG-45430
Reviewed-by: BogDan Vatra <bogdan@kde.org>
- Use QTRY_COMPARE() in touchBeginWithGraphicsWidget.
- Change raw event translation tests to wait for the
window to become active to avoid WM positioning issues.
- Blacklist the raw event translation tests on Linux.
Task-number: QTBUG-46266
Change-Id: I73aae375ee279a518a2a083d0ce8919cce474cb3
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
It's not a real dependency as all we need is to store a pointer,
but better not to use the name QWidget at all.
Change-Id: I30ef1dd44ac7e42c1b9c84675f94088b8c516076
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
Introduce support for the widgets' clipRect(). Right now render-to-texture widgets
in scroll areas placed close to each other result in broken (non-existent) clipping.
Similarly, stack-on-top widgets fail to clip when placed inside a scroll area.
This is now corrected and the qopenglwidget example is enhanced to utilize a scroll
area.
Task-number: QTBUG-45860
Change-Id: I859a63d61a50d64ba9e87244f83c5969dce12337
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
they are self-contained, as they are the result of another project's
full resolution. consequently, recursing them just burns cycles, and
additionally introduces the risk of an endless loop if the file is
botched.
Task-number: QTBUG-12711
Change-Id: I401ee691c170092cc61fe05538cec4272ed8f922
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
we use qmake properties in the installed .prl files, so the paths
need to be converted to native separators before emission.
Task-number: QTBUG-46217
Change-Id: If3fb0a84488795478fc2a701271c931c62eba6aa
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
... by implementing a fake ln in qmake.
symlinks are supported only since vista (we officially still support
xp), and even there are permission-restricted (MS being (rightfully)
afraid of symlink attacks). so we fake the links by copying the files
instead.
the previous hack was a bit naive, simply using cp/copy instead of ln.
this didn't work with relative paths, as real symlinks are resolved
against their parent directory, not the working directory of the "ln"
command. the new fake does this correctly.
Change-Id: Ia2f5d68a39d6ffcc8a4383f9d0fc63a9da0a05c3
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
According to NETBSD manual pages, there's no statfs structure; statvfs
should be used instead, change introduces defines for the stat(v)fs
struct/function.
Task-number: QTBUG-40785
Change-Id: I98599e4635e46f90ffcc99c768f4c250f09f914f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The Windows 10 CRT does not export __getmainargs(), so we need to move
to GetCommandLine like on WinCE and desktop Windows. As CommandLineToArgv
is not available, the command line is split according by spaces, allowing
for quotes (and quote escaping) around arguments.
Change-Id: Ibc969df94ca5423a3a71d8190bbacd201189ea19
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
When running a modal session with NSOpenPanel (QFileDialog), our menu delegate
should not touch qApp->focusObject, since it's not what actually has focus
inside NSOpenPanel (will be some native view). Return YES instead.
Task-number: QTBUG-17291
Change-Id: I94f3281237fb25495d317b02310bf9d77b21d2ba
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Switch to using the pointer events from XI2 when touch is available (i.e.
version is >= 2.2). This allows us to select and grab the button and motion
events together with the touch ones. This prevents the issue of not getting
touch events when grabbing via the plain xcb functions.
To prevent touch sequences from being replayed after ungrabbing (for example after
dismissing a popup that caused a grab), we try to accept touches via XIAllowTouchEvents.
Unfortunately this leads to a deadlock and therefore we can only do it when we know
we have a new enough libXi. This is a configure time check which is not ideal since
the system on which apps run can have a newer libXi than the machine that did the Qt
build, but seems like the best we can do.
The environment variable QT_XCB_NO_XI2_MOUSE can be set to 1 in order to prevent
processing mouse events through XInput. This restores the old behavior with broken
grabbing.
[ChangeLog][QtGui] Pointer event delivery on X11 is now done via XInput 2.2+ when available.
Done-with: Michal Klocek <michal.klocek@theqtcompany.com>
Done-with: Alexander Volkov <a.volkov@rusbitech.ru>
Task-number: QTBUG-43525
Task-number: QTBUG-45054
Task-number: QTBUG-30417
Change-Id: I7cb2002b31bef4cd527aa427549dcf2d5467968e
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
With Qt 5.5 we are changing the license of the Qt for the WinRT &
WinCE ports to LGPLv3 / GPLv2+ / commercial.
Change-Id: I221559c5c42b1dcda172eb85e6bfa53c91976b23
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Subpixel rendered text doesn't work in the old OpenGL paint engine
because it assumes the glyphs are returned in RGB32 format, when they
may be in ARGB32. This patch changes the test of the returned format
to just check for 32bit matching the logic in the new OpenGL paint
engine.
Change-Id: Ib5b784dedba51cf22f216e2f035361518610b96b
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
To avoid a touch release outside the combobox triggering the popup,
a check was added that the combobox was hit. This fails if the combox
itself is only used for the popup and associated behavior, but does
not exist as widget. This patch changes the check so that only touch
release checks for a hit, but a generic click still behaves as in 5.4
to avoid regressions.
This fixes comboboxes no longer working in QtWebKit, since QtWebKit
renders its own comboxes in webpages, and only uses the popup of
the QComboBox.
Task-number: QTBUG-46152
Change-Id: I74fd57b2e42e77aa4a269d812ca4a6689f254889
Reviewed-by: Florian Bruhin <qt-project.org@the-compiler.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
When invoking a macro with less argument than it expect, we would
crash trying to access the vector of arguments from the invocation
as we are trying to substitute an argument.
(Note that we do not show an error in case of argument mismatch
because ithat might happen parsing valid code as moc's c++ parser
is not 100% accurate (that was QTBUG-29331))
Task-number: QTBUG-46210
Change-Id: I3f08d7f5049e593a5bdc02a594ea63cadf66e7a4
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
This reverts commit c9aaa3e2cd.
This fix broke fullscreen mode on Android. A better solution is
in the works, but we'll probably push that to Qt 5.5.1 instead
since it comes with a risk and we don't want to delay the release
any further.
Change-Id: I3aae6d52ebb8425089cdb6f7fc4c8ce9ad4911df
Task-number: QTBUG-38700
Task-number: QTBUG-46234
Reviewed-by: BogDan Vatra <bogdan@kde.org>
The range sampling operates the same in both directions just with
different step-sizes, so the code can be unduplicated,
Change-Id: I47805a7e925d4058f62c558ef08e79485915e937
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
The global variable is a left over from when there was an MMX assembler
implementation, and is now just making the compiler's job harder.
Change-Id: I686704b64a2f8c68ec8ca83f2ac3e465ded773e0
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Add CONFIG += testcase to the .pro file which was missing.
The test thus was never executed by make check and left to
rot.
Fix up code:
- Remove module includes.
- Introduce explicit constructors taking parent object
for helper classes, removing calls to setParent().
- Ensure test does not leak objects by converting pointers
to stack variables or introducing QScopedPointer, verify
by checking for an empty window list in cleanup().
- Simplify code by removing unneeded variables.
- Split up conditions in QVERIFY().
Fix tests:
- Show windows were required when events are sent to
QWidget::windowHandle().
- Invert the conditions checking whether touch events are
accepted by widgets since widgets no longer accept them
by defaults in Qt 5 after
e50416066c.
- XFAIL multiPointRawEventTranslationOnTouchPad()
which started to fail at some point in Qt 5.
- Mark as insignificant on OS X due to crash.
Task-number: QTBUG-46266
Change-Id: I6676d021afb015411a24d97d9b8f7c327d4d3c3f
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
The positioning test has been observed to fail on X11.
Change-Id: I58727126a8742de93ec203e9992a9ae1b454f731
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
As pointed out in the bug, it also fixes API use when configured
with no bearermanagement.
Task-number: QTBUG-46239
Change-Id: Ief8df85ad6acf61e8d5bb3eed54e7d6ecb84c1a0
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
QVistaHelper::drawTitleBar() used the font returned by
QApplication::font("QMdiSubWindowTitleBar")
(typically "MS Shell Dlg 2",16) to calculate the
bounding rectangle of the title text. However, if the window
is a toplevel QVistaHelper::drawTitleText() uses the theme font
obtained for WIZ_TMT_CAPTIONFONT (typically "Segoe UI",11.25)
to draw the title (since it is a window title). This causes the
font to be cropped when changing the application font or spurious
black rectangles to occur.
Fix this by exposing QWindowsFontDatabase::LOGFONT_to_QFont() via
QWindowsNativeInterface, and creating a QFont from the LOGFONT
obtained for WIZ_TMT_CAPTIONFONT and using that for the
bounding rectangle in the case of toplevel windows.
Split up the HFONT QVistaHelper::getCaptionFont(HANDLE hTheme)
into static LOGFONT getCaptionLogFont(HANDLE hTheme) and use
that to obtain the HFONT in drawTitleText() or QFont in
static QFont getCaptionQFont(), respectively.
Task-number: QTBUG-46360
Change-Id: I9069b403f7f948b6738eec452cb7584be45b8a29
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
The -fPIE option is now accepted when using GCC 4, which means it
is available for backward compatibility for clients using
CMake 2.8.11 or older which makes use of the
POSITION_INDEPENDENT_CODE feature.
Conditionally use that feature for old versions of cmake with
GCC 4. Restore the tests for those versions, and clarify the
situation in the ChangeLog.
Change-Id: I5a06b155dda7db559d86841a2b34fd8ed95acbd0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Commit 3eca75de67 introduced the #error
nagging about use of -fPIE, but it makes the transition quite difficult
for people using other buildsystems. So let's give people a grace period
and enforce only for GCC >= 5.
Clang is affected, but differently. The problem only happens with -flto
-- that is, it happens when the linker detects that it's creating a
final executable. Maybe -Wl,-pie would fix it.
Change-Id: If4d5ac8db0ed4a84a3eaffff13e275edc29a72b7
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
We take some shortcuts still because we know that with ANGLE the header
with the extension constants is always available. A proper implementation
would not rely on the constants being available and would dynamically
check for the extension and would take care of defining the constants if
not available. However, just getting the extension list to check if the
functions needed to get the display are available is already a chicken-egg
problem so we won't go there.
Using eglGetProcAddress properly solves the issues with static builds too
since this always works.
Task-number: QTBUG-46284
Change-Id: Iff23669ebacaffa0c5f76fd2c928af689307874f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Gunnar Roth
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Old implementation had complexity O(oldSectionCount); replace it with
O(hiddenSectionCount) algorithm. This boosts performance in case of the
vertical headers for models with big row count.
Change-Id: I7bb02f5579ce83fbdecf5f8c3aa7dcc0ac60dd40
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
This is a follow-up change to commit 3eca75de67
to mention changes required to CMakeLists.txt for users of Qt.
Change-Id: I1c9ed162427cdc620f998ccf266d59886901c28d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>