GNOME Bugzilla – Bug 783548
Invoking the application when a primary instance is present leads to CRITICALs
Last modified: 2017-06-08 18:19:17 UTC
While one instance of gnome-documents is running, trying to spawn another from the terminal leads to: GLib-GIO-CRITICAL **: g_dbus_interface_skeleton_unexport_from_connection: assertion 'interface_->priv->connections != NULL' failed This is because the dbus_unregister method can be called multiple times. In fact, earlier [1], it could also be called from GApplication::finalize, which is usually after the child class' dispose and finalize methods. [1] Before https://git.gnome.org/browse/glib/commit/?id=21b1c390a3ce1f7e2816c6309f161c4b92470c46
Created attachment 353387 [details] [review] application: Avoid CRITICALs if a primary instance is already present
Created attachment 353388 [details] [review] application: Instantiate ShellSearchProvider only when registering
Created attachment 353389 [details] [review] application: Assert that the ShellSearchProvider's lifetime is sane
Created attachment 353390 [details] [review] application: Don't unexport a skeleton that was never exported
(In reply to Debarshi Ray from comment #0) > In fact, earlier [1], it could also be called from GApplication::finalize, > which is usually after the child class' dispose and finalize methods. > > [1] Before > https://git.gnome.org/browse/glib/commit/ > ?id=21b1c390a3ce1f7e2816c6309f161c4b92470c46 For the sake of curiosity there is some discussion in bug 725950
Review of attachment 353387 [details] [review]: OK
Review of attachment 353388 [details] [review]: Sure
Review of attachment 353389 [details] [review]: OK
Review of attachment 353390 [details] [review]: OK
Thanks for the quick reviews!