Skip to content

KillerShell v1.1.4

Choose a tag to compare

@SteveTheKiller SteveTheKiller released this 04 Aug 01:10
· 362 commits to main since this release

1.1.4 fixes a crash when dragging files to external applications like Teams and Telegram, plus a ghost icon that persisted on the desktop after dragging to external apps.

Fixed

  • Dragging a file to Teams, Telegram, or other external apps could crash KillerShell with an AccessViolationException - NativeDataObject did not check for NULL returns from GlobalAlloc and GlobalLock, so when either failed the code would attempt to access invalid memory. Error checking and exception handling added for all Win32 global-memory operations.
  • NativeDataObject.GetData could throw unhandled exceptions when called from a different thread (which happens when dragging to external apps), crashing the entire drag operation - now wrapped in a try-catch to return an empty medium on error, matching the same defensive behavior for in-process calls.
  • The HDROP structure building could overflow with very large file paths or many files - overflow checks added to prevent negative size calculations that could cause GlobalAlloc to fail.
  • Dragging a file to an external app left a ghost icon (the drag-image layered window) permanently visible on the desktop until the app closed - IDragSourceHelper manages the drag-image window lifecycle and must stay alive for the entire DoDragDrop call. The helper was being released immediately after initializing the drag image, before the drag even started, which orphaned the window and prevented ole32 from cleaning it up. The helper is now kept alive through the entire drag and only disposed after DoDragDrop returns.