If by accident I have forgotten to credit someone in the CHANGELOG, email me and I will fix it.
Qt 5.9
with min
/max
functions on Windows - Nick Korotyshint
to quint32
and Clang Tidy warnings - Hennadii ChernyshchykinstanceStarted()
to not get emitted when a second instance
has been started before the primary has initiated it's QLocalServer
.Fixed an MSVC C4996 warning that suggests using strncpy_s
.
Hennadii Chernyshchyk
Fixed Clang Tidy warnings
Hennadii Chernyshchyk
Improved CMakeLists.txt
Hennadii Chernyshchyk
Fix a crash when exiting an application on Android and iOS
Emeric Grange
Added currentUser() method that returns the user the current instance is running as.
Leander Schulten
QTime
and qrand()
.Hennadii Chernyshchyk
Anton Filimonov
Jonas Kvinge
Fallback to standard QApplication class on iOS and Android systems where the library is not supported.
Added Build CI tests to verify the library builds successfully on Linux, Windows and MacOS across multiple Qt versions.
Anton Filimonov
geteuid()
on unix based systems.Iakov Kirilenko
Hennadii Chernyshchyk
Jonas Kvinge
Jonas Kvinge
SingleApplicationPrivate
constructor.Francis Giraldeau
Francis Giraldeau
qChecksum()
(CRC-16).qWarning
and qCritical
when the library is unable to initialise
correctly.instanceId
reading from only one byte in the message deserialization. Cleaned up
serialization code using QDataStream
. Changed connection type to use
quint8 enum
rather than char
.Renamed SingleAppConnectionType
to ConnectionType
. Added initialization
values to all ConnectionType
enum cases.
Jedidiah Buck McCready
Added SingleApplicationPrivate::primaryPid() as a solution to allow bringing the primary window of an application to the foreground on Windows.
Eelco van Dam from Peacs BV
Bug fix - changed QApplication::instance() to QCoreApplication::instance()
Evgeniy Bazhenov
Fixed bug in the Calculator example, preventing it's window to be raised on Windows.
Special thanks to Charles Gunawan.
Fixed a memory leak in the SingleApplicationPrivate destructor.
Sergei Moiseev
Fixed shadow and uninitialised variable warnings.
Paul Walmsley
Removed Microsoft Windows specific code for getting username due to multiple problems and compiler differences on Windows platforms. On Windows the shared memory block in User mode now includes the user's home path (which contains the user's username).
Explicitly getting absolute path of the user's home directory as on Unix
a relative path (~
) may be returned.
Fixed bug on Windows when username containing wide characters causes the library to crash.
Le Liu
SingleApplication::Mode::ExcludeAppVersion
SingleApplication::Mode::ExcludeAppPath
Fixes a problem with upper case letters in paths on Windows
Le Liu
applicationName
and
organizationName
to be set. It instead concatenates all of the following
data and computes a SHA256
hash which is used as the key of the
QSharedMemory
block and the QLocalServer
. Since at least
applicationFilePath
is always present there is no need to explicitly set
any of the following prior to initialising SingleApplication
.
QCoreApplication::applicationName
QCoreApplication::applicationVersion
QCoreApplication::applicationFilePath
QCoreApplication::organizationName
QCoreApplication::organizationDomain
Mode
flag for this feature exists.instanceNumber()
which represents a unique identifier for each
secondary instance started. When called from the primary instance will
return 0
.Improved pimpl design and inheritance safety.
Vladislav Pyatnichenko
QAPPLICATION_CLASS
macro can now be defined in the file including the
Single Application header or with a DEFINES+=
statement in the project file.A race condition can no longer occur when starting two processes nearly simultaneously.
Fix issue #3
SingleApplication is now being passed a reference to argc
instead of a
copy.
Fix issue #1
Improved documentation.