That said, there is this code on the other side:
/* NOTE: We're not using any other variables before checking
the result because they could be destroyed and thus invalid */
GDBusProxy * proxy = g_dbus_proxy_new_finish(res, &error);
if (error != NULL) {
g_warning("Unable to get menu proxy: %s", error->message);
g_error_free(error);
return;
}
/* If this wasn't cancelled, we should be good */
DbusmenuClient * client = DBUSMENU_CLIENT(user_data);
so even though the client may not be around, the callback should return
before attempting to deal with the client.
The cancellable is cancelled from the dispose().
It seems that it is not possible for multiple concurrent calls to get
stacked (ie: and the cancellable overwritten with a new one) because of
this check:
/* Check to see if we're already building one */
if (priv->menuproxy_cancel == NULL) {
priv->menuproxy_cancel = g_cancellable_new();
g_dbus_proxy_new(priv->session_bus,
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/953562
Title:
hud-service crashed with SIGSEGV in menuproxy_build_cb()
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/indicator-appmenu/+bug/953562/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs