@@ -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