aboutsummaryrefslogtreecommitdiffstats
path: root/composer
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2009-11-10 01:31:31 +0800
committerMatthew Barnes <mbarnes@redhat.com>2009-11-10 01:31:31 +0800
commitf6ba97d9647a768ef225fdc095c16e8aa635f8f9 (patch)
tree3615944da762e988d658eb14c2a076171917aba3 /composer
parent1dad2d7745eb55a6772d2f276f034150153355e7 (diff)
downloadgsoc2013-evolution-f6ba97d9647a768ef225fdc095c16e8aa635f8f9.tar
gsoc2013-evolution-f6ba97d9647a768ef225fdc095c16e8aa635f8f9.tar.gz
gsoc2013-evolution-f6ba97d9647a768ef225fdc095c16e8aa635f8f9.tar.bz2
gsoc2013-evolution-f6ba97d9647a768ef225fdc095c16e8aa635f8f9.tar.lz
gsoc2013-evolution-f6ba97d9647a768ef225fdc095c16e8aa635f8f9.tar.xz
gsoc2013-evolution-f6ba97d9647a768ef225fdc095c16e8aa635f8f9.tar.zst
gsoc2013-evolution-f6ba97d9647a768ef225fdc095c16e8aa635f8f9.zip
BugĀ 601219 - Transient dialogs in composer window blocks main window
Diffstat (limited to 'composer')
-rw-r--r--composer/e-composer-private.c11
-rw-r--r--composer/e-composer-private.h2
2 files changed, 13 insertions, 0 deletions
diff --git a/composer/e-composer-private.c b/composer/e-composer-private.c
index 0ec579fa0e..1516b1533e 100644
--- a/composer/e-composer-private.c
+++ b/composer/e-composer-private.c
@@ -92,6 +92,7 @@ e_composer_private_init (EMsgComposer *composer)
GtkWidget *container;
GtkWidget *widget;
GtkWidget *send_widget;
+ GtkWindow *window;
const gchar *path;
gchar *filename;
gint ii;
@@ -109,6 +110,11 @@ e_composer_private_init (EMsgComposer *composer)
}
+ /* Each composer window gets its own window group. */
+ window = GTK_WINDOW (composer);
+ priv->window_group = gtk_window_group_new ();
+ gtk_window_group_add_window (priv->window_group, window);
+
priv->charset_actions = gtk_action_group_new ("charset");
priv->composer_actions = gtk_action_group_new ("composer");
@@ -308,6 +314,11 @@ e_composer_private_dispose (EMsgComposer *composer)
composer->priv->attachment_paned = NULL;
}
+ if (composer->priv->window_group != NULL) {
+ g_object_unref (composer->priv->window_group);
+ composer->priv->window_group = NULL;
+ }
+
if (composer->priv->charset_actions != NULL) {
g_object_unref (composer->priv->charset_actions);
composer->priv->charset_actions = NULL;
diff --git a/composer/e-composer-private.h b/composer/e-composer-private.h
index 71ced95df1..df215d0cc8 100644
--- a/composer/e-composer-private.h
+++ b/composer/e-composer-private.h
@@ -91,6 +91,8 @@ struct _EMsgComposerPrivate {
GtkWidget *header_table;
GtkWidget *attachment_paned;
+ GtkWindowGroup *window_group;
+
GtkActionGroup *charset_actions;
GtkActionGroup *composer_actions;