Some time ago, Andy Piper wrote...
>Andy (I suppose you wrote the code, did you?), why there are
>sandwiches of two windows to represent each widget? If there
Because you want to be able to clip the widgets and I could find no way of
doing this unless the widget happened to be up against a GUI artifact.
So for instance without this I could not clip widgets that were obscured by
the modeline. I also found that letting the window system clip the widgets
led to some very bad lockups related to event / redisplay cycles.
Oh, I see. If XEmacs was initially designed as a MSWindows-only program,
then (xemacs) window would be a (Windows) window, and the modeline would be
a separate window - this is why these clipping issues would never arise.
I think that your solution is right.
What I would change is the routing mechanism for WM_COMMAND. Currently,
the message is sent to the clip window, which blindly sends it to
the main window proc, which in turn checks if the message is from a
toolbar, or a menu, or a subwindow. I would instread handle WM_COMMANDs
from subwindows right in the window procedure form the clip window.
2000-01-12 Kirill 'Big K' Katsnelson <kkm(a)dtmx.com>
> (mswindows_button_instantiate): Removed redundant check for
> a disabled gui item.
Why is this redundant?
It calls mswindows_widget_instantiate() which performs the same
check itself.
Big K