summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-04-27 16:21:27 +0200
committerRobin Gareus <robin@gareus.org>2017-04-27 16:23:48 +0200
commit410f94cf1b9c647c869d1cdd2b7e6fc415ebe0d0 (patch)
treebb9126c32d46a3b826a109554b91ecc6b260f355 /libs/gtkmm2ext
parent4521c1d5253fd6e16d5ee2cc7f691273925e5623 (diff)
Fix Editor/Mixer visibility (OSX, NSGLCanvas)
Only unpacking a widget retains the GdkWindow and and the widget is still mapped. The NSView is still visible. See also 235631a6.
Diffstat (limited to 'libs/gtkmm2ext')
-rw-r--r--libs/gtkmm2ext/tabbable.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/gtkmm2ext/tabbable.cc b/libs/gtkmm2ext/tabbable.cc
index 61e401f1a1..8653a6a29d 100644
--- a/libs/gtkmm2ext/tabbable.cc
+++ b/libs/gtkmm2ext/tabbable.cc
@@ -69,9 +69,11 @@ Tabbable::use_own_window (bool and_pack_it)
if (and_pack_it) {
Gtk::Container* parent = _contents.get_parent();
if (parent) {
+ _contents.hide ();
parent->remove (_contents);
}
_own_notebook.append_page (_contents);
+ _contents.show ();
}
return win;
@@ -244,6 +246,7 @@ Tabbable::attach ()
save_pos_and_size ();
+ _contents.hide ();
_contents.get_parent()->remove (_contents);
/* leave the window around */
@@ -255,6 +258,7 @@ Tabbable::attach ()
_parent_notebook->set_tab_detachable (_contents);
_parent_notebook->set_tab_reorderable (_contents);
_parent_notebook->set_current_page (_parent_notebook->page_num (_contents));
+ _contents.show ();
/* have to force this on, which is semantically correct, since
* the user has effectively asked for it.
@@ -290,6 +294,7 @@ void
Tabbable::hide_tab ()
{
if (tabbed()) {
+ _contents.hide();
_parent_notebook->remove_page (_contents);
StateChange (*this);
}
@@ -304,6 +309,7 @@ Tabbable::show_tab ()
add_to_notebook (*_parent_notebook, _tab_title);
}
_parent_notebook->set_current_page (_parent_notebook->page_num (_contents));
+ _contents.show ();
current_toplevel()->present ();
}
}