Opened 16 years ago
Closed 16 years ago
#2659 closed bug (fixed)
[input_server] crash in Keymap::IsDeadKey ()
Reported by: | diver | Owned by: | aldeck |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | Preferences/Keymap | Version: | R1/pre-alpha1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
Happens when I clicked Revert button in Keymap preflet (before it was set to Russian.
Attachments (2)
Change History (12)
comment:1 by , 16 years ago
by , 16 years ago
Attachment: | strange_keymap.png added |
---|
comment:2 by , 16 years ago
I could reproduce. With any keymap, just start Keymaps preflet and hit revert. The problem is that revert should be disabled in the first place (i fixed that a few months ago). Clicking revert apparently loads a corrupted keymap, that probably cause the crash. Will have a look.
comment:3 by , 16 years ago
comment:4 by , 16 years ago
Component: | Servers/input_server → Preferences/Keymap |
---|---|
Owner: | changed from | to
On it.
follow-up: 6 comment:5 by , 16 years ago
the keymap file seems invalid. I added a check in hrev27183 to avoid loading this invalid keymap. The invalid keymap could be related to the VM or I/O subsystem.
follow-up: 7 comment:6 by , 16 years ago
Replying to korli:
the keymap file seems invalid. I added a check in hrev27183 to avoid loading this invalid keymap. The invalid keymap could be related to the VM or I/O subsystem.
Well, there's a memcpy that shouldnt happen when in some cases Rene's "name in attributes" technique fails for some reason.
I think that to definitely close the matter and allow for further enhancement, we should enhance the input server as has been discussed on the commit list for hrev24924. Not sure yet, but the attribute thing could still be usefull though.
Now on the work involved, are there R5 compatibility matters? It shouldn't matter for the preflet afaik.
The plan is to add support for something like IS_SET_KEY_MAP and IS_LOAD/SAVE_KEY_MAP with an id/name. And a IS_GET_KEYMAP_NAMES maybe.
follow-up: 8 comment:7 by , 16 years ago
Replying to aldeck:
Well, there's a memcpy that shouldnt happen when in some cases Rene's "name in attributes" technique fails for some reason.
I didn't know this.
I think that to definitely close the matter and allow for further enhancement, we should enhance the input server as has been discussed on the commit list for hrev24924.
Maybe postpone this a bit, but file an enhancement ticket about it anyway. input_server is critical: it shouldn't crash at all. If hrev24924 introduced something wrong, it should be fixed first.
comment:8 by , 16 years ago
Replying to korli:
Replying to aldeck:
Well, there's a memcpy that shouldnt happen when in some cases Rene's "name in attributes" technique fails for some reason.
I didn't know this.
That's what i'm saying from the begining. There was a check missing in I.S but the actual bug is in the preflet.
I think that to definitely close the matter and allow for further enhancement, we should enhance the input server as has been discussed on the commit list for hrev24924.
Maybe postpone this a bit, but file an enhancement ticket about it anyway. input_server is critical: it shouldn't crash at all. If hrev24924 introduced something wrong, it should be fixed first.
Heh, you fixed the IS first ;-) Well I.S doesn't crash anymore, ok. But the preflet has to be fixed too to close this bug imho, this is part of the same problem.
Now instead of patching the preflet, i took the liberty to start to rework how it's done in the IS and then simplify the preflet implementation (not a big change btw). But please read the commit list thread, everything is said there.
Anyway, as said in the ml, i already started, but i'll file a ticket so that it's more clear.
Best regards
comment:9 by , 16 years ago
Owner: | changed from | to
---|
Found the cause of the revert/apply problem, working on a fix (i'll leave the new keymap management for post alpha :))
Can't attach back trace yet, see #2660.