1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 03:07:26 +08:00
Commit Graph

9229 Commits

Author SHA1 Message Date
Dean Herbert
2bda63c2c8 Merge branch 'master' into mass-nrt 2023-06-24 09:59:15 +09:00
Salman Ahmed
c5771912db
Merge branch 'master' into tournament-chatcolor 2023-06-23 22:23:33 +03:00
Salman Ahmed
7a771609f9 Reword and fix typo 2023-06-23 22:20:25 +03:00
Dean Herbert
df5b389629 Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Dean Herbert
1dc7c05c12
Merge branch 'master' into no-confirmation-on-update-restart 2023-06-23 15:33:01 +09:00
Dean Herbert
7fa07805b0 Expose all notifications from INotificationOverlay
Also fixes `HasOngoingOperations` not actually working.
2023-06-23 15:19:21 +09:00
Dean Herbert
11a97e1bb8 Move confirmation bypass implementation to MainMenu to allow for more correct logic 2023-06-23 14:42:56 +09:00
Dean Herbert
343271751a Add Schedule to ensure correct thread for UI code 2023-06-23 14:07:33 +09:00
Dean Herbert
ce1579f2fe Bind to API.State instead of API.User 2023-06-23 14:05:02 +09:00
Bartłomiej Dach
c06b825d9b
Merge branch 'master' into comment-logged-out 2023-06-22 23:19:00 +02:00
Bartłomiej Dach
786deec296
Rename and xmldoc members 2023-06-22 23:00:52 +02:00
Bartłomiej Dach
0ce4d17e30
Merge pull request #23888 from peppy/fix-intro-playing-twice
Fix music sometimes restarting twice if exiting song select with no beatmap selected
2023-06-22 22:49:15 +02:00
Bartłomiej Dach
a11b3a67fb
Merge branch 'master' into skin-editor-beatmap-skin-disable 2023-06-22 20:30:51 +02:00
Bartłomiej Dach
aea5eb37dc
Remove unused using directive 2023-06-22 20:24:44 +02:00
Dean Herbert
59b1f08d53 Don't require exit confirmation when there are no ongoing operations that could be interrupted 2023-06-21 19:06:28 +09:00
Dean Herbert
c3f772f0da Add method to queue a restart after app is exited (when supported) 2023-06-21 19:06:28 +09:00
Dean Herbert
cb0f642ad7 Change skin editor flow to always save on toggle
This also moves the beatmap skin disable toggle to on toggle, in line
with review feedback.

I've decided to always apply the disable, not just on the `Player`
screen. It should be assumed that if a user is in the skin editor they
are never going to need access to this anyway.
2023-06-21 16:14:47 +09:00
Dean Herbert
366dd96875 Use bindable lease instead of reimplementing the same thing locally 2023-06-21 16:09:54 +09:00
Liam DeVoe
cc764afe3e use two separate buttons for posting / login 2023-06-21 00:58:43 -04:00
Liam DeVoe
8460873e61 move commitButton.Text update to appropriate method 2023-06-21 00:37:54 -04:00
Dean Herbert
d7b486e2ac Disable beatmap skinning when entering the skin editor 2023-06-20 19:18:17 +09:00
Dean Herbert
2e02b4a85b Apply more correct fix for double-playing menu track 2023-06-20 18:35:51 +09:00
Dean Herbert
7b69b92eab Allow notifications while the game is paused (or in break time)
RFC. This is to allow notifications to show at the pause screen
(specifically for #23967, where exports are now happening).

Not sure about the break time part of this, but might be fine? The
toasts are immediately flushed before break time ends.
2023-06-20 16:57:35 +09:00
Liam DeVoe
60eedbafd1 rename GetTextBoxPlaceholder to GetPlaceholderText 2023-06-19 22:05:18 -04:00
Liam DeVoe
f7dde53f9b use runOnceImmediately instead of duplicating logic 2023-06-19 18:20:16 -04:00
Liam DeVoe
591277e0f9 extract button text properties to methods, show login overlay on click 2023-06-19 18:10:37 -04:00
Liam DeVoe
d5d494f07b resolve protected API in comments superclass 2023-06-19 17:36:40 -04:00
Liam DeVoe
4a9543092a disable posting comments when logged out 2023-06-19 17:08:04 -04:00
Joseph Madamba
362fe62b4b
Fix beatmap info not showing individual difficulty bpm 2023-06-19 11:05:29 -07:00
Bartłomiej Dach
ee08ed414c
Document DrawableChatUsername members 2023-06-18 18:46:49 +02:00
Bartłomiej Dach
a2a9823d84
Rename constant 2023-06-18 18:46:49 +02:00
Bartłomiej Dach
dad32817ee
Improve UsernameColour documentation 2023-06-18 18:46:49 +02:00
Bartłomiej Dach
bd174b5193
Revert to non-bindable AccentColour
Not necessary for now, so let's not incur unnecessary overheads.
2023-06-18 18:46:49 +02:00
Dean Herbert
db445660e7 Avoid resolving realm Live more than once 2023-06-19 01:06:45 +09:00
Dean Herbert
425d3c23f5 Fix some code layout and NRT some classes 2023-06-19 01:03:43 +09:00
Bartłomiej Dach
b4c1266fc5
Add TODO for future support of typical search shortcuts 2023-06-18 15:58:50 +02:00
Bartłomiej Dach
b87acfa66f
Dynamically change placeholder to convey how to activate search 2023-06-18 15:58:50 +02:00
Bartłomiej Dach
75300ca229
Switch search box to initially unfocused
Done primarily to keep mod hotkeys working without any behavioural
changes when mod select is opened.
2023-06-18 15:58:50 +02:00
Bartłomiej Dach
9ba4bf5fb7
Merge branch 'master' into add-mod-search-option 2023-06-18 15:06:21 +02:00
Bartłomiej Dach
d4c9eb013e
Fix bugged initial state of matching filter flag
Was preventing mod preset panels from refiltering correctly on ruleset
change due to the `matchingFilter == value` guard.
2023-06-18 14:51:52 +02:00
Bartłomiej Dach
a49af06e88
Reword comments in ModSelectOverlay 2023-06-18 14:34:33 +02:00
Bartłomiej Dach
28f929dc4d
Remove yet another redundant guard 2023-06-18 14:28:26 +02:00
Bartłomiej Dach
4c78144d10
Remove obvious comment 2023-06-18 14:04:00 +02:00
Bartłomiej Dach
64e96c6d82
Fix duplicate linq and reword comment 2023-06-18 14:03:26 +02:00
Bartłomiej Dach
a1015b4145
Remove duplicated xmldoc and move into relevant region 2023-06-18 13:59:36 +02:00
Bartłomiej Dach
1b4d7db1e6
Remove redundant guard
`Bindable` has one of those already.
2023-06-18 13:58:25 +02:00
Bartłomiej Dach
c7e8990576
Remove unused property 2023-06-18 13:58:25 +02:00
Bartłomiej Dach
62f01e4f40
Rename ModState members to better convey what's what 2023-06-18 13:58:25 +02:00
Dean Herbert
eb31fdecee Apply osu! side changes in line with FocusedOverlayContainer.PopIn abstract change
See https://github.com/ppy/osu-framework/pull/5834
2023-06-18 20:57:32 +09:00
Joseph Madamba
9ae864c219
Fix beatmap info length tooltip not showing actual drain length 2023-06-17 15:00:32 -07:00
Dean Herbert
ce41ef6e5d Move OrderByTotalScore() to an extension method 2023-06-16 15:24:30 +09:00
Joseph Madamba
45e67fbe78
Remove unused load dependency 2023-06-14 08:09:03 -07:00
Joseph Madamba
b54f3a2cba
Normalise source strings to sentence case
The casing of the "caps lock" tooltip wasn't changed in code, as tooltips should be ideally sentence-cased, see https://github.com/ppy/osu/pull/21765#issuecomment-1552378930.
2023-06-14 07:58:55 -07:00
Joseph Madamba
8cecfef2ff
Apply key renaming suggestions 2023-06-14 07:40:26 -07:00
Joseph Madamba
ed95fb5982
Revert blocking password requirement text localisation 2023-06-14 07:30:46 -07:00
Joseph Madamba
874ce4fe71
Merge remote-tracking branch 'upstream/master' into pr/22239 2023-06-14 07:06:55 -07:00
cdwcgt
432b5e2d25
move Inverted and color logic to ChatLine 2023-06-13 15:56:25 +09:00
Dean Herbert
4cdd4561c4 Add a few more search keywords for offset settings
https://github.com/ppy/osu/discussions/23898#discussioncomment-6159206
2023-06-13 14:17:32 +09:00
Bartłomiej Dach
af3fbdbfbe
Merge pull request #23829 from Joehuu/truncating-text-tooltips
Add tooltips to truncated text
2023-06-12 23:43:31 +02:00
cdwcgt
27b99ea923
use { get; init; } 2023-06-13 01:11:19 +09:00
cdwcgt
430938fbb2
allow custom username color for chatLine
user's color (e.g. green for NAT) will be ignore
2023-06-12 22:07:36 +09:00
Cootz
aece548db1
Merge branch 'master' into add-mod-search-option 2023-06-12 13:09:09 +03:00
Dean Herbert
99f93f5185 Add comment mentioning why ShowTooltip is disabled in mod select panels 2023-06-12 15:31:22 +09:00
Dean Herbert
1e774fc017 Refactor implementation to roughly match existing HoverSampleDebounceComponent 2023-06-12 14:35:15 +09:00
Cootz
4819a28791 Move mod overlay statics to SessionStatics 2023-06-11 13:53:17 +03:00
Joseph Madamba
0d51e4f6ce
Fix mod select panels having conflicting tooltips
Going simple with a bool instead of making `TooltipText` init-able, as the current cases will just init `string.Empty`. And not sure if we want custom tooltip text in the future.
2023-06-10 12:24:58 -07:00
Joseph Madamba
61a9c6fd7e
Disable Truncate in OsuSpriteText
Co-Authored-By: Salman Ahmed <frenzibyte@gmail.com>
2023-06-10 11:53:45 -07:00
Cootz
502193e1c6 Use debounce constant for select/deselect animation 2023-06-10 13:55:37 +03:00
Cootz
31f370ec9b Add comments for ModSelectOverlayStatics 2023-06-10 13:50:45 +03:00
Cootz
09cd5580e1 Add sample playback time restrictions 2023-06-10 13:13:34 +03:00
Cootz
9224486ec7 Add mod select overlay statics 2023-06-10 12:38:26 +03:00
Cootz
d219b5f77f Reword change focus comment 2023-06-09 17:10:13 +03:00
Cootz
7697dbe4b3 Mod panel don't play sound when hidden 2023-06-09 16:55:19 +03:00
Cootz
036479dd9d
Merge branch 'master' into add-mod-search-option 2023-06-09 16:27:18 +03:00
Cootz
c3b50e1309 Move the multiplier back to TopRight 2023-06-09 16:25:04 +03:00
Joseph Madamba
85fedbd025
Add tooltips to truncated text 2023-06-08 19:44:07 -07:00
Joseph Madamba
519923e843
Remove redundant EllipsisString assign 2023-06-08 19:43:52 -07:00
Bartłomiej Dach
281aae91ec
Merge pull request #23808 from peppy/working-beatmap-get-background
Refactor `IWorkingBeatmap.Background` to `GetBackground()`
2023-06-08 12:23:07 +02:00
Bartłomiej Dach
5162f5c3d8
Fix code quality inspections 2023-06-08 09:20:43 +02:00
Dean Herbert
a842f79ad4 Refactor IWorkingBeatmap.Background to GetBackground() 2023-06-08 16:19:32 +09:00
Bartłomiej Dach
b3ce7f7b43
Merge branch 'master' into fix-section-container-scroll-attempt-2 2023-06-08 09:19:26 +02:00
Salman Ahmed
d523785bfc Fix LanguageSettings requiring OsuGame as dependency 2023-06-08 03:27:23 +03:00
Salman Ahmed
1a90f71540 Centralise game language update logic 2023-06-08 02:59:34 +03:00
Dean Herbert
7d49f5d7c6 Apply NRT to SectionsContainer 2023-06-07 16:32:29 +09:00
Salman Ahmed
f23ada1a3f
Merge branch 'master' into disable-in-game-chat-reports 2023-06-07 09:52:46 +03:00
Salman Ahmed
62cb6a98ca Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
Dean Herbert
30f17d5869 Disabling reporting users from in-game chat
Addresses #23684.

Safer alternative to #23698.
2023-06-07 14:03:06 +09:00
Cootz
ba7069df34 Fix SelectAllModsButton state doesn’t update when search term changed 2023-06-06 16:12:31 +03:00
Cootz
71e6f80c40 Add hotkey for switching search bar focus 2023-06-05 15:54:19 +03:00
Cootz
3ebc801484 Move (de)select all mods hotkeys handling to ModSelectOverlay 2023-06-05 13:49:07 +03:00
Cootz
a46f5b90d4 Move focus handling into PopIn 2023-06-04 18:11:44 +03:00
Cootz
32b9e6ec8f Make search bar active by default 2023-06-04 17:02:46 +03:00
Cootz
69b640a185 Remove hotkeys handling from DeselectAllModsButton 2023-06-03 10:47:48 +03:00
Cootz
9d4ba5d64a Remove unnecessary null checks 2023-06-02 12:00:03 +03:00
Cootz
4c7cca101e Rename IsValid to Visible 2023-06-02 11:33:38 +03:00
Cootz
d400387329 Replace IConditionalFilterable with IFilterable 2023-06-02 10:51:33 +03:00
Cootz
325c114c1c Remove redundant xmldocs 2023-06-02 10:39:27 +03:00
Cootz
39489358fa Apply appearance animation to aboveColumnsContent 2023-06-01 14:07:05 +03:00
Cootz
5a1c3aeb7e Fix SearchTerm set causing infinite loop 2023-05-31 19:36:42 +03:00
Dean Herbert
e35623df22 Update to use new Filter method and remove silly ForcedSearchTerm 2023-05-30 13:40:59 +09:00
Cootz
22c6d6c526 Prevent checkbox from toggle on when column have no valid panels 2023-05-29 14:22:40 +03:00
Cootz
e43c233b48 Reword ForcedSearchTerm xmldoc 2023-05-28 13:21:41 +03:00
Cootz
0e5c99b760 Fix search bar showing incorrectly 2023-05-28 13:12:57 +03:00
Cootz
5ff023113f Update xmldoc for ForcedSearchTerm 2023-05-28 10:04:26 +03:00
Bartłomiej Dach
6392c2007c
Merge pull request #23637 from peppy/add-shadow-settings-notifications
Add shadow to notifications and settings overlays to better distinguish from other overlays
2023-05-24 21:34:14 +02:00
Dean Herbert
e5451d1d79 Centralise definition of overlay shadow opacity and reduce slightly 2023-05-24 12:40:35 +09:00
Dean Herbert
02d8e3a11e Mark FullscreenOverlay's shadow effect as Hollow to save on shader overhead 2023-05-23 18:50:14 +09:00
Dean Herbert
6f4e2b37ed Add shadow to notifications and settings overlays to better distinguish from other overlays 2023-05-23 18:50:14 +09:00
Dean Herbert
adf9a596b5 Fix weird state when attempting to enter gameplay skin editor scene from multiplayer
Closes https://github.com/ppy/osu/issues/23626.
2023-05-23 17:58:44 +09:00
Cootz
c3f06ad2db
Merge branch 'master' into add-mod-search-option 2023-05-23 08:55:57 +03:00
Dean Herbert
09c66bea8f
Merge pull request #23606 from Joehuu/fix-news-sidebar-link-clicking-area
Fix clicking area of news sidebar post links
2023-05-22 14:17:08 +09:00
Joseph Madamba
7392109bce
Apply same behavioral changes to NewsCard 2023-05-21 19:28:12 -07:00
Joseph Madamba
2279aad360
Apply NRT to NewsCard 2023-05-21 19:27:20 -07:00
Dean Herbert
b3527b92b6 Handle case in tests where current display becomes null 2023-05-22 09:25:44 +09:00
Bartłomiej Dach
6df1d29862
Merge branch 'master' into use-atomic-ReplaceRange 2023-05-21 20:32:59 +02:00
Joseph Madamba
88c112612f
Remove hardcoded website url
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-05-21 10:35:22 -07:00
Cootz
67bf1b4dfe Select/deselect first visible mod when GlobalAction.Select is triggered 2023-05-21 11:05:01 +03:00
Joseph Madamba
8aefb62532
Rename PostButton to PostLink 2023-05-20 16:38:56 -07:00
Joseph Madamba
ec5f0bbf42
Fix clicking area of news sidebar post links
Side effect is that the hover color is yellow and pressing it opens an external dialog, but those are temporary (pending implementation of link underline to make `Light1` hover more readable and set at a higher level and news pages).
2023-05-20 16:32:04 -07:00
Dean Herbert
79e1d978e7 Ensure scroll-to-top button is displayed above all overlay content 2023-05-17 15:42:38 +09:00
Susko3
fec47fa690 Merge branch 'master' into use-atomic-ReplaceRange
This reverts 0dcf1b540e
2023-05-17 06:56:54 +02:00
Susko3
2d7fe68311 Prevent feedback by using atomic .ReplaceRange()
`display.NewValue` will never be null, checked on SDL + osuTK/Android.

On Android it's a 0x0 display, importantly not null.
2023-05-16 21:57:31 +02:00
Bartłomiej Dach
0dcf1b540e
Attempt to preserve old resolution when switching displays 2023-05-16 21:14:09 +02:00
Bartłomiej Dach
88ce627c8e
Avoid bindable/event feedback when changing resolution 2023-05-16 21:02:23 +02:00
Cootz
6647d95ea7 Kill search focus when clicking on ModColumn 2023-05-14 18:32:16 +03:00
Dean Herbert
c0f869e685 Fix some tablet settings being hidden when searching using "area" keyword
As discussed in https://github.com/ppy/osu/discussions/23504.
2023-05-12 14:57:56 +09:00
tsrk
2d45d602a5
feat(settings): more keyword for first run setup 2023-05-11 15:03:42 +01:00
tsrk
c1a85658b7
feat(settings): add "import" as keywords for first run setup 2023-05-11 14:58:17 +01:00
Cootz
ca68850730 fix formatting 2023-05-10 19:43:58 +03:00
Cootz
2467813d81 Block deselect all short key when using the search box 2023-05-09 16:14:42 +03:00
Bartłomiej Dach
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
Dan Balasescu
d2380bd840 Remove usages of [ExcludeFromDynamicCompile] 2023-05-08 18:12:56 +09:00
Dean Herbert
715b735131 Fix "Return to main page" link not working on wiki after error 2023-05-08 15:29:05 +09:00
Cootz
60bad35145 Remove weird update usage when 'deselect all' pressed 2023-05-07 15:34:01 +03:00
Cootz
4d235105d1 Convert ModSearchContainer to block-scoped namespace 2023-05-07 15:14:49 +03:00
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
Cootz
cbb9f0100e Update PopIn and PopOut filtering. Expose SearchTerm 2023-05-06 11:27:06 +03:00
Cootz
a226caff56 Fix testing 2023-05-06 11:09:44 +03:00
Cootz
7422b5285c Fix wrong filtering in testing 2023-05-05 22:41:30 +03:00
Cootz
ab94b4dce1 Update ModPresetPanel.FilterTerms to account mod names and acronyms 2023-05-05 09:52:09 +03:00
Cootz
54757df51f Fix mod deselect button not working properly when search applied 2023-05-05 09:31:27 +03: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
Cootz
1ac9d900e1 Clear search on ModSelectOverlay.Hide 2023-05-04 19:24:37 +03: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
Cootz
152d2678d5 Fix ModSelectColumn completely disappear from ModSelectOverlay 2023-05-03 14:00:46 +03: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
Cootz
a6ca049739 Manually implement @bdach prototype 2023-05-02 14:15:33 +03: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
Ethan
ae85e2a3ff Update LoginForm.cs 2023-04-28 19:51:10 +08:00
_ltn
4b0ee392f6 add OsuHoverContainer 2023-04-28 05:48:54 +03:00
_ltn
17730f05bc remove UpdateableCountryText 2023-04-28 05:47:05 +03:00
_ltn
4d144cd5b5 clearing the code 2023-04-28 02:06:13 +03:00
_ltn
092377fdaa moving UpdateableCountryText 2023-04-28 01:47:14 +03:00
_ltn
e9843f2066 replace country text object 2023-04-28 01:16:50 +03:00