View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000534 | ardour | bugs | public | 2004-06-14 22:16 | 2008-11-20 23:38 |
| Reporter | Simone Piunno | Assigned To | taybin | ||
| Priority | urgent | Severity | major | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Summary | 0000534: gcc 3.4 uncovers real bugs | ||||
| Description | See attached patch, required to compile under gcc-3.4 In particular, see the line I've marked with a #warning There's a call to the ::wrap() method, but this one doesn't exist in the code (it's commented out). roentgen files # diffstat ardour-0.9_beta16-gcc34.patch gtk_ardour/ardour_dialog.h | 19 ++++++++----- gtk_ardour/audio_time_axis.h | 4 +- gtk_ardour/editor_ops.cc | 2 - gtk_ardour/editor_region_list.cc | 2 - gtk_ardour/mixer_strip.cc | 2 - gtk_ardour/route_params_ui.cc | 2 - gtk_ardour/route_ui.h | 41 +++++++++++++++--------------- gtk_ardour/visual_time_axis.h | 26 ++++++++++--------- libs/ardour/ardour/tempo.h | 4 ++ libs/gtkmm/src/build_sources/proxy.h.m4 | 1 libs/gtkmm/src/curve.gen_h | 2 + libs/gtkmm/src/gtk--/base.h | 8 +++-- libs/gtkmm/src/list.gen_h | 4 +- libs/gtkmmext/pix.cc | 4 +- libs/pbd/pbd/stl_delete.h | 20 +++++++------- libs/sigc++/sigc++/class_slot.h | 16 +++++------ libs/sigc++/sigc++/macros/class_slot.h.m4 | 2 - 17 files changed, 86 insertions(+), 73 deletions(-) | ||||
| Additional Information | I know this is a dupe, but Mantis doesn't let me reopen 0000517. I'm not a C++ coder, so please forgive anything stupid I could have written, in particular moving methods from protected to public. | ||||
| Tags | No tags attached. | ||||
|
2004-06-14 22:16
|
ardour-0.9_beta16-gcc34.patch (17,678 bytes)
diff -ur ardour-0.9beta16.1.old/gtk_ardour/ardour_dialog.h ardour-0.9beta16.1/gtk_ardour/ardour_dialog.h
--- ardour-0.9beta16.1.old/gtk_ardour/ardour_dialog.h 2004-01-14 05:48:48.000000000 +0100
+++ ardour-0.9beta16.1/gtk_ardour/ardour_dialog.h 2004-06-15 00:05:03.038503488 +0200
@@ -47,6 +47,17 @@
void stop (int);
void set_keyboard_input (bool yn);
int run_status();
+ gint wm_close_event (GdkEventAny *);
+ gint wm_doi_event (GdkEventAny *);
+ protected:
+ virtual void set_session (ARDOUR::Session* s) {
+ session = s;
+ }
+
+ public:
+ virtual void session_gone () {
+ set_session (0);
+ }
protected:
gint enter_notify_event_impl (GdkEventCrossing*);
@@ -55,19 +66,11 @@
ARDOUR::Session *session;
- virtual void set_session (ARDOUR::Session* s) {
- session = s;
- }
- virtual void session_gone () {
- set_session (0);
- }
void quit ();
void wm_close();
void wm_doi ();
- gint wm_close_event (GdkEventAny *);
- gint wm_doi_event (GdkEventAny *);
private:
int _run_status;
diff -ur ardour-0.9beta16.1.old/gtk_ardour/audio_time_axis.h ardour-0.9beta16.1/gtk_ardour/audio_time_axis.h
--- ardour-0.9beta16.1.old/gtk_ardour/audio_time_axis.h 2004-05-18 03:52:09.000000000 +0200
+++ ardour-0.9beta16.1/gtk_ardour/audio_time_axis.h 2004-06-14 23:51:19.935634144 +0200
@@ -252,7 +252,7 @@
void show_all_automation ();
void show_existing_automation ();
- friend struct RedirectAutomationNode {
+ struct RedirectAutomationNode {
unsigned long what;
Gtk::CheckMenuItem* menu_item;
AutomationTimeAxisView* view;
@@ -264,7 +264,7 @@
~RedirectAutomationNode ();
};
- friend struct RedirectAutomationInfo {
+ struct RedirectAutomationInfo {
ARDOUR::Redirect* redirect;
bool valid;
Gtk::Menu* menu;
diff -ur ardour-0.9beta16.1.old/gtk_ardour/editor_ops.cc ardour-0.9beta16.1/gtk_ardour/editor_ops.cc
--- ardour-0.9beta16.1.old/gtk_ardour/editor_ops.cc 2004-05-27 04:31:20.000000000 +0200
+++ ardour-0.9beta16.1/gtk_ardour/editor_ops.cc 2004-06-14 23:58:53.613664600 +0200
@@ -2704,7 +2704,7 @@
void
Editor::paste_named_selection (float times)
{
- using Gtk::CList_Helpers;
+ //using Gtk::CList_Helpers;
Gtk::CList_Helpers::SelectionList& selected = named_selection_display.selection();
TrackSelection::iterator i;
diff -ur ardour-0.9beta16.1.old/gtk_ardour/editor_region_list.cc ardour-0.9beta16.1/gtk_ardour/editor_region_list.cc
--- ardour-0.9beta16.1.old/gtk_ardour/editor_region_list.cc 2004-03-10 06:14:29.000000000 +0100
+++ ardour-0.9beta16.1/gtk_ardour/editor_region_list.cc 2004-06-14 23:59:18.373900472 +0200
@@ -195,7 +195,7 @@
void
Editor::add_audio_region_to_region_display (AudioRegion *region)
{
- using Gtk::CTree_Helpers;
+ //using Gtk::CTree_Helpers;
vector<const char*> item;
Gtk::CTree_Helpers::RowList::iterator i;
diff -ur ardour-0.9beta16.1.old/gtk_ardour/mixer_strip.cc ardour-0.9beta16.1/gtk_ardour/mixer_strip.cc
--- ardour-0.9beta16.1.old/gtk_ardour/mixer_strip.cc 2004-05-19 16:30:28.000000000 +0200
+++ ardour-0.9beta16.1/gtk_ardour/mixer_strip.cc 2004-06-15 00:02:47.023180960 +0200
@@ -1830,7 +1830,7 @@
gint
MixerStrip::compute_redirect_sort_keys ()
{
- using Gtk::CList_Helpers;
+ //using Gtk::CList_Helpers;
CList_Helpers::RowList::iterator i;
unsigned long sort_key;
diff -ur ardour-0.9beta16.1.old/gtk_ardour/route_params_ui.cc ardour-0.9beta16.1/gtk_ardour/route_params_ui.cc
--- ardour-0.9beta16.1.old/gtk_ardour/route_params_ui.cc 2004-05-08 14:52:09.000000000 +0200
+++ ardour-0.9beta16.1/gtk_ardour/route_params_ui.cc 2004-06-15 00:05:19.435010840 +0200
@@ -1037,7 +1037,7 @@
gint
RouteParams_UI::compute_redirect_sort_keys ()
{
- using Gtk::CList_Helpers;
+ //using Gtk::CList_Helpers;
CList_Helpers::RowList::iterator i;
unsigned long sort_key;
diff -ur ardour-0.9beta16.1.old/gtk_ardour/route_ui.h ardour-0.9beta16.1/gtk_ardour/route_ui.h
--- ardour-0.9beta16.1.old/gtk_ardour/route_ui.h 2004-01-14 05:48:49.000000000 +0100
+++ ardour-0.9beta16.1/gtk_ardour/route_ui.h 2004-06-15 00:02:21.368081128 +0200
@@ -48,6 +48,27 @@
string name() const;
+ void solo_changed(void*);
+ void mute_changed(void*);
+ void route_rec_enable_changed(void*);
+ void session_rec_enable_changed();
+
+ void toggle_mute_menu(ARDOUR::mute_type, Gtk::CheckMenuItem*);
+ void pre_fader_toggle(void*, Gtk::CheckMenuItem*);
+
+ gint mute_press(GdkEventButton*);
+ gint mute_release(GdkEventButton*);
+ gint solo_press(GdkEventButton*);
+ gint solo_release(GdkEventButton*);
+ gint rec_enable_press(GdkEventButton*);
+
+ void remove_this_route ();
+ void route_rename();
+ virtual void name_changed (void *src);
+ void disconnect_input ();
+ void disconnect_output ();
+ void toggle_route_active ();
+
protected:
ARDOUR::Route& _route;
@@ -68,19 +89,7 @@
void ensure_xml_node ();
- gint mute_press(GdkEventButton*);
- gint mute_release(GdkEventButton*);
- gint solo_press(GdkEventButton*);
- gint solo_release(GdkEventButton*);
- gint rec_enable_press(GdkEventButton*);
-
- void solo_changed(void*);
- void mute_changed(void*);
- void route_rec_enable_changed(void*);
- void session_rec_enable_changed();
- void toggle_mute_menu(ARDOUR::mute_type, Gtk::CheckMenuItem*);
- void pre_fader_toggle(void*, Gtk::CheckMenuItem*);
void post_fader_toggle(void*, Gtk::CheckMenuItem*);
void control_outs_toggle(void*, Gtk::CheckMenuItem*);
void main_outs_toggle(void*, Gtk::CheckMenuItem*);
@@ -98,23 +107,15 @@
void rec_enable_button_blink (bool onoff, ARDOUR::DiskStream *, Gtk::Widget *w);
- void remove_this_route ();
static gint idle_remove_this_route (RouteUI *);
- void route_rename();
-
- virtual void name_changed (void *src);
void route_removed ();
static gint okay_gplusplus_cannot_do_complex_templates (RouteUI *rui);
Gtk::CheckMenuItem *route_active_menu_item;
- void toggle_route_active ();
void route_active_changed ();
- void disconnect_input ();
- void disconnect_output ();
-
void update_rec_display ();
void update_mute_display ();
void update_solo_display ();
diff -ur ardour-0.9beta16.1.old/gtk_ardour/visual_time_axis.h ardour-0.9beta16.1/gtk_ardour/visual_time_axis.h
--- ardour-0.9beta16.1.old/gtk_ardour/visual_time_axis.h 2004-01-29 05:56:46.000000000 +0100
+++ ardour-0.9beta16.1/gtk_ardour/visual_time_axis.h 2004-06-15 00:07:16.332239760 +0200
@@ -134,7 +134,21 @@
* Emitted when this time axis has been selected for removal
*/
//SigC::Signal2<void,std::string,void*> VisualTimeAxisRemoved ;
+
+ /**
+ * Handles the Removal of this VisualTimeAxis
+ *
+ * @param src the identity of the object that initiated the change
+ */
+ virtual void remove_this_time_axis(void* src) ;
+ /**
+ * Construct a new prompt to receive a new name for this TimeAxis
+ *
+ * @see finish_time_axis_rename()
+ */
+ void start_time_axis_rename() ;
+
protected:
//---------------------------------------------------------------------------------------//
// Constructor / Desctructor
@@ -153,12 +167,6 @@
//---------------------------------------------------------------------------------------//
// Handle time axis removal
- /**
- * Handles the Removal of this VisualTimeAxis
- *
- * @param src the identity of the object that initiated the change
- */
- virtual void remove_this_time_axis(void* src) ;
/**
* Callback used to remove this time axis during the gtk idle loop
@@ -210,12 +218,6 @@
//---------------------------------------------------------------------------------------//
// Handle TimeAxis rename
- /**
- * Construct a new prompt to receive a new name for this TimeAxis
- *
- * @see finish_time_axis_rename()
- */
- void start_time_axis_rename() ;
/**
* Handles the new name for this TimeAxis from the name prompt
diff -ur ardour-0.9beta16.1.old/libs/ardour/ardour/tempo.h ardour-0.9beta16.1/libs/ardour/ardour/tempo.h
--- ardour-0.9beta16.1.old/libs/ardour/ardour/tempo.h 2003-11-21 05:47:45.000000000 +0100
+++ ardour-0.9beta16.1/libs/ardour/ardour/tempo.h 2004-06-14 22:52:46.668731896 +0200
@@ -178,11 +178,13 @@
};
typedef vector<BBTPoint> BBTPointList;
-
+
+#if 0
template<class T> void apply_with_points (T& obj, void (T::*method)(BBTPointList&)) {
LockMonitor lm (lock, __LINE__, __FILE__);
(obj.*method)(bbt_points);
}
+#endif
template<class T> void apply_with_metrics (T& obj, void (T::*method)(const Metrics&)) {
diff -ur ardour-0.9beta16.1.old/libs/gtkmm/src/build_sources/proxy.h.m4 ardour-0.9beta16.1/libs/gtkmm/src/build_sources/proxy.h.m4
--- ardour-0.9beta16.1.old/libs/gtkmm/src/build_sources/proxy.h.m4 2003-06-17 05:49:19.000000000 +0200
+++ ardour-0.9beta16.1/libs/gtkmm/src/build_sources/proxy.h.m4 2004-06-14 22:56:31.354574456 +0200
@@ -167,6 +167,7 @@
}
public:
+ using [ProxySignal]NUM($1)<LIST([R],1,ARG_TYPE($1),[$1],[Obj,gObj,index],1)>::obj;
SlotType slot()
{
SigC::SlotData* tmp=manage(new SigC::SlotData());
diff -ur ardour-0.9beta16.1.old/libs/gtkmm/src/curve.gen_h ardour-0.9beta16.1/libs/gtkmm/src/curve.gen_h
--- ardour-0.9beta16.1.old/libs/gtkmm/src/curve.gen_h 2003-06-17 05:48:57.000000000 +0200
+++ ardour-0.9beta16.1/libs/gtkmm/src/curve.gen_h 2004-06-14 23:16:01.610668488 +0200
@@ -136,6 +136,7 @@
void gtk_curve_get_vector(GtkCurve*,int,gfloat*),
void get_vector(int num,gfloat* data));
+#if 0
// For containers
template <class Iterator>
int get_vector(Iterator b,Iterator e) const
@@ -150,6 +151,7 @@
delete [] data;
return i;
};
+#endif
//void gtk_curve_set_vector(GtkCurve*,int,gfloat[]);
//: Sets the vector of points on the curve.
diff -ur ardour-0.9beta16.1.old/libs/gtkmm/src/gtk--/base.h ardour-0.9beta16.1/libs/gtkmm/src/gtk--/base.h
--- ardour-0.9beta16.1.old/libs/gtkmm/src/gtk--/base.h 2003-06-17 05:49:27.000000000 +0200
+++ ardour-0.9beta16.1/libs/gtkmm/src/gtk--/base.h 2004-06-14 23:38:48.860814872 +0200
@@ -124,13 +124,13 @@
}
// interface to gtk--
-/*
+#if 0
template <class C>
typename Wrap<C>::CppType* wrap(C* o)
{
return dynamic_cast<typename Wrap<C>::CppType*>(wrap_auto((GtkObject*)(o)));
}
-*/
+#endif
/********************************************************************/
@@ -482,7 +482,9 @@
value_type operator*() const
{
if (node && node->data)
- return Gtk::wrap(static_cast<impl*>((*node).data));
+ assert("This is not implemented!" == NULL);
+ //return Gtk::wrap(static_cast<impl*>((*node).data));
+#warning Please FIXME
return 0;
}
diff -ur ardour-0.9beta16.1.old/libs/gtkmm/src/list.gen_h ardour-0.9beta16.1/libs/gtkmm/src/list.gen_h
--- ardour-0.9beta16.1.old/libs/gtkmm/src/list.gen_h 2003-06-17 05:49:00.000000000 +0200
+++ ardour-0.9beta16.1/libs/gtkmm/src/list.gen_h 2004-06-14 23:37:27.607167304 +0200
@@ -87,8 +87,8 @@
//- items: The items.
//- position: The position to insert items, starting at 0.
WRAP_METHOD(
- void gtk_list_insert_items(GtkList*,GList*,gint),
- void insert_items(GList *items, gint position));
+ void gtk_list_insert_items(GtkList*,GList*,gint),
+ void insert_items(GList *items, gint position));
//: Adds items to the end of the list.
//- items: The items.
diff -ur ardour-0.9beta16.1.old/libs/gtkmmext/pix.cc ardour-0.9beta16.1/libs/gtkmmext/pix.cc
--- ardour-0.9beta16.1.old/libs/gtkmmext/pix.cc 2003-06-17 05:50:32.000000000 +0200
+++ ardour-0.9beta16.1/libs/gtkmmext/pix.cc 2004-06-14 23:43:14.341455680 +0200
@@ -36,8 +36,8 @@
namespace std
{
- struct less<string *> {
- bool operator()(string *s1, string *s2) const {
+ template <class T> struct less<T*> {
+ bool operator()(T *s1, T *s2) const {
return *s1 < *s2;
}
};
diff -ur ardour-0.9beta16.1.old/libs/pbd/pbd/stl_delete.h ardour-0.9beta16.1/libs/pbd/pbd/stl_delete.h
--- ardour-0.9beta16.1.old/libs/pbd/pbd/stl_delete.h 2004-05-21 04:43:47.000000000 +0200
+++ ardour-0.9beta16.1/libs/pbd/pbd/stl_delete.h 2004-06-14 22:49:16.742645512 +0200
@@ -24,7 +24,7 @@
/* To actually use any of these deletion functions, you need to
first include the revelant container type header.
*/
-#if defined(_CPP_VECTOR) || defined(__SGI_STL_VECTOR)
+#if defined(_CPP_VECTOR) || defined(_GLIBCXX_VECTOR) || defined(__SGI_STL_VECTOR)
template<class T> void vector_delete (std::vector<T *> *vec)
{
typename std::vector<T *>::iterator i;
@@ -34,9 +34,9 @@
}
vec->clear ();
}
-#endif // _CPP_VECTOR || __SGI_STL_VECTOR
+#endif // _CPP_VECTOR || _GLIBCXX_VECTOR || __SGI_STL_VECTOR
-#if defined(_CPP_MAP) || defined(__SGI_STL_MAP)
+#if defined(_CPP_MAP) || defined(_GLIBCXX_MAP) || defined(__SGI_STL_MAP)
template<class K, class T> void map_delete (std::map<K, T *> *m)
{
typename std::map<K, T *>::iterator i;
@@ -46,9 +46,9 @@
}
m->clear ();
}
-#endif // _CPP_MAP || __SGI_STL_MAP
+#endif // _CPP_MAP || _GLIBCXX_MAP || __SGI_STL_MAP
-#if defined(_CPP_LIST) || defined(__SGI_STL_LIST)
+#if defined(_CPP_LIST) || defined(_GLIBCXX_LIST) || defined(__SGI_STL_LIST)
template<class T> void list_delete (std::list<T *> *l)
{
typename std::list<T *>::iterator i;
@@ -59,9 +59,9 @@
l->clear ();
}
-#endif // _CPP_LIST || __SGI_STL_LIST
+#endif // _CPP_LIST || _GLIBCXX_LIST || __SGI_STL_LIST
-#if defined(_CPP_SLIST) || defined(__SGI_STL_SLIST)
+#if defined(_CPP_SLIST) || defined(_GLIBCXX_SLIST) || defined(__SGI_STL_SLIST)
template<class T> void slist_delete (std::slist<T *> *l)
{
typename std::slist<T *>::iterator i;
@@ -72,9 +72,9 @@
l->clear ();
}
-#endif // _CPP_SLIST || __SGI_STL_SLIST
+#endif // _CPP_SLIST || _GLIBCXX_SLIST || __SGI_STL_SLIST
-#if defined(_CPP_SET) || defined(__SGI_STL_SET)
+#if defined(_CPP_SET) || defined(_GLIBCXX_SET) || defined(__SGI_STL_SET)
template<class T> void set_delete (std::set<T *> *sset)
{
typename std::set<T *>::iterator i;
@@ -84,6 +84,6 @@
}
sset->erase (sset->begin(), sset->end());
}
-#endif // _CPP_SET || __SGI_STL_SET
+#endif // _CPP_SET || _GLIBCXX_SET || __SGI_STL_SET
#endif // __libmisc_stl_delete_h__
diff -ur ardour-0.9beta16.1.old/libs/sigc++/sigc++/class_slot.h ardour-0.9beta16.1/libs/sigc++/sigc++/class_slot.h
--- ardour-0.9beta16.1.old/libs/sigc++/sigc++/class_slot.h 2003-06-17 05:56:27.000000000 +0200
+++ ardour-0.9beta16.1/libs/sigc++/sigc++/class_slot.h 2004-06-14 22:45:45.835708240 +0200
@@ -54,7 +54,7 @@
if (!obj) return 0;
SlotData* tmp=manage(new SlotData());
CallData &data=reinterpret_cast<CallData&>(tmp->data_);
- data.callback=&callback;
+ data.callback=&ObjectSlot0_<R,Obj>::callback;
data.obj=&obj;
data.func=(Func)func;
return tmp;
@@ -90,7 +90,7 @@
if (!obj) return 0;
SlotData* tmp=manage(new SlotData());
CallData &data=reinterpret_cast<CallData&>(tmp->data_);
- data.callback=&callback;
+ data.callback=&ObjectSlot1_<R,P1,Obj>::callback;
data.obj=&obj;
data.func=(Func)func;
return tmp;
@@ -126,7 +126,7 @@
if (!obj) return 0;
SlotData* tmp=manage(new SlotData());
CallData &data=reinterpret_cast<CallData&>(tmp->data_);
- data.callback=&callback;
+ data.callback=&ObjectSlot2_<R,P1,P2,Obj>::callback;
data.obj=&obj;
data.func=(Func)func;
return tmp;
@@ -162,7 +162,7 @@
if (!obj) return 0;
SlotData* tmp=manage(new SlotData());
CallData &data=reinterpret_cast<CallData&>(tmp->data_);
- data.callback=&callback;
+ data.callback=&ObjectSlot3_<R,P1,P2,P3,Obj>::callback;
data.obj=&obj;
data.func=(Func)func;
return tmp;
@@ -198,7 +198,7 @@
if (!obj) return 0;
SlotData* tmp=manage(new SlotData());
CallData &data=reinterpret_cast<CallData&>(tmp->data_);
- data.callback=&callback;
+ data.callback=&ObjectSlot4_<R,P1,P2,P3,P4,Obj>::callback;
data.obj=&obj;
data.func=(Func)func;
return tmp;
@@ -234,7 +234,7 @@
if (!obj) return 0;
SlotData* tmp=manage(new SlotData());
CallData &data=reinterpret_cast<CallData&>(tmp->data_);
- data.callback=&callback;
+ data.callback=&ObjectSlot5_<R,P1,P2,P3,P4,P5,Obj>::callback;
data.obj=&obj;
data.func=(Func)func;
return tmp;
@@ -270,7 +270,7 @@
if (!obj) return 0;
SlotData* tmp=manage(new SlotData());
CallData &data=reinterpret_cast<CallData&>(tmp->data_);
- data.callback=&callback;
+ data.callback=&ObjectSlot6_<R,P1,P2,P3,P4,P5,P6,Obj>::callback;
data.obj=&obj;
data.func=(Func)func;
return tmp;
@@ -306,7 +306,7 @@
if (!obj) return 0;
SlotData* tmp=manage(new SlotData());
CallData &data=reinterpret_cast<CallData&>(tmp->data_);
- data.callback=&callback;
+ data.callback=&ObjectSlot7_<R,P1,P2,P3,P4,P5,P6,P7,Obj>::callback;
data.obj=&obj;
data.func=(Func)func;
return tmp;
diff -ur ardour-0.9beta16.1.old/libs/sigc++/sigc++/macros/class_slot.h.m4 ardour-0.9beta16.1/libs/sigc++/sigc++/macros/class_slot.h.m4
--- ardour-0.9beta16.1.old/libs/sigc++/sigc++/macros/class_slot.h.m4 2003-06-17 05:51:10.000000000 +0200
+++ ardour-0.9beta16.1/libs/sigc++/sigc++/macros/class_slot.h.m4 2004-06-14 22:45:39.906609600 +0200
@@ -77,7 +77,7 @@
if (!obj) return 0;
SlotData* tmp=manage(new SlotData());
CallData &data=reinterpret_cast<CallData&>(tmp->data_);
- data.callback=&callback;
+ data.callback=&[ObjectSlot]NUM($1)_<LIST(R,1,ARG_TYPE($1),[$1],Obj,1)>::callback;
data.obj=&obj;
data.func=(Func)func;
return tmp;
|
|
|
Thanks for your work. However, I can't accept a 17kB patch in one shot. First: we are not really interested in patching gtkmm. We will be moving on to GTK2 in the not too distant future. Second: the same goes for libsigc++ Third: moving functions between public + protected requires explicit justification for every method and/or member moved Fourth: split your patch into much smaller pieces, send them 1 by 1 to ardour-dev, and we will be happy to consider them. Again, thanks for the work. I don't want to pour cold water on it, just get it in a way that we can realistically assess it. |
|
|
We would still very much like to get your patches! |
|
|
Sorry for this late answer, I started to decompose previous diff in small trivial patches and found that some of my fixes were completely wrong, therefore I spent a good amount of time trying to find the correct solution but I have still unsolved issues. Again, I'm not a C++ developer and the gtk+ code is really hard to understand for me. Anyway, I'm attaching some really small and trivial (I believe) fixes, and I'll provide more when I can. |
|
2004-06-30 18:07
|
01_stl_macros.diff (2,467 bytes)
This is required on gcc-3.4 because some STL macros have changed name
and without this patch you get "'vector_delete' undeclared".
diff -ur ardour-0.9beta16.1.old/libs/pbd/pbd/stl_delete.h ardour-0.9beta16.1/libs/pbd/pbd/stl_delete.h
--- ardour-0.9beta16.1.old/libs/pbd/pbd/stl_delete.h 2004-05-21 04:43:47.000000000 +0200
+++ ardour-0.9beta16.1/libs/pbd/pbd/stl_delete.h 2004-06-14 22:49:16.742645512 +0200
@@ -24,7 +24,7 @@
/* To actually use any of these deletion functions, you need to
first include the revelant container type header.
*/
-#if defined(_CPP_VECTOR) || defined(__SGI_STL_VECTOR)
+#if defined(_CPP_VECTOR) || defined(_GLIBCXX_VECTOR) || defined(__SGI_STL_VECTOR)
template<class T> void vector_delete (std::vector<T *> *vec)
{
typename std::vector<T *>::iterator i;
@@ -34,9 +34,9 @@
}
vec->clear ();
}
-#endif // _CPP_VECTOR || __SGI_STL_VECTOR
+#endif // _CPP_VECTOR || _GLIBCXX_VECTOR || __SGI_STL_VECTOR
-#if defined(_CPP_MAP) || defined(__SGI_STL_MAP)
+#if defined(_CPP_MAP) || defined(_GLIBCXX_MAP) || defined(__SGI_STL_MAP)
template<class K, class T> void map_delete (std::map<K, T *> *m)
{
typename std::map<K, T *>::iterator i;
@@ -46,9 +46,9 @@
}
m->clear ();
}
-#endif // _CPP_MAP || __SGI_STL_MAP
+#endif // _CPP_MAP || _GLIBCXX_MAP || __SGI_STL_MAP
-#if defined(_CPP_LIST) || defined(__SGI_STL_LIST)
+#if defined(_CPP_LIST) || defined(_GLIBCXX_LIST) || defined(__SGI_STL_LIST)
template<class T> void list_delete (std::list<T *> *l)
{
typename std::list<T *>::iterator i;
@@ -59,9 +59,9 @@
l->clear ();
}
-#endif // _CPP_LIST || __SGI_STL_LIST
+#endif // _CPP_LIST || _GLIBCXX_LIST || __SGI_STL_LIST
-#if defined(_CPP_SLIST) || defined(__SGI_STL_SLIST)
+#if defined(_CPP_SLIST) || defined(_GLIBCXX_SLIST) || defined(__SGI_STL_SLIST)
template<class T> void slist_delete (std::slist<T *> *l)
{
typename std::slist<T *>::iterator i;
@@ -72,9 +72,9 @@
l->clear ();
}
-#endif // _CPP_SLIST || __SGI_STL_SLIST
+#endif // _CPP_SLIST || _GLIBCXX_SLIST || __SGI_STL_SLIST
-#if defined(_CPP_SET) || defined(__SGI_STL_SET)
+#if defined(_CPP_SET) || defined(_GLIBCXX_SET) || defined(__SGI_STL_SET)
template<class T> void set_delete (std::set<T *> *sset)
{
typename std::set<T *>::iterator i;
@@ -84,6 +84,6 @@
}
sset->erase (sset->begin(), sset->end());
}
-#endif // _CPP_SET || __SGI_STL_SET
+#endif // _CPP_SET || _GLIBCXX_SET || __SGI_STL_SET
#endif // __libmisc_stl_delete_h__
|
|
2004-06-30 18:08
|
02_sigc++.diff (1,033 bytes)
This is required because in gcc-3.4 derived templates must reference
base template attributes explicitly. Error example:
class_slot.h: In static member function `static SigC::SlotData* SigC::ClassSlot0_<R, Obj>::create(Obj*, typename SigC::ObjectSlot0_<R, Obj>::InFunc)':
class_slot.h:57: error: `callback' undeclared (first use this function)
diff -ur ardour-0.9beta16.1.old/libs/sigc++/sigc++/macros/class_slot.h.m4 ardour-0.9beta16.1/libs/sigc++/sigc++/macros/class_slot.h.m4
--- ardour-0.9beta16.1.old/libs/sigc++/sigc++/macros/class_slot.h.m4 2003-06-17 05:51:10.000000000 +0200
+++ ardour-0.9beta16.1/libs/sigc++/sigc++/macros/class_slot.h.m4 2004-06-14 22:45:39.906609600 +0200
@@ -77,7 +77,7 @@
if (!obj) return 0;
SlotData* tmp=manage(new SlotData());
CallData &data=reinterpret_cast<CallData&>(tmp->data_);
- data.callback=&callback;
+ data.callback=&[ObjectSlot]NUM($1)_<LIST(R,1,ARG_TYPE($1),[$1],Obj,1)>::callback;
data.obj=&obj;
data.func=(Func)func;
return tmp;
|
|
2004-06-30 18:08
|
03_apply_with_points_tempo.h.diff (1,284 bytes)
The apply_with_points method is not used anywhere.
The bbt_points attribute referenced inside doesn't exist anywhere in the
tree, so this must be non-working dead code.
gcc-3.4 is smarter and detects this as bad code, so I had to comment
it out. Maybe you know what this code was meant to do, in this case
maybe you want to fix it instead of removing it.
This is what gcc complains:
./ardour/tempo.h: In member function `void ARDOUR::TempoMap::apply_with_points(T&, void (T::*)(std::vector<ARDOUR::TempoMap::BBTPoint, std::allocator<ARDOUR::TempoMap::BBTPoint> >&))':
./ardour/tempo.h:184: error: `bbt_points' undeclared (first use this function)
diff -ur ardour-0.9beta16.1.old/libs/ardour/ardour/tempo.h ardour-0.9beta16.1/libs/ardour/ardour/tempo.h
--- ardour-0.9beta16.1.old/libs/ardour/ardour/tempo.h 2003-11-21 05:47:45.000000000 +0100
+++ ardour-0.9beta16.1/libs/ardour/ardour/tempo.h 2004-06-14 22:52:46.668731896 +0200
@@ -178,11 +178,13 @@
};
typedef vector<BBTPoint> BBTPointList;
+#if 0
template<class T> void apply_with_points (T& obj, void (T::*method)(BBTPointList&)) {
LockMonitor lm (lock, __LINE__, __FILE__);
(obj.*method)(bbt_points);
}
+#endif
template<class T> void apply_with_metrics (T& obj, void (T::*method)(const Metrics&)) {
|
|
2004-06-30 18:09
|
04_proxy_using.diff (832 bytes)
obj must be explicitly imported in the local namespace, to avoid a lot of errors
like this:
proxy.h: In member function `SigC::Slot0<R> Gtk::EmitProxySignal0<R, Obj, gObj, index, emit_func>::slot()':
proxy.h:153: error: `obj' undeclared (first use this function)
diff -ur ardour-0.9beta16.1.old/libs/gtkmm/src/build_sources/proxy.h.m4 ardour-0.9beta16.1/libs/gtkmm/src/build_sources/proxy.h.m4
--- ardour-0.9beta16.1.old/libs/gtkmm/src/build_sources/proxy.h.m4 2003-06-17 05:49:19.000000000 +0200
+++ ardour-0.9beta16.1/libs/gtkmm/src/build_sources/proxy.h.m4 2004-06-14 22:56:31.354574456 +0200
@@ -167,6 +167,7 @@
}
public:
+ using [ProxySignal]NUM($1)<LIST([R],1,ARG_TYPE($1),[$1],[Obj,gObj,index],1)>::obj;
SlotType slot()
{
SigC::SlotData* tmp=manage(new SigC::SlotData());
|
|
2004-06-30 18:09
|
07_pix_explicit_specialization.diff (396 bytes)
pix.cc:39: error: an explicit specialization must be preceded by 'template <>'
--- libs/gtkmmext/pix.cc.orig 2004-06-16 22:34:26.686891536 +0200
+++ libs/gtkmmext/pix.cc 2004-06-16 22:43:25.130035736 +0200
@@ -36,7 +36,7 @@
namespace std
{
- struct less<string *> {
+ template<> struct less<string *> {
bool operator()(string *s1, string *s2) const {
return *s1 < *s2;
}
|
|
2004-07-11 23:54
|
P0_simone.diff (4,666 bytes)
diff -ur ardour-0.9beta17.1.orig/libs/ardour/ardour/tempo.h ardour-0.9beta17.1/libs/ardour/ardour/tempo.h
--- ardour-0.9beta17.1.orig/libs/ardour/ardour/tempo.h 2004-07-11 19:30:30.011186608 -0400
+++ ardour-0.9beta17.1/libs/ardour/ardour/tempo.h 2004-07-11 19:51:59.657130624 -0400
@@ -179,10 +179,12 @@
typedef vector<BBTPoint> BBTPointList;
+#if 0
template<class T> void apply_with_points (T& obj, void (T::*method)(BBTPointList&)) {
LockMonitor lm (lock, __LINE__, __FILE__);
(obj.*method)(bbt_points);
}
+#endif
template<class T> void apply_with_metrics (T& obj, void (T::*method)(const Metrics&)) {
diff -ur ardour-0.9beta17.1.orig/libs/gtkmm/src/build_sources/proxy.h.m4 ardour-0.9beta17.1/libs/gtkmm/src/build_sources/proxy.h.m4
--- ardour-0.9beta17.1.orig/libs/gtkmm/src/build_sources/proxy.h.m4 2004-07-11 19:30:29.960194360 -0400
+++ ardour-0.9beta17.1/libs/gtkmm/src/build_sources/proxy.h.m4 2004-07-11 19:48:24.965768672 -0400
@@ -167,6 +167,7 @@
}
public:
+ using [ProxySignal]NUM($1)<LIST([R],1,ARG_TYPE($1),[$1],[Obj,gObj,index],1)>::obj;
SlotType slot()
{
SigC::SlotData* tmp=manage(new SigC::SlotData());
diff -ur ardour-0.9beta17.1.orig/libs/gtkmmext/pix.cc ardour-0.9beta17.1/libs/gtkmmext/pix.cc
--- ardour-0.9beta17.1.orig/libs/gtkmmext/pix.cc 2004-07-11 19:30:30.054180072 -0400
+++ ardour-0.9beta17.1/libs/gtkmmext/pix.cc 2004-07-11 19:48:34.850266000 -0400
@@ -36,7 +36,7 @@
namespace std
{
- struct less<string *> {
+ template<> struct less<string *> {
bool operator()(string *s1, string *s2) const {
return *s1 < *s2;
}
diff -ur ardour-0.9beta17.1.orig/libs/pbd/pbd/stl_delete.h ardour-0.9beta17.1/libs/pbd/pbd/stl_delete.h
--- ardour-0.9beta17.1.orig/libs/pbd/pbd/stl_delete.h 2004-07-11 19:30:29.946196488 -0400
+++ ardour-0.9beta17.1/libs/pbd/pbd/stl_delete.h 2004-07-11 19:48:12.508662440 -0400
@@ -24,7 +24,7 @@
/* To actually use any of these deletion functions, you need to
first include the revelant container type header.
*/
-#if defined(_CPP_VECTOR) || defined(__SGI_STL_VECTOR)
+#if defined(_CPP_VECTOR) || defined(_GLIBCXX_VECTOR) || defined(__SGI_STL_VECTOR)
template<class T> void vector_delete (std::vector<T *> *vec)
{
typename std::vector<T *>::iterator i;
@@ -34,9 +34,9 @@
}
vec->clear ();
}
-#endif // _CPP_VECTOR || __SGI_STL_VECTOR
+#endif // _CPP_VECTOR || _GLIBCXX_VECTOR || __SGI_STL_VECTOR
-#if defined(_CPP_MAP) || defined(__SGI_STL_MAP)
+#if defined(_CPP_MAP) || defined(_GLIBCXX_MAP) || defined(__SGI_STL_MAP)
template<class K, class T> void map_delete (std::map<K, T *> *m)
{
typename std::map<K, T *>::iterator i;
@@ -46,9 +46,9 @@
}
m->clear ();
}
-#endif // _CPP_MAP || __SGI_STL_MAP
+#endif // _CPP_MAP || _GLIBCXX_MAP || __SGI_STL_MAP
-#if defined(_CPP_LIST) || defined(__SGI_STL_LIST)
+#if defined(_CPP_LIST) || defined(_GLIBCXX_LIST) || defined(__SGI_STL_LIST)
template<class T> void list_delete (std::list<T *> *l)
{
typename std::list<T *>::iterator i;
@@ -59,9 +59,9 @@
l->clear ();
}
-#endif // _CPP_LIST || __SGI_STL_LIST
+#endif // _CPP_LIST || _GLIBCXX_LIST || __SGI_STL_LIST
-#if defined(_CPP_SLIST) || defined(__SGI_STL_SLIST)
+#if defined(_CPP_SLIST) || defined(_GLIBCXX_SLIST) || defined(__SGI_STL_SLIST)
template<class T> void slist_delete (std::slist<T *> *l)
{
typename std::slist<T *>::iterator i;
@@ -72,9 +72,9 @@
l->clear ();
}
-#endif // _CPP_SLIST || __SGI_STL_SLIST
+#endif // _CPP_SLIST || _GLIBCXX_SLIST || __SGI_STL_SLIST
-#if defined(_CPP_SET) || defined(__SGI_STL_SET)
+#if defined(_CPP_SET) || defined(_GLIBCXX_SET) || defined(__SGI_STL_SET)
template<class T> void set_delete (std::set<T *> *sset)
{
typename std::set<T *>::iterator i;
@@ -84,6 +84,6 @@
}
sset->erase (sset->begin(), sset->end());
}
-#endif // _CPP_SET || __SGI_STL_SET
+#endif // _CPP_SET || _GLIBCXX_SET || __SGI_STL_SET
#endif // __libmisc_stl_delete_h__
diff -ur ardour-0.9beta17.1.orig/libs/sigc++/sigc++/macros/class_slot.h.m4 ardour-0.9beta17.1/libs/sigc++/sigc++/macros/class_slot.h.m4
--- ardour-0.9beta17.1.orig/libs/sigc++/sigc++/macros/class_slot.h.m4 2004-07-11 19:30:30.075176880 -0400
+++ ardour-0.9beta17.1/libs/sigc++/sigc++/macros/class_slot.h.m4 2004-07-11 19:48:15.587194432 -0400
@@ -77,7 +77,7 @@
if (!obj) return 0;
SlotData* tmp=manage(new SlotData());
CallData &data=reinterpret_cast<CallData&>(tmp->data_);
- data.callback=&callback;
+ data.callback=&[ObjectSlot]NUM($1)_<LIST(R,1,ARG_TYPE($1),[$1],Obj,1)>::callback;
data.obj=&obj;
data.func=(Func)func;
return tmp;
|
|
|
Hi! I've been working on the gcc-3.4 compile errors in ardour to get it working for Gentoo. After applying my patches, ardour will compile and run using either gcc-3.3 or gcc-3.4. I based most of my work on what Simone has already done. The first diff I'm submitting contains his changes in diffs 01-07, updated for 0.9beta17.1. |
|
2004-07-12 00:02
|
P1_gtk_ardour.diff (2,680 bytes)
diff -ur ardour-0.9beta17.1.orig/gtk_ardour/audio_time_axis.h ardour-0.9beta17.1/gtk_ardour/audio_time_axis.h
--- ardour-0.9beta17.1.orig/gtk_ardour/audio_time_axis.h 2004-07-11 19:31:11.782836352 -0400
+++ ardour-0.9beta17.1/gtk_ardour/audio_time_axis.h 2004-07-11 19:35:51.593298696 -0400
@@ -252,7 +252,7 @@
void show_all_automation ();
void show_existing_automation ();
- friend struct RedirectAutomationNode {
+ struct RedirectAutomationNode {
unsigned long what;
Gtk::CheckMenuItem* menu_item;
AutomationTimeAxisView* view;
@@ -264,7 +264,7 @@
~RedirectAutomationNode ();
};
- friend struct RedirectAutomationInfo {
+ struct RedirectAutomationInfo {
ARDOUR::Redirect* redirect;
bool valid;
Gtk::Menu* menu;
diff -ur ardour-0.9beta17.1.orig/gtk_ardour/editor_ops.cc ardour-0.9beta17.1/gtk_ardour/editor_ops.cc
--- ardour-0.9beta17.1.orig/gtk_ardour/editor_ops.cc 2004-07-11 19:31:11.772837872 -0400
+++ ardour-0.9beta17.1/gtk_ardour/editor_ops.cc 2004-07-11 19:35:51.600297632 -0400
@@ -2814,7 +2814,6 @@
void
Editor::paste_named_selection (float times)
{
- using Gtk::CList_Helpers;
Gtk::CList_Helpers::SelectionList& selected = named_selection_display.selection();
TrackSelection::iterator i;
diff -ur ardour-0.9beta17.1.orig/gtk_ardour/editor_region_list.cc ardour-0.9beta17.1/gtk_ardour/editor_region_list.cc
--- ardour-0.9beta17.1.orig/gtk_ardour/editor_region_list.cc 2004-07-11 19:31:11.773837720 -0400
+++ ardour-0.9beta17.1/gtk_ardour/editor_region_list.cc 2004-07-11 19:35:51.601297480 -0400
@@ -195,7 +195,6 @@
void
Editor::add_audio_region_to_region_display (AudioRegion *region)
{
- using Gtk::CTree_Helpers;
vector<const char*> item;
Gtk::CTree_Helpers::RowList::iterator i;
diff -ur ardour-0.9beta17.1.orig/gtk_ardour/mixer_strip.cc ardour-0.9beta17.1/gtk_ardour/mixer_strip.cc
--- ardour-0.9beta17.1.orig/gtk_ardour/mixer_strip.cc 2004-07-11 19:31:11.784836048 -0400
+++ ardour-0.9beta17.1/gtk_ardour/mixer_strip.cc 2004-07-11 19:35:51.611295960 -0400
@@ -1829,7 +1829,6 @@
gint
MixerStrip::compute_redirect_sort_keys ()
{
- using Gtk::CList_Helpers;
CList_Helpers::RowList::iterator i;
unsigned long sort_key;
diff -ur ardour-0.9beta17.1.orig/gtk_ardour/route_params_ui.cc ardour-0.9beta17.1/gtk_ardour/route_params_ui.cc
--- ardour-0.9beta17.1.orig/gtk_ardour/route_params_ui.cc 2004-07-11 19:31:11.779836808 -0400
+++ ardour-0.9beta17.1/gtk_ardour/route_params_ui.cc 2004-07-11 19:35:51.620294592 -0400
@@ -1037,7 +1037,6 @@
gint
RouteParams_UI::compute_redirect_sort_keys ()
{
- using Gtk::CList_Helpers;
CList_Helpers::RowList::iterator i;
unsigned long sort_key;
|
|
2004-07-12 00:14
|
P2_remove_unused.diff (697 bytes)
diff -ur ardour-0.9beta17.1.orig/libs/gtkmm/src/curve.gen_h ardour-0.9beta17.1/libs/gtkmm/src/curve.gen_h
--- ardour-0.9beta17.1.orig/libs/gtkmm/src/curve.gen_h 2004-07-11 19:30:29.971192688 -0400
+++ ardour-0.9beta17.1/libs/gtkmm/src/curve.gen_h 2004-07-11 20:05:55.149116536 -0400
@@ -136,6 +136,7 @@
void gtk_curve_get_vector(GtkCurve*,int,gfloat*),
void get_vector(int num,gfloat* data));
+#if 0
// For containers
template <class Iterator>
int get_vector(Iterator b,Iterator e) const
@@ -150,6 +151,7 @@
delete [] data;
return i;
};
+#endif
//void gtk_curve_set_vector(GtkCurve*,int,gfloat[]);
//: Sets the vector of points on the curve.
|
|
2004-07-12 00:14
|
P3_inheritance_hack.diff (1,408 bytes)
diff -ur ardour-0.9beta17.1.orig/gtk_ardour/ardour_dialog.h ardour-0.9beta17.1/gtk_ardour/ardour_dialog.h --- ardour-0.9beta17.1.orig/gtk_ardour/ardour_dialog.h 2004-07-11 19:30:30.116170648 -0400 +++ ardour-0.9beta17.1/gtk_ardour/ardour_dialog.h 2004-07-11 20:07:50.985506728 -0400 @@ -48,7 +48,6 @@ void set_keyboard_input (bool yn); int run_status(); - protected: gint enter_notify_event_impl (GdkEventCrossing*); gint leave_notify_event_impl (GdkEventCrossing*); gint unmap_event_impl (GdkEventAny *); diff -ur ardour-0.9beta17.1.orig/gtk_ardour/route_ui.h ardour-0.9beta17.1/gtk_ardour/route_ui.h --- ardour-0.9beta17.1.orig/gtk_ardour/route_ui.h 2004-07-11 19:30:30.118170344 -0400 +++ ardour-0.9beta17.1/gtk_ardour/route_ui.h 2004-07-11 20:08:08.380862232 -0400 @@ -48,7 +48,6 @@ string name() const; - protected: ARDOUR::Route& _route; diff -ur ardour-0.9beta17.1.orig/gtk_ardour/visual_time_axis.h ardour-0.9beta17.1/gtk_ardour/visual_time_axis.h --- ardour-0.9beta17.1.orig/gtk_ardour/visual_time_axis.h 2004-07-11 19:30:30.102172776 -0400 +++ ardour-0.9beta17.1/gtk_ardour/visual_time_axis.h 2004-07-11 20:08:25.074324440 -0400 @@ -135,7 +135,6 @@ */ //SigC::Signal2<void,std::string,void*> VisualTimeAxisRemoved ; - protected: //---------------------------------------------------------------------------------------// // Constructor / Desctructor |
|
2004-07-12 00:15
|
P4_base.h_gcc34.diff (555 bytes)
diff -ur ardour-0.9beta17.1.orig/libs/gtkmm/src/gtk--/base.h ardour-0.9beta17.1/libs/gtkmm/src/gtk--/base.h
--- ardour-0.9beta17.1.orig/libs/gtkmm/src/gtk--/base.h 2004-07-11 19:31:11.624860368 -0400
+++ ardour-0.9beta17.1/libs/gtkmm/src/gtk--/base.h 2004-07-11 19:35:51.892253248 -0400
@@ -482,7 +482,7 @@
value_type operator*() const
{
if (node && node->data)
- return Gtk::wrap(static_cast<impl*>((*node).data));
+ return static_cast<value_type>( Gtk::wrap_auto((GtkObject*)static_cast<impl*>((*node).data)) );
return 0;
}
|
|
|
P1 and P2 simply get rid of some unused code that was giving gcc errors. With gcc-3.4, Gtk::wrap wasn't available in gtk--/base.h, so I just copied what Gtk::wrap did into the function that needed it (see P4). You probably won't want to merge P3, because it removes the protected keyword from three classes, making everything that was protected public. This is the ugly-but-easy way to fix the "inaccessible base" errors that pop up in gcc-3.4. |
|
|
I'm going to start applying the obvious ones into the tree before they drift too far out of date. I've applied 01, 03, 07, and P1 to my tree. edited on: 07-30-04 18:17 |
|
|
The rest were applied as well. Any remaining incompatibilities should go into a new bug report. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2004-06-14 22:16 | Simone Piunno | New Issue | |
| 2004-06-14 22:16 | Simone Piunno | File Added: ardour-0.9_beta16-gcc34.patch | |
| 2004-06-14 22:16 | Simone Piunno | => pioppo@ferrara.linux.it | |
| 2004-06-14 22:16 | Simone Piunno | Name | => Simone Piunno |
| 2004-06-15 00:00 | paul | Note Added: 0001019 | |
| 2004-06-30 12:41 | paul | Note Added: 0001150 | |
| 2004-06-30 18:07 | Simone Piunno | Note Added: 0001151 | |
| 2004-06-30 18:07 | Simone Piunno | File Added: 01_stl_macros.diff | |
| 2004-06-30 18:08 | Simone Piunno | File Added: 02_sigc++.diff | |
| 2004-06-30 18:08 | Simone Piunno | File Added: 03_apply_with_points_tempo.h.diff | |
| 2004-06-30 18:09 | Simone Piunno | File Added: 04_proxy_using.diff | |
| 2004-06-30 18:09 | Simone Piunno | File Added: 07_pix_explicit_specialization.diff | |
| 2004-07-11 23:54 | pkdawson | File Added: P0_simone.diff | |
| 2004-07-12 00:00 | pkdawson | Note Added: 0001216 | |
| 2004-07-12 00:02 | pkdawson | File Added: P1_gtk_ardour.diff | |
| 2004-07-12 00:14 | pkdawson | File Added: P2_remove_unused.diff | |
| 2004-07-12 00:14 | pkdawson | File Added: P3_inheritance_hack.diff | |
| 2004-07-12 00:15 | pkdawson | File Added: P4_base.h_gcc34.diff | |
| 2004-07-12 00:23 | pkdawson | Note Added: 0001217 | |
| 2004-07-31 00:30 | taybin | Note Added: 0001317 | |
| 2004-07-31 01:17 | taybin | Note Edited: 0001317 | |
| 2004-08-17 19:32 | taybin | Status | new => resolved |
| 2004-08-17 19:32 | taybin | Resolution | open => fixed |
| 2004-08-17 19:32 | taybin | Assigned To | => taybin |
| 2004-08-17 19:32 | taybin | Note Added: 0001416 | |
| 2008-11-20 23:38 | seablade | Status | resolved => closed |