Fix crash when X11 is not available for VST UIs
[ardour.git] / gtk2_ardour / sys_ex.cc
index f3e02b1253f7e8081ebe37783326189b3ddbe1ee..2363b7be0af2162038c66d6b86768ca79bb48419 100644 (file)
@@ -1,21 +1,20 @@
 /*
-    Copyright (C) 2009 Paul Davis
-    Author: Hans Baier
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
+ * Copyright (C) 2013-2017 Paul Davis <paul@linuxaudiosystems.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
 
 #include <iostream>
 #include "canvas/flag.h"
 using namespace std;
 
 SysEx::SysEx (
-       MidiRegionView& region,
-       ArdourCanvas::Container* parent,
-       string&         text,
-       double          height,
-       double          x,
-       double          y)
+       MidiRegionView&             region,
+       ArdourCanvas::Container*    parent,
+       string&                     text,
+       double                      height,
+       double                      x,
+       double                      y,
+       ARDOUR::MidiModel::SysExPtr sysex)
+       : _sysex (sysex)
 {
        _flag = new ArdourCanvas::Flag (
                parent,
@@ -45,7 +46,9 @@ SysEx::SysEx (
 
 SysEx::~SysEx()
 {
-       delete _flag;
+       /* do not delete flag because it was added to a parent/container which
+          will delete it.
+       */
        _flag = 0;
 }