Re: enforcing construct only properties and gnome-session
- From: "Matthias Clasen" <maclas gmx de>
- To: Mark McLoughlin <mark skynet ie>
- Cc: gtk-devel-list gnome org, desktop-devel-list gnome org
- Subject: Re: enforcing construct only properties and gnome-session
- Date: Wed, 14 Jan 2004 14:25:03 +0100 (MET)
> Hey,
> 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[1] 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.
>
I certainly think so, although the state of the GObject documentation makes
it even harder to do the right thing when doing the wrong thing isn't
prohibited. I think some CONSTRUCT_ONLY bugs were found in rhythmbox when Tim made
that change.
Matthias
--
+++ GMX - die erste Adresse für Mail, Message, More +++
Neu: Preissenkung für MMS und FreeMMS! http://www.gmx.net
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]