While a POST request with no body may be a pointless thing it does
happen on many websites. Currently this causes QtNetwork to print a
warning to the console and set an invalid content-type. This patch
allows the content-type to be absent when content is.
Task-number: QTBUG-42479
Change-Id: Ia84c89147d2469a9421b9694d062c797987b3194
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Caused by qstringlist.h no longer including qdatastream.h.
Change-Id: I4dee5565ebaa1c8593633a6ad27f142e4424c5c9
Reviewed-by: David Faure <david.faure@kdab.com>
We can save detaching a QBrush when setColor is called trying to set
the current color.
Change-Id: I8f4042325d0f9c2bda69d469d6861e3cc310f329
Reviewed-by: Samuel Rødal <srodal@gmail.com>
Convert a Windows-specific WebDAV specification
"//host@SSL/path" into URL's with scheme set to
"webdavs" and back to local file (Windows only).
Task-number: QTBUG-42346
Change-Id: I12663243848ea7b2d3f208743e837e9de14a93eb
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The public is needed for qdoc which sees class, not struct.
Task-number: QTBUG-42689
Change-Id: I28298b5fd13c6841838634a440bb2f726ddbe7be
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
The context has to be made current. Otherwise we may fail to clean up or,
what's worse, we may delete FBOs and textures in some random context.
The latter was visible with ANGLE in the qopenglwidget example. When having
two QOpenGLWidget instances, the context for the second happened to be the
current one when destroying the first. This is now avoided by making sure the
correct context is current when deleting the FBOs.
Task-number: QTBUG-42696
Change-Id: I8c1eed7c13a869968cc67141e585d02c6bc6f279
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Prepare for determining the suitable number of touch points
from the device type. For now, 2 points are used as
before, which can be overridden by setting the environment
variable QT_PAN_TOUCHPOINTS. Add member variable
to QPanGesturePrivate which is set on gesture creation and later
used for comparison.
Task-number: QTBUG-40461
Change-Id: I6d9e35ca752375bc6a54435482ca0925195b8142
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
configure script has been silently accepting whatever flags that begin
with "-feature-" even if the feature name does not exist at all.
Since the script validates many other flags, this behavior can make
users believe flags they supply is valid when it isn't.
Besides, this option is currently not protected against typo in any way.
This commit verifies those flags against content of
"qtbase/src/corelib/global/qfeatures.txt" and fails if supplied
flag is not a valid feature name.
Change-Id: Ib19ec66dd5558fb5491e8e080ce07d4807d94c1f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Fix the style trap that leads people into thinking that's an
else-if, while it's a plain if.
Change-Id: I62963f0d6270eadcbd8aede7bac60f83968cb0d4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
For a default Qt build this change is a NOP, ftlcdfil.c is
ifdefed by FT_CONFIG_OPTION_SUBPIXEL_RENDERING, which we don't
define.
But for users who changed ftoption.h, or are using 3rdparty/freetype/devel/ftoption.h
instead of 3rdparty/freetype/include/freetype/config/ftoption.h they can now
enable Subpixel rendering without getting a build error.
Change-Id: I547e8a20514fcb97e4e56cb0100e9c2ed525f483
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Otherwise, a widget can't detect pinches if the points don't start
simultaneously unless it sets WA_TouchPadAcceptSingleTouchEvents.
The use case is for a widget that doesn't actually want the single
touch events, but only when there are two or more touchpoints.
Task-number: QTBUG-42389
Change-Id: I5269d9acb93a0001c4fde02b1f7b9e0dfcc0032f
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
When a widget's parent's window is not a top-level window, it should
find the top-level window before calling setTransientParent,
to avoid a warning (since a71e285133).
Task-number: QTBUG-42464
Change-Id: I732691b0d40aba226470332426775d1bd4381009
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
gcc 4.9 has the __has_include feature which enables the
TEST_FORWARD_LIST and includes the forward_list header. This in turn
checks that the c++11 flags are enabled, or throws an error.
Change-Id: I44aa58e47c2f9ba6f14cb5a68d24da4a76698e5f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
the string is implicitly anchored, so "foo" does of course not match
"no-foo".
this allows us to de-noise the generated qfeatures.pri somewhat.
it still makes sense not to auto-include that file for performance
reasons, so this change is a functional no-op.
Change-Id: Ied75fd6459022c0b8c80843d62c4ab9eba9bf261
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Add a set of helper functions and classes providing functionality
for dumping widget/window hierarchies and logging events. They
can be used by including a .pri file for diagnosing bugs and
comparing Qt 5 to Qt 4.
Change-Id: I0206f8e57b02540cd80a3e9446c894023d442ddc
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
qwindowsxpstyle.cpp: In static member function 'static QRect QWindowsXPStylePrivate::scrollBarGripperBounds(QStyle::State, const QWidget*, XPThemeData*)':styles\qwindowsxpstyle.cpp:2542:45: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
Change-Id: I6a4b62057a612fa9234744e892950c959c513d15
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
If buffer() returns 0 then there is no bufferPixels available which will
cause a crash later on when it tries to set that memory. If this function
fails then all we can do is return, a warning will have already been
outputted from buffer() itself indicating why.
Change-Id: I5890b3c34536f7f3d17def0936970c0a694b005a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Unlike QTextEdit, there's no implicit width for a QGraphicsTextItem,
meaning any rich text that is supposed to be centered or right aligned
will not be unless the user explicitly sets the width.
There's also another possibility: calling adjustSize() manually.
Document that.
Task-number: QTBUG-312
Change-Id: I83023269f4c63643e8224887efe2143dd1bb1908
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
We need to reset the active_engine belonging to QOpenGLContext whenever
we make the QtOpenGL paint engine active, to give the OpenGL paint
engine in QtGui a chance to sync its state if we've used the QtOpenGL
paint engine inbetween.
Change-Id: I445ce2f99bfbacf55650c881c4fdf07f2ff85069
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
When using QGLWidget in combination with QOpenGLFramebufferObject from
QtGui, instead of QGLFramebufferObject from QtOpenGL, the current_fbo
variable doesn't get updated when framebuffer object bindings change.
To ensure that the QGLWidget correctly releases the currently bound
framebuffer object when using a QPainter, we keep track of whether
QOpenGLFramebufferObject has modified the current FBO binding, and if
that's the case we need to read the OpenGL state directly instead of
relying on a cached value.
Change-Id: If7e0bd936e202cad07365b5ce641ee01d2251930
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Ensure the sdk is of recent enough version since:
1. we build Qt with the latest sdk version, so the app needs
to do the same to avoid compatibility problems e.g when linking.
2. using a launch screen to support iphone6 depends on sdk 8
3. Apple requires apps that are pushed to appstore to use the
latest version of the sdk.
Ideally we should store the sdk version used to build Qt, and
require that apps use the same version or newer. But this patch
will do until that is in place.
Change-Id: I18b06d09c1eda15122975b7169ca7a3372df6054
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
This particular "feature" leaked into QtQuick1 back in the day. Still
it was never documented in QGraphicsView.
Task-number: QTBUG-18267
Change-Id: Ib5fb446015176f6e9b4095f6ec9030258cbd1ad4
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
To match rendering of subpixel antialiased text in Qt 4.8 and other
toolkits on X11, we should not apply gamma-correction. This also
makes the rendering of subpixel antialiased text closer to normal
antialiased text.
Task-number: QTBUG-41590
Change-Id: I45ad3448334951353657b878d002eea429858f2d
Reviewed-by: Samuel Rødal <srodal@gmail.com>
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
This allows apps to ship their own openssl libraries inside the
application bundle.
The change consists of two parts: First, adding
<bundle>/Contents/Frameworks
to the alternative search paths. Second, disabling the preemtive
check for libssl.dylib, libcrypto.dylib in the system paths:
The system's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib
will still be picked up as a fallback in the alternative search
paths, but only after .app/Contents/Frameworks have been inspected.
[ChangeLog][QtNetwork][QSsl] On OS X and iOS, openssl dylib's are
picked up from the 'Frameworks' directory of the app bundle.
Change-Id: I982930f4a6cf5e0114c04ecbc87f27e54ba8bb88
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Fix warning:
QEventLoop: Cannot be used without QApplication
and occasional crashes on Windows.
Task-number: QTBUG-26406
Change-Id: Ia8b2a4e3d375d1e43f0e66fe64a39af5f9cf4d60
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Dario Freddi <dario.freddi@ispirata.com>
Commit ec360d7ad9 made it work for ELF
platforms, Apple platforms and for MSVC, but we apparently forgot it for
MinGW. This patch corrects that mistake.
We won't have the PE-COFF section parser until 5.5, but this will at
least making Qt 5.4-built plugins work on the faster case.
Change-Id: I51b06837dc321eaa4724c9598293cf85570f67fc
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Calling the function has the same effect as dismissing the keyboard using
the native keyboard dismiss button or the hide-keyboard gesture, and will
result in the QIOSTextInputResponder losing first-responder status and
the current focus object being cleared.
QtWidgets and other parts of Qt will try to hide the keyboard during
focus changes between widgets, which we already take care of when the
focus object changes, so we detect the situation and ignore it, by
requiring that the current focus object matches the one we've brought
up the text responder for.
Showing the virtual keyboard is still a no-op, as there is no way to
show the virtual keyboard without a focus-object.
Change-Id: Iefcb403c2b6d3da8a4df3fcd53bc1244ba9c4d23
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Allows us to track state through the normal gesture recognizer states
instead of custom variables.
Change-Id: I4fe1b370a581132a9bbb8f51f7bee73381b80341
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
The standard POSIX clock functions are present on QNX, but only
return timing information with millisecond accuracy. To get
accuracy beyond that, platform-specific functions must be used.
Change-Id: I54a0550f1865dbea3c60a86ecd8ad99df3fe42b4
Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Due to the way that the QCC mkspecs are structured, the recent
change to add full optimization support causes the -O2 flag to
be completely dropped from QCC builds in release-with-debuginfo
mode, since the QMAKE_CFLAGS_OPTIMIZE variable is not declared
in any configuration file included by QCC toolchains. This patch
adds the necessary flags to make the QCC toolchain operate correctly.
Change-Id: I4cd93442d59fae7c92fc5219cddb16f367447203
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
It is possible that Qt calls paint() several times for an item that
has caching enabled, even without any explicit call to update(). There
are various reasons why that is possible (memory pressure, item gets
transformed, etc.); the important part is that
1) the user must not rely into "caching enabled" = "1 paint() call"
2) the user must always draw the same content from within paint(),
unless update() was called before that call to paint().
Task-number: QTBUG-18410
Change-Id: I2c8d77e6e11aaceffc9a21003dd3f4cc46edd582
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Add WINRT_MANIFEST.rotation_preference as description which orientation
is allowed or preferred by the app. Valid values for Windows Phone are
portrait, landscape, landscapeFlipped. WinRT also allows portraitFlipped
Task-number: QTBUG-40830
Change-Id: I6b11afcdb72c2c158dadddafc5d90c1d18ab9d8b
Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
The defaultConfiguration could switch and be either active connection,
so we determine the default should be what has the default route.
Change-Id: I194f27b60e7a3598eca2ff09c2225ba1a46564d9
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Cabling changes can be detected right away, so we should act on that
and change the configuration state.
Change-Id: Ifa9709077215567001e11ab655208a2c1b090073
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
There are some issues preventing 2x images from loading, mainly incorrect
testing for exist() by passing an url, which always reports ‘false’.
Task-number: QTBUG-36383
Change-Id: I1e8e5a91b01f1a4ddd3559c2e860db5bc41908ce
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
QIODevice makes readData() call only when its read buffer is empty.
Also data argument points to the user or reserved read buffer area.
So, no need in data transfer from read buffer at this point at all.
Task-number: QTBUG-41797
Change-Id: Ieb4afdf7eec37fdf288073e4a060e64424f22b9c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 1853579dad1bbb44599314213a1d8a203ecae1c9)
Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
IBus can hand us multiple attributes for different formatting properties
of the same text range for events. The IBus input method plugin used to
convert these straight into multiple QInputMethodEvent::Attributes, each
with their own QTextCharFormat instance.
According to the QInputMethodEvent documentation, behavior with multiple
TextFormat attributes for the same text range is undefined. In at least
one known user, KDE's Kate text editor, it causes invisible text for
pre-edit text events as the QTextCharFormats are applied in turn with
partially default-constructed foreground/background brushes:
https://bugs.kde.org/show_bug.cgi?id=339467
This patch makes an effort to merge formatting information for identical
text ranges into a single QTextCharFomat, while otherwise preserving
existing behavior (attribute order is unchanged and attributes deseria-
lized from D-Bus as having invalid QTextFormats remain untouched).
No attempt is made to cope with overlapping text ranges. Segmenting into
smaller ranges and merging for the overlaps would be conceivable, but
until a case of an input method creating events with overlapping ranges
is known seems not worth the effort.
It's worth noting that the IBus input method plugin for Qt 4 also
attempts to merge formatting information into a single QTextCharFormat,
but with a distinct implementation from this one.
Change-Id: Ie3dc38b353724ffb7b5f2d7f316393027373baf2
Task-number: 41640
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>