Merge lp:~cimi/overlay-scrollbar/various-fixes-to-mem-leaks-and-dispose into lp:overlay-scrollbar
Proposed by
Andrea Cimitan
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Ted Gould | ||||
Approved revision: | 202 | ||||
Merged at revision: | 201 | ||||
Proposed branch: | lp:~cimi/overlay-scrollbar/various-fixes-to-mem-leaks-and-dispose | ||||
Merge into: | lp:overlay-scrollbar | ||||
Diff against target: |
135 lines (+44/-18) 3 files modified
os/os-pager.c (+18/-0) os/os-scrollbar.c (+3/-9) os/os-thumb.c (+23/-9) |
||||
To merge this branch: | bzr merge lp:~cimi/overlay-scrollbar/various-fixes-to-mem-leaks-and-dispose | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ted Gould (community) | Approve | ||
Review via email: mp+56800@code.launchpad.net |
Description of the change
A lot of object were not freed/disposed/
To post a comment you must log in.
review needsfixing
On Thu, 2011-04-07 at 16:18 +0000, Andrea Cimitan wrote: destroy( ) does this for me. */ pager_window) ; pager_window) ;
> @@ -265,6 +267,20 @@
> priv->animation = NULL;
> }
>
> + if (priv->pager_window != NULL)
> + {
> + /* FIXME(Cimi) g_object_destroy doesn't seem
> + * to clear the background.
> + * Maybe I need to clear it using cairo,
> + * but gdk_window_
> + gdk_window_destroy (priv->
> +
> + g_object_unref (priv->
> + priv->pager_window = NULL;
You shouldn't need to destroy and unref. That could cause problems.
> + if (priv-> grabbed_ widget != NULL) grabbed_ widget) ; widget = gtk_grab_ get_current (); grabbed_ widget != NULL) grabbed_ widget) ; grabbed_ widget) ; grabbed_ widget) ; parent_ class)- >map (widget);
> + g_object_unref (priv->
> +
> priv->grabbed_
>
> if (priv->
> - gtk_grab_remove (priv->
> + {
> + g_object_ref_sink (priv->
> +
> + gtk_grab_remove (priv->
> + }
>
> GTK_WIDGET_CLASS (os_thumb_
> }
After unref'ing the grabbed_widget you need to set it to NULL otherwise
the if won't work correctly.