Date field and pressing escape.
gtk_widget_destroy() ran the signals on the dialog controls which
tried to access the XferDialog data, but since gnc_xfer_dialog_close_cb()
had already run that memory had been freed and then used by the std::string
in GncDate::format; later handlers attempting to access the XferData had
garbage pointers to work with, causing a crash.
Running gtk_widget_destroy() first preserves the pointers long enough for
the dialog control callbacks to function without crashing.
Change from using a GtkDialog to a GtkWindow to stop the transient
parent warning and add parent for cancel dialog. No strings have been
changed just the top level container.
When glade files are saved which have GtkAssistants defined a packing
section is added to the assistant action area which then causes a
warning so remove them.
unittest_support.py is in ${CMAKE_SOURCE_DIR} for a tarball build
and ${CMAKE_BINARY_DIR} for a vcs build. Look for it rather than
assuming it's in ${CMAKE_BINARY_DIR}.
I ran into this while trying to load a utf-16 encoded file
and loading a saved preset using utf-8. By applying the preset
the columns in the utf-16 file were no longer detected, but
the importer was still trying to read from a preset account column.
This information is not relevant outside of the settings code
The way it's implemented now each settings module defines its
own unique prefix and the generic code can just use it when
needed.
Make it more RAII, in that whatever the class allocates, it should
also deallocate. This simplifies a couple of memory handling cases.
The only exception is the generic import matcher that for some reason
has chosen to deallocate itself. To be fixed when more importers are
converted to c++
As the assistant code combines multiple memory management models care should be taken
not to mix them up. The notes should give some insights in how to do this.
Also fix a few minor issues
- delete default copy and move constructor/assignment for the assistant gui class
- nullify a freed pointer
When selecting the File->New with existing register pages open a crash
can happen as the register pages get closed forcing a page-changed
signal to queue the page focus function when there is no page. Add a
call to remove the page focus function in the ..destroy_widget function.
Also with the addition of g_idle_remove before the add when page-changed
is emitted the page focus function only gets run once.