forked from AuroraMiddleware/gtk
actionmuxer: check for observer before unregistering
This can happen if the group can be resolved even when doing the initial registration of an action as observer will not yet be in the GSList of watchers (and therefore has no weak references). Fixes a warning like the following: g_object_weak_unref: couldn't find weak ref
This commit is contained in:
parent
547b2891cb
commit
0382e3b46c
@ -991,13 +991,15 @@ gtk_action_muxer_unregister_observer (GtkActionObservable *observable,
|
||||
GtkActionObserver *observer)
|
||||
{
|
||||
GtkActionMuxer *muxer = GTK_ACTION_MUXER (observable);
|
||||
Action *action;
|
||||
Action *action = find_observers (muxer, name);
|
||||
|
||||
action = find_observers (muxer, name);
|
||||
if (action)
|
||||
{
|
||||
g_object_weak_unref (G_OBJECT (observer), gtk_action_muxer_weak_notify, action);
|
||||
gtk_action_muxer_unregister_internal (action, observer);
|
||||
if (g_slist_find (action->watchers, observer) != NULL)
|
||||
{
|
||||
g_object_weak_unref (G_OBJECT (observer), gtk_action_muxer_weak_notify, action);
|
||||
gtk_action_muxer_unregister_internal (action, observer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user