After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 724891 - GtkTreeViewColumn::button never freed
GtkTreeViewColumn::button never freed
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: GtkTreeView
3.10.x
Other Linux
: Normal normal
: ---
Assigned To: gtktreeview-bugs
gtktreeview-bugs
Depends on:
Blocks:
 
 
Reported: 2014-02-21 13:33 UTC by Milan Crha
Modified: 2014-02-23 00:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
test program (945 bytes, text/plain)
2014-02-21 13:33 UTC, Milan Crha
Details

Description Milan Crha 2014-02-21 13:33:19 UTC
Created attachment 269919 [details]
test program

Please see the attached test program, which shows that GtkTreeViewColumn::button is never freed, while the column itself is freed. The first line of the test program contains a command line to build. Basically, anything what is shown as 'Tracking ...' should have its corresponding 'object_gone' print as well.

Current output of the test application is:

   Tracking tree_view: 0x21225c0
   Tracking renderer: 0x21094b0
   Tracking column: 0x213b920
   Tracking gtk_tree_view_column_get_button (column): 0x2141200
   object_gone: renderer: 0x21094b0
   object_gone: column: 0x213b920
   object_gone: tree_view: 0x21225c0
Comment 1 Olivier Brunel (jjacky) 2014-02-22 12:10:54 UTC
The was a duplicate of Bug 710195, which can therefore be closed as well...
Comment 2 Jasper St. Pierre (not reading bugmail) 2014-02-22 23:19:38 UTC
No, that looks like a separate issue, which should also be fixed. Matthias?
Comment 3 Olivier Brunel (jjacky) 2014-02-23 00:04:47 UTC
I believe it's the same issue, dealing with not properly handling the button when removing a column.

My patch (in bug 710195) switched a call from gtk_container_remove() to gtk_widget_unparent(), whereas the one committed made sure the call to gtk_container_remove() would work (i.e. calls gtk_widget_unparent() on the button in gtk_tree_view_remove()), but it ends up fixing the issue either way.

One way might be better than the other, but both are fixing it.

(But if you or anyone else wants to look at other treeview related bugs with patches that could be reviewed, may I suggest e.g. bugs 696965, 721597 or 696966 :))