Skip to content

Commit

Permalink
GtkApplication: Fix two muxer-related memory leaks
Browse files Browse the repository at this point in the history
Drop the ref on the action muxer in finalize, and also make sure
shutdown() tears down the muxer setup done in startup().

When GtkApplication adds itself to a muxer, it causes the muxer to take
a ref on the GtkApplication. This has to be undone in shutdown() to make
sure the GtkApplication doesn't end up holding a ref on itself.

https://bugzilla.gnome.org/show_bug.cgi?id=730383
  • Loading branch information
kalev committed May 25, 2014
1 parent 8230299 commit 750f6b9
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions gtk/gtkapplication.c
Original file line number Diff line number Diff line change
Expand Up @@ -522,6 +522,8 @@ gtk_application_shutdown (GApplication *g_application)
gtk_application_impl_shutdown (application->priv->impl);
g_clear_object (&application->priv->impl);

gtk_action_muxer_remove (application->priv->muxer, "app");

/* Keep this section in sync with gtk_main() */

/* Try storing all clipboard data we have */
Expand Down Expand Up @@ -767,6 +769,7 @@ gtk_application_finalize (GObject *object)

g_clear_object (&application->priv->app_menu);
g_clear_object (&application->priv->menubar);
g_clear_object (&application->priv->muxer);

accels_finalize (&application->priv->accels);

Expand Down

0 comments on commit 750f6b9

Please sign in to comment.