summaryrefslogtreecommitdiff
path: root/gtk2_ardour/floating_text_entry.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-03-05 16:45:34 +0100
committerRobin Gareus <robin@gareus.org>2017-03-05 16:45:55 +0100
commit04ed05ecc4629d85d8f1fd3d6756669a42fb762b (patch)
treefc8065c5ecc042e6ebeefb07eb850ec0678006b8 /gtk2_ardour/floating_text_entry.cc
parent9b6aebe842c0ceb0200de241c95c036b13f72f42 (diff)
some further debugging, just in case
Diffstat (limited to 'gtk2_ardour/floating_text_entry.cc')
-rw-r--r--gtk2_ardour/floating_text_entry.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/gtk2_ardour/floating_text_entry.cc b/gtk2_ardour/floating_text_entry.cc
index 29be2ef774..da8b734539 100644
--- a/gtk2_ardour/floating_text_entry.cc
+++ b/gtk2_ardour/floating_text_entry.cc
@@ -31,6 +31,7 @@ FloatingTextEntry::FloatingTextEntry (Gtk::Window* parent, const std::string& in
: Gtk::Window (Gtk::WINDOW_POPUP)
, entry_changed (false)
, by_popup_menu (false)
+ , _delete_queued (false)
{
//set_name (X_("FloatingTextEntry"));
set_position (Gtk::WIN_POS_MOUSE);
@@ -184,8 +185,13 @@ FloatingTextEntry::on_hide ()
void
FloatingTextEntry::idle_delete_self ()
{
+ if (_delete_queued) {
+ PBD::stacktrace (std::cerr, 20);
+ return;
+ }
for (std::list<sigc::connection>::iterator i = _connections.begin(); i != _connections.end(); ++i) {
i->disconnect ();
}
+ _delete_queued = true;
delete_when_idle (this);
}