Fail gracefully when trying to use non-existing plugins
When invoking gnome-calls -p NOT-A-PROVIDER
we currently get a few warnings/criticals:
(sm.puri.Calls:201940): GLib-GObject-WARNING **: 18:14:38.964: invalid (NULL) pointer instance
Thread 1 "gnome-calls" received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff7e5f332 in g_logv () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
(gdb) bt
#0 0x00007ffff7e5f332 in g_logv () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1 0x00007ffff7e5f59f in g_log () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007ffff7f6a0ea in g_type_check_instance ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#3 0x00007ffff7f52b6c in g_signal_connect_object ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4 0x0000555555566a87 in provider_changed_cb (self=0x555555968710)
at ../src/calls-new-call-box.c:212
#5 0x00007ffff7f68391 in g_type_create_instance ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6 0x00007ffff7f4e615 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7 0x00007ffff7f4fb1d in g_object_new_with_properties ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8 0x00007ffff7f505f1 in g_object_new ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9 0x0000555555566cc9 in calls_new_call_box_new ()
at ../src/calls-new-call-box.c:270
#10 0x0000555555567b1a in constructed (object=0x5555558b62e0)
at ../src/calls-main-window.c:371
#11 0x00007ffff7f4e6f7 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff7f50264 in g_object_new_valist ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007ffff7f505c9 in g_object_new ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x00005555555682db in calls_main_window_new
(application=<optimized out>, record_store=<optimized out>)
at ../src/calls-main-window.c:498
#15 0x000055555556935f in start_proper (self=0x5555555bf140)
at ../src/calls-application.c:377
#16 0x0000555555569bc0 in start_proper (self=0x5555555bf140)
at ../src/calls-application.c:361
#17 activate (application=<optimized out>) at ../src/calls-application.c:461
#18 0x00007ffff7f492ee in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007ffff7f61a48 in g_signal_emit_valist ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007ffff7f61c3f in g_signal_emit ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x00007ffff7450338 in () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#22 0x00007ffff74504ae in g_application_run ()
at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#23 0x0000555555561a96 in main (argc=3, argv=0x7fffffffe758)
at ../src/main.c:43
(gdb) c
Continuing.
(sm.puri.Calls:201940): GLib-GObject-CRITICAL **: 18:14:47.557: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Thread 1 "gnome-calls" received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff7e5f332 in g_logv () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
(gdb) bt
#0 0x00007ffff7e5f332 in g_logv () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1 0x00007ffff7e5f59f in g_log () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007ffff7f52b8a in g_signal_connect_object ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#3 0x0000555555566a87 in provider_changed_cb (self=0x555555968710)
at ../src/calls-new-call-box.c:212
#4 0x00007ffff7f68391 in g_type_create_instance ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5 0x00007ffff7f4e615 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6 0x00007ffff7f4fb1d in g_object_new_with_properties ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7 0x00007ffff7f505f1 in g_object_new ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8 0x0000555555566cc9 in calls_new_call_box_new ()
at ../src/calls-new-call-box.c:270
#9 0x0000555555567b1a in constructed (object=0x5555558b62e0)
at ../src/calls-main-window.c:371
#10 0x00007ffff7f4e6f7 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff7f50264 in g_object_new_valist ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff7f505c9 in g_object_new ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00005555555682db in calls_main_window_new
(application=<optimized out>, record_store=<optimized out>)
at ../src/calls-main-window.c:498
#14 0x000055555556935f in start_proper (self=0x5555555bf140)
at ../src/calls-application.c:377
#15 0x0000555555569bc0 in start_proper (self=0x5555555bf140)
at ../src/calls-application.c:361
#16 activate (application=<optimized out>) at ../src/calls-application.c:461
#17 0x00007ffff7f492ee in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007ffff7f61a48 in g_signal_emit_valist ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007ffff7f61c3f in g_signal_emit ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007ffff7450338 in () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#21 0x00007ffff74504ae in g_application_run ()
at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#22 0x0000555555561a96 in main (argc=3, argv=0x7fffffffe758)
at ../src/main.c:43
(gdb) c
Continuing.
(sm.puri.Calls:201940): GLib-GIO-CRITICAL **: 18:14:56.509: g_list_model_get_n_items: assertion 'G_IS_LIST_MODEL (list)' failed
Thread 1 "gnome-calls" received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff7e5f332 in g_logv () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
(gdb) bt
#0 0x00007ffff7e5f332 in g_logv () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1 0x00007ffff7e5f59f in g_log () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007ffff7434cca in g_list_model_get_n_items ()
at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#3 0x00005555555668e3 in origin_count_changed_cb (self=0x555555968710)
at ../src/calls-new-call-box.c:186
#4 0x00007ffff7f68391 in g_type_create_instance ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5 0x00007ffff7f4e615 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6 0x00007ffff7f4fb1d in g_object_new_with_properties ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7 0x00007ffff7f505f1 in g_object_new ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8 0x0000555555566cc9 in calls_new_call_box_new ()
at ../src/calls-new-call-box.c:270
#9 0x0000555555567b1a in constructed (object=0x5555558b62e0)
at ../src/calls-main-window.c:371
#10 0x00007ffff7f4e6f7 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff7f50264 in g_object_new_valist ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff7f505c9 in g_object_new ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00005555555682db in calls_main_window_new
(application=<optimized out>, record_store=<optimized out>)
at ../src/calls-main-window.c:498
#14 0x000055555556935f in start_proper (self=0x5555555bf140)
at ../src/calls-application.c:377
#15 0x0000555555569bc0 in start_proper (self=0x5555555bf140)
at ../src/calls-application.c:361
#16 activate (application=<optimized out>) at ../src/calls-application.c:461
#17 0x00007ffff7f492ee in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007ffff7f61a48 in g_signal_emit_valist ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007ffff7f61c3f in g_signal_emit ()
at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007ffff7450338 in () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#21 0x00007ffff74504ae in g_application_run ()
at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#22 0x0000555555561a96 in main (argc=3, argv=0x7fffffffe758)
at ../src/main.c:43