Fix a compiler problem when building 'gtk2_ardour/template_dialog.cc' with MSVC
When setting up the 'TemplatesImported' signal, these 2 calls appear in the c'tor for class TemplateDialog:- boost::bind (&RouteTemplateManager::init, route_tm) boost::bind (&SessionTemplateManager::init, session_tm) However - '&RouteTemplateManager::init' and '&SessionTemplateManager::init' are in fact the address of the same function. This seems to be causing a problem, either for boost::bind, or MSVC (or both). In earlier builds they were 2 separate functions. So let's put them back that way (since the current code actually crashes the compiler!!)
This commit is contained in:
parent
5aeb5f0c7d
commit
b25b99216c
@ -63,7 +63,7 @@ class TemplateManager : public Gtk::HBox,
|
|||||||
public:
|
public:
|
||||||
virtual ~TemplateManager () {}
|
virtual ~TemplateManager () {}
|
||||||
|
|
||||||
void init ();
|
virtual void init () = 0;
|
||||||
void handle_dirty_description ();
|
void handle_dirty_description ();
|
||||||
|
|
||||||
PBD::Signal0<void> TemplatesImported;
|
PBD::Signal0<void> TemplatesImported;
|
||||||
@ -71,6 +71,9 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
TemplateManager ();
|
TemplateManager ();
|
||||||
|
|
||||||
|
Gtk::TextView _description_editor;
|
||||||
|
Gtk::Button _save_desc;
|
||||||
|
|
||||||
void setup_model (const std::vector<ARDOUR::TemplateInfo>& templates);
|
void setup_model (const std::vector<ARDOUR::TemplateInfo>& templates);
|
||||||
|
|
||||||
void row_selection_changed ();
|
void row_selection_changed ();
|
||||||
@ -125,8 +128,6 @@ private:
|
|||||||
Gtk::CellRendererText _validating_cellrenderer;
|
Gtk::CellRendererText _validating_cellrenderer;
|
||||||
Gtk::TreeView::Column _validated_column;
|
Gtk::TreeView::Column _validated_column;
|
||||||
|
|
||||||
Gtk::TextView _description_editor;
|
|
||||||
Gtk::Button _save_desc;
|
|
||||||
bool _desc_dirty;
|
bool _desc_dirty;
|
||||||
|
|
||||||
Gtk::Button _remove_button;
|
Gtk::Button _remove_button;
|
||||||
@ -146,6 +147,8 @@ public:
|
|||||||
SessionTemplateManager () : TemplateManager () {}
|
SessionTemplateManager () : TemplateManager () {}
|
||||||
~SessionTemplateManager () {}
|
~SessionTemplateManager () {}
|
||||||
|
|
||||||
|
void init ();
|
||||||
|
|
||||||
void get_templates (vector<TemplateInfo>& templates) const;
|
void get_templates (vector<TemplateInfo>& templates) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -165,6 +168,8 @@ public:
|
|||||||
RouteTemplateManager () : TemplateManager () {}
|
RouteTemplateManager () : TemplateManager () {}
|
||||||
~RouteTemplateManager () {}
|
~RouteTemplateManager () {}
|
||||||
|
|
||||||
|
void init ();
|
||||||
|
|
||||||
void get_templates (vector<TemplateInfo>& templates) const;
|
void get_templates (vector<TemplateInfo>& templates) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -284,18 +289,6 @@ TemplateManager::TemplateManager ()
|
|||||||
_progress_bar.hide ();
|
_progress_bar.hide ();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
TemplateManager::init ()
|
|
||||||
{
|
|
||||||
vector<TemplateInfo> templates;
|
|
||||||
get_templates (templates);
|
|
||||||
setup_model (templates);
|
|
||||||
|
|
||||||
_progress_bar.hide ();
|
|
||||||
_description_editor.set_sensitive (false);
|
|
||||||
_save_desc.set_sensitive (false);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
TemplateManager::setup_model (const vector<TemplateInfo>& templates)
|
TemplateManager::setup_model (const vector<TemplateInfo>& templates)
|
||||||
{
|
{
|
||||||
@ -467,13 +460,14 @@ TemplateManager::key_event (GdkEventKey* ev)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static
|
static bool
|
||||||
bool accept_all_files (string const &, void *)
|
accept_all_files (string const &, void *)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _set_progress (Progress* p, size_t n, size_t t)
|
static void
|
||||||
|
_set_progress (Progress* p, size_t n, size_t t)
|
||||||
{
|
{
|
||||||
p->set_progress (float (n) / float(t));
|
p->set_progress (float (n) / float(t));
|
||||||
}
|
}
|
||||||
@ -668,13 +662,38 @@ TemplateManager::update_progress_gui (float p)
|
|||||||
_progress_bar.set_fraction (p);
|
_progress_bar.set_fraction (p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SessionTemplateManager::init ()
|
||||||
|
{
|
||||||
|
vector<TemplateInfo> templates;
|
||||||
|
get_templates (templates);
|
||||||
|
setup_model (templates);
|
||||||
|
|
||||||
|
_progress_bar.hide ();
|
||||||
|
_description_editor.set_sensitive (false);
|
||||||
|
_save_desc.set_sensitive (false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
RouteTemplateManager::init ()
|
||||||
|
{
|
||||||
|
vector<TemplateInfo> templates;
|
||||||
|
get_templates (templates);
|
||||||
|
setup_model (templates);
|
||||||
|
|
||||||
|
_progress_bar.hide ();
|
||||||
|
_description_editor.set_sensitive (false);
|
||||||
|
_save_desc.set_sensitive (false);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
SessionTemplateManager::get_templates (vector<TemplateInfo>& templates) const
|
SessionTemplateManager::get_templates (vector<TemplateInfo>& templates) const
|
||||||
{
|
{
|
||||||
find_session_templates (templates, /* read_xml = */ true);
|
find_session_templates (templates, /* read_xml = */ true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RouteTemplateManager::get_templates (vector<TemplateInfo>& templates) const
|
void
|
||||||
|
RouteTemplateManager::get_templates (vector<TemplateInfo>& templates) const
|
||||||
{
|
{
|
||||||
find_route_templates (templates);
|
find_route_templates (templates);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user