|
Talahaski Enchanter
Joined: 10 Oct 2000 Posts: 656 Location: USA
|
Posted: Sat Jul 12, 2008 5:35 am
[2.30] bug when map window open and hit delete |
There is a bug when you have the mapper window open in map mode and focus is on the main window. If you type text into the command prompt and left arrow then hit the delete key, cmud tries to delete the current room on the mapper instead of the text on the command line.
|
|
_________________ Talahaski
dartmud.com 2525 |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Sat Jul 12, 2008 6:54 am |
Yes, this is a known bug. There are many keyboard issues with the mapper menu shortcuts when the mapper window is docked. You need to undock the mapper. This kind of stuff is being addressed in the mapper rewrite.
|
|
|
|
Talahaski Enchanter
Joined: 10 Oct 2000 Posts: 656 Location: USA
|
Posted: Sat Jul 12, 2008 9:37 pm |
Actually I do have the map window undocked. I have the main CMUD window on the left of my screen, and separately on the right side I have the mapper window.
I know there have been other reported issue with the mapper and I though you address some of them recently and I also read your plans on the mapper updates.
I consider this particular one to be critical because it caused me to delete the current room I was in (the default on the confirm delete pop-up is set to delete, so I hit the delete key and enter, thinking I'm sending the text to the mud, instead It deleted the current room). At the time this appened, I was exploring a large, deadly maze and this caused me to temporarily be lost in the maze.
I've also noticed doing other things on the map will sometimes result in the map losing your current location marker (blue dot). For example if you merge 2 rooms that are stacked and one of the rooms is the current room your in, the merge room command will result in the current room marker to get lost. |
|
_________________ Talahaski
dartmud.com 2525 |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Mon Jul 14, 2008 5:18 pm |
Confirmed this. However, when I tried it, I got a prompt asking me to delete the current room, so I was able to click No to prevent it from deleting.
And yes, merging two rooms loses the current room marker. That's on the bug list for the mapper rewrite. And I'm afraid the Delete problem really can't be fixed until I get into the mapper code too. |
|
|
|
Talahaski Enchanter
Joined: 10 Oct 2000 Posts: 656 Location: USA
|
Posted: Tue Jul 15, 2008 12:00 am |
For the short term, can you change the default on the confirm dialog to NOT delete the room.
As I mentioned, when I'm typing fast I may hit the delete key then hit enter THINKING I am sending the text to the mud, but the enter instead CONFIRMS the room delete before I even have a chance to really see the dialog. |
|
_________________ Talahaski
dartmud.com 2525 |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Jul 15, 2008 9:24 pm |
OK, since I *am* working on some of the mapper stuff, I decided to take a closer look at this. And it was very interesting...
It wasn't actually the DevExpress Toolbar/menu system that was directly causing this. When Delphi looks to see if a particular keypress is associated with a "shortcut", it first asks the menu system. And it was properly returning False when pressing the DELETE key on the command line. But then Delphi starts searching for any "TActionList" component that is owned by the current form. The TActionList is what you use in Delphi to associate "actions" with menu items and toolbars.
Now, with the new window docking system, *every* window is "owned" by the docking manager, which is, in turn, owned by the main application form. So when Delphi was searching for *any* ActionList, it eventually found the one within the mapper window. It found the DeleteRoom Action which was assigned to the DELETE key and then called it.
Very nasty. In zMUD, each window was completely independent, so it didn't have this problem. There was no global "dock manager" that owned the various windows.
In v2.32 I have played around with this and have found a way to change the ownership of specific dockable windows. By changing the ownership of the mapper window, I was able to fix the problem with it getting the DELETE key when it shouldn't. This should also clear up some other related issues with the wrong menu shortcut getting executed. Hopefully there won't be any side effects of this. I haven't found any other problems yet, but I'm still testing. |
|
|
|
Talahaski Enchanter
Joined: 10 Oct 2000 Posts: 656 Location: USA
|
Posted: Wed Jul 16, 2008 12:58 am |
Awesome find Zugg, thanks for looking into it!
|
|
_________________ Talahaski
dartmud.com 2525 |
|
|
|
|
|