enforcing construct only properties and gnome-session
- From: Mark McLoughlin <mark skynet ie>
- To: gtk-devel-list gnome org, desktop-devel-list gnome org
- Subject: enforcing construct only properties and gnome-session
- Date: Wed, 14 Jan 2004 11:14:08 +0000
Tim's GObject change which enforces construct-only properties (i.e.
doesn't allow them to be set after construction) has at least one
serious consequence in GNOME.
gnome-session's logout dialog creates a override_redirect dialog by:
box = gtk_dialog_new ();
g_object_set_property (box, "type", GTK_WINDOW_POPUP, NULL);
which, because "type" is a CONSTRUCT_ONLY property, now fails. Because
gnome-session maps this window with the server grabbed, the end result
is that if you upgrade to gtk+ 2.3.1 without upgrading your
gnome-session clicking "Log Out" will cause your session to lock up.
I'm assuming that because this property has always been CONSTRUCT_ONLY
- hence, gnome-session was always in the wrong to use it this way - we
shouldn't consider this an incompatible API change in gtk+/glib? Seems
like its a very similar situation to when gtk+ 2.1 made it impossible to
instantiate a GtkWidget, which cause breakage in libgnomeui.
 - To gnome-session >= 2.4.2 or gnome-session >= 2.5.3, both of which
I'll release later today.
] [Thread Prev