summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/tab-page.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/tab-page.c b/src/tab-page.c
index 76fdd78..15467ad 100644
--- a/src/tab-page.c
+++ b/src/tab-page.c
@@ -47,7 +47,7 @@ struct _MqTabPage {
GtkBox parent_instance;
CreateType create_type;
MqWindow *window;
- const gchar *uri;
+ gchar *uri;
MqTabPage *source;
MqTabPage *root;
MqTabPage *parent;
@@ -221,6 +221,18 @@ constructed(GObject *object)
}
static void
+finalize(GObject *object)
+{
+ MqTabPage *tab_page;
+
+ tab_page = MQ_TAB_PAGE(object);
+
+ g_free(tab_page->uri);
+
+ G_OBJECT_CLASS(mq_tab_page_parent_class)->finalize(object);
+}
+
+static void
get_property(GObject *object, guint property_id, GValue *value,
GParamSpec *param_spec)
{
@@ -264,6 +276,7 @@ set_property(GObject *object, guint property_id, const GValue *value,
tab_page->window = g_value_get_pointer(value);
break;
case PROP_URI:
+ g_free(tab_page->uri);
tab_page->uri = g_strdup(g_value_get_string(value));
break;
case PROP_SOURCE:
@@ -282,6 +295,7 @@ mq_tab_page_class_init(MqTabPageClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS(klass);
object_class->constructed = constructed;
+ object_class->finalize = finalize;
object_class->get_property = get_property;
object_class->set_property = set_property;