Skip to content

Commit e6e367b

Browse files
CopilotSadPencil
andauthored
Prevent occasional clipboard crash (#1054)
Co-authored-by: SadPencil <sadpencil@outlook.com>
1 parent b43c68e commit e6e367b

2 files changed

Lines changed: 27 additions & 3 deletions

File tree

DXMainClient/DXGUI/Multiplayer/GameLobby/GameLobbyBase.cs

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,9 +315,9 @@ public override void Initialize()
315315
toggleFavoriteItem = mapContextMenu.Items.First();
316316

317317
mapContextMenu.AddItem("Copy Map Name".L10N("Client:Main:CopyMapName"),
318-
selectAction: () => ClipboardService.SetText(Map?.Name));
318+
selectAction: CopyMapNameToClipboard);
319319
mapContextMenu.AddItem("Copy Original Name".L10N("Client:Main:CopyOriginalMapName"),
320-
selectAction: () => ClipboardService.SetText(Map?.UntranslatedName),
320+
selectAction: CopyOriginalMapNameToClipboard,
321321
visibilityChecker: () => Map?.UntranslatedName != Map?.Name);
322322
mapContextMenu.AddItem("Delete Map".L10N("Client:Main:DeleteMap"),
323323
selectAction: DeleteMapConfirmation,
@@ -868,6 +868,30 @@ private void DeleteMapConfirmation()
868868

869869
private void ShowInFolder() => Map?.OpenContainingFolder();
870870

871+
private void CopyMapNameToClipboard()
872+
{
873+
try
874+
{
875+
ClipboardService.SetText(Map?.Name);
876+
}
877+
catch (Exception)
878+
{
879+
XNAMessageBox.Show(WindowManager, "Error".L10N("Client:Main:Error"), "Unable to copy map name to clipboard.".L10N("Client:Main:ClipboardCopyMapNameFailed"));
880+
}
881+
}
882+
883+
private void CopyOriginalMapNameToClipboard()
884+
{
885+
try
886+
{
887+
ClipboardService.SetText(Map?.UntranslatedName);
888+
}
889+
catch (Exception)
890+
{
891+
XNAMessageBox.Show(WindowManager, "Error".L10N("Client:Main:Error"), "Unable to copy map name to clipboard.".L10N("Client:Main:ClipboardCopyMapNameFailed"));
892+
}
893+
}
894+
871895
private void MapPreviewBox_ToggleFavorite(object sender, EventArgs e) =>
872896
ToggleFavoriteMap();
873897

0 commit comments

Comments
 (0)