aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2003-06-26 03:28:02 +0800
committerChristian Persch <chpe@src.gnome.org>2003-06-26 03:28:02 +0800
commit8ea3e8e38b1626e918782252f97d405ed152a86c (patch)
tree6ad80a30cfa44fc1a8d8f20d9725fe8e025a10ff /src
parent685b2ace571d07c4aa831288cc62fd2e9b444fe5 (diff)
downloadgsoc2013-epiphany-8ea3e8e38b1626e918782252f97d405ed152a86c.tar
gsoc2013-epiphany-8ea3e8e38b1626e918782252f97d405ed152a86c.tar.gz
gsoc2013-epiphany-8ea3e8e38b1626e918782252f97d405ed152a86c.tar.bz2
gsoc2013-epiphany-8ea3e8e38b1626e918782252f97d405ed152a86c.tar.lz
gsoc2013-epiphany-8ea3e8e38b1626e918782252f97d405ed152a86c.tar.xz
gsoc2013-epiphany-8ea3e8e38b1626e918782252f97d405ed152a86c.tar.zst
gsoc2013-epiphany-8ea3e8e38b1626e918782252f97d405ed152a86c.zip
Make sure there's only one print dialog per window. Fixes bug #115933.
2003-06-25 Christian Persch <chpe@cvs.gnome.org> * src/ephy-window.c: (ephy_window_print): Make sure there's only one print dialog per window. Fixes bug #115933.
Diffstat (limited to 'src')
-rw-r--r--src/ephy-window.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/ephy-window.c b/src/ephy-window.c
index f821b4e48..c263b6e5a 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -1888,22 +1888,21 @@ ephy_window_print (EphyWindow *window)
EphyDialog *dialog;
EphyEmbed *embed;
- if (window->priv->print_dialog)
- {
- dialog = window->priv->print_dialog;
- }
- else
+ if (window->priv->print_dialog == NULL)
{
embed = ephy_window_get_active_embed (window);
- dialog = print_dialog_new_with_parent (GTK_WIDGET(window),
- embed, NULL);
- g_signal_connect (G_OBJECT(dialog),
+ dialog = print_dialog_new_with_parent
+ (GTK_WIDGET(window), embed, NULL);
+ g_signal_connect (G_OBJECT (dialog),
"preview",
G_CALLBACK (print_dialog_preview_cb),
window);
+ window->priv->print_dialog = dialog;
+ g_object_add_weak_pointer(G_OBJECT (dialog),
+ (gpointer *) &window->priv->print_dialog);
}
- ephy_dialog_show (EPHY_DIALOG (dialog));
+ ephy_dialog_show (window->priv->print_dialog);
}
void