bugThe Om Modular Synthesizer - Bugs: bug #15580, Error in PatchWindow.cpp with GCC...

 
 

bug #15580: Error in PatchWindow.cpp with GCC 3.4.5 (latest CVS)

Submitted by:  Thorsten Wilms <thorwil>
Submitted on:  Mon 30 Jan 2006 08:19:09 PM UTC  
 
Category: NoneSeverity: 3 - Normal
Item Group: NoneStatus: Fixed
Privacy: PublicAssigned to: Dave Robillard <drobilla>
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Thu 02 Feb 2006 08:29:12 PM UTC, comment #4:

That's weird, the right template should have been picked automatically. I guess this is the same bug as the OmApp::driver one, not explicitly specifying the template worked in GCC 4.0, but not in <= 3.4.. thankfully this one didn't take as long to figure out. :)

I'll fix it when I get home tonight.

Dave Robillard <drobilla>
Project AdministratorIn charge of this item.
Thu 02 Feb 2006 05:46:39 PM UTC, comment #3:

Actually mem_fun<void> was bohan's idea.

Lars Luthman <larsl>
Project Member
Thu 02 Feb 2006 05:45:13 PM UTC, comment #2:

larsl knew how to solve this, by replacing mem_fun with mem_fun<void>

Diff attached.

Thorsten Wilms <thorwil>
Thu 02 Feb 2006 04:24:54 PM UTC, comment #1:

So I changed
sigc::mem_fun(m_load_plugin_window, &LoadPluginWindow::present));
to
sigc::mem_fun(m_load_plugin_window, &Gtk::Window::present));
like adviced on IRC and now:

PatchWindow.cpp: In constructor `OmGtk::PatchWindow::PatchWindow(GtkWindow*, const Glib::RefPtr<Gnome::Glade::Xml>&)':
PatchWindow.cpp:108: error: call of overloaded `mem_fun(OmGtk::LoadPluginWindow*&, <unknown type>)' is ambiguous
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: candidates are: sigc::bound_mem_functor0<T_return, T_obj>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: sigc::mem_fun(T_obj, T_return (T_obj2::)()) [with T_return = void, T_obj =
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: OmGtk::LoadPluginWindow, T_obj2 = Gtk::Window]
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5453: note: sigc::bound_mem_functor0<T_return, T_obj>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5453: note: sigc::mem_fun(T_obj&, T_return (T_obj2::*)()) [with T_return = void, T_obj =
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5453: note: OmGtk::LoadPluginWindow*, T_obj2 = Gtk::Window]
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: sigc::bound_mem_functor1<T_return, T_obj, T_arg1>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: sigc::mem_fun(T_obj, T_return (T_obj2::)(T_arg1)) [with T_arg1 = guint32,
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: T_return = void, T_obj = OmGtk::LoadPluginWindow, T_obj2 = Gtk::Window]
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5477: note: sigc::bound_mem_functor1<T_return, T_obj, T_arg1>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5477: note: sigc::mem_fun(T_obj&, T_return (T_obj2::*)(T_arg1)) [with T_arg1 = guint32,
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5477: note: T_return = void, T_obj = OmGtk::LoadPluginWindow*, T_obj2 = Gtk::Window]
PatchWindow.cpp:110: error: call of overloaded `mem_fun(OmGtk::NewSubpatchWindow*&, <unknown type>)' is ambiguous
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: candidates are: sigc::bound_mem_functor0<T_return, T_obj>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: sigc::mem_fun(T_obj, T_return (T_obj2::)()) [with T_return = void, T_obj =
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: OmGtk::NewSubpatchWindow, T_obj2 = Gtk::Window]
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5453: note: sigc::bound_mem_functor0<T_return, T_obj>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5453: note: sigc::mem_fun(T_obj&, T_return (T_obj2::*)()) [with T_return = void, T_obj =
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5453: note: OmGtk::NewSubpatchWindow*, T_obj2 = Gtk::Window]
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: sigc::bound_mem_functor1<T_return, T_obj, T_arg1>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: sigc::mem_fun(T_obj, T_return (T_obj2::)(T_arg1)) [with T_arg1 = guint32,
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: T_return = void, T_obj = OmGtk::NewSubpatchWindow, T_obj2 = Gtk::Window]
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5477: note: sigc::bound_mem_functor1<T_return, T_obj, T_arg1>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5477: note: sigc::mem_fun(T_obj&, T_return (T_obj2::*)(T_arg1)) [with T_arg1 = guint32,
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5477: note: T_return = void, T_obj = OmGtk::NewSubpatchWindow*, T_obj2 = Gtk::Window]
PatchWindow.cpp:112: error: call of overloaded `mem_fun(OmGtk::LoadSubpatchWindow*&, <unknown type>)' is ambiguous
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: candidates are: sigc::bound_mem_functor0<T_return, T_obj>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: sigc::mem_fun(T_obj, T_return (T_obj2::)()) [with T_return = void, T_obj =
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: OmGtk::LoadSubpatchWindow, T_obj2 = Gtk::Window]
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5453: note: sigc::bound_mem_functor0<T_return, T_obj>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5453: note: sigc::mem_fun(T_obj&, T_return (T_obj2::*)()) [with T_return = void, T_obj =
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5453: note: OmGtk::LoadSubpatchWindow*, T_obj2 = Gtk::Window]
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: sigc::bound_mem_functor1<T_return, T_obj, T_arg1>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: sigc::mem_fun(T_obj, T_return (T_obj2::)(T_arg1)) [with T_arg1 = guint32,
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: T_return = void, T_obj = OmGtk::LoadSubpatchWindow, T_obj2 = Gtk::Window]
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5477: note: sigc::bound_mem_functor1<T_return, T_obj, T_arg1>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5477: note: sigc::mem_fun(T_obj&, T_return (T_obj2::*)(T_arg1)) [with T_arg1 = guint32,
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5477: note: T_return = void, T_obj = OmGtk::LoadSubpatchWindow*, T_obj2 = Gtk::Window]
PatchWindow.cpp:114: error: call of overloaded `mem_fun(OmGtk::MessagesWindow*, <unknown type>)' is ambiguous
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: candidates are: sigc::bound_mem_functor0<T_return, T_obj>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: sigc::mem_fun(T_obj, T_return (T_obj2::)()) [with T_return = void, T_obj =
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: OmGtk::MessagesWindow, T_obj2 = Gtk::Window]
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: sigc::bound_mem_functor1<T_return, T_obj, T_arg1>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: sigc::mem_fun(T_obj, T_return (T_obj2::)(T_arg1)) [with T_arg1 = guint32,
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: T_return = void, T_obj = OmGtk::MessagesWindow, T_obj2 = Gtk::Window]
PatchWindow.cpp:116: error: call of overloaded `mem_fun(OmGtk::PatchTreeWindow*, <unknown type>)' is ambiguous
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: candidates are: sigc::bound_mem_functor0<T_return, T_obj>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: sigc::mem_fun(T_obj, T_return (T_obj2::)()) [with T_return = void, T_obj =
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: OmGtk::PatchTreeWindow, T_obj2 = Gtk::Window]
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: sigc::bound_mem_functor1<T_return, T_obj, T_arg1>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: sigc::mem_fun(T_obj, T_return (T_obj2::)(T_arg1)) [with T_arg1 = guint32,
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: T_return = void, T_obj = OmGtk::PatchTreeWindow, T_obj2 = Gtk::Window]
PatchWindow.cpp:118: error: call of overloaded `mem_fun(Gtk::Dialog*, <unknown type>)' is ambiguous
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: candidates are: sigc::bound_mem_functor0<T_return, T_obj>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: sigc::mem_fun(T_obj, T_return (T_obj2::)()) [with T_return = void, T_obj =
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5441: note: Gtk::Dialog, T_obj2 = Gtk::Window]
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: sigc::bound_mem_functor1<T_return, T_obj, T_arg1>
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: sigc::mem_fun(T_obj, T_return (T_obj2::)(T_arg1)) [with T_arg1 = guint32,
/usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:5465: note: T_return = void, T_obj = Gtk::Dialog, T_obj2 = Gtk::Window]
make[4]: *** [PatchWindow.o] Error 1

Thorsten Wilms <thorwil>
Mon 30 Jan 2006 08:19:09 PM UTC, original submission:

PatchWindow.cpp: In constructor `OmGtk::PatchWindow::PatchWindow(GtkWindow*, const Glib::RefPtr<Gnome::Glade::Xml>&)':
PatchWindow.cpp:107: error: call of overloaded `mem_fun(OmGtk::LoadPluginWindow*&, <unknown type>)' is ambiguous

larsl had no such problem with GCC 4.x

Thorsten Wilms <thorwil>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #2062:  mem_fun.diff added by thorwil (2KiB - text/x-patch)

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.

 

Please enter the title of George Orwell's famous dystopian book (it's a date):

 

 

Follow 4 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Mon 06 Feb 2006 01:32:52 AM UTCdrobillaStatusNone=>Fixed
  Assigned toNone=>drobilla
  Open/ClosedOpen=>Closed
Thu 02 Feb 2006 05:45:13 PM UTCthorwilAttached File-=>Added mem_fun.diff, #3357

Back to the top


Powered by Savane 3.1-cleanup1