Merge lp:~gaul/unity/on_entry_added_leak_5.0 into lp:unity/5.0

Proposed by Andrew Gaul on 2013-07-24
Status: Merged
Merged at revision: 2424
Proposed branch: lp:~gaul/unity/on_entry_added_leak_5.0
Merge into: lp:unity/5.0
Diff against target: 19 lines (+9/-0)
1 file modified
services/panel-service.c (+9/-0)
To merge this branch: bzr merge lp:~gaul/unity/on_entry_added_leak_5.0
Reviewer Review Type Date Requested Status
Marco Trevisan (Treviño) Approve on 2013-09-20
Christopher Townsend 2013-07-24 Needs Fixing on 2013-08-05
Review via email: mp+176754@code.launchpad.net

This proposal supersedes a proposal from 2013-07-24.

Commit message

PanelService: Disconnect signals connected in on_entry_added when removing an entry

To post a comment you must log in.
Marco Trevisan (Treviño) (3v1n0) wrote :

Cool, thanks however a couple of things: could you move this block above the comment block? And I think that it should be added the same also inside the for loop of panel_service_actually_remove_indicator

Christopher Townsend (townsend) wrote :

I'm going to mark this Needs Fixing based on Marco's comments.

review: Needs Fixing
Andrew Gaul (gaul) wrote :

Sorry I have not responded earlier; I will address these comments in trunk first then update this merge request.

Marco Trevisan (Treviño) (3v1n0) wrote :

Hi Andrew, no need to send the change in trunk (it's already there). Adding the change to this branch is enough.

Thanks.

Marco Trevisan (Treviño) (3v1n0) wrote :

As I don't see updates on this branch, I've fixed the missing bits and pushed this to lp:unity/5.0. Thanks for the contribution anyway Andrew! ;)

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'services/panel-service.c'
2--- services/panel-service.c 2012-04-13 09:11:31 +0000
3+++ services/panel-service.c 2013-07-24 18:22:27 +0000
4@@ -882,6 +882,15 @@
5 * FIXME this in libappmenu.so to avoid to send an "entry-removed" signal
6 * when switching the focus from a window to one of its dialog children */
7
8+ if (GTK_IS_LABEL (entry->label))
9+ {
10+ g_signal_handlers_disconnect_by_data (entry->label, object);
11+ }
12+ if (GTK_IS_IMAGE (entry->image))
13+ {
14+ g_signal_handlers_disconnect_by_data (entry->image, object);
15+ }
16+
17 gchar *entry_id = get_indicator_entry_id_by_entry (entry);
18 g_hash_table_remove (self->priv->id2entry_hash, entry_id);
19 g_free (entry_id);

Subscribers

People subscribed via source and target branches

to all changes: