Qt starts drag-and-drop on a mouse button press event. Cococa in
this case won't send the matching release event, so we have to
synthesize it here.
Task-number: QTBUG-72417
Change-Id: I645b6a2733c1ea11ac4545cf3405f826af45fa47
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Do not store this variable locally, because
a) it might change if the SDK location changes
b) does not play well with Qt installer packages which would provide the
include path of the build machine.
To achieve this we introduce the (usual) magic value - for
QMAKE_EXPORT_INCDIR_VULKAN to denote "do not export this value".
Fixes: QTBUG-73796
Change-Id: Ied26ee12cbcdf7f5f6e1caef5d29dadf6309c5d6
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
I was using a cheap usb-stick from ALDI supermarket with fat32,
and my application crashed because filesystem was empty.
Unrealistic scenario, but still just returning here false is better
than a crash
Change-Id: I8979d5a4e19ce57770ab03983e847b272ebf7019
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
We get a call to storeFont for each supported script-type of
a font, but we use the font signature to register all the supported
types at once, and can thus save ~3/4 calls to addFontToDatabase.
Change-Id: I9d06252fb7f805e7babac58d82fa412ec4e0e36a
Fixes: QTBUG-59360
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Don't call or implement functions which are not available when compiling
with QT_DISABLE_DEPRECATED_BEFORE=0x050d00
Change-Id: I949b12bba880c516391f312f58c8748303a1790d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
In Windows there are package-based systems like MSYS2 that provide
pkg-config for packages lookup.
This change skips autodetection only for MSVC which doesn't
provide the aforementioned feature.
Task-number: QTBUG-57436
Change-Id: Iaed517e93031adbd2fd9dbf350764f76569b94ea
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
This helps debugging import issues, and will produce output like this:
Running qmlimportscanner with the following command: /media/dev2/qt5.13-android-x86-debug/qtbase/bin/qmlimportscanner -rootPath /media/dev2/qt5.13/qtquickcontrols2/tests/auto/customization/ -importPath /media/dev2/qt5.13-android-x86-debug/qtbase/qml /media/dev2/qt5.13/qtquickcontrols2/tests/auto/customization/
Task-number: QTBUG-73572
Change-Id: I3c8fe16cb76f1b11913a3b9cc98470f6071438ab
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
With some keyboards (ASOP, SwiftKey) it was not deleting any new lines
when using backspace. So this ensures that it is correctly deleting at
these points. Tested with the Samsung, Gboard and SwiftKey keyboards.
Fixes: QTBUG-74824
Fixes: QTBUG-57798
Change-Id: Id2e4f96c18c3fec0e7f444b55dd3db2653625fd0
Done-with: Vova Mshanetskiy <vovams163@gmail.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Previously there were two issues:
- A QNetworkReply could be aborted but be in NoError state.
(GOAWAY frame with 0 as error)
- Streams in a connection would be aborted prematurely when a GOAWAY
frame with a lastStreamId of 2^31-1 was received.
Fixes: QTBUG-73947
Change-Id: Iddee9385c1db3cc4bb80e07efac7220fff787bf3
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
In 5.12 only the variadic argument version is left (as all
supported compilers have variadic templates). Remove the docs
of the nullary overload, and fix the docs for the remaining
overload.
Change-Id: I54cc7ea71cc61ba1330a9ad92e4fa2ae7f749bac
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Encode the consumed/filtered state in the _exit tracepoint and remove
the separate tracking of receiver event handling. Combined, this
reduces the size of the trace file.
Change-Id: Icb3cb2dd47798543905cea450046d6fad559a15b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
QMAKE_PRL_LIBS contains absolute paths to libraries, e.g. libqtpcre2.a.
On "make install" the libdir is replaced with the installation target
libdir. If the libdir is in QMAKE_DEFAULT_LIBDIRS (e.g. /usr) then the
replacement was empty. That worked fine for include paths but not for
paths referencing files in that libdir:
/my/build/lib/qtbase/lib/libqtpcre2.a would become /libqtpcre2.a.
Add another replacement that takes care of file paths and inserts
$$[QT_INSTALL_LIBS].
Fixes: QTBUG-75460
Change-Id: I4e84478a50c24d4143ad5695493cad2992735cf2
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
- Never for global inputs
- Otherwise only if the temporary is referenced more than once
-> meaning it's actually caching the result of some operation
Tests updated accordingly.
Change-Id: Ic76615370d23dee3965ca6350d5257a8be5a3e22
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
On Windows we hit the command line length limit when building the wasm
port of Qt. We must not pass the list of object files directly to emar,
but write a response file which is then passed via the @ parameter.
Fixes: QTBUG-75257
Change-Id: Id518fd81325716b8efaba29f495568a9a3e34be4
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
The old code in QtActivityDelegate.updateHandles() and
EditPopupMenu.setPosition() could use size of EditPopupMenu.m_view to
calculate position of context menu before that size was calculated
during an asynchronous layout pass. In particular m_view reports size
0x0 when context menu is opened for the first time after start of the
application. In this case the context menu was displayed on top of the
text editor instead of being displayed above it.
This patch fixes that problem by moving all positioning code from
QtActivityDelegate.updateHandles() to EditPopupMenu.setPosition() and
adding an OnLayoutChangeListener which calls setPosition() again each
time the size of m_view changes, including when it changes for the first
time from 0x0 to a real value.
Change-Id: I670fef811a4dcba5524f7520ea41a47978dd10f1
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
The old code used size of m_cursorView to calculate position of the
cursor handle popup. But since on Android layout process is
asynchronous, both width and height of m_cursorView was 0 upon first
call to setPosition(). This resulted in selection handles being
initially displayed at a wrong position for a fraction of second and
then quickly moving to the correct position. In some cases handles
stayed at the wrong position until touched by user.
This patch replaces use of m_cursorView's size with use of m_popup's
size. Width and height of m_popup may be used immediately because they
are explicitly assigned in initOverlay(). The size of m_popup should be
always equal to the would-be size of m_cursorView because of how it is
calculated.
Change-Id: I9868c9a5ce0103d8328b2478cf82feaceba7f404
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Implicit copy constructors or methods are considered deprecated for
classes that has one of the two or a destructor.
The warning is enabled with -Wextra in gcc 9
Change-Id: Ic9be654f2a142fb186a4d5a7d6b4f7d6f4e611d8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Do not call find_library() on libs that are part of CMAKE_CXX_STANDARD_LIBRARIES:
At CMake call time they might not be found.
Fixes: QTBUG-73475
Change-Id: I350b3280744883e82d83c46e70f6a7cfc8aeed2e
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
The file system appears to cache too aggressively, so if the reported
storage size doesn't change after flushing to disk, ignore the failure.
Change-Id: Iba7dce79591447fac296bfe92c2dc993d36d0c2a
Fixes: QTBUG-69868
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
When we trace a scope, then we pass the scope args to the _entry trace
point. There is no need to do that also for the _exit trace points, it
just blows up the trace data for no obvious gain. Any decent tracing
consumer can easily find the args for the _exit call by matching it to
its _entry call.
Note that this is standard practice in trace points, and also done like
this in the Linux Kernel trace points for example.
Change-Id: I273293b0c7e799767acc1960b50ab675fc765a36
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Use Q_TRACE_SCOPE and the corresponding naming scheme. Additionally,
don't change the behavior of the code when tracing is enabled, i.e.
continue to return early if possible.
Change-Id: I9ba9679869db1541a19bc832beede902224c52f2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The remaining diff to clean 1.6.37 is archived in the qtpatches.diff file.
[ChangeLog][Third-Party Code] libpng was updated to version 1.6.37
Change-Id: I589bff09beec1977be8c6ca2a60aadf05f337f38
Reviewed-by: Liang Qi <liang.qi@qt.io>
Added a sentence to explain how a .qmake.cache file influences the project root.
Task-number: QTBUG-21411
Change-Id: I97766edd96851f1c988ab07f842fb81a339e4ecd
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Change mentions of parameter value being "zero" to nullptr.
Clarify that when nullptr is passed to moveToThread() event processing
is stopped because the object is no longer associated with any thread.
Also, reitarete this fact in the paragraph about processing of new
events.
There's an exception to the rule that QObjects cannot be "pulled" by
moveToThread that is buried in the implementation and not mentioned
in the doc. This information is worth noting explicitly.
Change-Id: I816ff737c48d8057b39e36b566079710aeb8e690
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
The helper in QOpenGLDebugLogger did not account for the extra "KHR"
suffix in the function names and results in a crash when ANGLE is being
used. This commit fixes this issue.
Change-Id: I439d8bfc53b010be5410286b86c090aff171aaef
Fixes: QTBUG-62070
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
CreateCursor only works with standard sizes (32, ...) depending on the
display hardware. No longer apply the scale factor for the blank cursor, because
it might lead to unsupported cursor sizes resulting in random pixels.
Change-Id: I48d84bd913d2dd8f62129126c9a41e58ee2cbcae
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
The sysrootification of QMAKE_INCDIR_OPENGL on macOS must happen only
once. Commit 49ef3773 addressed this but stored the sysrootified
QMAKE_INCDIR_OPENGL in qt_lib_gui_private.pri. For installer packages,
these paths are the paths of the build machine and most likely wrong
on the user's machine.
This reverts commit 4949ef377349ba4dae840c2d5caa36e2d516707baa and
restores the sysrootification in sdk.prf. The original include paths
are assigned to QMAKE_EXPORT_INCDIR_OPENGL and stored as
QMAKE_INCDIR_OPENGL in qt_lib_gui_private.pri.
Fixes: QTBUG-75374
Task-number: QTBUG-73736
Change-Id: I4c0f65866d60660c632363dba3adc7ea2e344bfc
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
QFile::copy() didn't have the syncToDisk() call that QSaveFile::commit()
has. So add it.
[ChangeLog][QtCore][QFile] Made QFile::copy() issue a filesystem-
synchronization system call, which would make it less likely to result
in incomplete or corrupt files if the system reboots or uncleanly shuts
down soon after the function returns. New code is advised to use
QSaveFile instead, which also allows to display a progress report while
copying.
Fixes: QTBUG-75407
Change-Id: I95ecabe2f50e450c991afffd1598d09ec73f6482
Reviewed-by: Henrik Hartz <hhartz@gmail.com>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
If this plugin is loaded at some later point during application
run-time, the focus object might be nullptr. We can avoid that by
using qApp->focusObject(), when m_focusObject==nullptr;
Task-number: QTBUG-74465
Change-Id: I0d82410ed557ea1a8fde28a1807f790854951cda
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Don't go into an infinite loop breaking pages, when an image is about
as large as the page. Correctly take top and bottom margins into account
when calculating whether the image could fit on one page.
Amends change 416b4cf685.
Fixes: QTBUG-73730
Change-Id: Id311ddf05510be3b1d131702f4e17025a9861e58
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Fix warnings
qtbase/src/corelib/io/qprocess.cpp:776: (qdoc) warning: Class CreateProcessArguments has no \inmodule command; using project name by default: QtCore
qtbase/src/corelib/serialization/qcborstream.cpp:1441: (qdoc) warning: Class StringResult has no \inmodule command; using project name by default: QtCore
Change-Id: I1c85ca32aff1f89f70898af7b11cfead96c80349
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
...and other slight modernizations and minor fixes.
Change-Id: Ide587d9fe59ca9113ae775882c99a50debaf9000
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Using getaddrinfo, which implements RFC 6724, implies that addresses
that are not needed will be trimmed. In particular, IPv6 addresses are
often not returned.
Also move the implementation detail documentation down in the text, it's
a detail with little relevance for the usage of the class, but makes for
a good opener regarding this behavior.
Change-Id: I516a64f0b39a6a06621a63c1d5236544b7758049
Fixes: QTBUG-31865
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Otherwise, AppKit, while rendering 'detached' (not in any view hierarchy)
controls and cells will use NSAppearance.currentAppearance, which is not
guaranteed to be the same as NSApplication.effectiveAppearance.
Task-number: QTBUG-74515
Change-Id: I82dcebf2230932ecfcbf33c422a3b7bd0aed61d7
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Keep spinning the main event loop if we can't acquire the semaphore,
this way the Android UI thread can post events on it.
Fixes: QTBUG-74076
Change-Id: Ia87e0535f94c67728176918ab928ff5ce8b00f8e
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
There is an effort to make KDE software accessible, which exposed the
missing roles. Check that they are complete with an assert.
Change-Id: Ibaff0a90e1cee316983569ecee7759a13212e3c3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>