summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDiffieHellman <DiffieHellman@endianness.com>2024-02-10 21:53:11 +1100
committerDiffieHellman <DiffieHellman@endianness.com>2024-02-10 22:24:02 +1100
commitfde6e0c9f62fc636b45e9fa150bb3f6e4dc01c39 (patch)
tree4f93d42d4beea168e630525665b1137f6f0dec9c
parent1cf1900b37e004b8b77eb40e398ab2c239460266 (diff)
downloadlitos4-fde6e0c9f62fc636b45e9fa150bb3f6e4dc01c39.tar.gz
litos4-fde6e0c9f62fc636b45e9fa150bb3f6e4dc01c39.tar.bz2
litos4-fde6e0c9f62fc636b45e9fa150bb3f6e4dc01c39.zip
make litos_file_set not segfault with behaviour that seems correct
modified: litosfile.c modified: litosfile.c modified: page.h modified: litosfile.c modified: page.h
-rw-r--r--litosfile.c50
-rw-r--r--page.h2
2 files changed, 27 insertions, 25 deletions
diff --git a/litosfile.c b/litosfile.c
index 4ff65fc..f63f962 100644
--- a/litosfile.c
+++ b/litosfile.c
@@ -149,30 +149,31 @@ LitosFile *litos_file_new()
GtkWidget * litos_file_get_lbl(LitosFile *file)
{
+ g_object_ref(file->lbl);
return file->lbl;
}
GtkWidget * litos_file_get_view(LitosFile *file)
{
-
+ g_object_ref(file->view);
return file->view;
}
GFile *litos_file_get_gfile(LitosFile* file)
{
-
+// GFile doesn't seem to be a Gobject
+// g_object_ref(file->gfile);
return file->gfile;
}
gchar *litos_file_get_name(LitosFile *file)
{
-
return file->name;
}
GtkTextBuffer *litos_file_get_buffer(LitosFile *file)
{
-
+ g_object_ref(file->buffer);
return file->buffer;
}
@@ -183,13 +184,13 @@ gboolean litos_file_get_saved(LitosFile *file)
void litos_file_reset_gfile(LitosFile *file)
{
-
+ g_object_ref(file->gfile);
file->gfile = NULL;
}
GtkWidget * litos_file_get_tabbox(LitosFile *file)
{
-
+ g_object_ref(file->tabbox);
return file->tabbox;
}
@@ -208,30 +209,30 @@ LitosFile * litos_file_set(struct Page *page)
{
LitosFile *file = litos_file_new();
-
+// g_object_ref(page->gf); //GFile doesn't seem to be a gobject
file->gfile = page->gf;
-
- file->name = page->name;
-
+ /* gchar isn't a Gobject */
+ file->name = page->name;
+
+ g_object_ref(page->scrolled);
+ file->scrolled = page->scrolled;
- file->scrolled = page->scrolled;
-
+ g_object_ref(page->tabbox);
+ file->tabbox = page->tabbox;
- file->tabbox = page->tabbox;
-
+ g_object_ref(page->close_btn_box);
+ file->close_btn_box = page->close_btn_box;
- file->close_btn_box = page->close_btn_box;
-
+ g_object_ref(page->view);
+ file->view = page->view;
- file->view = page->view;
-
+ g_object_ref(page->lbl);
+ file->lbl = page->lbl;
- file->lbl = page->lbl;
-
+ g_object_ref(page->buffer);
+ file->buffer = page->buffer;
- file->buffer = page->buffer;
-
g_signal_connect (file->buffer, "notify::text", G_CALLBACK (_buffer_monitor_change), file);
return file;
@@ -314,8 +315,9 @@ gboolean litos_file_save(LitosFile *file, GError *error)
void litos_file_save_as(LitosFile* file, GFile *new_file)
{
- /*if (new_file != NULL)
- g_object_ref(new_file);*/
+// gfile doesn't seem to be a gobject
+// if (new_file != NULL)
+// g_object_ref(new_file);
file->gfile = new_file;
diff --git a/page.h b/page.h
index 98ef8df..5373d45 100644
--- a/page.h
+++ b/page.h
@@ -4,7 +4,7 @@ struct Page
GtkWidget *close_btn_box;
GtkWidget *scrolled;
GtkTextBuffer *buffer;
- char *name;
+ gchar *name;
GFile *gf;
GtkWidget *view;
GtkWidget *lbl;