Opened 10 years ago

Closed 8 years ago

Last modified 9 months ago

#4420 closed defect (fixed)

GMM: Overwrites engine cursor settings, when loading

Reported by: lordhoto Owned by: athrxx
Priority: normal Component: GUI
Keywords: Cc:


Version: trunk r42543
Platform: Linux/amd64
Compiler: g++ 4.3.3

Some engines setup a new cursor when loading games. KYRA and SKY are an example for this. Now when a game is load via the GMM (thus our GUI), this change is lost. This was first reported for KYRA on our forums from "hydr0x". I was also able to reproduce it in the SKY engine.

In both cases it's easy to reproduce:
- Start the game.
- Skip intros etc.
(- Make a save if you don't have one already).

Now for SKY:
- Take the Circuit board out of your inventory
- Open up the GMM
- Load a game

For Kyrandia 1:
- Pick up the garnet
- Open up the GMM
- Load a game

After that you'll clearly notice the cursor is still the item you had previously in your hand. Of course it will work with every other item there in the games.

I suspect this is because the engines, replace the top most cursor, thus the GUI cursor, which is then removed from the cursor stack, when the GUI is closed, so the old engine cursor is setup again.

Ticket imported from: #2822778. Ticket imported from: bugs/4420.

Change History (7)

comment:1 Changed 9 years ago by fingolfin

What is the status of this item?

comment:2 Changed 9 years ago by lordhoto

Still present.

I am also not sure how to fix it properly, since at least from the engine side one has no way to replace the game cursor via CursorMan. And even if one had, every engine which loads directly on Engine::loadGameState.

It *might* be possible to only call loadGameState after the GMM (and thus the GUI) closed, but not sure how feasible that is.

comment:3 Changed 8 years ago by athrxx

I fixed that bug in the suggested manner (postponing game load until after the menu execution).
Please test.

comment:4 Changed 8 years ago by athrxx

Owner: set to athrxx
Resolution: fixed
Status: newpending

comment:5 Changed 8 years ago by SF/sf-robot

Status: pendingclosed

comment:6 Changed 8 years ago by SF/sf-robot

This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 14 days (the time period specified by
the administrator of this Tracker).

comment:7 Changed 9 months ago by digitall

Component: GUI
Note: See TracTickets for help on using tickets.