copy() may result in a failing malloc and thus return a QImage with a
null d. Hence the need for a null check before incrementing detach_no.
Task-number: QTBUG-41657
Change-Id: I868c37ef355fceaa1e2fc5f8a472e3dcc84dcadd
Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
The user cannot use the image picker dialog for selecting file names
for saving. So ensure we fall back to use the normal file dialog
when that is the case.
Change-Id: Ic73571d34d87c47c68b75dfe0bad1810ad91aa57
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
This provides both build and runtime fixes to make the Mali GPU backend
able to be used in more places.
The Mali backend was always trying to resize the frambuffer driver to
twice the default height. In the case of the Mali T628 in the ODROID
XU3 it is an error to set the virtual height of the framebuffer device
to anything greater than the physical height.
Change-Id: I25a64e411f44d2aeb1cb4376183d9ea547c10161
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Added casting to QT_OFF_T type. Otherwise fails on some
compilers.
Change-Id: I4f1f0c558af7d182a4babf38a7f048b27b3db611
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Include pressure, startPos and lastPos.
Change-Id: Ib08b52e25bc2c298b712becf858c87d16fd7a7ae
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
We need to store the IM state as part of the QIOSTextInputResponder, so
that the text responder can decide at a later point if it can still be
the text responder for the current (possibly changed) focus object.
Change-Id: I4ec861c5479238edf6a0fc101fa8241958af2d32
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
When using non latin keys, remove() could cause corruption
of the json object.
Task-number: QTBUG-42270
Change-Id: I7305e57ebb78630a9bf68bc4f831a6d1646abb79
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
ICU doesn't support iso8859-16, so we need to fall back to
the Qt codec for this encoding.
Task-number: QTBUG-45053
Change-Id: I9754cf098c906fe8a75363a3d090029543cd0e35
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
We don't guarantee -1, 0 and 1, but simply negative 0 or
positive numbers. This is in line with e.g. QString::compare()
Task-number: QTBUG-42860
Change-Id: I6009b2eb732ae3b4726cec06ec0eacc2c46a3c93
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
to better mirror the API of QJsonValue
Task-number: QTBUG-43686
Change-Id: I83edecf5226d44980a8a442a512a13ab9b2ac6a9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
QObject::connect tries to determine if the arguments are registered
metatypes. This used to work even for arguments that were forward
declared. But now, the metatype system tries to call
QtPrivate::IsQEnumHelper<T>::Value to know if it is registered.
That fails on gcc if T is forward declared.
Apparently gcc needs to know the full type of T to pass it in the
ellipsis function, even within a sizeof expression.
So change the ellipsis expression to a template one.
Task-number: QTBUG-44496
Change-Id: I7fa07bd3cde470b134c2ec53b0d581333d16a6f1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Currently, IsQEnumHelper<T> returns true also if QFlags<T> is registered
as a Q_FLAG. But this is going to be changed in the next commit.
For the QDebug operator to continue to work even when the QFlags<T> is
registered and not the T, we need to take it into account in the
QEnableIf condition
Change-Id: If1fcffd133aa20ba95a07e2bfaaa308896ab01b0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This partially reverts 51ada7734a
because it's necessary to keep some scenarios with vnc and
remote X servers working. When an application is starting,
if we don't find the xrandr outputs but we know the dimensions
of the screen, we should still be able to put windows onto that
screen; but when we already had known xrandr outputs and then they
were removed, that's the case where we want to stop rendering
(and have no screen instances) until the screen(s) are reattached.
Task-number: QTBUG-31389
Task-number: QTBUG-40174
Task-number: QTBUG-42985
Change-Id: I13d0996ba6ece78c4ebcd2c3a59f1617c1c7f0fa
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
OSX was missing text, url and image preview while dragging causing the
drag operation to show a small dashed box around the mouse cursor.
Task-number: QTBUG-33824
Change-Id: I8d0acd0d6a48b7cb29ad2faba8b9ecb9cdf2a5ab
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
This system is no longer in the CI rotation and we haven't had reports
of the same issues happening on later versions. Either the issues have
since been fixed or they were never an issue in Qt in the first place.
This commit has the additional benefit of getting rid of the following
shell error when qmake was run:
sh: line 0: [: =: unary operator expected
as /etc/lsb-release hasn't contained DISTRIB_CODENAME for some time and
proper quoting was never implemented (not even qtcpsocket.pro).
Change-Id: Ia0aac2f09e9245339951ffff13c829e910ee64e9
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The Darwin kernel that came with Mac OS X 10.7 has a broken
implementation of waitid when passed a P_ALL first argument. It does
tell us that there is a process that can be wait()ed, but does not fill
in the siginfo_t structure.
See commit 9931fa9df4 for more
information.
Change-Id: Iee8cbc07c4434ce9b560ffff13cafa4c88cdabd6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
When creating a string it would cause a malloc which would reset
GetLastError() so we need to ensure that GetLastError() is the first thing
it calls if a Windows API call fails.
Task-number: QTBUG-27765
Change-Id: I5cc4ce59aa1f03a0ec978fe54949a7931a225d52
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
We used to stop listening for keyboard visibility when quipickerview
was deallocated. The problem with that approach is that we don't
have a guarantee for when dealloc gets called. So what can happen
is that we get a call from Qt to dismiss the menu. That causes us
to close the keyboard, which will trigger the notification, which
will call dismiss recursively. This will hit our assert checking
if we have a valid picker view.
This patch will unsubscribe to the notification explicitly upon a
call to dismiss, to avoid recursive dismiss calls.
Change-Id: If1efa3438037e00a02bc186fdcb6c0b3d3d595e4
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
When using native windows, notification were received after the platform
window pointer was cleaned up, which caused crashes.
Change-Id: I438fc29d1761a32a4705c4c802afe46908505756
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
We treat windows as exposed even if the application state is still
inactive (e.g. during startup), otherwise there's a visible moment
of black screen between the launch screen fading out and the app
rendering its first pixel.
Change-Id: I48368459a8a46fa1c5b2853ea88adfe1ac61b6f7
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
When a QWindow is closed and destroyed it resets QGuiApp::focus_window
before calling setVisible(false) on the platform window, so we don't
have the needed information anymore to check if the window we are
hiding was the focus-window. To work around this we use the native
state instead, which should still be valid if the window was the
focus window.
Change-Id: I98057e6393411471f03668e3e5ce544f6b49c01d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
For real OpenGL content it is still not supported because we have no reliable way
to read back the contents at arbitrary times. Applications should rather use
QQuickWindow::grabWindow() in that case.
[ChangeLog][QtGui] Support for QScreen::grabWindow() is now available on
embedded platforms (eglfs, linuxfb).
Task-number: QTBUG-44937
Change-Id: I4ad046062782c160f5bb9f8f2a2fe82f2e7394cc
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
- removed an unused field
- initialized variable that might be used uninitialized.
Change-Id: I7a7a063f025ecc32fa462dd8d5e2485c2ba52eb8
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
When QDoc resolves and combines namespace child nodes located in
different modules to be under a single namespace node, it also changes
the output subdirectory of each child according to the destination
module.
However, if one of those child nodes is a namespace node or a class
node with nested child classes, the output subdir of those children is
left as the old (incorrect) directory.
This change fixes that by making the setOutputSubdirectory() function
recursive for nodes of type InnerNode.
Change-Id: I07b2f406283e1bf3bd8643797c3b789b0211b5bb
Reviewed-by: Martin Smith <martin.smith@digia.com>
When the 'debugWindowManagement' option is enabled, e.g. by passing the
argument -platform ios:debugWindowManagement to the application, the
plugin will add a background color and outline to all QUIViews, as
well as draw a grid for the underlying QUIViewController. This makes
it easier to see where windows are placed when the window itself
doesn't draw anything, e.g. in unit tests.
Change-Id: If9a59822e0b320b154ad8e338f9fb5ec7cf191a2
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
17d690952b missed a few instances that should have showEnvVarsInLog = 0.
Change-Id: I8f1106426447670b0057aeb421efc09bf117e969
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Change-Id: Iaf65acfee523e401ed973869b364301b08dc1520
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Properly QSKIP tests that use disabled QProcess and symlink
features instead of excluding them silently by #ifdef.
Other reason is that moc doesn't respect QT_NO_* defines
in class definition which causes build issues on some
platforms.
Change-Id: I041020f7452f7d36c7ec8a5866a4ba5eb23d1f94
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
Reusing the previous QPlatformPixmap breaks implicit sharing. It changes
the contents for all QPixmaps using the sample QPlatformPixmap.
Task-number: QTBUG-43384
Change-Id: Ic0792088daa8c2dcb5d7d311a0fd7415d7b5e097
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Unlike qAppName, it doesn't require a QCoreApplication instance,
making QLockFile usable in destructors of global statics.
This also uses the value passed to setApplicationName if called
rather than always argv[0].
Change-Id: I40446aba410db42d7cfe6b4408878faf435246f7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Other parts of tst_qudpsocket.cpp already did this check.
Change-Id: Iee8cbc07c4434ce9b560ffff13ca545a03c9596a
Reviewed-by: Richard J. Moore <rich@kde.org>
The directory URL will now have the scheme "file". So we need to convert
it to a local file before we inspect the file name
Change-Id: Ib50f879501f560a4d0fec41dce6d7d9f78f06a3c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
We need to pass the asset url around as a file url in the
application, so that QUrl::fromLocalFile()/toLocalFile()
works.
Note that QUrl::fromLocalFile() will remove double slashes.
We therefore need to check for this, and restore missing
slashes, when loading files in the file engine.
Change-Id: I2de6b91d7a112354590cf2981f7b403eacf92a59
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Don't clear QMAKE_EXTRA_TARGETS when creating makefiles.
Clearing it seems unnecessary, since it doesn't cause any
harm to make the functionality available to projects.
Change-Id: I470106b28124baf9df7000a7a70ee7159236c77a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
It no longer compiled after 614f37c8b5 due to
the following:
- forkfd_qt.cpp set _XOPEN_SOURCE to 500
- It then includes qatomic.h which include sys/cdefs.h (the FreeBSD header
that parses and sets _POSIX_C_SOURCE, _XOPEN_SOURCE and other macros)
- sys/cdefs.h redefines _POSIX_C_SOURCE to 199506 due to _XOPEN_SOURCE's
value
- Several libc symbols expected to exist by libc++ are hidden due to
_POSIX_C_SOURCE's value and the build fails
Setting _XOPEN_SOURCE to 700 ensures that _POSIX_C_SOURCE is set to
200809 which is required for libc++ to work correctly
Task-number: QTBUG-45006
Change-Id: Iac93220d19ca5ab9ba8ac61a79748252283c3c47
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This is quite good if space isn't a constraint: the unrolling ensures
faster execution and limits the number of iterations. But it's long.
Both Clang and GCC set the predefined macro __OPTIMIZE_SIZE__ if -Os is
in effect. ICC does not; MSVC is untested but there are no macros for
this effect listed in its documentation.
Change-Id: I1a800c709d3543699131ffff13c48919a9a79ec3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
No point in having them separate, as that's a recipe for mistakes.
Change-Id: Iee8cbc07c4434ce9b560ffff13ca4132cd1879ed
Reviewed-by: Richard J. Moore <rich@kde.org>