Skip to content

Some life cycle fixes

Guido Günther requested to merge guidog/calls:lifecycle-fixes into main

This goes on top of the non WIP parts of !755 (merged) and fixes life cycles of hash tables and list models along with some other cleanups.

* history-box: No need to unparent the stack

  GTK cleans up for us
  
* calls-manager: Don't leak hash tables

  For that to work we need to hold the ref on self->origins_flat
  as it would otherwise be cleaned up twice.
  
* history-box: Keep ref on list model

  The gtk_*list_model_new() functions are `transfer: full` for the model.
  
* calls-manager: Keep ref on list-models

  The gtk_*list_model_new() functions are `transfer: full` for the model.
  Since we keep accessing the underlying models we keep the refs for clear
  ownership and drop them in finalize.
  
* call-record-row: Drop superfluous cast

* call-record-row: Use g_clear_signal_handler

  glib is recent enough nowadays
  
* util: Drop now unused macros

Merge request reports