/* 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();
That said, there is this code on the other side:
/* NOTE: We're not using any other variables before checking proxy_new_ finish( res, &error);
g_warning( "Unable to get menu proxy: %s", error->message);
g_error_ free(error) ;
return;
the result because they could be destroyed and thus invalid */
GDBusProxy * proxy = g_dbus_
if (error != NULL) {
}
/* 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 */ menuproxy_ cancel == NULL) {
priv- >menuproxy_ cancel = g_cancellable_ new();
if (priv->