Ok, here's a different angle to the question: Why would the "Add address" question be generated a fresh top-level window (which the window manager is far more likely to have its way with) when the dialog that follows, "Contact Quick-Add", which works fine (ie is placed centered on parent) is a normal vanilla dialog?
Ahh.
Well the only real thing I can see is is that it doesn't set the parent window.
All the other crap seems to be done for gtkdialog's identically.
ie "problem" window is this code:
[mail/em-utils.c]
win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title((GtkWindow *)win, _("Add address"));
gtk_window_set_transient_for((GtkWindow *)win, ((GtkWindow *)parent));
gtk_window_set_position((GtkWindow *)win, GTK_WIN_POS_CENTER_ON_PARENT);
gtk_window_set_type_hint((GtkWindow *)win, GDK_WINDOW_TYPE_HINT_DIALOG);
versus the next one which "works fine":
[addressbook/gui/contact-editor/e-contact-quick-add.c]
dialog = gtk_dialog_new_with_buttons (_("Contact Quick-Add"),
NULL, /* XXX */
(GtkDialogFlags) 0,
_("_Edit Full"), QUICK_ADD_RESPONSE_EDIT_FULL,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OK, GTK_RESPONSE_OK,
NULL);
[be nice - I'm trying hard to learn GTK here]
AfC
--
|
<<attachment: zed-48.small.jpg>>
