summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2012-07-02 06:24:37 (GMT)
committerCosimo Cecchi <cosimoc@gnome.org>2012-07-02 14:41:29 (GMT)
commit257b42e2f9d0759cc79967034f80c571c600faf3 (patch)
treefea941a4963166623dd8bc472d35ed72b4b7dd4e
parentf70fc49ebc999bc4e37c0807e818aeff2bca3459 (diff)
downloadgtk+-257b42e2f9d0759cc79967034f80c571c600faf3.zip
gtk+-257b42e2f9d0759cc79967034f80c571c600faf3.tar.xz
application: plug some memory leaks
-rw-r--r--gtk/gtkapplication.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gtk/gtkapplication.c b/gtk/gtkapplication.c
index f0e77bf..f5c3449 100644
--- a/gtk/gtkapplication.c
+++ b/gtk/gtkapplication.c
@@ -218,6 +218,7 @@ static void
gtk_application_set_app_menu_x11 (GtkApplication *application,
GMenuModel *app_menu)
{
+ g_free (application->priv->app_menu_path);
gtk_application_x11_publish_menu (application, "appmenu", app_menu,
&application->priv->app_menu_id,
&application->priv->app_menu_path);
@@ -227,6 +228,7 @@ static void
gtk_application_set_menubar_x11 (GtkApplication *application,
GMenuModel *menubar)
{
+ g_free (application->priv->menubar_path);
gtk_application_x11_publish_menu (application, "menubar", menubar,
&application->priv->menubar_id,
&application->priv->menubar_path);
@@ -664,6 +666,17 @@ gtk_application_finalize (GObject *object)
g_clear_object (&application->priv->app_menu);
g_clear_object (&application->priv->menubar);
+#ifdef GDK_WINDOWING_X11
+ g_free (application->priv->app_menu_path);
+ g_free (application->priv->menubar_path);
+
+ g_free (application->priv->client_path);
+ g_free (application->priv->app_id);
+
+ g_clear_object (&application->priv->sm_proxy);
+ g_clear_object (&application->priv->client_proxy);
+#endif
+
G_OBJECT_CLASS (gtk_application_parent_class)
->finalize (object);
}