summaryrefslogtreecommitdiff
path: root/gtk2_ardour/meterbridge.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-09 19:48:15 +0200
committerRobin Gareus <robin@gareus.org>2013-07-10 15:27:16 +0200
commitc675942fb3fb33363deff62b907df39aec93f43e (patch)
treea67e4ab3aed2bcf3201009204f0a3885c21446a2 /gtk2_ardour/meterbridge.cc
parent56f4341ade5131092cc5948c180cd94eff754e6e (diff)
fix meterbridge window pos+size state save
...even if window is not open when session is closed.
Diffstat (limited to 'gtk2_ardour/meterbridge.cc')
-rw-r--r--gtk2_ardour/meterbridge.cc28
1 files changed, 13 insertions, 15 deletions
diff --git a/gtk2_ardour/meterbridge.cc b/gtk2_ardour/meterbridge.cc
index d6f1fee0ad..15e98a5d4d 100644
--- a/gtk2_ardour/meterbridge.cc
+++ b/gtk2_ardour/meterbridge.cc
@@ -471,26 +471,24 @@ Meterbridge::set_state (const XMLNode& node)
XMLNode&
Meterbridge::get_state (void)
{
+ char buf[32];
XMLNode* node = new XMLNode ("Meterbridge");
- if (is_realized()) {
- Glib::RefPtr<Gdk::Window> win = get_window();
-
+ if (is_realized() && _visible) {
get_window_pos_and_size ();
-
- XMLNode* geometry = new XMLNode ("geometry");
- char buf[32];
- snprintf(buf, sizeof(buf), "%d", m_width);
- geometry->add_property(X_("x_size"), string(buf));
- snprintf(buf, sizeof(buf), "%d", m_height);
- geometry->add_property(X_("y_size"), string(buf));
- snprintf(buf, sizeof(buf), "%d", m_root_x);
- geometry->add_property(X_("x_pos"), string(buf));
- snprintf(buf, sizeof(buf), "%d", m_root_y);
- geometry->add_property(X_("y_pos"), string(buf));
- node->add_child_nocopy (*geometry);
}
+ XMLNode* geometry = new XMLNode ("geometry");
+ snprintf(buf, sizeof(buf), "%d", m_width);
+ geometry->add_property(X_("x_size"), string(buf));
+ snprintf(buf, sizeof(buf), "%d", m_height);
+ geometry->add_property(X_("y_size"), string(buf));
+ snprintf(buf, sizeof(buf), "%d", m_root_x);
+ geometry->add_property(X_("x_pos"), string(buf));
+ snprintf(buf, sizeof(buf), "%d", m_root_y);
+ geometry->add_property(X_("y_pos"), string(buf));
+ node->add_child_nocopy (*geometry);
+
node->add_property ("show-meterbridge", _visible ? "yes" : "no");
return *node;
}