[gnome-bluetooth] Fix a bunch of memory leaks in moblin applet
- From: Tambet Ingo <tambeti src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnome-bluetooth] Fix a bunch of memory leaks in moblin applet
- Date: Wed, 9 Dec 2009 16:07:02 +0000 (UTC)
commit 0802f589f7f097c41d1efda3645285a0dd898940
Author: Tambet Ingo <tambet gmail com>
Date: Wed Dec 9 17:52:59 2009 +0200
Fix a bunch of memory leaks in moblin applet
Additionally, fix a memory corruption and attach the "label_failure" widget
to the page.
moblin/moblin-panel.c | 19 ++++++++++++++-----
1 files changed, 14 insertions(+), 5 deletions(-)
---
diff --git a/moblin/moblin-panel.c b/moblin/moblin-panel.c
index c345a28..438b059 100644
--- a/moblin/moblin-panel.c
+++ b/moblin/moblin-panel.c
@@ -167,6 +167,7 @@ enable_send_file (MoblinPanel *self)
guint i;
const char **uuids;
+ g_free (name);
bluetooth_chooser_get_selected_device_info (chooser, "uuids", &value);
uuids = (const char **) g_value_get_boxed (&value);
@@ -244,7 +245,7 @@ send_file_button_clicked_cb (GtkButton *button,
GPtrArray *a;
GError *err = NULL;
guint i;
- const char *address, *name;
+ char *address, *name;
address = bluetooth_chooser_get_selected_device (chooser);
name = bluetooth_chooser_get_selected_device_name (chooser);
@@ -265,6 +266,9 @@ send_file_button_clicked_cb (GtkButton *button,
}
g_ptr_array_add (a, NULL);
+ g_free (address);
+ g_free (name);
+
if (g_spawn_async(NULL, (char **) a->pdata, NULL,
G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, &err) == FALSE) {
g_printerr("Couldn't execute command: %s\n", err->message);
@@ -487,7 +491,6 @@ browse_clicked (GtkCellRenderer *renderer, const gchar *path, gpointer user_data
/* Get address */
if (bluetooth_chooser_get_selected_device_info (chooser, "address", &value)) {
address = g_value_get_string (&value);
- g_value_unset (&value);
}
if (address == NULL) {
@@ -497,6 +500,8 @@ browse_clicked (GtkCellRenderer *renderer, const gchar *path, gpointer user_data
g_printerr("Couldn't execute command: %s\n", cmd);
g_free (cmd);
}
+
+ g_value_unset (&value);
}
static void
@@ -726,12 +731,14 @@ create_callback (BluetoothClient *client, const gchar *path, const GError *error
{
MoblinPanel *self = MOBLIN_PANEL (user_data);
MoblinPanelPrivate *priv = MOBLIN_PANEL_GET_PRIVATE (self);
- gchar *device_name = bluetooth_chooser_get_selected_device_name (BLUETOOTH_CHOOSER (priv->chooser));
+ gchar *device_name;
priv->create_started = FALSE;
if (path == NULL) {
+ device_name = bluetooth_chooser_get_selected_device_name (BLUETOOTH_CHOOSER (priv->chooser));
set_failure_message (self, device_name);
+ g_free (device_name);
set_current_page (self, PAGE_FAILURE);
return;
}
@@ -798,10 +805,10 @@ pair_clicked (GtkCellRenderer *renderer, const gchar *path, gpointer user_data)
}
g_free (priv->target_address);
- priv->target_address = g_strdup (address);
+ priv->target_address = address;
g_free (priv->target_name);
- priv->target_name = g_strdup (name);
+ priv->target_name = name;
priv->target_type = type;
priv->target_ssp = !legacy_pairing;
@@ -1113,7 +1120,9 @@ create_failure_page (MoblinPanel *self)
gtk_widget_show (vbox);
gtk_container_add (GTK_CONTAINER (page), vbox);
priv->label_failure = gtk_label_new ("");
+ gtk_misc_set_alignment (GTK_MISC (priv->label_failure), 0.0, 0.5);
gtk_widget_show (priv->label_failure);
+ gtk_box_pack_start (GTK_BOX (vbox), priv->label_failure, FALSE, FALSE, 6);
hbox = gtk_hbox_new (FALSE, 6);
gtk_widget_show (hbox);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]