Merge lp:~rye/ubuntuone-client/no-shared-cb-crash-stable-1-4 into lp:ubuntuone-client/stable-1-4
Status: | Merged |
---|---|
Approved by: | Alejandro J. Cura |
Approved revision: | 715 |
Merged at revision: | 716 |
Proposed branch: | lp:~rye/ubuntuone-client/no-shared-cb-crash-stable-1-4 |
Merge into: | lp:ubuntuone-client/stable-1-4 |
Diff against target: |
147 lines (+24/-22) 1 file modified
nautilus/ubuntuone-nautilus.c (+24/-22) |
To merge this branch: | bzr merge lp:~rye/ubuntuone-client/no-shared-cb-crash-stable-1-4 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alejandro J. Cura (community) | Approve | ||
Rodrigo Moya (community) | Approve | ||
Review via email: mp+36439@code.launchpad.net |
Commit message
Reuse shared structure to avoid crashes due to referencing already released memory.
Description of the change
This time the branch for stable-1-4 is proposed for merging into stable-1-4.
This branch fixes the crashes happening when people click Ubuntu One items in nautilus.
As tested by lp:~rye/+junk/nautilus-bogus-extension there is an extra call to menu entry generation code before activation handler. Since we allocate a new CBData structure every time this routine is called this should lead to a crash when g_free()d memory is referenced.
I agree that this is not an optimal way but it fixes the issue we've been having for quite a long time.
The trunk will have a proper version for this that will not have any shared structure thus eliminating all possible issues with concurrency. For Maverick this branch can be used.
Looks good.