aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@gnome.org>2003-11-21 01:07:48 +0800
committerMarco Pesenti Gritti <marco@src.gnome.org>2003-11-21 01:07:48 +0800
commita9520520d997a08879efbf1f7169298c30b53c49 (patch)
treee31f2eca80158f0bfc70f283e5fbabc48f5e6cca /src
parent227f730bc5b2376c885da7c5bdd4698adc5228d2 (diff)
downloadgsoc2013-epiphany-a9520520d997a08879efbf1f7169298c30b53c49.tar
gsoc2013-epiphany-a9520520d997a08879efbf1f7169298c30b53c49.tar.gz
gsoc2013-epiphany-a9520520d997a08879efbf1f7169298c30b53c49.tar.bz2
gsoc2013-epiphany-a9520520d997a08879efbf1f7169298c30b53c49.tar.lz
gsoc2013-epiphany-a9520520d997a08879efbf1f7169298c30b53c49.tar.xz
gsoc2013-epiphany-a9520520d997a08879efbf1f7169298c30b53c49.tar.zst
gsoc2013-epiphany-a9520520d997a08879efbf1f7169298c30b53c49.zip
Fix unrefing of context menu event
2003-11-20 Marco Pesenti Gritti <marco@gnome.org> * src/ephy-window.c: (show_embed_popup): Fix unrefing of context menu event
Diffstat (limited to 'src')
-rw-r--r--src/ephy-window.c19
1 files changed, 3 insertions, 16 deletions
diff --git a/src/ephy-window.c b/src/ephy-window.c
index 854b2d9c8..cb45fcaaf 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -1039,17 +1039,6 @@ popup_menu_at_coords (GtkMenu *menu, gint *x, gint *y, gboolean *push_in,
}
static void
-popup_destroy_cb (GtkWidget *widget, EphyWindow *window)
-{
- EphyEmbedEvent *event;
-
- event = EPHY_EMBED_EVENT (g_object_get_data (G_OBJECT (window), "context_event"));
- g_object_set_data (G_OBJECT (window), "context_event", NULL);
-
- g_object_unref (event);
-}
-
-static void
show_embed_popup (EphyWindow *window, EphyTab *tab, EphyEmbedEvent *event)
{
GtkActionGroup *action_group;
@@ -1104,13 +1093,11 @@ show_embed_popup (EphyWindow *window, EphyTab *tab, EphyEmbedEvent *event)
widget = gtk_ui_manager_get_widget (GTK_UI_MANAGER (window->ui_merge),
popup);
-
g_return_if_fail (widget != NULL);
- g_object_ref (event);
- g_object_set_data (G_OBJECT (window), "context_event", event);
- g_signal_connect (widget, "destroy",
- G_CALLBACK (popup_destroy_cb), window);
+ g_object_set_data_full (G_OBJECT (window), "context_event",
+ g_object_ref (event),
+ (GDestroyNotify)g_object_unref);
type = ephy_embed_event_get_event_type (event);
if (type == EPHY_EMBED_EVENT_KEY)