1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
Commit Graph

3012 Commits

Author SHA1 Message Date
tux3
200af0fd49
Better error messages for friend requests 2015-04-25 22:07:40 +02:00
tux3
d962148dd0
Fix more save corruption bugs
askProfiles is a really dangerous function. Awful things happen when the user closes that message box. We now prevent it from being closed in more places
2015-04-25 21:33:15 +02:00
tux3
7eb9370c0b
Disable the GUI until a profile is active
There are small instants on startup and while profile switching during which no profile is loaded but the GUI could still receive events, e.g. between two modal windows. Disable the GUI to prevent that.
2015-04-25 21:05:29 +02:00
tux3
e682dada3b
Fix save corruption bug
Don't just let the user close the profile select box and continue with an empty value. We would create a new profile and save it back on top of the previous encrypted profile
2015-04-25 20:20:53 +02:00
tux3
e74e29e4fb
Cleanly cancel broken file transfers 2015-04-25 19:18:46 +02:00
tux3
cdb2bad7c3
Signal broken file transfers 2015-04-25 17:12:49 +02:00
tux3
c6e60c4c77
Remove some CoreFile debug output 2015-04-25 16:59:29 +02:00
tux3
bd5eebbc2e
Cache avatar sending, fix image file preview
- Add AvatarBroadcaster, in charge of making sure our friends have our avatar without spamming file transfers

- Fix file sending code not closing the file after transfer, which prevented file previews, and make the QFile a shared_ptr to fix the obvious memory leak

Some small additions to Core to support AvatarBroadcaster
2015-04-25 16:51:58 +02:00
tux3
9ece486e22
Prevent possible uninitialized read of status
For unhandled values of Status, we want to return, not continue with an uninitialized value.
2015-04-25 02:28:57 +02:00
tux3
0e65d150e3
Don't show call buttons in text-only groupchats
I'm not sure why there are text-only groupchats in the first place, but that's fixed.
2015-04-25 01:50:35 +02:00
tux3
9d3d17d05e
Avatar sending on top of file transfers 2015-04-25 01:26:52 +02:00
tux3
cdf3d9f553
Change some tabs to space for consistency 2015-04-24 23:05:44 +02:00
tux3
8b6ef7ab9d
Merge branch 'pr1524' into back_in_the_game
Conflicts:
	src/widget/form/groupchatform.cpp
2015-04-24 23:04:11 +02:00
tux3
f76434f94f
Merge branch 'pr1522' into back_in_the_game 2015-04-24 22:58:54 +02:00
tux3
43279368f3
Cherry-pick da084594d9 from #1523
Closes #1523
2015-04-24 22:57:02 +02:00
AxP
7b3baa8932 German translation updated. 2015-04-24 22:57:00 +02:00
tux3
c3c370d118
Cherry-pick da084594d9 from #1523
Closes #1523
2015-04-24 22:56:46 +02:00
AxP
29ea557269 German translation updated. 2015-04-24 22:56:14 +02:00
kushagra
0a7c82c2cf Right clicking anywhere wont unhighlight text, fixes #1517 2015-04-24 22:49:22 +02:00
tux3
1c51cd788b
Merge branch 'pr1509' into back_in_the_game 2015-04-24 22:37:01 +02:00
tux3
b70bc008a0
Merge branch 'pr1503' into back_in_the_game 2015-04-24 22:35:48 +02:00
tux3
f8eb90f74d
Merge branch 'pr1498' into back_in_the_game 2015-04-24 22:34:21 +02:00
tux3
2954ee3c95
Merge branch 'pr1496' into back_in_the_game 2015-04-24 22:28:10 +02:00
kushagra
b4f72b620d fixes action bugs
1) action received gets modified on restart
2) sender's name is written twice if action is sent using offline messaging
3) /me is written when action is sent in groupchat having one peer
4) /me is not saved in last message variable in friendd chat
2015-04-24 22:20:52 +02:00
tux3
2d29c3d9f4
Merge branch 'pr1493' into back_in_the_game 2015-04-24 22:08:52 +02:00
Rohil Surana
a677e34ca4 Removed corner border in scroll area 2015-04-24 22:04:57 +02:00
tux3
262fc7059d
Merge branch 'pr1487' into back_in_the_game 2015-04-24 21:51:38 +02:00
tux3
110a6ca850
Fix typos in tooltips
transmit -> tranfer
2015-04-24 21:51:25 +02:00
PKEv
137d1ae2d5 Add tooltip in filetransferwidget
It is not clear what they are doing buttons
2015-04-24 21:50:05 +02:00
tux3
96e0f0d502
Merge branch 'pr1477' into back_in_the_game 2015-04-24 21:48:55 +02:00
Yuri
11883bab85 Added Ctrl+Q shortcut. 2015-04-24 21:44:48 +02:00
tux3
5662120c51
Show Tox ID instead of blank names 2015-04-24 21:34:24 +02:00
tux3
42d7a7bcef
Assert profile locks before writing
This fixes the potential edge case where a frozen then unfrozen qTox instance could have its locks delete by a new qTox instance.

We now check that we still own our locks, restoring them if we can, before saving
2015-04-24 21:05:19 +02:00
tux3
694933d24b
Correctly rename and lock imported profiles
Imported profiles are legact 'data' and 'tox_save' files
2015-04-24 20:45:26 +02:00
tux3
dc5f812946
Merge branch 'bitg_multiple_instances' into back_in_the_game 2015-04-24 19:50:18 +02:00
tux3
05b6f1985d
Allow to start multiple instances with -p
Starting a new instance with the -p option will force it to start a new instance with the given profile instead of bringing an eventual existing instance to the foreground

Two instances can not run with the same profiles, the profile locking code will ensure that. A user who likes to live dangerously could manually delete the lock to force two instances on the same profile, but such an hypothetical user would be asking for it.

If a qTox instance starts and becomes owner of the IPC shared memory on its first try, it considers itself the only running freshly-started instance, and deletes any possibly stale lock before starting up. This should be fine in the vast majority of cases, but if an existing qTox instance freezes for a long enough time to lose ownership of the IPC and a new instance is started without first killing the frozen one, the frozen instance's lock will be deleted as stale by the new one. If the frozen instance subsequentely unfreezes, it will be running on a profile for which it doesn't have a lock, which could cause trouble. This is an intentionaly allowed edge case, the alternative being a stale lock staying forever until removed manually. A potential solution not yet implemented would be to check that the lock is still actually present before attempting any write.
2015-04-24 19:43:39 +02:00
tux3
0baba7abe2
qtox.ini shouldn't overwrite our current profile
If we're running on a given profile, reload the qtox.ini, and it has a diffeent value for the current profile, we don't overwrite our current value with whatever qtox.ini says anymore

It would cause current profile confusions when multiple qTox instances where using different instances but sharing the qtox.ini
2015-04-24 19:35:06 +02:00
tux3
ea417d3688
Update lock when renaming profile 2015-04-24 19:19:01 +02:00
tux3
73bd5a656f
Fix possible profile corruption
When loading an encrypted profile, not entering the password and switching directly to a plaintext profile could have overwritten the plaintext profile with the encrypted one
2015-04-24 18:54:52 +02:00
tux3
bbf75aefb9
Profile locking 2015-04-24 18:53:19 +02:00
tux3
13d98da1bc
Correctly separate received actions from messages 2015-04-24 15:57:01 +02:00
tux3
65296a863d
Merge branch 'pr1531' into back_in_the_game 2015-04-24 15:51:09 +02:00
Zetok Zalbavar
92f3b6a20f Code style improvements 2015-04-24 15:43:57 +02:00
tux3
66314bc38d
Fix nullptr dereference in IPC::isCurrentOwner
It would only trigger when multiple instances where running in parallel,
with one having enough privilege to block the other from accessing the shared memory (e.g. root)
2015-04-24 15:38:34 +02:00
tux3
9dedd22bb2
Port file transfers to the new API
Parallel, extremely large, and other edge case transfers have not been tested, but the common path should work well.
2015-04-24 15:31:30 +02:00
tux3
e4859efe18
Refactor Core
Refactor Core's file transfer callbacks into their CoreFile class and files

Move all core*.{h|cpp} into a core/ folder
2015-04-24 02:32:09 +02:00
tux3
a70721818e
Cleanup old commented-out code 2015-04-24 01:15:09 +02:00
tux3
4fc6632d78
Fix history-destroying use after free in Core::getSaltFromFile
We returned a shallow copy of the delete[]'d salt buffer

As a result the history consistently failed to decrypt and was removed as corrupted. This is now fixed.
2015-04-24 01:10:42 +02:00
tux3
fff2caa0e1
Fix Core::getSaltFromFile's error checking
tox_get_salt now returns a bool, not an int. So any error condition has to be inveted to check for 0 instead of -1.
2015-04-24 01:08:34 +02:00
tux3
e03d80392a
Fix GUI refresh when creating new profile
Previously the username/status, and the combobox in profileForm weren't refreshing themselves
2015-04-23 23:42:50 +02:00