GNOME Bugzilla – Bug 77225
BonoboWindow can not be instantiated with g_object_new()
Last modified: 2004-12-22 21:47:04 UTC
*_new() functions should be just convenience wrappers, but there doesn't seem to be a way to instantiate a BonoboWindow with only g_object_new() as there are no construct-time properties to correspond to the win_name and title. Also, the UIContainer is instantiated in the _new() function. At the least the _construct() function should contain the bonobo_ui_container_new() line.
Ditto for BonoboDockBand.
help me Murray, tell me what code you need / how to re-order this to make it work for you; I can't really see what you want. Why not submit a patch ? :-)
Damn, I hate writing that properties code. I'll try. But I might end up just fixing the _construct() functions because that's easier. It's not the official Right Way, but it seems to be good enough for libgnomeuimm.
Created attachment 7697 [details] [review] corrects bonobo_window_new() by using properties.
OK. Here's a patch for BonoboWindow. I've removed bonobo_window_construct() because it's only for glade and language bindings, and we'd much rather be using g_object_new() anyway.
Created attachment 7704 [details] [review] moves DockBand code from _new to _instance_init().
Created attachment 7706 [details] [review] Makes _new() a wrapper for g_object_new(). Not tested - see ChangeLog
That last patch is for BonoboSelector, by the way.
Applied DockBand patch. Waiting for gnome2-release-team approval before applying the other patches, because they remove the old-style *_construct() functions.
Applied BonoboWindow and BonoboSelector patches, adding back the public_construct() methods because gnome2-release-team doesn't understand their utter uselessness.
'Thou shalt not sling mud' It does not make life easier. I reccomended against this because it makes our libararies incompatible between beta4 and rc1. We need the damn api to stay stable so that we can release. Sure these routines are mostly useless, but every change you make means another package that might break. Mark them deprecated and remove them in the next round. The cosmetic benefit of removing them is outweighed by the instability.
Created attachment 7874 [details] [review] selector patch 2
Created attachment 7875 [details] [review] BonoboWindow patch 2
Here are the 2 revised patches, with the _construct() functions as requested by Michael and the release team. They were applied already but reverted because the BonoboWindow patch broke some hacky code in Nautilus. I have created patch 79551 for Nautilus to fix that.
Created attachment 7891 [details] [review] BonoboSelectro patch 2.1 - the last one was mostly empty.
Both patches applied.