Skip to content

Commit 17e4320

Browse files
committed
fix: make cursor creation non-fatal
1 parent 379b041 commit 17e4320

File tree

1 file changed

+28
-20
lines changed

1 file changed

+28
-20
lines changed

Intersect.Editor/Forms/DockingElements/frmMapEditor.cs

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2459,33 +2459,41 @@ private void RemoveSpriteCursorInGrid()
24592459
/// </summary>
24602460
private static Cursor? CreateCursorInGrid(Bitmap cursorBitmap, Point cursorClickPoint, string logName)
24612461
{
2462-
IntPtr bitmapHicon = cursorBitmap.GetHicon();
2463-
if (bitmapHicon == IntPtr.Zero)
2462+
try
24642463
{
2465-
Log.Warn($"Failed to get bitmap icon handle for {logName}");
2466-
return null;
2467-
}
2464+
IntPtr bitmapHicon = cursorBitmap.GetHicon();
2465+
if (bitmapHicon == IntPtr.Zero)
2466+
{
2467+
Log.Warn($"Failed to get bitmap icon handle for {logName}");
2468+
return null;
2469+
}
24682470

2469-
IconInfo cursorIconInfo = new IconInfo();
2470-
if (!GetIconInfo(bitmapHicon, ref cursorIconInfo))
2471-
{
2472-
Log.Warn($"Failed to get icon info for {logName}");
2473-
return null;
2474-
}
2471+
IconInfo cursorIconInfo = new IconInfo();
2472+
if (!GetIconInfo(bitmapHicon, ref cursorIconInfo))
2473+
{
2474+
Log.Warn($"Failed to get icon info for {logName}");
2475+
return null;
2476+
}
24752477

2476-
cursorIconInfo.XHotspot = cursorClickPoint.X;
2477-
cursorIconInfo.YHotspot = cursorClickPoint.Y;
2478-
cursorIconInfo.FIcon = false;
2478+
cursorIconInfo.XHotspot = cursorClickPoint.X;
2479+
cursorIconInfo.YHotspot = cursorClickPoint.Y;
2480+
cursorIconInfo.FIcon = false;
2481+
2482+
var cursorIcon = CreateIconIndirect(ref cursorIconInfo);
2483+
// ReSharper disable once InvertIf
2484+
if (cursorIcon == IntPtr.Zero)
2485+
{
2486+
Log.Warn($"Failed to create cursor icon for {logName}");
2487+
return null;
2488+
}
24792489

2480-
var cursorIcon = CreateIconIndirect(ref cursorIconInfo);
2481-
// ReSharper disable once InvertIf
2482-
if (cursorIcon == IntPtr.Zero)
2490+
return new Cursor(cursorIcon);
2491+
}
2492+
catch (Exception exception)
24832493
{
2484-
Log.Warn($"Failed to create cursor icon for {logName}");
2494+
Log.Error(exception, $"Error while creating cursor for {logName}");
24852495
return null;
24862496
}
2487-
2488-
return new Cursor(cursorIcon);
24892497
}
24902498

24912499
private static readonly HashSet<Cursor> _toolCursors = [];

0 commit comments

Comments
 (0)