
bulia byak wrote:
I think I know what the problem here is. Johan, in verbs.h you have:
#ifdef HAVE_GTK_WINDOW_FULLSCREEN SP_VERB_FULLSCREEN, #endif /* HAVE_GTK_WINDOW_FULLSCREEN */ /* Dialogs */ SP_VERB_DIALOG_DISPLAY, SP_VERB_DIALOG_NAMEDVIEW, SP_VERB_DIALOG_TOOL_OPTIONS, SP_VERB_DIALOG_FILL_STROKE, SP_VERB_DIALOG_TRANSFORM, SP_VERB_DIALOG_ALIGN_DISTRIBUTE, SP_VERB_DIALOG_TEXT, SP_VERB_DIALOG_XML_EDITOR, SP_VERB_DIALOG_TOGGLE, SP_VERB_DIALOG_ITEM, /* Footer */ SP_VERB_LAST
Likely, the value of HAVE_GTK_WINDOW_FULLSCREEN is for some reason different here than in the rest of the codebase (not included config.h?) and therefore the constants for the dialog verbs are all shifted by one: transform becomes fill&stroke, etc. This explains the confused shortcuts. I'm not sure why this happens only on Windows (or perhaps it happens when HAVE_GTK_WINDOW_FULLSCREEN is false?) Could you please debug this ASAP, as it's a pretty annoying issue. Please call ishmal for help with Windows setup.
Fixed. This minor mismatch is because the Linux world has Autoconf, and Win9x does not. (Well, usually). On Linux, autoconf generates HAVE_FULLSCREEN, on Win32, it is in config.h. So we just make sure that config.h is included before verbs.h, and we are OK. The culprit in particular was shortcuts.cpp.
Actually, feature switches -should- be in config.h. That is what it is for. Maybe we can add it to config.h.in?
Bob