use thread private data **pointer** correctly for Stateful::ID regeneration
[ardour.git] / libs / pbd / stateful.cc
index ac36a6912727f3b344f358803f13834fb4291192..a5b583cc4d81111c154da95da2d4d5040c0e5884 100644 (file)
@@ -44,9 +44,7 @@ namespace PBD {
 int Stateful::current_state_version = 0;
 int Stateful::loading_state_version = 0;
 
-static void do_not_delete (void*) {}
-
-Glib::Threads::Private<bool> Stateful::regenerate_xml_or_string_ids (do_not_delete);
+Glib::Threads::Private<bool> Stateful::regenerate_xml_or_string_ids;
 
 Stateful::Stateful ()
        : _extra_xml (0)
@@ -421,7 +419,8 @@ Stateful::set_id (const string& str)
 void
 Stateful::set_regenerate_xml_and_string_ids_in_this_thread (bool yn)
 {
-       regenerate_xml_or_string_ids.set (&yn);
+       bool* val = new bool (yn);
+       regenerate_xml_or_string_ids.set (val);
 }
 
 } // namespace PBD