| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Task-number: QTIFW-1829
Change-Id: Iad99b41ec67b0d4c64623da04fff65a737f46ff2
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
|
|
|
| |
We can use parameter packs for the functions instead of overloading
functions with different parameter counts.
Change-Id: I58713e20a399c3434f5acbe8ac7eec8915eba49b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-1829
Change-Id: I16025ae23f91849d6317e25e56099c77a37f0cd9
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For classes supporting the remote-client-server protocol through
inheritance of the QInstaller::RemoteObject class: when calling
functions of return type void, the client process did not block and
wait for the server process to finish execution of the corresponding
function, only checking that the packet containing the function
command and arguments was written to the socket.
The server-side connection thread operates in a loop that tries to
read a packet from the socket in each iteration, and process the
contained command, with the condition that the socket is still in
connected state. If the function calls requested by the commands take
long time to execute and we destruct the client-side object,
disconnecting the socket, the server thread could break out of the
loop before handling all pending packets.
This hasn't been a problem for non-void functions because the server
will send a return value reply and the client would block until the
sent packet was available. Fix by refactoring the server connection
code to send a default reply for commands not requiring a real return
value, and blocking the client until the reply can be read.
Task-number: QTIFW-999
Change-Id: Ie1d0e118e6830a1049a2ad50cc80b54c967fcde6
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
Changelog
dist/config/config.xml
dist/packages/org.qtproject.ifw.binaries/meta/package.xml
dist/packages/org.qtproject.ifw/meta/package.xml
installerfw.pri
src/libs/installer/lib7z_create.h
src/libs/kdtools/kdgenericfactory.cpp
src/libs/kdtools/kdgenericfactory.h
src/libs/kdtools/kdupdaterapplication.cpp
src/libs/kdtools/kdupdaterapplication.h
src/libs/kdtools/kdupdaterupdatesourcesinfo.cpp
src/libs/kdtools/kdupdaterupdatesourcesinfo.h
src/libs/kdtools/localpackagehub.cpp
src/libs/kdtools/localpackagehub.h
src/libs/kdtools/updatefinder.cpp
src/libs/kdtools/updatefinder.h
tools/binarycreator/resources/mkdmg.sh
Change-Id: Iab2513f549832d2e750e77131c673457ab265af4
|
| |
| |
| |
| |
| | |
Change-Id: I6426c4e8f932cf26c6c638dec18d0c12e22972d1
Reviewed-by: Janne Anttila <janne.anttila@theqtcompany.com>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
doc/installerfw.qdoc
Change-Id: I3d991775eae96c7de689e4b92393065564940a5f
|
| |
| |
| |
| |
| |
| |
| | |
Change-Id: I07f22c9452deae7a044ac186c8d1953df00df43c
Task-number: QTIFW-902
Reviewed-by: SIGMA Surface Science
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
installerfw.pri
src/libs/kdtools/kdgenericfactory.cpp
src/libs/kdtools/kdgenericfactory.h
src/libs/kdtools/kdupdaterapplication.cpp
src/libs/kdtools/kdupdaterapplication.h
src/libs/kdtools/kdupdaterupdatesourcesinfo.cpp
src/libs/kdtools/kdupdaterupdatesourcesinfo.h
sync.profile
Change-Id: Ifdc8b065f89b7e241bd3788ed79768e21888161f
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Update existing license headers. LGPL -> LGPLv21.
Update copyright year as well.
Change-Id: Ie1d71f8c68186b8f625f409ddf94691f178093c9
Reviewed-by: Katja Marttila <katja.marttila@theqtcompany.com>
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
* Enclose file paths in ""
* Localize file paths with QDir::toNativeSeparators.
* Make sure sentences end with a '.'
* Append error details always by ':', e.g.
tr("Failed to copy file '%1': %2").(...)
* Use 'directory' instead of 'folder' everywhere
Change-Id: Ie045f429f72ad5045c96537465c5fb9d2e99d250
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Unfortunately waitForByesWritten is known to fail from time to time:
QTBUG-24451 . We introduced it for making sure large data is actually
send, but flush() seems to serve the same purporse. The only drawback
is that flush() operates on the concrete socket, and therefore needs
to be called on the caller's side.
Change-Id: Ic92db298b3dad2c3f9eaa47d160aec517e33e284
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Until Qt 5.5.0, QLocalSocket::waitForReadyRead() immediately returns
when there are still bytesAvailable(). This means our busy loop for
polling new data gets stuck.
To work around this we've been explicitly calling processEvents(),
which however can have undesired side effects: Namely that non-network
events get delivered too, and that 'intermediate' requests are sent
to the server, resulting in the protocol getting out of sync - requests
get replies from intermediate commands, ultimately leading to crashes.
The patch therefore removes the processEvents() call, and instead
works around the QLocalSocket::waitForReadyRead() deficiency by
subclassing.
Task-number: QTIFW-663
Task-number: QTIFW-656
Task-number: QTIFW-659
Change-Id: I4099fa1702cd8dceda954d672c9c3dac0ca7fd66
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Operations can take sometimes longer than 30 seconds. Do wait forever,
provided that the port is still open.
Change-Id: If28fab22a42a863d026f2ff04cad5d8d980ea92b
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do not assume that the socket always contains enough data. Instead,
prefix every 'packet' with its size, and back off until the full
packet is available.
The actual encoding/decoding is done in Protocol::sendPacket,
Protocol::receivePacket. To be able to use the methods everywhere,
replies are now prefixed by a Protocol::Reply command.
Change-Id: I75a89605b2cc3fe2f2f841d8e3159fc8aea65d77
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
|
|
|
|
|
|
| |
Change-Id: I12bfef671ab31ae9fb8c4bb02776517e7f434d27
Task-number: QTIFW-228
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I8dde6629cfd461104364d5cdc255cb54b58283fa
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Ifeca6563c9b1c82ab754fe87e8cacfae040cc070
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Move the connect into the remote object class and rename. Avoids
passing around the socket and possible writing to the socket in
a different thread. Also inherit the private remote client class
from remote object to avoid code duplication (connect and send).
Change-Id: I6e747dbbd8eff2846362d7f5fa4fa170495ac503
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
|
|
|
|
|
|
| |
Change-Id: I61158f956894e209dccf83744b4753774676099d
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
Reviewed-by: Niels Weber <niels.weber@digia.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
|
|
|
|
|
| |
Change-Id: I3a944e0ff38b10b3440fa3c3dfcce378f284aacc
Reviewed-by: Niels Weber <niels.weber@digia.com>
|
|
Still based on what we had already, though more separated.
Change-Id: I4cce298003a4ffc2ebcec01fea1a07adfbfdf990
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
Reviewed-by: Niels Weber <niels.weber@digia.com>
|