diff options
author | DiffieHellman <DiffieHellman@endianness.com> | 2024-02-10 21:53:11 +1100 |
---|---|---|
committer | DiffieHellman <DiffieHellman@endianness.com> | 2024-02-10 22:24:02 +1100 |
commit | fde6e0c9f62fc636b45e9fa150bb3f6e4dc01c39 (patch) | |
tree | 4f93d42d4beea168e630525665b1137f6f0dec9c | |
parent | 1cf1900b37e004b8b77eb40e398ab2c239460266 (diff) | |
download | litos4-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.c | 50 | ||||
-rw-r--r-- | page.h | 2 |
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; @@ -4,7 +4,7 @@ struct Page GtkWidget *close_btn_box; GtkWidget *scrolled; GtkTextBuffer *buffer; - char *name; + gchar *name; GFile *gf; GtkWidget *view; GtkWidget *lbl; |