Skip to content

Client crashes upon trying to create a colored cursor #2538

@Toastical

Description

@Toastical

I'm on Arch Linux, using KDE Wayland.

On Paradise, toggling throw mode crashes the client. Log included below. From the poking I did, passing 32, 32 for the hot spots X and Y is too large. Changing the values in CursorHolder to 31 or less fixed the crashing.

Relevant snippet from SDL/src/events/mouse.c:

// Sanity check the hot spot
CHECK_PARAM((hot_x < 0) || (hot_y < 0) ||
            (hot_x >= surface->w) || (hot_y >= surface->h)) {
    SDL_SetError("Cursor hot spot doesn't lie within cursor");
    return NULL;
}

Log:

SDL Error: Cursor hot spot doesn't lie within cursor
Unhandled exception. System.InvalidOperationException: SDL_CreateColorCursor failed
   at Robust.Client.Graphics.Clyde.Clyde.Sdl3WindowingImpl.WinThreadCursorCreate(CmdCursorCreate cmd) in /home/toastical/src/ss13/OpenDream/RobustToolbox/Robust.Client/Graphics/Clyde/Windowing/Sdl3.Cursor.cs:line 53

Metadata

Metadata

Assignees

No one assigned

    Labels

    ClientInvolves the OpenDream client

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions