diff options
author | Robin Gareus <robin@gareus.org> | 2013-08-03 13:45:27 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-08-03 13:45:27 +0200 |
commit | 3ca63cc38c4f2de826e12e8c3b4bb24ff29b9b38 (patch) | |
tree | fd2081aaec9ed70656f1d4f5eef264f67b5ce9ee /gtk2_ardour/port_matrix.cc | |
parent | b14d9a6451124434e174c1d14393dab7f3641e82 (diff) |
fix gtk "child->parent == NULL" asserts
Diffstat (limited to 'gtk2_ardour/port_matrix.cc')
-rw-r--r-- | gtk2_ardour/port_matrix.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gtk2_ardour/port_matrix.cc b/gtk2_ardour/port_matrix.cc index 60f86ae888..2872ad6605 100644 --- a/gtk2_ardour/port_matrix.cc +++ b/gtk2_ardour/port_matrix.cc @@ -336,6 +336,13 @@ PortMatrix::select_arrangement () _vbox.pack_end (_vnotebook, false, false); _vbox.pack_end (_vspacer, true, true); +#define REMOVE_FROM_GTK_PARENT(WGT) if ((WGT).get_parent()) { (WGT).get_parent()->remove(WGT);} + REMOVE_FROM_GTK_PARENT(*_body) + REMOVE_FROM_GTK_PARENT(_vscroll) + REMOVE_FROM_GTK_PARENT(_hscroll) + REMOVE_FROM_GTK_PARENT(_vbox) + REMOVE_FROM_GTK_PARENT(_hbox) + attach (*_body, 2, 3, 1, 2, FILL | EXPAND, FILL | EXPAND); attach (_vscroll, 3, 4, 1, 2, SHRINK); attach (_hscroll, 2, 3, 3, 4, FILL | EXPAND, SHRINK); @@ -355,6 +362,12 @@ PortMatrix::select_arrangement () _vbox.pack_end (_vnotebook, false, false); _vbox.pack_end (_vlabel, false, false); + REMOVE_FROM_GTK_PARENT(*_body) + REMOVE_FROM_GTK_PARENT(_vscroll) + REMOVE_FROM_GTK_PARENT(_hscroll) + REMOVE_FROM_GTK_PARENT(_vbox) + REMOVE_FROM_GTK_PARENT(_hbox) + attach (*_body, 1, 2, 2, 3, FILL | EXPAND, FILL | EXPAND); attach (_vscroll, 3, 4, 2, 3, SHRINK); attach (_hscroll, 1, 2, 3, 4, FILL | EXPAND, SHRINK); |