There's special code in these nonmodal windows for handling Ctrl+Z and Ctrl+Y ... but A) I think it's probably unnecessary since they already respond to m_changeBits events ... and B) the logic is written as-if the windows are modal, and so breaks down as soon as users switch between them and the main windows vis-a-vis undo/redo commands.
The solution is simple in theory: just forward the inputs to the main window's undo/redo handlers.
The Texture window has m_inUndo. I've added getUndoEnabled to Model in its place. The faulty code can't detect undo originating from outside of itself... maybe the window was modal when it was written.
There's special code in these nonmodal windows for handling Ctrl+Z and Ctrl+Y ... but A) I think it's probably unnecessary since they already respond to m_changeBits events ... and B) the logic is written as-if the windows are modal, and so breaks down as soon as users switch between them and the main windows vis-a-vis undo/redo commands.
The solution is simple in theory: just forward the inputs to the main window's undo/redo handlers.