Reading from the socket must not happen from the managing socket engine
but the socket engines that are spawned for reading/writing data (these
are initialized with the socket descriptor given). With the current
implementation the managing socket engine might be closed after the
first connection so that no other socket requests will be handled.
Change-Id: I76e1356bb75b8641b4f113872be143ca5c8b08cc
Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
Change-Id: I567418f21eef2f07e0d5283f46a02305d1153e0a
Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
Change-Id: Ie52ddc8b0f70ad64d8f503b1942b9da6b72d6c99
Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
According to the documentation tcp sockets are closed properly if
their instances are deleted when no read operation is pending. Thus we
have to keep track of the running read operation, cancel it (only
available on Windows 10) and delete it before closing the socket.
As there is no way to cancel the read operation on Windows 8.1 the
hard reset still happens there.
Change-Id: Idc75178f7d05057b610ac7000e95486d6a52cb85
Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
The size in RRCrtcChangeNotify is a size of the mode and it is
not rotated. At the same time when we call RRGetCrtcInfo, it
returns a rotated size, which is then passed to
QXcbScreen::updateGeometry(const QRect &geom, uint8_t rotation).
So to pass the expected size to QXcbScreen::updateGeometry()
after receiving RRCrtcChangeNotify, we should rotate the size
according the screen rotation.
Change-Id: If5b5b52403b077d3cd64b9a05d938bb9ac00b1e0
Reviewed-by: Daniel Vrátil <daniel.vratil@kdab.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
The behavior was different in the variadic template code and in the C++98
code. The code without variadic template support was not copying the functor
object (e.g. a lambda) before calling it.
However, in the variadic template section, QtPrivate::FunctorCall::call
took the functor by value instead of by reference resulting in a copy.
QtPrivate::FunctorCall::call is a helper function for
QtPrivate::FunctionPointer::call which is only needed for variadic template
expension.
[ChangeLog][QtCore][QObject] If the compiler supports variadic templates,
no longer copy functor connected to a signal each time the signal is
emitted. Restoring the C++98 behavior.
Task-number: QTBUG-52542
Change-Id: I3ca20ef6910893b8a288e70af7de4c7b69502173
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
When the system launches the application via different activation mode
(eg. app registered for sharing) no main window will be created. Hence
accessing the core window will return null and event dispatcher
initialization will fail.
In that case iterate through all available views and try to get access
to their dispatcher to be able to invoke code on the xaml thread.
Task-number: QTBUG-49276
Change-Id: I8c78baa27747a0465ff7a1b2ead6c9e03f0e05a8
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Besides launching a WinRT application it can also be activated, for
instance via an uri protocol, as a share target or file open event. In
those cases we need to resume the main thread, which only happened for
regular launches so far.
In addition we create and post an activation event, which can be caught
from the user application. However this requires a QCoreApplication
object to be created from the main thread, hence try to query the
eventdispatcher with a timeout.
Task-number: QTBUG-49276
Change-Id: I4ceca59dd3b062d9a5e49d1ad80334360aafbd6f
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Follow-up to commit 6fd205d5: document which version of danted shall
make one work-around redundant, document that another work-around is
still needed even with that v1.1.19; and remove a comment that
referred back to an XFAIL that commit 6fd205d5 removed.
Change-Id: I270b662528127c82184bff20b3cecea4f0c41b41
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
QSKIP() causes the whole test to be skipped, where this work-around
for a known quirk of the test server only requires skipping a single
Q_COMPARE(); the rest of the test passes fine without it.
Change-Id: Ie4612bd428f4cb4b342fad908cc2784fbadf069c
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
it doesn't appear to be referenced in any way, either.
Change-Id: Ifd30b435e3e628cd5e48ae24e9aef01c662d6d61
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Before this change QFile::errorString function was returning an
"Unknown error". Now it will return the typical ENOENT string.
Task-number: QTBUG-45259
Change-Id: Ib7634f1aa5d91f77151cf92c58d3956e20a4cc6b
Reviewed-by: hjk <hjk@theqtcompany.com>
Not only we don't need Cocoa to display it for us, but it also
seems to take a lot of time after the call to -[NSView
setNeedsDisplayInRect:].
While resizing a large and busy widgets window, we can decrease
the relative time spent in -[QNSView flushBackingStore:region:
offset:] from over 15% down to around 3%.
Change-Id: I2a8d51be28b77c4c3da2588d9a14e461e7910167
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
This is not done for other platforms (iOS or Windows) and eliminates a
maintenance burden and potential of inconsistencies with other parts of
the documentation (as illustrated by the fact that this page indicates
the wrong minimum supported version). The Supported Platforms page will
be the authoritative (and only) source of which particular versions of a
given operating system are supported.
Change-Id: I5a31f68965265f2dcd6515b1fa9385a9e9078274
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
Incidentally, this introduces QMAKE_RESOLVED_BUNDLE, which can be used
to determine the path of the bundle wrapper itself as well as the
executable target.
This is necessary for a subsequent patch adding support for
-separate-debug-info on Apple platforms.
Change-Id: Ia11430026b8e3f171e5db6677b190b8356832805
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Don't create hwcursor if it is disabled in QT_QPA_EGLFS_KMS_CONFIG.
Task-number: QTBUG-52403
Change-Id: I4e6f45d5b773dc2d50cd012179cd23452d910537
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
We need to do the icon cache trick all desktops using indicator-application,
these are not limited to Unity. For example, the default Xubuntu and Lubuntu
desktops use indicator-application too.
Without this, tray icons will be improperly shown on these desktops.
Change-Id: Id397bbe9b594152d7c3a29c36c853e928af7dde4
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
The CanBroadcast flag for QNetworkInterface indicates the ability to work
in broadcast mode. As WinRT natively supports udp broadcasts and they work out of the box
this flag should be set there.
Task-number: QTBUG-49026
Change-Id: I6623014287fe63dc1c353a6de265ebdf9114d013
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
The parentRowCount and the delta were already calculated
a few lines up, so don't recalculate them here.
This improves performance (rowCount() is a virtual function),
as well as readability (delta is more readable than end -
begin + 1).
Change-Id: Iabe88852a61f7ef52139e1ba446e9d3f87d6bd04
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Use QFINDTESTDATA to find the socketprocess helper executable.
Now tst_QLocalSocket::processConnection() passes when started from Qt
Creator without adjusting the working directory.
Change-Id: I97ca3334a381b3cd646647487529bcd90b969528
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
SSE2 can use intrinsics, which are supported by WEC2013, but for WEC7
they need to be defined.
Change-Id: I261f3db4db7abcb0b59598cef9cbad404635c3ec
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Gunnar Roth <gunnar.roth@gmx.net>
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
The text for RedirectionTargetAttribute said the app has to handle redirections,
and only said that this attribute wouldn't be set if FollowRedirectsAttribute is set,
which was a bit confusing to read, before reading what exactly FollowRedirectsAttribute does.
It does more than removing the other attribute, it actually follows the redirection...
Change-Id: Idc634996e7b521ba05c05ca52438e47f1a411c85
Reviewed-by: Mandeep Sandhu <mandeepsandhu.chd@gmail.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
(for instance any global object which writes out to a config file in the
destructor). If the global cache isn't available anymore, don't use it.
Change-Id: I851a6e394d0b073aebf3ffd88b1966d424bfb92e
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Change-Id: I0c94a5c2846b48c8aea7ffff1435b8a7ccbd4d9e
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
These were missed in d815de8c26 which
originally added these values.
Change-Id: I69618c90e71f7cc01eef3db477427759e62f626b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Mandeep Sandhu <mandeepsandhu.chd@gmail.com>
We should really start using -L=/foo and -I=/foo inside of sysroots,
this test was preventing us from doing so (while arguably buying us
nothing).
Change-Id: If6e67631c585493871231e5d8a9354fa72e07343
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
The journald test was failing as sysroot was not being passed to the
compiler in the compile test. This is due to the fact we were explicitly
defining sysroot in the CXXFLAGS and not in CFLAGS.
Change-Id: I4b4bda71f9aabc8e420e0e89ff3cc8fa3bbca201
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Suppress '\n' -> '\r\n' replacement done by QIODevice, on Windows
fwrite to stdout will end up in such replacement, no need in
\r\r\n (reported as a bug in QtQuickCompiler originally).)
Task-number: QTRD-3497
Change-Id: I61010831b49e41b3e4fa6626054f9fb53c63bb8a
Reviewed-by: hjk <hjk@theqtcompany.com>
If a QObject is added or passed as receiver to QDBusConnection::connect()
and it is managed by Q_GLOBAL_STATIC or similar mechanism, it is
possible that when that its destructor is called after the dbus daemon
thread ends. In that case, QObject::destroyed connected via
Qt::BlockingQueuedConnection to QDBusConnectionPrivate will cause dead
lock since the thread is no longer processing events.
Task-number: QTBUG-51648
Change-Id: I1a1810a6d6d0234af0269d5f3fc1f54101bf1547
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Add some extra checks to the parser to make sure that addresses
like "300-05" aren't interpreted as valid IPv4 addresses.
Change-Id: I12475eebc9452e060779bb05e2b4ad9512a28281
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
After 909d3f5c7, private families will not be shown in user interface.
Task-number: QTBUG-41318
Change-Id: I15ae77cacd2a27c9db4b1a8ffbb582416258988c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
- QMouseEvent::screenPos() should be global desktop position
- QDesktopWidget::screenNumber() should tell the correct screen
- QGuiApplication::topLevelAt(screenPos) should find the window where
the mouse is clicked
Change-Id: I9a63ab3ee1944b7246551d0f3d5e37f0d2aa5457
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Both constructors set up the first, last and none members.
QDateTimeEditPrivate wants first.pos = 0, different to its base, so
keep that, but the rest merely duplicated.
Change-Id: Ice22e0495112dc3427eb35b5b73420f42d7dafc1
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
The class does multiple inheritance and over-rides virtuals from both
bases; it also declared the over-rides virtual rather than declaring
them to be over-rides; so deploy Q_DECL_OVERRIDE and, while changing
those lines, move them all together and document which belong to which
base.
Change-Id: Ica3958d6d24124a537983e7e94fce642284f1f24
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Various |s of existing section flags were used repeatedly; naming
these masks makes the relevant code easier to read. In QDateTimeEdit,
add a comment to make clear that its Section enum is based on QDTP's.
Change-Id: Ifd8364cd396a6d0d5ed7ae7dc4d31690f77edd30
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
The former has (for now) nothing private, so QLocale got away with
setting its .defaultLocale explicitly; provide a setter method by
which it can do that, to allow scope for later encapsulation.
Change-Id: I77fc5fc8f868fc7cf8d51eb1c5d18926c61cbf78
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
A switch (was inconsistent about whether enum members need casts and)
made it less obvious, rather than more, what was going on; so changed
it to a nested if.
Change-Id: I9af322d9dd17aa08cac5003eff2c8eaa73b50d45
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
this flag specifies that the plugin does not track a qt module. this is
entirely unrelated to whether the plugin should be versioned.
amends f54a3d783.
Change-Id: Ibd3e9bedf488dc58e6354ccf7dd33d974e5f52c2
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Long backtraces would get cut off in the terminal, this is especially
bothersome when having lots of threads.
Make sure that the output is complet by setting height=0 for gdb.
The gdb manual states:
"If you specify a height of either unlimited or zero lines, gdb does not
pause during output no matter how long the output is. This is useful if
output is to a file or to an editor buffer."
Change-Id: I282054bc9e205d67d3076e37d5c928475803b22d
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
This fixes yet another bug where the selection spans both line
wraps and explicit line breaks. Offsetting the log clusters by
the text position in 342c909b34
was not entirely correct, because in some cases the script
item will refer to a specific part of the string, as indicated
by si.position, while iterator.itemStart is in the context
of the full string.
In this case, the log cluster array pointer we use refers to the
script item's part of the array, i.e. it is already offset by
si.position. Therefore, we must offset the logClusters pointer by the
text position *relative* to the current script item. Previously
we would actually offset by si.position twice in cases where
si.position != 0.
We want the text range to refer to the full string, though,
so it can be compared to other text ranges later. However,
in some cases when we are requesting only part of a script item,
then iterator.itemStart does not correspond to relativeFrom,
so in order for the text range search to work, we must pass in
the text positions we are using [relativeFrom, relativeTo],
though offset by si.position so that it refers to the full
string and not just the part addressed by the script item.
Task-number: QTBUG-51759
Change-Id: Ib69856d6d3bc1dd501db94c9d295623f436d122c
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Hiding navigation bar only on Android pre API-19 is useless because the
navigation bar appears every time when the user touches the application
window.
[ChangeLog][Android] Hide the navigation bar only on Android API-19+
Change-Id: I085d691a0170cf10dd9970e009c34c6afc961bc6
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
We should mimic desktop Qt's behavior as close as possible. That means,
that a key release event is triggered between auto generated press
events for most keys. For some keys like modifiers, caps lock, scroll
lock etc. there are no auto repeated events if the key is held down.
The "last" release event after having held the key and several events
are triggered does not have the isAutoRepeat flag set so we should not
have that flag in this case either.
Task-number: QTBUG-52055
Change-Id: I001a73416c4b2072d307ee5d87c7cb8406c9575f
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>