Commit Graph

90 Commits

Author SHA1 Message Date
Itay Grudev
46b2204a3f
Proposed SA changes still containing a race condition (#48) 2018-07-27 04:29:55 +03:00
Francis Giraldeau
f975da90cc Fix sendmessage (#46)
* Fix send message example

If a secondary instance sends a message immediately after connecting, the
message follows the init message. This causes the slotConnectionEstablished to
read and consume the tail of the message and interpret it as the checksum. The
checksum fails and the connection becomes invalid.

To avoid this race, we prefix the init message with its length. This way, we
consume only the data relevant to the init message.

This patch fixes the sending_arguments example.

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>

* Fix include file case

Signed-off-by: Francis Giraldeau <francis.giraldeau@nrc-cnrc.gc.ca>
2018-07-27 02:10:14 +03:00
Karl G
a36a327ddf replace -lAdvapi32 with -ladvapi32 which broke the build on mxe (#43)
This should not break any windows builds as the windows filesystem is case-insensitive.
2018-07-27 01:56:39 +03:00
Itay Grudev
c03d32ec17 v3.0.10 Code cleanup 2017-12-03 17:15:45 +00:00
Jedidiah Buck McCready
a956ae47d1 removed c style casts and eliminated all clang warnings, ... (#38)
* removed c style casts and eliminated all clang warnings, fixed instanceId reading from only one byte in deserialization of message, 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
2017-12-03 17:04:02 +00:00
Itay Grudev
4f03651072 Primary PID support (#36)
* Added the ability to bring the primary application window to the foreground on Windows systems by adding an option flag. THis option can only be used in Windows development and in applications derived from QApplication with a QMainWindow object.
Because the primary application needs to be instructed to go to the foreground, the option SecondaryNotification must also be set to use this functionality

* Changed the ability to bring the primary application window to the front as discussed in itay-grudev/SingleApplication#31.

Now the process ID of the primary application get stored and is accessible for other instances of the application. It is to the developer to bring the applications windows to the front. For convenience the accompanying readme now contains a paragraph with example of how to do this on Windows systems.

* v3.0.9 Added SingleApplicationPrivate::primaryPid()
2017-10-02 12:17:41 +01:00
Itay Grudev
6fbf6bffc8
Fixed typo in the CHANGELOG.md 2017-08-20 20:41:00 +03:00
Itay Grudev
ec5123f56e
v3.0.8
Signed-off-by: Itay Grudev <itay@grudev.com>
2017-08-20 20:37:03 +03:00
BG4444
ca149f4436 bugfix - change QApplication to macro QAPPLICATION_CLASS (#34)
Bug fix - changed QApplication to macro QCoreApplication when invoking QApplication::instance()
2017-08-20 20:30:29 +03:00
Itay Grudev
00a0da8b00 v3.0.7a 2017-04-23 14:31:52 +03:00
Itay Grudev
c2a6faca68 Removed QMutex for thread safe behaviour and support for multiple SingleApplication instances
Problem raised by @retmas in #24
2017-04-23 14:31:32 +03:00
Vitaly Tonkacheyev
eee5d9544b Fixed compilation error: cannot convert wchar_t* to LPSTR {aka char*} (#29) 2017-02-23 13:41:11 +00:00
Evgeny
d561026d83 Remove magic chars from code - use more readable code style (#28) 2017-02-22 13:27:48 +00:00
Itay Grudev
87a81e5780
Removed version number from README.md 2017-02-02 04:38:55 +00:00
Itay Grudev
51b7ecc524
v3.0.6a 2017-02-02 04:35:46 +00:00
Itay Grudev
8892a54e12
Bug Fix Calculator example not raising it's window on Windows 2017-02-02 04:35:05 +00:00
Itay Grudev
4841681918 Reverted GetUserName API usage on Windows (#25)
* Added back support for getting username on Windows

* Fixed typo in singleapplication.pri

* Compiler specific Advapi32.lib links

* Removed username debug statement
2017-02-02 04:28:00 +00:00
Itay Grudev
1c5164ed10 Fixed typo in README.md 2017-02-01 05:14:16 +00:00
Itay Grudev
1c52aaf284
v3.0.5a 2017-01-31 17:38:21 +00:00
Itay Grudev
cf347c47af Refactored SingleApplicationPrivate destructor.
Deleted the separate cleanUp method as it’s not used from anywhere but
the destructor.
2017-01-30 17:47:01 +00:00
retmas
b0078af7d3 Fix memory leak on SingleApplicationPrivate destruction (#23)
The issue is non critical as if the library is used properly this destructor is not called until the end of the program anyway.
2017-01-30 17:38:16 +00:00
Itay Grudev
253b396e88
v3.0.4a 2017-01-25 14:55:30 +00:00
pjwhams
c7b8e20905 Fixed shadow variable warning (#21) 2017-01-24 22:18:55 +00:00
Itay Grudev
795e9a5d3a
Fixed typo in CHANGELOG.md 2017-01-24 17:28:14 +00:00
Itay Grudev
6a4d89297b
Removed Windows specific code for getting username
On the absolute path to the home directory is now explicitly used.
2017-01-24 17:25:00 +00:00
Itay Grudev
60d30db837
Refactored slotConnectionEstablished()
The code is now shorter and easier to understand. Fixed an
uninitialised variable warning as reported in #20.
2017-01-24 16:54:53 +00:00
Itay Grudev
3d178904f0 Fixed typos in CHANGELOG.md 2016-12-02 21:12:31 +00:00
Itay Grudev
2c0fe39e01 Update CHANGELOG.md 2016-11-28 17:44:58 +00:00
Itay Grudev
0e590cd8c0
SingleApplication v3.0.2a 2016-11-27 11:13:38 +00:00
Le Liu
5aa7430f56 Fix crash when username contains Unicode characters on Windows (#17)
*   Fixed bug on Windows with username containing wide characters causing the
    library to crash.
    _Le Liu_
2016-11-27 11:09:42 +00:00
Itay Grudev
e75f16a39a
Single Application v.3.0.1a
Signed-off-by: Itay Grudev <itay@grudev.com>
2016-11-26 17:52:51 +00:00
Le Liu
0f821d44f3 Allow data exclusion for the server name hash and Windows fixes (#16)
*   Allows the application path and version to be excluded from the server name
    hash. The following flags were added for this purpose:
      * `SingleApplication::Mode::ExcludeAppVersion`
      * `SingleApplication::Mode::ExcludeAppPath`
*   Allow a non elevated process to connect to a local server created by an
    elevated process run by the same user on Windows
*   Fixes a problem with upper case letters in paths on Windows
2016-11-26 17:40:47 +00:00
Itay Grudev
26943b1e69 Fixed typo in README.md 2016-11-04 08:49:48 +00:00
Itay Grudev
006170d054
Merge pull request #14 from uralbash/master
Fix Windows warning about unused timeout argument. Thanks to @uralbash
2016-08-24 12:43:26 +01:00
Svintsov Dmitry
06f5e17544 fix Windows warning about unused parameter 2016-08-24 16:04:49 +05:00
Itay Grudev
e14352e845
Merge pull request #13 from uralbash/master
Added missing "QMutex" dependencies. Thanks to @uralbash.
2016-08-22 11:34:41 +01:00
Svintsov Dmitry
ebcfabc3ae Added missing "QMutex" dependencies 2016-08-22 15:29:14 +05:00
Itay Grudev
5d867d77a5
Fix bug (and compiler error) on Windows - wchar username support 2016-08-18 18:28:57 +01:00
Itay Grudev
5f0c8a3316
Improved documentation styling. Added HRs between API members. 2016-08-15 23:08:05 +01:00
Itay Grudev
9185336561
Improved instanceStarted() note in README.md. 2016-08-15 23:03:12 +01:00
Itay Grudev
919f966689
Disambiguation in CHANGELOG.md 2016-08-15 22:56:43 +01:00
Itay Grudev
02db489e0f
Fixed typo in CHANGELOG.md 2016-08-15 22:51:21 +01:00
Itay Grudev
b1d0a6e96b
Improved documentation for v3.0a 2016-08-10 03:43:55 +01:00
Itay Grudev
699a1cb978
Added an example of an application raising the primary instance window
This example uses the Qt Calculator example released under the BSD
license. Noted the license difference in the `README.md` and `LICENSE`
files.
2016-08-10 03:43:15 +01:00
Itay Grudev
596cf23bae
Added an example of an application sending it's arguments to the primary instance 2016-08-10 03:43:06 +01:00
Itay Grudev
6f585973dc
Added a basic usage example 2016-08-10 03:42:46 +01:00
Itay Grudev
4e5c1647cc
SingleApplication v3.0a 2016-08-10 03:41:03 +01:00
Itay Grudev
b459c9247b Fixed signal formatting 2016-07-10 01:11:55 +01:00
Itay Grudev
760bf81d25 Added CHANGELOG and version description 2016-07-04 23:17:23 +01:00
Itay Grudev
1db662d0e6 Updated license dates. Explicit license statement in the header and source files 2016-07-04 18:19:48 +01:00