Paint events are delivered with the client rect of the widget, and
this applies to paint-on-screen widgets as well. The same goes for
how the widget repaint manager tracks dirty rects. Internally we
were also calling paintOnScreen() with client rects, so the use
of geometry() in the resize handler was likely a bug/oversight.
Change-Id: I1312ccf77218d1162e0971e4cbabaa80f49c852c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
This has better support for threaded use, and gets rid of bind use.
This requires emscripten 1.38.37 and above
Task-number: QTBUG-76891
Change-Id: Ic30a6820c2ce945c314751c06cfc356914a71217
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Qt Creator now has the option to use the litehtml backend as a
replacement for the QTextBrowser-based help viewer.
Fix a few issues that the offline style has with the litehtml renderer:
- Fall back to using an unordered list for the navigation bar.
- Remove the background image for #buildversion and adjust font size.
- Adjust the generated padding around code snippets.
Keep the script that switches the offline-simple.css style to the
full offline style (offline.css) for JavaScript-enabled browsers.
The litehtml backend in Qt Creator will handle this switch internally.
With these changes, the generated offline documentation looks
acceptable when rendered with QTextBrowser, litehtml, or desktop
web browsers.
Fixes: QTBUG-82567
Change-Id: I86b179b1985b7ef54feddab30cb227b28021efe5
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
and instruct to use the ones from the Qt namespace instead.
Task-number: QTBUG-82532
Change-Id: I6a85f5096da8aec925a287beff136b77d113926e
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
and mark QHash::[const_|key_]iterator operators correctly as deprecated.
Change-Id: I01da16254759b9bdb7920709de45a72933d6b5c8
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
and tag it in the header file to ensure the documentation is matched.
Change-Id: Id1e7cd395ca0ec337845da9a207bfbf95db01064
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
QDoc has trouble applying the \obsolete command for multiple
topic (\fn) commands in one go. Separate them out and expand
the reasoning for deprecation.
Mark the rest of the deprecated functions and typedefs related
to reverse iterators as \obsolete.
Change-Id: I09858efd7e1e5fc890d4f3f063f00c8812fc0b52
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
The margin is respected in the sizeHint, but not in the minimumSizeHint.
Since the latter should be the former for a single character (as per the
documentation promising enough space for one character), the margin
calculation needs to be identical.
Adjusting the documentation nevertheless, as there are characters that
won't fit either way. As reported, the permyriad character doesn't fit
even with this fix on macOS, as the core graphics API we are using
doesn't report a glyph-index for U+2031 (so our existing assumption
that 'W' is the widest character is still the best we can do).
Change-Id: I30573960c316cc7b8c9bbe3c3f4c6351792bed36
Fixes: QTBUG-82970
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
The way this was done didn't really make sense. The change added
an overload with one additional argument. The deprecation warning
would have now forced everybody to explicitly specify all arguments
to avoid the warning.
Instead, keep both overloads in 5.15, but document them as one method.
Remove the old version in Qt6 and move the default arguments to the
new version.
Change-Id: I738d4d1b99cdf30db53acf14382a00cac74aa10a
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
This change allows the checked/unchecked state to be detected by screen
readers for all controls with a checkable state.
Task-number: QTBUG-81919
Change-Id: I604151397b4ae21297009c274ffe634723ebe783
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
The information about whether a table/tree item may be checked is necessary
to allow the platform code (in particular, Windows UI Automation layer)
to make this information available to screen readers.
Task-number: QTBUG-81919
Change-Id: Id68eea4a004788751404d70567222a2c531578aa
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
From clang warning:
qwasmcompositor.cpp:335:13: warning: misleading indentation;
statement is not part of the previous 'if' [-Wmisleading-indentation]
offset += (delta +delta);
Change-Id: Id372dfdd8fda1c705c61a24c26843dfb33fba40c
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Increasing the sample size of randomly generated test samples reduces
the probability of small deviations from the expected uniform
distribution.
On my machine with the new values the test fails approximately once per
3000 consecutive runs, instead of failing once per 300.
Change-Id: I4d1815504c353290a2fb350b3fd1cbb802f8d559
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
... when we are not using the FFD_USE_FORK flag. We use the FFD_USE_FORK
flag when we have user code to run in setupChildProcess(). This code is
enabled for all Unix, but forkfd() honors this flag only on Linux >=
5.4.
See the commit adding the flag for more information on what the flag
does and see the comment in this commit on why it's safe to use it.
Fixes: QTBUG-17331
Change-Id: I1bee3bc466a04f19bd6efffd15f448cb23ce1e91
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
This flag asks forkfd() to use vfork semantics wherever available. That
is, suspend the calling process execution until the child either does an
execve(2) or _exit(2). The advantage of that is that it puts lower
pressure on the OS VMM system, as the number of pages that need to be
copy-on-write duplicated is much smaller (still not zero, as at least
the stack in the child will be written to).
However, the only implementation that supports using this flag for now
is Linux's pidfd. It would be possible to add to FreeBSD, but pdfork(2)
does not have a flag for this behavior -- if it gets one, we can add
support for it later. Everywhere else, we need to force the child to not
exit until we store the child process's PID in the ProcessInfo structure
we allocated, which means the parent process must run before we even
return from forkfd().
Change-Id: I1bee3bc466a04f19bd6efffd15f447f28c201aa9
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
If we detected that the OS supports a version of system forkfd (Linux
pidfd, FreeBSD procdesc), the forkfd_wait() function was using only the
system waiting implementation, which of course can't work for file
descriptors created with FFD_USE_FORK. So just detect EBADF and attempt
again.
If the file descriptor is neither one of our pipes nor a system forkfd,
bad things will happen...
Fixes: QTBUG-82351
Change-Id: I4e559af2a9a1455ab770fffd15f59fb3160b22eb
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
"wait4" because it looks like the wait4() BSD function, which has the
signature:
pid_t wait4(pid_t pid, int *wstatus, int options,
struct rusage *rusage);
And because ours also has 4 parameters.
Having options is important anyway. I might want to add some more later,
but we can't really support them with the fall back implementation (in
fact, we don't honor WNOHANG in the fall back implementation either).
Change-Id: I4e559af2a9a1455ab770fffd15f5858bb357e15b
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Currently depending if user uses QApplication
or QGuiApplication we end up in different behavior
when running post routines. For example QApplication
destructor calls post routines before stopping event dispatcher,
In case of QGuiApplication post routines are called
from QCoreApplication destructor, so no more event dispatcher.
This behavior is not consistent and creates troubles
when releasing resources of web engine.
Attached test will hang on windows with QGuiApplication,
however works fine with QApplication.
Task-number: QTBUG-79864
Change-Id: Ice05e66a467feaf3ad6addfbc14973649da8065e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
These functions and macros were never documented.
Let's warn about using them for now, with the option of
removing / renaming them in Qt 6.
Change-Id: Ia595aa35b73e54534e535d2946581651af8023f2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Use range-based for and fix deprecation warnings.
Change-Id: I54152b2598e9e4a7a3cc9db9b7072bbabcef7fcf
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Don't introduce another overload with two parameters. Users
want a simple signal to connect to, not another overload. Deprecate
the currentIndexChanged(QString) overload, usage of that can/should
get replaced by currentTextChanged().
This partially reverts commit 11dc7b35c8.
Change-Id: I5e7d16413f3d62b1a5a7a197f510af2c45cdfa55
Reviewed-by: Vitaly Fanaskov <vitaly.fanaskov@qt.io>
When creating a new QColorSpacePrivate it must be reffed otherwise in
the destructor the deref() will bring the count to -1 which is true
and will not delete the d_ptr.
Change-Id: Id569bae22134b56bf6ad37158d7079b495599fd7
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit 20eabb72de)
QtQuick3D probes for the supported OpenGL level by testing
multiple OpenGL versions in descending order. Context creation
must fail for versions not supported by WebGL. It does not
appear that Emscripten does this for the 3.x minor versions,
at least.
Add version check which allows OpenGL (ES) 3.0 and 2.0.
Change-Id: Ide8745dd79e69af86812a8d6f5d6cc16ecdd099a
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
This reverts commit bcdf49bcc6.
This was a 5.14-only commit which accidentally found its
way to 5.15.
Change-Id: Iaef6f05fce20ab61d3afb8cb3c359a037e4c0b28
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Remove some unneeded empty lines, and fix indentation.
Change-Id: Ie35e95f35f9625cc75070074be96bdeb62d5fd4c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
There are some plugins in qtlocation, qtdeclarative whose names are not
suffixed with 'Plugin', so the current logic fails to load the
corresponding QtModule_XXX.cmake file.
Work around this by just searching for
Qt5$${CMAKE_MODULE_NAME}}_*.cmake.
Users can define QT5_STRICT_PLUGIN_GLOB
or Qt5$${CMAKE_MODULE_NAME}_STRICT_PLUGIN_GLOB
to change back to the old behavior.
[ChangeLog][cmake] Fixed an issue where some Qt location and
declarative plugins whose name did not end with "Plugin"
where not imported by the corresponding Qt component package.
You can force the old behavior by setting QT5_STRICT_PLUGIN_GLOB or
Qt5ModuleName_STRICT_PLUGIN_GLOB before the find_package(Qt5 ...)
call.
Fixes: QTBUG-58812
Change-Id: Ic8adf9562841ed49eabc4f7fb2b5ae257ca606cd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This allows to pass and receive possible drop actions from other
processes, including GTK applications.
Fixes: QTBUG-75744
Change-Id: I944edc6fa00f8801a25912e70eb104a647a9fc0e
Reviewed-by: JiDe Zhang <zccrs@live.com>
Reviewed-by: Liang Qi <liang.qi@qt.io>
Given:
struct Light { vec4 foo; };
layout(std140, binding = 2) uniform material {
Light light;
int lightCount;
};
the previous code would keep "light" appended for the prefix and look for
`light.lightCount`.
Change-Id: Ia8deacd0cb4833f45151e922fa7b5970169332eb
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>