diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2001-10-19 03:58:22 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2001-10-19 03:58:22 +0800 |
commit | cb0ed210287eb3f4b81376a0cbe72661af0f7756 (patch) | |
tree | 8395f720e891b6aba6669a4f23e5aa4c8511eeb6 /e-util | |
parent | 02f36a07f6fb2f6fe341d9f8817628c629871635 (diff) | |
download | gsoc2013-evolution-cb0ed210287eb3f4b81376a0cbe72661af0f7756.tar gsoc2013-evolution-cb0ed210287eb3f4b81376a0cbe72661af0f7756.tar.gz gsoc2013-evolution-cb0ed210287eb3f4b81376a0cbe72661af0f7756.tar.bz2 gsoc2013-evolution-cb0ed210287eb3f4b81376a0cbe72661af0f7756.tar.lz gsoc2013-evolution-cb0ed210287eb3f4b81376a0cbe72661af0f7756.tar.xz gsoc2013-evolution-cb0ed210287eb3f4b81376a0cbe72661af0f7756.tar.zst gsoc2013-evolution-cb0ed210287eb3f4b81376a0cbe72661af0f7756.zip |
Fix the WM problems related to the folder selection dialog being
out-of-proc. Now it can be set to be a transient window correctly,
and fakes its WindowGroup hint appropriately.
svn path=/trunk/; revision=13765
Diffstat (limited to 'e-util')
-rw-r--r-- | e-util/ChangeLog | 4 | ||||
-rw-r--r-- | e-util/e-dialog-utils.c | 18 | ||||
-rw-r--r-- | e-util/e-dialog-utils.h | 8 |
3 files changed, 28 insertions, 2 deletions
diff --git a/e-util/ChangeLog b/e-util/ChangeLog index fed6610258..6a41fd9f8e 100644 --- a/e-util/ChangeLog +++ b/e-util/ChangeLog @@ -1,3 +1,7 @@ +2001-10-17 Ettore Perazzoli <ettore@ximian.com> + + * e-dialog-utils.c (e_set_dialog_parent_from_xid): New. + 2001-10-12 Chris Toshok <toshok@ximian.com> * e-passwords.h: new parameter to e_passwords_init, and add diff --git a/e-util/e-dialog-utils.c b/e-util/e-dialog-utils.c index 0a6bf13386..68f0abfde8 100644 --- a/e-util/e-dialog-utils.c +++ b/e-util/e-dialog-utils.c @@ -147,3 +147,21 @@ e_set_dialog_parent (GtkWindow *dialog, gdk_window = gdk_window_foreign_new (xid); set_transient_for_gdk (dialog, gdk_window); } + +/** + * e_set_dialog_parent_from_xid: + * @dialog: + * @xid: + * + * Like %e_set_dialog_parent_from_xid, but use an XID to specify the parent + * window. + **/ +void +e_set_dialog_parent_from_xid (GtkWindow *dialog, + Window xid) +{ + g_return_if_fail (dialog != NULL); + g_return_if_fail (GTK_IS_WINDOW (dialog)); + + set_transient_for_gdk (dialog, gdk_window_foreign_new (xid)); +} diff --git a/e-util/e-dialog-utils.h b/e-util/e-dialog-utils.h index 578ea0d585..b92808d386 100644 --- a/e-util/e-dialog-utils.h +++ b/e-util/e-dialog-utils.h @@ -27,7 +27,11 @@ #include <gtk/gtkwindow.h> #include <gtk/gtkwidget.h> -void e_set_dialog_parent (GtkWindow *dialog, - GtkWidget *parent_widget); +#include <X11/Xlib.h> /* Window */ + +void e_set_dialog_parent (GtkWindow *dialog, + GtkWidget *parent_widget); +void e_set_dialog_parent_from_xid (GtkWindow *dialog, + Window xid); #endif |