Commit Graph

38374 Commits

Author SHA1 Message Date
Lukáš Turek
036fe49580 XCB: Fix clipboard breaking when timer wraps after 50 days
xcb_timestamp_t is a 32-bit unsigned value in miliseconds, so it
wraps after 49.7 days. When it happens, QXcbConnection::m_time stops
updating and copy & paste in an application would not work until the
application is restarted. This patch detects the timer wrap and
allows m_time to wrap too. The fix was verified in KDE desktop with
applications running for 51 days.

Fixes: QTBUG-65145
Change-Id: I328c4179c1b1f71914adda6f9a0ca3991a7e808e
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2019-03-14 12:14:30 +00:00
Yuhang Zhao
85250da09d Configure: simplify logic
Replace hard-coded win32-msvc20XX mkspec names with
a variable substitution expression.

Change-Id: I4911cb3e169cd7603453d7c8a67a2a291d15c796
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-03-14 12:13:58 +00:00
Yuhang Zhao
b9c4add832 Configure: add missing "clang.exe"
This amends commit 16b7afc.

Change-Id: I6c0e4b476035e4733e828724109b950d5b3a8dd6
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-03-14 12:13:37 +00:00
Karim Pinter
68a2b3d46a QNX QPA: Add support for Qt Virtual Keyboard
If the QT_IM_MODULE environment variable is set, then it loads the
IM module accordingly, otherwise it is using the PPS one, if it is
available.

Task-number: QTBUG-54576
Change-Id: Icb8b474805053d8297029096365783c2cabc2cbc
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
(cherry picked from commit 8a7c373f8e)
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-03-14 06:46:06 +00:00
Thiago Macieira
c21e2d5706 Doc: "UTF" -> "UTF-8"
Change-Id: Ifbadc62ac2d04a9a8952fffd158a5a9ba87c30e0
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-03-14 03:12:47 +00:00
Thiago Macieira
0181e0e527 Add a pair of functions to convert to and from Q/CborError
We've so far made our public API match the TinyCBOR error codes, so the
conversion is trivial. Having the two functions allows us to change
that, if it becomes necessary.

It also effectively concentrates the Coverity warning about mixed enums
in a single pair of functions.

>>> CID 190307:  Incorrect expression  (MIXED_ENUMS)
>>> Mixing enum types "CborError" and "QCborError::Code" for "err".

Change-Id: Ifbadc62ac2d04a9a8952fffd1589e739c7a5b745
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-03-14 03:12:42 +00:00
Kai Koehne
d5bb757987 Doc: Use nullptr in Signals & Slots
Change-Id: I9b377e00ce177ae33972479bde11dd03061224d7
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-03-13 20:54:51 +00:00
Giuseppe D'Angelo
6620f93a74 QOpenGLContext: fix docs about sharing
FBOs cannot be shared. Streamline the remainder of the sentence.

Change-Id: I654b23f86f4ee4ea2ca8e71958464d9f55394297
Reviewed-by: Martin Smith <martin.smith@qt.io>
2019-03-13 16:16:17 +00:00
Yuhang Zhao
16b7afc4de Fix win32-clang-g++ build
Change-Id: Ide803de12736d545807a4ae650ff8f8bce5dccd8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-03-13 16:12:34 +00:00
Eirik Aavitsland
0f5ed788f2 Doc: fix some typos and missing doc for QScopeGuard
Change-Id: Ifd492387abbffa551e08a6bcc01e248b8402254d
Reviewed-by: Martin Smith <martin.smith@qt.io>
2019-03-11 08:37:29 +00:00
Topi Reinio
c7f6761bc9 Doc: Remove background colors from simplified offline CSS
The simplified style needs to work for both light and dark themes
in Qt Creator's help system. Background and text colors are already
applied according to the active theme, this commit removes the rest
of the hardcoded element colors that do not look good with a dark
theme.

Task-number: QTBUG-49417
Task-number: QTBUG-69327
Change-Id: Ib5ebe2755e98ca120f0500ab82713a37ec7199bd
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-03-10 20:00:11 +00:00
Tony Sarajärvi
912bcf0f0d Expand blacklisting of tst_qsslkey to cover all versions of RHELs
Previous blacklisting 5c4e5032b5 only
covered RHEL 6.6 and RHEL 7.4. The problem however exists in all
6.x and 7.x distros as they have the same openssl.

This however leaves us the problem with future RHEL 8. This will
keep blacklisting these tests there as well. We need a way to blacklist
versions with a wildcard so that we could say RHEL-7.*

Task-number: QTBUG-46203
Change-Id: I2cc52ba2eac949214ecaa02e19d9e623d5befc49
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-03-10 14:08:21 +00:00
Thiago Macieira
3cdf3ae1f0 Fix Coverity warning about mixing enums
Coverity says:
>>>     CID 190310:  Incorrect expression  (MIXED_ENUMS)
>>>     Mixing enum types "CborType" and "QCborStreamReader::Type" for "type_".

Change-Id: Ifbadc62ac2d04a9a8952fffd1589e6e304fc7703
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-03-09 17:16:06 +00:00
Andy Shaw
6a86cc612d Fix a couple of small doc things in relation to QScopeGuard
Change-Id: I6e61a18697b95d9e3f534d1d71ebf32fdff4a04f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2019-03-09 10:57:28 +00:00
Tor Arne Vestbø
a0a1d9c581 iOS: Fix broken application background tracking
e0e1c7ec2d amazingly both removed and inverted key parts of the
logic for tracking the background state of the application.

Fixes: QTBUG-74272
Change-Id: I9a9e8720f32e8228d27ee6b6a1fb35e5f7b7cedc
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-03-09 10:57:21 +00:00
Edward Welbourne
e4749e7985 Do not mix QByteArray with QString in arithmetic
QLatin1String + QByteArray + QLatin1String + QString should not be supported.
That the compiler let us get away with this is distressing.
Exposed by Anton Kudryavtsev's workon extending QString's operator+ support.

Change-Id: I0adfaa87e48335928acb680da49e9173639af614
Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-03-08 14:20:54 +00:00
Christian Ehrlicher
8b3463fdeb QAbstractItemView: make v-aligned items texts more user-friendly
Commit 25133a1b77 fixed the item view text
layouting correctly in a technical way. For a vertically aligned text
which does not fit into the given rect it is not user-friendly to show
some parts of the text. It is better to display the start of it and show
an elide marker in the last visible line.

Fixes: QTBUG-73721
Change-Id: Ia7453133ea0a229b24196467168c8371585c4d8f
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-03-08 12:04:46 +00:00
Friedemann Kleint
3702622dde manual tests: Fix build
Fix QOverload<void>::of(), causing

../../../../include/QtCore/../../src/corelib/global/qglobal.h: In instantiation of ‘struct QConstOverload<void>’:
     Q_DECL_CONSTEXPR auto operator()(R (T::*ptr)(Args...) const) const Q_DECL_NOTHROW -> decltype(ptr)

and add a missing .pro-file.

Change-Id: I19597adc33f2323a9f7dea9ee5ce94546f0e8f12
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-03-07 22:09:01 +00:00
Friedemann Kleint
464d261aa8 Fix some warnings in manual tests
Fix:
gestures.cpp:46:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
gestures.cpp:47:5: note: here
gestures.cpp:48:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
gestures.cpp:52:5: note: here
main.cpp: In function 'QByteArray windowsVersionToString(QSysInfo::WinVersion)':
main.cpp:40:12: warning: enumeration value 'WV_CE' not handled in switch [-Wswitch]
...

main.cpp: In function 'QByteArray macVersionToString(QSysInfo::MacVersion)':
main.cpp:68:12: warning: enumeration value 'MV_10_12' not handled in switch [-Wswitch]
...

widget.cpp: In member function 'CustomItem* Widget::checkedItem() const':
widget.cpp:238:12: warning: 'item' may be used uninitialized in this function [-Wmaybe-uninitialized]

Change-Id: I434784e86d127e56b92663cb45eba7d60d8f8eaf
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-03-07 22:06:04 +00:00
Mårten Nordheim
e431a3ac02 Don't retry a ssl connection if encryption was never finished
As explained in the inline comment we don't actually have a
protocol handler until we're done encrypting when we use SSL, but we
would still retry the connection if an error occurred between
"connected" and "encrypted". This would then lead us to fail an assert
that checked if a protocol handler had been set

Fixes: QTBUG-47822
Change-Id: If7f4ef4f70e72b764f492e7ced5a9349b3a421d2
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-03-06 11:08:19 +00:00
Edward Welbourne
7831b276e6 Handle error from MS-Win API in QCollator::compare()
CompreString(Ex|) can fail, e.g. if it doesn't like the flags given.
Report such failure and treat compared values as equal rather than
whichever is first being less.

Fixes: QTBUG-74209
Change-Id: If8fa962f9e14ee43cc423a09a67bc58259a24794
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
2019-03-06 09:50:48 +00:00
Tor Arne Vestbø
7a127fb4b6 Document that dialog parent relationship does not imply stacking order
On macOS, and most probably some X11 window managers, the parent/child
relationship of the dialog is not possible to propagate to the platform,
and the only determining factor of whether or not the windows stack on
top of each other is the modal state of the window.

Task-number: QTBUG-34767
Change-Id: I8b4b4910e3f905c44e577544fc347dbded373848
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2019-03-06 09:09:41 +00:00
Tor Arne Vestbø
4eda22ea0d macOS: Improve mouse logging
Change-Id: Icc81f73e728d9b3669afc37b0c1ef73588f24749
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-03-05 22:30:05 +00:00
Tor Arne Vestbø
18da1dac20 testlib: Prevent Apple test logger from stomping on other loggers
We were potentially adding the Apple test logger multiple times, and we
didn't consider whether the existing loggers were logging to file or not
when circumventing them.

We now don't use the Apple logger if it would touch stderr and some other
logger is using stdout. In the case of no explicit logger being specified
on the command line, we allow the Apple logger to take priority over the
default plain test logger.

Change-Id: I31bbec4f4b3ab84ba9a2be35e8e5db08fee071a7
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-03-05 22:29:57 +00:00
Tor Arne Vestbø
83864b315f testlib: Replace manual logger linked list with QVector
Removes useless indirection and builds on existing primitives in Qt.

Change-Id: I9fe50b21f5f77fc02566d5f5ff04c3e94c830e81
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-03-05 18:53:06 +00:00
Thiago Macieira
f5cbd61f92 XDG Portal: quick optimization to avoid dup/close of a file descriptor
Just gift it to QDBusUnixFileDescriptor.

Change-Id: Ifa822ecdaaa241968ed7fffd158799041653cf78
Reviewed-by: Jan Grulich <jgrulich@redhat.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2019-03-05 17:59:02 +00:00
Thiago Macieira
1bd3c17c46 XDG Portal: allow the portal not to be running
For some reason, it may be missing with SNAP.

Fixes: QTBUG-74112
Change-Id: Ifa822ecdaaa241968ed7fffd1587966cbd30dcbd
Reviewed-by: Jan Grulich <jgrulich@redhat.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2019-03-05 17:58:52 +00:00
Tor Arne Vestbø
65d2f0d173 macOS: Modernize qnsview_dragging.mm
Style fixes, modern Objective-C usage, and use of convenience APIs.

Change-Id: I04801b0b5f0d2213b4bcf1b0158fc32e57432d28
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-03-05 14:40:01 +00:00
Aleix Pol
131c760af6 Fix generation of the Qt5::GLESv2 target on ARM
Since 5.12.1 the library name provided is an absolute path. We need to
take the case into account, otherwise it just fails to build if the
target is used.

Fixes QTBUG-72903

Change-Id: I96407e5fe1831487da77cbe7b24b64dae59b22ff
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
2019-03-05 13:31:42 +00:00
Allan Sandfeld Jensen
17a51c4e0d Don't split bezier curves that are already just a line
Otherwise we can end up in an infinite loop of splitting the curve and
then discarding the half of the new curve, etc.

Fixes: QTBUG-74172
Change-Id: I1984b7fd33cd98f65866f1c57c6ab20114615803
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2019-03-05 08:54:23 +00:00
Andy Shaw
28d0b987b7 Handle the situation where QTemporaryFile::open() fails
If open() fails then we should make sure we do not try to write to it
and just return 0 in that case.

Change-Id: I2980b65766b322efed6708fb10cc27567174dc37
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-03-05 08:44:56 +00:00
Lorn Potter
7789b77458 wasm: fix corrupt downloads
This would only ever put the first 16k into the buffer that gets read,
so this 16k would get repeated until the size of the download.

Task-number: QTBUG-74123
Change-Id: Ia53bedf6a8754d9fd83fd0ab62866cfa5af5cc1a
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-03-04 20:38:09 +00:00
Lorn Potter
ceb0e377b1 nothread: add exit function to QThread stub
This allows QtDeclarative examples to build.

Change-Id: Icd20304f76f8ba15c94eaf01b9fcd7b151b16146
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-03-04 19:25:13 +00:00
Timur Pocheptsov
ef5aefb062 Hpack - fix the static lookup
'accept' breaks the order, making the static table unsorted and thus
std::lower_bound cannot find it and we always index it in a dynamic
table. Also, make this static table accessible to auto-test.
Plus fix some warnings quite annoyingly visible in qt-creator.

Fixes: QTBUG-74161
Change-Id: I47410f2ef974ac92797c9804aa55cb5c36a436c4
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-03-04 16:18:14 +00:00
Alex Richardson
47bb74fd15 Fix build with -no-gui on macOS
Some directories that depend on QtGui were being included without the
appropriate check for qtHaveModule(gui).

Change-Id: I7c348c74464d44cbd35a027f188f8a23bb2021d9
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-03-04 12:25:53 +00:00
Joerg Bornemann
cc7444eb65 Fix library search path order on Windows
Commit 2327944d added the QMAKE_DEFAULT_LIBDIRS to the library search
paths without taking care that explicit library search paths should be
inserted before system search paths.

Copy the behavior of the UnixMakefileGenerator, esp. of commits
5bc9541e and e185f343.

Fixes: QTBUG-73959
Change-Id: I7e951f432bb5f71ce4bcdb18b7102b4380441181
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2019-03-03 16:55:55 +00:00
Allan Sandfeld Jensen
55cc93e9d6 Prefer BGRA uploading to swizzling
The older BGRA extension is more likely to have stable driver support.

Fixes: QTBUG-74150
Change-Id: If321b3024fbdeb9e199880744b9ee915b3b2bf6c
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-03-02 08:25:19 +00:00
Tor Arne Vestbø
a74b2b5f15 macOS: Initialize QNSView mouse related members with other mouse logic
Change-Id: I4ff67028823d62ed67bf4303a58bee127bd76501
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-03-02 00:47:46 +00:00
Jean-Michaël Celerier
f5850cb0da CMake: fix generation of config files for external Qt modules
When such modules aren't following the libQt5Foo.so naming convention,
the generated CMake files would be incorrect.

Change-Id: I57908f7466bff7a05f19271ccd495849476bdf38
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
2019-03-01 14:15:12 +00:00
Joerg Bornemann
20063cf999 Actively discard return value of qtConfGetNextCommandlineArg
Calling a qmake replace function without assignment is undefined
behavior.

This amends 11ae0e77.

Change-Id: Ie716f295275d1ba79a217745b332a8eca04b355d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-03-01 10:35:46 +00:00
Andy Shaw
11c728713f Android: Show correct keyboard when using Gboard and Japanese layout
In 71a63836ed a workaround for Samsung
devices using ImhNoPredictiveText was included as there is a bug on
those devices. However this causes a problem with other keyboards such
as Gboard when using languages such as Japanese, as it would not show
the right keyboard at all and only showed a qwerty one in those cases.

Therefore we default to not working around the issue as it is more of a
problem to not allow certain keyboard layouts as opposed to having
predictive text even if it is turned off. For those who want to disable
predictive text and as such have the consequences of not showing some
keyboard layouts, they can set the
QT_ANDROID_ENABLE_WORKAROUND_TO_DISABLE_PREDICTIVE_TEXT environment
variable.

[ChangeLog][Platform Specific Changes][Android] Text fields with
ImhNoPredictiveText set are no longer working around keyboards that
disregard this setting. To enforce the workaround then the environment
variable - QT_ANDROID_ENABLE_WORKAROUND_TO_DISABLE_PREDICTIVE_TEXT
should be set.

Change-Id: I9ace7ba96ebad68987b53783e25067b66c002f25
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2019-02-28 13:52:55 +00:00
BogDan Vatra
8880ef7931 Terminate Qt gracefully
When the application is closed via the task manager on Android
then we need to ensure that that the application can close down
any running event loops. So we wake up all the event loops and
then call quit() directly on the application object to start a
graceful termination of the application.

In order to aid the graceful termination of Qt then a check is
added to ensure that it does not try to create a new surface when
the application is suspended. This prevents it from locking
while trying to create a new surface when this is not possible.

Fixes: QTBUG-70772
Change-Id: I6795b3d280e178d7f1207004a1b965a31a0cc9e9
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2019-02-28 13:43:21 +00:00
Joerg Bornemann
077e499304 Handle QMAKE_SUBSTITUTES input files as Latin 1
QMake's strategy is generally "pretend everything is Latin 1", which
basically equals "do 8-bit pass-through". Change the handling of
QMAKE_SUBSTITUTES input accordingly to avoid conversion losses when
converting from and to UTF-8.

Fixes: QTBUG-72130
Change-Id: Id903bbd2afa99708c92fd09fab3db944aa819a94
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-02-28 09:00:32 +00:00
Alexander Volkov
f657c74263 QListView: Fix Shift+click selection for non-default itemAlignment
QListView::setSelection() algorithm is designed for items to
occupy their cells completely, which is not the case when
itemAlignment is used. The middle part of the selection rect
goes beyond the column borders and extra items are selected.

Use the introduced cellRectForIndex() instead of rectForIndex()
to calculate the middle part correctly.

Fixes: QTBUG-73684
Change-Id: I4a1e42a056d56e85a16d8ae0ffe18b78d1d6deb7
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-02-27 15:58:56 +00:00
Elena Zaretskaya
ca991ee22d Segfault when the exiting the application under platform eglfs
If you run an application under eglfs, it falls with segfault on the
exit. For example, examples/gui/analogclock,
examples/widgets/widgets/analogclock, examples/opengl/cube,
examples/opengl/qopenglwidget, etc. (I have added the function
keyPressEvent to exit  by qApp->quit(), if needed).
It isn't appear in applications using QQuickView or QGLWindow.
This is because QCoreApplication destructor, where the variable self = 0
(therefore, qGuiApp = 0), is called before than
QOpenGLVertexArrayObject::destroy(), where qGuiApp is accessed
(qGuiApp->thread()).

Task-number: QTBUG-73824
Change-Id: I1dc55d5e811bfe8a8ea2178752e8771f8644d356
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-02-27 15:30:40 +00:00
Joerg Bornemann
49ef377349 Fix determination of OpenGL include paths on macOS, take 2
The sysrootification of OpenGL include paths must be done only once: at
configure time. The resolved paths are stored since 521a8539 and must not be
resolved again.

Turn the makeSpec-type opengl library into a custom-type one, and do
the sysrootification in the handler function.

Fixes: QTBUG-73736
Change-Id: I2933144057d6f01d8bfc7bda2c2df56c57303459
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-02-27 09:53:52 +00:00
Friedemann Kleint
2c31516a1e Windows QPA: Fix override cursor when modal window is present
Handle WM_SETCURSOR to apply override cursors to window that do not have
mouse capture (as is done in Qt 4).

Fixes: QTBUG-58590
Change-Id: I7ff6f799da1b8d4b4396c0a6137778a11a192617
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
2019-02-27 08:10:49 +00:00
Dominik Haumann
16cb578a8d QSyntaxHighlighter: Fix crash when parent is a nullptr
QSyntaxHighlighter has the follwoing constructor taking a QObject

  QSyntaxHighlighter::QSyntaxHighlighter(QObject *parent)
    : QObject(*new QSyntaxHighlighterPrivate, parent)
  {
      if (parent->inherits("QTextEdit")) {
          // ...
      }
  }

Typically, a 'parent' refers to the parent/child hierarchy in Qt
and is allowed to be a nullptr. However, in this case, passing a
nullptr will lead to a crash, as reported in
https://bugs.kde.org/show_bug.cgi?id=404820

This patch makes the QSyntaxHighlighter constructor nullptr safe
by checking if parent is a valid pointer.

Change-Id: Ia4e9b46b94fd37e6ceb2cd0538594353fdc1e349
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
Reviewed-by: Christoph Cullmann <cullmann@kde.org>
2019-02-27 06:36:59 +00:00
Thiago Macieira
96404f7ac8 Doc: update the note about nested deleteLater()
If you enter a nested event loop, cause a deleteLater(), exit that event
loop, then enter a new one, the nesting count will be the same so those
are legitimate targets for deletion.

Task-number: QTBUG-73432
Change-Id: Id98140e1c2f0426cabbefffd157f975b5e291ccd
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-02-27 04:27:45 +00:00
Thiago Macieira
99566f6875 Use qEnvironmentVariable for QT_PLUGIN_PATHS
This is required for non-ANSI paths on Windows.

Change-Id: Id98140e1c2f0426cabbefffd157c4065c3bdfd40
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-02-27 04:26:51 +00:00