On Sat, 2006-02-11 at 23:00 +0100, Mark Wielaard wrote: > Hi Tom, > > On Fri, 2006-02-10 at 12:52 -0500, Thomas Fitzsimmons wrote: > > > I am not sure how/where the GtkPanelPeer should have been realized > > > and/or whether this comes from the "delayed realization" you talked > > > about (I don't actually see where this Panel will ever get realized to > > > be honest). > > > > Yes, panels are never realized because they do not have an X window > > associated with them. Instead they draw on their parent's X window. So > > GtkPanelPeer should probably override isRealized to check if it has a > > parent and if so, if that parent is realized. > > But then they should also override getGraphics() I presume to return the > (translated) Graphics of their parent Container? And currently they > don't. Also we seem to explicitly request an X window to be associated > since in GtkPanelPeer.c we say: > gtk_fixed_set_has_window (GTK_FIXED (widget), TRUE); > We also request GTK_CAN_FOCUS. Is that possible on widgets without a > window? > > And in fact Graphics object returned from a Panel is often correct. Only > in situations like the example I gave does it never get realized > correctly it seems. > > Puzzling... You're right. GtkPanelPeers do have their own windows now; I was thinking of a previous revision of this code. To answer your original question, GtkPanelPeers are realized when they are shown. Tom > > Cheers, > > Mark