Commit Graph

21 Commits

Author SHA1 Message Date
Guido Günther
a7caa59fba account-overview: Ref list models
GTK4's filters models swallow the reference.

Without this calls crashes like this:

```
    #0  g_type_check_instance (type_instance=type_instance@entry=0x555c0f84ce90) at ../../../gobject/gtype.c:4024
    #1  0x00007f0837af6e18 in g_signal_handlers_disconnect_matched
        (instance=0x555c0f84ce90, mask=mask@entry=(G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), signal_id=signal_id@entry=0, detail=detail@entry=0, closure=closure@entry=0x0, func=func@entry=0x7f0836f828a0 <gtk_filter_list_model_items_changed_cb>, data=0x555c0f84f1b0) at ../../../gobject/gsignal.c:3007
    #2  0x00007f0836f82459 in gtk_filter_list_model_clear_model (self=self@entry=0x555c0f84f1b0 [GtkFilterListModel]) at ../../../gtk/gtkfilterlistmodel.c:497
    #3  0x00007f0836f824f4 in gtk_filter_list_model_clear_model (self=0x555c0f84f1b0 [GtkFilterListModel]) at ../../../gtk/gtkfilterlistmodel.c:493
    #4  gtk_filter_list_model_dispose (object=0x555c0f84f1b0 [GtkFilterListModel]) at ../../../gtk/gtkfilterlistmodel.c:661
    #5  0x00007f0837ae1289 in g_object_unref (_object=0x555c0f84f1b0) at ../../../gobject/gobject.c:4438
    #6  0x00007f08379b47f3 in g_hash_table_remove_all_nodes (hash_table=hash_table@entry=0x555c0f84d2c0, notify=notify@entry=1, destruction=destruction@entry=1)
        at ../../../glib/ghash.c:656
    #7  0x00007f08379b53a3 in g_hash_table_remove_all_nodes (hash_table=0x555c0f84d2c0, notify=1, destruction=1) at ../../../glib/ghash.c:578
    #8  g_hash_table_unref (hash_table=0x555c0f84d2c0) at ../../../glib/ghash.c:1438
    #9  g_hash_table_unref (hash_table=0x555c0f84d2c0) at ../../../glib/ghash.c:1432
    #10 0x0000555bf0b649b2 in calls_manager_finalize (object=0x555c0f84b800 [CallsManager]) at ../src/calls-manager.c:465
    #11 0x00007f0837ae14fe in g_object_unref (_object=0x555c0f84b800) at ../../../gobject/gobject.c:4509
    #12 0x0000555bf0b5b92d in finalize (object=0x555c0f82fcb0 [CallsApplication]) at ../src/calls-application.c:780
    #13 0x00007f0837ae14fe in g_object_unref (_object=0x555c0f82fcb0) at ../../../gobject/gobject.c:4509
    #14 0x0000555bf0b58cd4 in main (argc=1, argv=0x7fffc05d57a8) at ../src/main.c:47
```

Steps to reproduce:

- start calls
- open account dialog
- close account dialog
- hit control-c to end calls daemon
- observe above crash

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/777>
2025-05-05 12:37:05 +00:00
Anton Lazarev
51e74ef595 treewide: Ensure memory is not disposed multiple times
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/714>
2024-04-06 08:15:28 -07:00
Anton Lazarev
76697050e8 calls-in-app-notification: migrate to AdwToastOverlay
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/714>
2024-04-06 08:15:27 -07:00
Anton Lazarev
861ea19a62 calls-account-overview: Use content property for AdwWindow
https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/migrating-libhandy-1-4-to-libadwaita.html#adapt-to-gtkcontainer-removal

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/714>
2024-04-06 08:15:27 -07:00
Anton Lazarev
ef0b5a9ff8 treewide: Adapt to GtkHeaderBar API changes
https://docs.gtk.org/gtk4/migrating-3to4.html#adapt-to-gtkheaderbar-and-gtkactionbar-api-changes

- `show-close-button` replaced with `show_title_buttons` wherever
  applicable, respecting new default value of `TRUE`
- `title` removed and managed by setting window title if needed
    - NOTE: I'm not 100% sure if the title logic here matches the GTK3
      version. I also just removed the SIP account widget titles
      altogether, since it's I couldn't figure out where the widget gets
      placed.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/714>
2024-04-06 08:15:26 -07:00
Anton Lazarev
e5c73011e2 calls-account-overview: Adapt to event controller API changes
https://docs.gtk.org/gtk4/migrating-3to4.html#adapt-to-event-controller-api-changes

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/714>
2024-04-06 08:15:25 -07:00
Anton Lazarev
0727996edf calls-account-overview: Adapt to GtkBin/GtkContainer removal
https://docs.gtk.org/gtk4/migrating-3to4.html#adapt-to-gtkbin-removal

https://docs.gtk.org/gtk4/migrating-3to4.html#adapt-to-gtkcontainer-removal

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/714>
2024-04-06 08:15:25 -07:00
Anton Lazarev
34a7651f44 treewide: Replace hide/show with set_visible
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/714>
2024-04-06 08:15:24 -07:00
Anton Lazarev
ee3abc009a treewide: Replace libhandy with libadwaita
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/714>
2024-04-06 08:15:24 -07:00
Anton Lazarev
bc90d6e64f gtklistmodels: remove gtklistmodels polyfills
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/714>
2024-04-06 08:15:24 -07:00
Evangelos Ribeiro Tzaras
d3e42c93cd refactor: Switch to CallsPluginManager 2023-05-20 04:04:50 +02:00
Evangelos Ribeiro Tzaras
47bb3aaa62 account-overview: Respect object life cycle for signal handlers
Prevents the following failed assertion when shutting down Calls:

CallsAccountOverview:ERROR:../src/calls-account-overview.c:222:update_account_list: assertion failed: (CALLS_IS_ACCOUNT_OVERVIEW (self))
2023-04-18 08:34:39 +00:00
Evangelos Ribeiro Tzaras
656c8f96bf account-overview: Respect object lifecycle for signals 2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras
f997048a38 build: Rename config.h to calls-config.h
This guards against accidentally including configuration from elsewhere.
2022-12-22 15:08:18 +00:00
Evangelos Ribeiro Tzaras
0ead013d4d account-overview: Set window title
Set window title for the overview as well for adding or editing an account.
2022-11-18 13:49:47 +00:00
Evangelos Ribeiro Tzaras
7135d02e3e account-overview: Close windows when pressing Escape
Closes: #511
2022-11-18 13:49:47 +00:00
Evangelos Ribeiro Tzaras
c1be092dea account-widgets: Make row activatable
This brings us closer to the intended design and let's us get rid of
some code.
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
7ac862155b Uncrustify sources
Ran `find src plugins -iname '*.[c|h]' -print0 | xargs -0 uncrustify --no-backup`
with some minimal manual intervention.
2022-04-24 12:59:42 +02:00
Evangelos Ribeiro Tzaras
2a9791a9a3 account-overview: Show notification on account message
Accounts implement the CallsMessageSource interface and emit messages when
there are state changes of which the user should be informed.

Closes #340
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
803e089cfc account-overview: Hook up available providers
Fixes #264.
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro Tzaras
fc7156fe75 Introduce CallsAccountOverview: A UI to allow managing VoIP accounts
CallsAccountOverview allows user to view, add and edit VoIP accounts
(currently SIP only).

Each CallsAccount is represented by a CallsAccountRow.

account-row: Staying alive
2021-07-20 10:17:17 +02:00