diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2014-11-16 23:46:08 +0100 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2014-11-17 03:56:42 +0100 |
commit | 2542eb02648294256a01ae4ecb6ac81bc8ab5094 (patch) | |
tree | 81166dbe78031f7764ca2d6d4925d96283ac29c5 /src/interface-gtk.cpp | |
parent | e762a43754ba375789fa749ca2e00a3548500d6a (diff) | |
download | sciteco-2542eb02648294256a01ae4ecb6ac81bc8ab5094.tar.gz |
Make sure QRegister::view is properly initialized and cleaned up
* it must be initialized after the UI (Interface::main), so I added
a View::initialize() function
* the old initialize() method was renamed to setup()
* use a global instance of QRegister::view so it is guaranteed to
be destroyed only after any QRegisters that could still need it
* Document API adapted to work with ViewCurrent references
Diffstat (limited to 'src/interface-gtk.cpp')
-rw-r--r-- | src/interface-gtk.cpp | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/src/interface-gtk.cpp b/src/interface-gtk.cpp index ed5a8c9..3421d6f 100644 --- a/src/interface-gtk.cpp +++ b/src/interface-gtk.cpp @@ -53,7 +53,8 @@ static gboolean exit_app(GtkWidget *w, GdkEventAny *e, gpointer p); #define UNNAMED_FILE "(Unnamed)" -ViewGtk::ViewGtk() +void +ViewGtk::initialize_impl(void) { sci = SCINTILLA(scintilla_new()); /* @@ -70,17 +71,7 @@ ViewGtk::ViewGtk() g_signal_connect(G_OBJECT(sci), SCINTILLA_NOTIFY, G_CALLBACK(scintilla_notify), NULL); - initialize(); -} - -ViewGtk::~ViewGtk() -{ - /* - * This does NOT destroy the Scintilla object - * and GTK widget, if it is the current view - * (and therefore added to the vbox). - */ - g_object_unref(G_OBJECT(sci)); + setup(); } void |