#include "pbd/xml++.h"
#include "pbd/error.h"
-#include "i18n.h"
+#include "pbd/i18n.h"
using namespace std;
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)
Stateful::set_id (const XMLNode& node)
{
const XMLProperty* prop;
- bool* regen = regenerate_xml_or_string_ids.get();
+ bool* regen = _regenerate_xml_or_string_ids.get();
if (regen && *regen) {
reset_id ();
void
Stateful::set_id (const string& str)
{
- bool* regen = regenerate_xml_or_string_ids.get();
+ bool* regen = _regenerate_xml_or_string_ids.get();
if (regen && *regen) {
reset_id ();
}
}
+bool
+Stateful::regenerate_xml_or_string_ids () const
+{
+ bool* regen = _regenerate_xml_or_string_ids.get();
+ if (regen && *regen) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
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