1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-16 04:22:54 +08:00
Commit Graph

8926 Commits

Author SHA1 Message Date
Bartłomiej Dach
65b4b198a4
Merge branch 'master' into export 2023-05-06 20:12:53 +02:00
Bartłomiej Dach
3942281d13
Fix back-to-front logic 2023-05-06 15:34:55 +02:00
Bartłomiej Dach
80ac8abaa6
Merge branch 'master' into chat-report 2023-05-06 15:30:44 +02:00
Bartłomiej Dach
1da5e69d5a
Fix API success callback scheduling to dead drawable 2023-05-06 15:27:27 +02:00
Bartłomiej Dach
6b4050ea52
Remove invalid report reason (and add osu-web references) 2023-05-06 15:01:57 +02:00
Bartłomiej Dach
52e5835be6
Document and retouch ReportPopover 2023-05-06 14:52:38 +02:00
Dean Herbert
8391e2a538 Move reporting code out of DrawableChatUsername into more correct locations 2023-05-05 14:03:42 +09:00
Bartłomiej Dach
bdd96caaa9
Merge branch 'master' into edit-mods-preset 2023-05-04 18:59:47 +02:00
Dean Herbert
0034124d79 Remove unnecessary content clear 2023-05-04 11:25:10 +09:00
Dean Herbert
26b8c5b852 Fix mod list display not updating after clicking "use current"
This is not a regression from my changes. It was broken before them.
2023-05-04 11:23:51 +09:00
Dean Herbert
49fb5da1a2 Stop passing preset panel to popover 2023-05-04 11:19:09 +09:00
Dean Herbert
b12d139317 Remove dead code 2023-05-04 11:16:52 +09:00
Dean Herbert
99d2616c34 Move drawable construction to load for simplicity 2023-05-04 11:14:51 +09:00
Dean Herbert
be995f1359 Add localisation support for new button string 2023-05-04 11:11:19 +09:00
Dean Herbert
b7abab6d8a More variable improvements 2023-05-04 11:10:05 +09:00
Dean Herbert
0a584f0652 Simplify check logic and improve variable naming 2023-05-04 11:07:09 +09:00
Bartłomiej Dach
59ece64d25
Merge branch 'master' into skin-editor-change-handler-improvement 2023-05-03 19:42:42 +02:00
Bartłomiej Dach
1d4d31e35c
Trim comments
Leaving only the ones that add anything useful and do not restate the
code verbatim.
2023-05-03 19:22:52 +02:00
Bartłomiej Dach
27fabd99fb
Rename variables for legibility
Having `typedComponents` and `typeComponents` next to each other is
asking for trouble.
2023-05-03 19:21:16 +02:00
cdwcgt
4549a865d9
Merge branch 'master' into export 2023-05-04 00:18:01 +09:00
cdwcgt
967e801f9c
code inspect 2023-05-03 23:26:58 +09:00
cdwcgt
debbd376bd
move scrollContent update logic to updateActiveState() 2023-05-03 23:24:14 +09:00
cdwcgt
f4b1264cc9
use button Enable status to ensure preset name is not null 2023-05-03 23:22:46 +09:00
cdwcgt
aa5a026c67
remove local button handle 2023-05-03 23:14:24 +09:00
cdwcgt
c609e6345c
remove Use Current Mods menu item 2023-05-03 23:02:50 +09:00
Dean Herbert
be15d07b17 Tidy up various implementation details 2023-05-03 18:59:39 +09:00
Dean Herbert
b932e4d986 Rename DrawableUsername to DrawableChatUsername and only pass message ID 2023-05-03 18:53:22 +09:00
Dean Herbert
4f55afb60d Merge branch 'master' into chat-report 2023-05-03 18:50:38 +09:00
Joseph Madamba
1c74f6e8ea
Fix regressed button hover fade in 2023-05-02 22:54:42 -07:00
Joseph Madamba
bede1292de
Fix overlay scroll back button not absorbing hover from behind 2023-05-02 22:40:37 -07:00
Dean Herbert
e394b487e0
Merge branch 'master' into edit-mods-preset 2023-05-03 12:06:16 +09:00
Dean Herbert
4a97c2c105
Merge pull request #23038 from cdwcgt/scale-background-dim
Add feature to adjust `ScalingContainer` background dim
2023-05-02 15:36:52 +09:00
Dean Herbert
ce4a6c38a0
Merge pull request #22950 from Joehuu/fix-initial-playlist-highlight
Fix now playing playlist not highlighting selected item on initial open
2023-05-02 15:36:34 +09:00
Dean Herbert
ab4f66fad3 Minor readability refactors 2023-05-02 14:31:39 +09:00
Dean Herbert
7a840e1d82 Remove unnecessary TransferValue spec 2023-05-02 14:29:26 +09:00
Dean Herbert
7efaa299bd Merge branch 'master' into scale-background-dim 2023-05-02 14:24:54 +09:00
Dean Herbert
736be6a73b Refactor slightly for readability 2023-05-02 14:11:16 +09:00
Dean Herbert
e808e7316b Mark delegate value unused and add comment to avoid future regression 2023-05-02 13:29:30 +09:00
Terochi
4d52ce769b Revert SaveState() calling on initialization 2023-05-01 12:53:58 +02:00
Bartłomiej Dach
7cedbca9be
Merge branch 'master' into multiplier-doesnt-update-with-preset-mod 2023-04-30 17:36:00 +02:00
Bartłomiej Dach
2e3daf0a54
Fix leak of ModSettingChangeTracker instances
The `SelectedMods.BindValueChanged()` callback in `ModSelectOverlay` can
in some instances run recursively. This is most heavily leaned on in
scenarios where `SelectedMods` is updated by an external component. In
such cases, the mod select overlay needs to replace the mod instances
received externally with mod instances which it owns, so that the changes
made on the overlay can propagate outwards.

This in particular means that prior to this commit, it was possible to
encounter the following scenario:

	modSettingChangeTracker?.Dispose();
	updateFromExternalSelection(); // mutates SelectedMods to perform the replacement
	                               // therefore causing a recursive call

		modSettingChangeTracker?.Dispose();
		// inner call continues
		modSettingChangeTracker = new ModSettingChangeTracker(SelectedMods.Value);

	// outer call continues
	modSettingChangeTracker = new ModSettingChangeTracker(SelectedMods.Value);

This leaks one `modSettingChangeTracker` instance from the inner call,
which is never disposed.

To avoid this, move the disposal to the same side of the recursion that
the creation happens on, changing the call pattern to:

	updateFromExternalSelection(); // mutates SelectedMods to perform the replacement
	                               // therefore causing a recursive call

		modSettingChangeTracker?.Dispose();
		// inner call continues
		modSettingChangeTracker = new ModSettingChangeTracker(SelectedMods.Value);

	modSettingChangeTracker?.Dispose();
	// outer call continues
	modSettingChangeTracker = new ModSettingChangeTracker(SelectedMods.Value);

which, while slightly wasteful, does not cause any leaks.

The solution is definitely suboptimal, but addressing this properly
would entail a major rewrite of the mod instance management in the mods
overlay, which is probably not the wisest move to make right now.
2023-04-30 17:31:41 +02:00
Terochi
fb4b681cc5 Use Queue instead of Stack 2023-04-30 16:36:01 +02:00
Terochi
8f02bd80f9 Addressed changes 2023-04-30 16:11:52 +02:00
Terochi
949dc1c0f9 Improved logic 2023-04-30 12:05:55 +02:00
Terochi
8ec2154965 Fixed ApplyStateChange to happen in correct order 2023-04-30 02:01:18 +02:00
Terochi
17e4b75dfd Save first state when editing 2023-04-29 20:54:19 +02:00
Terochi
3b0ba4b38b Improved logic for ApplyStateChange for skin editor 2023-04-29 19:52:22 +02:00
Bartłomiej Dach
646d4965b9
Merge branch 'master' into fix-exclusive-fullscreen-detection 2023-04-29 14:39:34 +02:00
_ltn
2d6c0d2900 use of Child instead of Children 2023-04-28 19:24:07 +03:00
Dean Herbert
6929be49b7 Change condition for exclusive fullscreen notice to only show when using the correct renderer
This avoids the notice showing when running on windows, but using the
newer renderers (where the underlying logic hasn't been tested properly
and can result in false-positives).

Supersedes https://github.com/ppy/osu-framework/pull/5759 as a more
correct implementation.
2023-04-28 22:36:30 +09:00