The model stores GtkTreeRowReference-s in its private data, but these
references ref the model, thus there is a circular dependency between
internal data and the object itself, effectively causing memory leaks.
With this fixed, the CamelSession is correctly freed at the end of
the application.
The "dialog-apply" icon is not from a set of standard icons, thus
it cannot be used, which I overlooked yesterday. With its drop are
also dropped other button icons in itip-formatter.
The missing icon made EStockRequest "panic" which effectively broke
page rendering for WebKit - the rendering was never finished.
After account autoconfiguration, you can click the "Go Back" button to
revise the account details. That's been in place for some time now, but
it's not obvious from the button label. "Go Back" implies going back to
the Identity page.
Temporarily rename the "Go Back" button on the Summary page to something
more accurate after a successful autoconfiguration, then reset it to its
original "Go Back" label.
Unfortunately the GtkAssistant API does not make this easy. I had to
resort to crawling the assistant's internal child widgets and comparing
button labels to locate the right button. So this hack may not be very
future-proof.
Both 'groupings' and 'sortings' arrays unref the 'column_spec' on removal,
but the 'duplicate' function didn't ref them, which caused use-after-free
at the end of the application.
Any GtkWidget creation or manipulation should be done exclusively
from the main/UI thread, thus make sure it is done that way.
Of course, evolution can freeze for a little time (depends on the message
size), until its formatting is done. It's unnoticeable with usual messages.