shell-window-tracker: Fix signal handler leak
Disconnect the on_wm_class_changed handler when removing a window in disassociate_window(). https://bugzilla.gnome.org/show_bug.cgi?id=652388
This commit is contained in:
parent
1301dee744
commit
1309b64c33
@ -487,7 +487,10 @@ disassociate_window (ShellWindowTracker *self,
|
|||||||
g_hash_table_remove (self->window_to_app, window);
|
g_hash_table_remove (self->window_to_app, window);
|
||||||
|
|
||||||
if (shell_window_tracker_is_window_interesting (window))
|
if (shell_window_tracker_is_window_interesting (window))
|
||||||
|
{
|
||||||
_shell_app_remove_window (app, window);
|
_shell_app_remove_window (app, window);
|
||||||
|
g_signal_handlers_disconnect_by_func (window, G_CALLBACK(on_wm_class_changed), self);
|
||||||
|
}
|
||||||
|
|
||||||
g_signal_emit (self, signals[TRACKED_WINDOWS_CHANGED], 0);
|
g_signal_emit (self, signals[TRACKED_WINDOWS_CHANGED], 0);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user