Commit Graph

8931 Commits

Author SHA1 Message Date
2d45d602a5 feat(settings): more keyword for first run setup 2023-05-11 15:03:42 +01:00
c1a85658b7 feat(settings): add "import" as keywords for first run setup 2023-05-11 14:58:17 +01:00
2177dbf42a Merge pull request #23436 from peppy/fix-wiki-error-return-to-main
Fix "Return to main page" link not working on wiki after error
2023-05-08 21:56:29 +02:00
d2380bd840 Remove usages of [ExcludeFromDynamicCompile] 2023-05-08 18:12:56 +09:00
715b735131 Fix "Return to main page" link not working on wiki after error 2023-05-08 15:29:05 +09:00
65b4b198a4 Merge branch 'master' into export 2023-05-06 20:12:53 +02:00
3942281d13 Fix back-to-front logic 2023-05-06 15:34:55 +02:00
80ac8abaa6 Merge branch 'master' into chat-report 2023-05-06 15:30:44 +02:00
1da5e69d5a Fix API success callback scheduling to dead drawable 2023-05-06 15:27:27 +02:00
6b4050ea52 Remove invalid report reason (and add osu-web references) 2023-05-06 15:01:57 +02:00
52e5835be6 Document and retouch ReportPopover 2023-05-06 14:52:38 +02:00
8391e2a538 Move reporting code out of DrawableChatUsername into more correct locations 2023-05-05 14:03:42 +09:00
bdd96caaa9 Merge branch 'master' into edit-mods-preset 2023-05-04 18:59:47 +02:00
0034124d79 Remove unnecessary content clear 2023-05-04 11:25:10 +09:00
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
49fb5da1a2 Stop passing preset panel to popover 2023-05-04 11:19:09 +09:00
b12d139317 Remove dead code 2023-05-04 11:16:52 +09:00
99d2616c34 Move drawable construction to load for simplicity 2023-05-04 11:14:51 +09:00
be995f1359 Add localisation support for new button string 2023-05-04 11:11:19 +09:00
b7abab6d8a More variable improvements 2023-05-04 11:10:05 +09:00
0a584f0652 Simplify check logic and improve variable naming 2023-05-04 11:07:09 +09:00
59ece64d25 Merge branch 'master' into skin-editor-change-handler-improvement 2023-05-03 19:42:42 +02:00
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
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
4549a865d9 Merge branch 'master' into export 2023-05-04 00:18:01 +09:00
967e801f9c code inspect 2023-05-03 23:26:58 +09:00
debbd376bd move scrollContent update logic to updateActiveState() 2023-05-03 23:24:14 +09:00
f4b1264cc9 use button Enable status to ensure preset name is not null 2023-05-03 23:22:46 +09:00
aa5a026c67 remove local button handle 2023-05-03 23:14:24 +09:00
c609e6345c remove Use Current Mods menu item 2023-05-03 23:02:50 +09:00
be15d07b17 Tidy up various implementation details 2023-05-03 18:59:39 +09:00
b932e4d986 Rename DrawableUsername to DrawableChatUsername and only pass message ID 2023-05-03 18:53:22 +09:00
4f55afb60d Merge branch 'master' into chat-report 2023-05-03 18:50:38 +09:00
1c74f6e8ea Fix regressed button hover fade in 2023-05-02 22:54:42 -07:00
bede1292de Fix overlay scroll back button not absorbing hover from behind 2023-05-02 22:40:37 -07:00
e394b487e0 Merge branch 'master' into edit-mods-preset 2023-05-03 12:06:16 +09:00
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
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
ab4f66fad3 Minor readability refactors 2023-05-02 14:31:39 +09:00
7a840e1d82 Remove unnecessary TransferValue spec 2023-05-02 14:29:26 +09:00
7efaa299bd Merge branch 'master' into scale-background-dim 2023-05-02 14:24:54 +09:00
736be6a73b Refactor slightly for readability 2023-05-02 14:11:16 +09:00
e808e7316b Mark delegate value unused and add comment to avoid future regression 2023-05-02 13:29:30 +09:00
4d52ce769b Revert SaveState() calling on initialization 2023-05-01 12:53:58 +02:00
7cedbca9be Merge branch 'master' into multiplier-doesnt-update-with-preset-mod 2023-04-30 17:36:00 +02:00
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
fb4b681cc5 Use Queue instead of Stack 2023-04-30 16:36:01 +02:00
8f02bd80f9 Addressed changes 2023-04-30 16:11:52 +02:00
949dc1c0f9 Improved logic 2023-04-30 12:05:55 +02:00
8ec2154965 Fixed ApplyStateChange to happen in correct order 2023-04-30 02:01:18 +02:00